Justin Klein Keane Drupal Training Session 1 Introduction to Drupal.

Slides:



Advertisements
Similar presentations
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Advertisements

Using Drupal for Your Organizational Website (or, how to use Drupal without cursing) Michelle Murrain Nonprofit Open Source Initiative MetaCentric Technology.
Seattle Drupal Clinic Introduction to Drupal and Web Content Management.
Drupal Online Tutorial A Product of an ENGL 421 class at Purdue University Page 1.
Our aims ease the pain – for all our users get with the times better communication with our supporters recruit and engage people to our campaigns raise.
1 Chapter 12 Working With Access 2000 on the Internet.
Drupal Create a website/web app quickly with this Content Management System Jiaying Xu Spring 2011 COMS E6125 Web-enHanced Information.
Week 2 IBS 685. Static Page Architecture The user requests the page by typing a URL in a browser The Browser requests the page from the Web Server The.
Get closer to the most advanced CMS Mihail Semedzhiev Joomla!
HORIZONT 1 TWS/WebAdmin Tips & Tricks HORIZONT Software for Datacenters Garmischer Str. 8 D München Tel ++49(0)89 /
The easy way to a nice looking website design By a total non-designer (Me!)
Introduction Need: A dynamic, user controlled website Built in forums, security, and news support Work with existing OpenInsight application Seamless.
Content Management Systems and Their Potential for Use at Miramar College Presented by Bill Smith.
Build a CMS Website. The topics this chapter covers are: What is CMS ? What you can do with CMS The benefits and disadvantages of using a content management.
The Dr ü G Book: An Intro to Drupal The Dr ü G Book: An Intro to Drupal (Dr ü G: Drupal User ’ s Group - users, not developers) This is an introduction.
Overview of Framework by Ahamed Rifaudeen A. page - i Steps before entering into the Framework?  Basic knowledge of object-oriented programming (OOP)
Drupal Workshop Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology, Drupal technology, directories.
Walking the walk and talking the talk… T HE L ANGUAGE OF D RUPAL.
Linux Operations and Administration
Basics of Drupal: Part 3 Rochelle Terman
Web Content Management Systems. Lecture Contents Web Content Management Systems Non-technical users manage content Workflow management system Different.
Installing CiviCRM onto Wordpress. How does it work?
Portal and AQAS-Philadelphia University 21-22/6/2011 AVCI Platform in PU Dr. Abdel-Rahman Al-Qawasmi Philadelphia University Director of Computer Center.
Welcome to Drupal Crash course - Gartheeban Ganeshapillai.
Sitefinity CMS Technical Overview & Developer’s Perspective
Introduction: Drupal is a free and open-source content management system (CMS). A content management system(CMS) is a computer program that allows publishing,
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
WordPress Web. WordPress Blogging system with full content management Personal publishing system Built on PHP scripting language and MySQL relational.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Drupal Training Syllabus Chaitanya Lakshmi
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Content Management Systems Drupal. Content Introduction Setting up Drupal Structure Features Core functions Comparison of Joomla and Drupal Total Cost.
BZUPAGES.COM Presentation on Content Management System (CMS) Presented to. Sir Ahmad Kareem.
What is Drupal? Open Source software written in php. A CMS or content-management system. A sophisticated web application building tool.
Drupal Jumpstart Information Systems 337 Prof. Harry Plantinga.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Drupal Commerce Better than Uber Andrew Root: druroot.
Farcry Not just a game anymore…. What is Farcry?  Farcry is a Content Management System (CMS)  It is designed to separate the jobs of site creation/design.
Proposal for the new group web infrastructure SFT Group meeting 3/7/2009 Yves Perrin.
AEgir Maintain your Drupal sites. The name: AEgir “In Norse mythology, AEgir was the god of the oceans and if Drupal is a drop of water, AEgir is the.
Drupal Overview Prepared by : Agustin D. Gumogda Jr. Instructor.
Forensic Drupal Debugging Dan Harris daneesia on drupal.org.
Basics of Drupal for Admins Rochelle Terman
Seattle Drupal Clinic Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology.
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
How does Drupal Work? Information Systems 337 Prof. Harry Plantinga.
Introduction to Views Stanford Drupal Camp April 6, 2013.
Www2.computer.org Web Publishing Training Leo Wadsworth, Staff Manager April 2008.
1 © Xchanging 2010 no part of this document may be circulated, quoted or reproduced without prior written approval of Xchanging. MOSS Training – UI customization.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Configuring Drupal Information Systems 337 Prof. Harry Plantinga.
How EPA/ORD Moved to Drupal 7 Jessica Dearie U.S. EPA, Office of Research and Development Office of Science Information Management.
INFM 700 Project 3 (Aqua) - Akashdeep Ray - Arnaud Lawson - Neha AR - Vidisha Vedvyas.
Basics Components of Web Design & Development Basics, Components, Design and Development.
Expertsfromindia for Joomla Development. Introduction Joomla is an open source and free content management system (CMS) for publishing content on the.
Conceptual Overview For Understanding the New Paradigm Provided by: Web Services Section.
How to use Drupal Awdhesh Kumar (Team Leader) Presentation Topic.
Drupal Basics May 30, 2012 By Sean Fitzpatrick. Sean Fitzpatrick | Welcome We're going to talk about Drupal We're going to keep it pretty.
Introduction to Dynamic Web Programming
Introduction and Principles
Content Management Systems
AVOIR -African virtual
The Way Eryk Budi Pratama
Copyright Justin C. Klein Keane
Content Management System
Lecture 1: Multi-tier Architecture Overview
SiteBuilder 2 Introduction.
Is a Content Management System in Your Future?
Presentation transcript:

Justin Klein Keane Drupal Training Session 1 Introduction to Drupal

Justin Klein Keane Overview ● What is Drupal? ● Building blocks of Drupal ● Drupal terminology ● How Drupal works

Justin Klein Keane What is Drupal ● Open source content management system ● What is a CMS? ● Drupal is actually much more than a CMS – Web application framework

Justin Klein Keane PHP ● Drupal is written in PHP ● Web application scripting language ● Open source language sponsored by Zend ● PHP is actually written in C ● Easy to learn ● Great for rapid application development ● One of the more popular languages for web applications

Justin Klein Keane How PHP Works ● PHP is run by the web server ● PHP code embedded in web pages is compiled and interpreted when the page is requested ● Uncompiled code means portability and rapid refactoring ● PHP is truly dynamic – Even variable names can be dynamic ● Code can include other scripts or libraries

Justin Klein Keane Data Persistence ● Like most web applications Drupal needs to store data ● Data is in a database (MySQL) – Database means content changes happen in the database rather than in code or on files – Makes for easy portability and backup – Access via code, or directly at command line – SQL is a standard, popular, well understood language

Justin Klein Keane Drupal Hierarchy ● Drupal uses dynamic includes to load code ● What happens when there are conflicts? – Last loaded code is the one that runs ● Drupal uses this to allow developers and users to “extend” Drupal

Justin Klein Keane Composition of Drupal ● Drupal includes a common set of files used to “bootstrap” Drupal – Set up database connections, provide authentication, present output, etc. ● Drupal has additional modules – These are dynamically included depending on configuration – 33 modules are included in the Drupal core

Justin Klein Keane Running Drupal ● Every Drupal request goes to index.php, even if the URL looks like a different location ● Index.php does bootstrapping: – checks database for enabled modules – loads modules that are appropriate – checks permissions – queries database for content – applies theme – renders the page

Justin Klein Keane When things go bad ● When Drupal encounters a PHP fatal error: – White screen of death ● What has happened: – PHP hit an error that forced a stop to compilation – PHP logs the error in the web server logs – Potentially Drupal logs the error in the Drupal watchdog table – Execution dies silently without output

Justin Klein Keane Drupal filesystem structure /includes- Drupal core PHP files /misc- Various image and js files /modules- Core modules /profiles- Profile settings (own tree) /scripts- Maintenance non-web scripts /sites- Site definitions /themes- Core themes

Justin Klein Keane Top Level Files ● Several critical php files: cron.php- web interface for scheduled tasks index.php- everything flows through index.php install.php- installation file (remove) update.php- update install (for new modules) xmlrpc.php- provide remote procedures (opt.) ● Various other text files

Justin Klein Keane How to install Drupal ● You need a database and a web server with PHP already running ● Create a database for the Drupal site ● Download the Drupal code from Drupal.org ● Point web browser and Drupal root and the rest is automated

Justin Klein Keane Drupal terminology ● Drupal uses a lot of words that have very specific meaning: – Module – Theme – Block – Node – Menu

Justin Klein Keane Modules ● Modules can be installed in a number of locations – /modules – /sites/all/modules – /sites/default/modules – /profiles/profileName/modules ● Modules should be installed in: – /sites/all/modules

Justin Klein Keane What is a “module” ● Modular piece of code that extends Drupal ● Uses the Drupal API – Just a set of functions defined in the Drupal core (or other modules) ● Provide drop in functionality ● Can be enabled/disabled (in the database) ● Provide additional functionality without altering the Drupal core

Justin Klein Keane Built in Modules ● Aggregator ● Block ● Blog ● Blogapi ● Book ● Color ● Comment ● Contact ● Dblog ● Filter ● Forum ● Help ● Locale ● menu Node Openid Path Php Ping Poll Profile Search Statistics Syslog System Taxonomy Throttle Tracker, translation, trigger, update, upload and user

Justin Klein Keane Look and Feel ● Drupal takes a similar approach to display ● Display is a separate area of Drupal ● Many components of Drupal are defined in the “theme” ● Themes are comprised of HTML, CSS, PHP and imagery ● Themes utilize the same hierarchy as modules ● Theme files are called “templates”

Justin Klein Keane Advantage of Themes ● Themes follow a convention (standardization) ● Can easily be swapped out to quickly change or upgrade the look of a site ● Useful because theme developers need not necessarily be Drupal developers (or PHP programmers) ● Can provide powerful filters to screen output in Drupal

Justin Klein Keane Blocks ● Blocks are pieces of content placed in regions of Drupal pages ● Blocks are arbitrary pieces of content ● Usually the stuff that appears in sidebar, header and footer content ● Blocks can be content, forms, special lists, polls, or arbitrary HTML ● Themes define regions for blocks

Justin Klein Keane Nodes ● Drupal organizes most content around the concept of a “node” ● Nodes are just pieces of content ● Only a few things aren't nodes – users, groups, modules, and themes being the main ones ● Other stuff, from calendar events, to RSS feed items, to page content is a node

Justin Klein Keane How Nodes Work ● Nodes support versioning ● As a result node content is stored in the node_revisions table ● The Drupal “node” table only stores metadata about nodes ● Nodes can have various modules applied to them to adjust input and output handling

Justin Klein Keane Organizing Nodes ● There are all sorts of nodes, how do we keep them organized? ● Drupal supports a categorization of nodes that allows for various node “definitions” ● Content types allow Drupal users to define various fields for different types of nodes ● For instance, one node might include a URL, another a title ● Using “fields” specific to node types allows sorting and display (rather than having the data stuck in a node “body”)

Justin Klein Keane Content Types ● “Page” and “Story” are two default content types ● The titles are arbitrary ● Content types define input fields and how the content is displayed ● New content types can easily be created ● Content type creation should follow careful consideration of site architecture and purpose

Justin Klein Keane Taxonomy ● Taxonomy is another way to organize content ● Taxonomy are “tags” that are applied to content ● “Vocabularies” set up as taxonomies ● Vocabularies then contain terms ● Taxonomies can be extended and used for various rules in the Drupal back end ● Taxonomy can also be used for display purposes

Justin Klein Keane Menus ● Drupal menu system is also fairly arbitrary ● Display and positioning is controlled by themes ● Three default menus: – Navigation – Primary links – Secondary links

Justin Klein Keane Users and Groups ● Drupal allows users to create accounts ● Users are assigned to groups ● By default two groups are defined in Drupal – Authenticated User – Anonymous User

Justin Klein Keane Permissions ● Drupal utilizes a Role Based Access Control (RBAC) system ● Users are assigned to roles, roles receive permissions ● Permissions are set through the Drupal administrative interface ● Uid 1 user (created during install) has all permissions ● When in doubt: it's a permissions issue

Justin Klein Keane Default Drupal is Pretty Useless

Justin Klein Keane Got Drupal, now what? ● Drupal out of the box doesn't look like much ● Drupal is extremely flexible but requires a lot of configuration ● Changing Drupal after deployment is a pain, so you must plan carefully ● Drupal is a framework that doesn't make assumptions about use cases ● Drupal requires lots of tweaks to enable functionality the way you want it

Justin Klein Keane For next time: ● A walk through of Drupal installation ● Installing and enabling modules ● A walk through of module cod