SlideShare a Scribd company logo
Drupal Training
SkillsLab – 302Labs
Sep, 12 ~ 20, 2014
Main Nodes
• Welcome and Introduction
• What is Drupal ?
• What is Drupal Egypt?
• Drupal Ingredients
• Drupal Terminology
• Drupal Basic Layouts
• How Drupal dealing with User Requests
• Thinking Like Drupal
• Drupal Development environment setup
• Drupal installation and Discovery
• Configuration Before Code
This is Me ..
Ahmad Mohamad Zain
TeQniaty CTO/Founder
Egypt Com. Manager
You can fiend me at
Twitter: @iahmadzain
Skype : iahmadzain
You ?
What is Drupal Egypt
The Drupal community in Egypt
Why Drupal ?
Why Drupal ?
• Drupal is open.
• Drupal is Web Development. (event-driven ..)
• Drupal is Social. (User System and Roles)
• Drupal is Content. (SEO and etc..)
• Drupal is Scalable. (10m pages & 20K r/s)
• Drupal is Design. (base themes and Omega)
• Drupal is Everywhere. (big, med, small, tiny)
• Drupal is Secure.(OWASP)
Why Drupal
Drupal VS WP VS Joomla
What is Drupal
What is Drupal
Drupal is a free, open-source web development platform for online
content and user communities. Drupal powers some of the busiest
sites on the web, and can be adapted to virtually any visual design.
Drupal runs over a million sites, including WhiteHouse.gov, World
Economic Forum, Stanford University, and Examiner.com.
Drupal is a unique combination between CMS and Framework there
power and the simplicity.
Acquia CEO.
What is Drupal
• Drupal Pros:
Can do almost anything. Seriously. Drupal was designed to
get new features using tons of little modules. Many of these
modules are maintained by professional developers for large
clients, but you still get them for free. (Feature Rich,
Advanced Admin, Design Customization, Content Types and
WYSIWYG, Scalable, User Collaboration)
• Drupal Cons:
If you're not a developer, Drupal has a reputation for being
difficult. However, the recent release of Drupal 7 brings huge
improvements that make it much easier for normal users.
Still, it's not quite as easy as WordPress.
What is Drupal
• Structure
– Nodes & Content types (Drupal Secret Points)
Each item of content in your site is a node. A node has
several default fields. A node can be one of a number of
content types.
– Navigation menus
SEO and Path
– Blocks
– Taxonomies (Categories we can say ..)
– Views (The magic of playing with database via GUI)
– Panels (Play with your layout)
Think Like Drupal
Think Like Drupal
• How Drupal Works :
Source: drupal.org
Think Like Drupal
• General Concepts:
– Node (Content)
– Entity types
• An entity type is a useful abstraction to group together fields. Entity types are used to store and display data,
which can be nodes (content), comments, taxonomy terms, user profiles, or something custom developed.
– Comment
– Taxonomy
• Drupal has a system for classifying content known as taxonomy. This is provided by the core Taxonomy module.
You can define your own vocabularies, or groups, of taxonomy terms, and add terms to each vocabulary. Each
vocabulary can then be attached to one or more content types, and in this way, nodes on your site can be
grouped into categories, tagged, or classified in any way you choose.
– User
– Module
• A module is software (code) that extends Drupal functionality. Modules fall into one of three categories:
• Core modules are those included with the main download of Drupal. These can be turned on or off without
downloading additional components. Examples include Blog, Book, Poll, or Taxonomy.
• Contributed modules are downloaded from the Modules download section of drupal.org, and installed within
your Drupal installation. Examples include Panels, Views or Metatag.
Think Like Drupal
– Regions & Blocks
– Menus
• There are four standard menus in Drupal 7:
• The Main menu is built by site administrators and displayed automatically in the page header of many themes (and if not,
you can enable their blocks to display them).
• Management is the administration menu, and is presented in the Admin toolbar.
• Navigation is a catch-all menu that usually contains links supplied by modules on your site.
• User menu contains links to the User account and the logout link.
– Theme
– Views
• Although not all sites have Views, most sites include the Views module because of the excellent tools it provides. Views
allows people to choose a list of nodes or other entities and present them as pages, blocks, RSS feeds, or other formats.
The main use case for views is to create dynamically updating lists to content (for example, a listing of latest news), based
on properties of that content (in the case of the news listing, that the content type is “News” and sorted by publication
date).
– Database
• Drupal stores information in a database. Within this database, each type of information has its own database table. For
example, the basic information about the nodes of your site are stored in the Node table, and each field stores its data in
a separate table (which Drupal creates automatically). Comments and Users also have their own database tables, as do
roles, permissions, and other settings.
• The most common database for Drupal is MySQL. However, you can also run Drupal on other database systems, such as
PostgreSQL, as well.
– Path
– Bootstrap
Drupal Dev. Environment
Drupal Dev. Environment
• Drupal Is flexible but well tested on ..
– Apache
– MySQL, PGSQL, SQLite, MariaDB
– Linux
• System Requirement
– MySQL 5.0.15 (PDO),SQLite 3.3.7
– PHP 5.4
https://www.drupal.org/requirements/php
Drupal Development
environment setup
Drupal Development environment
setup
• Cloud Like : Drupalgardens
(http://www.drupalgardens.com)
• DDS, VPS, PERSONAL
(MAC Server, Linux, Windows)
• New … Windows Azure
Break
Q & A
Drupal Installation And
Discovery
Drupal Installation And Discovery
• Drupal fresh download (current version 7.28)
• Tools
– XAMPP or WAMPP or MAMPP
(XAMPP is the Hero)
• https://www.apachefriends.org/index.html
– IDEs (PHPStorm, KOMODO, SUBLIM, APTANA)
• Any PHP or Text Editor will be helpful the top
recommended PHPSTORM
Drupal Installation And Discovery
• Files and Folders Structure
Drupal Installation And Discovery
• Admin area (http://test.local/admin)
• Site Configuration
• Users and Roles
• Modules
• Content Types
• Blocks
• Views
• Appearance
Drupal Configurations
Drupal Configurations
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => ’MyDataBase',
'username' => ’DBUserName,
'password' => ’DBPassword',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);
Sites/default/settings.php
Drupal Configurations
http://YOUR-DRUPAL-TEST-SITE/admin/config
Q & A
Drupal Cases
Drupal Cases
The-Economist
http://www.economist.com
Views & Blocks
Migrate
Comments
Drupal Cases
Alshari3 News
Localization
Views & Blocks
Mega Menus
Twitter Module
Drupal Cases
For More Cases Visit this link
http://www.drupalshowcase.com/site-
industries/Education
Extending the Drupal Core
Extending the Drupal Core
• Drupal Distros. (Distributions)
Distributions provide site features and functions for a
specific type of site as a single download containing
Drupal core, contributed modules, themes, and pre-
defined configuration. They make it possible to quickly
set up a complex, use-specific site in fewer steps than if
installing and configuring elements individually.
• OpenPublic
• OpenPublish
• Joulio
• Erpal
• Common
• Open Atrium ……
Extending the Drupal Core
• Drupal Themes.
(https://www.drupal.org/project/project_theme)
Themes allow you to change the look and feel of your Drupal
site. You can use themes contributed by others or create your
own to share with the community. Contributed themes are
not part of any official release and may not have optimized
code/functionality for your purposes. You can also create a
sub-theme of an existing theme. A sub-theme inherits a
parent theme's resources.
• Partick
• Omega & Omega Sub-Theme
• Seven For Admin
• Adabtive Theme
Extending the Drupal Core
• Drupal Modules.
(https://www.drupal.org/project/project_module )
Extend and customize Drupal functionality with contributed modules.
• Views
• Chaos Tool Suite (Ctools)
• Display Suite
• Backup and Migrate
• FB Connect (Facebook integration also OpenGraph)
• Libraries API
• Date
• WebForm
• Entity API
• IMCE
• WySwiyg & CKEditor
• LDAP
• CAPATCHA
Drupal Views Part I
Drupal Views Part I
• Understanding Views vs. custom code.
– Custom code advantages
• Complete Control
• Huge SQL
• Complete Knowledge
• Simplicity
• Revision control systems like Git, TFS, CVS, SVN.
Drupal Views Part I
• Understanding Views vs. custom code.
– Views advantages.
• Change behavior without changing code.
• Many options for presentation.
• No PHP Code Knowledge needed (Like BB).
• Data is Safe.
• Open architecture.
• Community benefit.
• Reuse views.
• Other Modules integrations.
• Panels integration.
• Programmatic handling of views.
• Documentation.
• Page, menu and block integration.
• Exposed filters a powerful tool.
Drupal Views Part I
• Installing Views and dependences.
Drupal Views Part I
• Enabling Views.
• Exploring and creating new View.
Hands-On Drupal
Hands-On Drupal
• Create a DrupalGarden Account
(http://drupalgardens.com)
• Start Thinking with your project
• Draw your Proto Type
• Apply to your site on cloud.
• Export to your local Drupal project
Drupal Ingredients
OR
Main Components
Drupal Ingredients and Main Components
Drupal
Nodes &
Content
Types
Navigation
menus
Blocks Taxonomies
Views
Panels
Drupal Terminology
Drupal Terminology
Drupal Core {Core APIs, Core modules, Core Themes}
From the base installation package … not a distribution or installation profile
Contirb. Modules
Dropal.org or drupalmodules.com
Custom Modules
Your custom modules
Themes
Contirb. Themes (and/or) Purchased Themes (and/or) Your Custom Theme
Theme is a group of templates
In Joomla Template means Theme
Contents (HTML,TEXT,Cashed Data, Variables etc…)
Attached Files, Images, Media … etc
Settings
Content
Types
Nodes Views User Roles URL
Aliases
Cats Blocks Menus ACL
DB
Code
Drupal Basic Template
Structure
Drupal Basic Template Structure
node.tpl.php
menu.tpl.php or block.tpl.php
block.tpl.php
block.tpl.php
block.tpl.php
html.tpl.php
page.tpl.php
Drupal Basic Template Structure
html.tpl.php
page.tpl.php
Regions{Blocks}
Drupal Basic Template Structure
Drupal Best Practices
Drupal Best Practices
• Register to http://drupal.org
• Join some groups @ http://groups.drupal.org
• File Structure
– Do not code in the core (never ever) !!
– Create a separated folders in /sites/all/modules
• contirb (for the modules came from drupal.org)
• features (exports via Features module)
• custom (that you coded it)
Drupal Module Development
Drupal Module Development
hook clean hook
Module
Drupal Module Structure
Drupal Module Structure
Module contains
Files define the module to Drupal
Sites/all/modules/[contirb],[custom],[futures] Module
Required
Module.info Module.module
Optional
.install,
READEME.txt,
.inc
Drupal useful tools
Drupal useful tools
• IDE
– PHPStorm : http://jetbrains.com/
– KOMODO : http://komodoide.com/
– Sublime Text : http://www.sublimetext.com/
• Devel Module
– http://drupal.org/project/devel
Drupal & User Request
Browser
Server
.htaccess Site.com
Bootstrap.inc
Menues.inc
DB
hook_menu()
Check for all
URLS
Modules
User Access
Theme
System
If not 404
Server
Check For shared
resources like
COOKIES
Any like Apache
according to the
configurations
Request
Response
Drupal Event Driven Hook System
Drupal Event Driven Hook System
Drupal Events
User Register
Node Display
Content Searched
Form is Processed
Saving a
Comment
Menus has been
built
Drupal Event Driven Hook System
Hook Naming style …
mymodule_name
mymodule_[per
mission]
Drupal Hook
Name
[hook]_permissio
n
my_hook()
My new
function
Drupal Event Driven Hook System
• function mymodule_myfunction(){
module_invoke_all(‘myhook’,$vars); }
• function mymodule_myhook(){}
• function yourmodule_myhook(){}
Any Module can Define a hook.
Drupal Menu System
Drupal Menu System
• hook_menu().
– function mymodule_menu () {}
• To know if any hook needs any parameters to be passed to
the hook function you can know that from …
http://api.drupal.org
function mymodule_menu() {
$items['abc/def'] = array(
'page callback' => 'mymodule_abc_view',
);
return $items;
}
function mymodule_abc_view($ghi = 0, $jkl = '') {
// ...
}
Drupal Menu System
http:// [site.com] /
{node}
{user}
…
/ [arg-1] / [arg-2]
Passing URL arguments to hook_function
Drupal Menu System
Passing URL arguments to hook_function
function mymodule_menu() {
$items['abc/def'] = array(
'page callback' => 'mymodule_abc_view',
'page arguments' => array(1, 'foo'),
);
return $items;
}
Drupal Menu System
Passing URL arguments using wildcards
function mymodule_menu() {
$items['abc/%/def'] = array(
'page callback' => 'mymodule_abc_view',
'page arguments' => array(1, 2),
);
return $items;
}
Drupal Menu System
Passing URL arguments using auto-loaders
function mymodule_menu() {
$items['abc/%node/def'] = array(
'page callback' => 'mymodule_abc_view',
'page arguments' => array(1, 2),
);
return $items;
}
Drupal Menu System
• What is Contextual links and Menu Tab :
Drupal Database Layer
Drupal Database Layer
• PDO (PHP Data Opjects)
• Any DB that PHP supports (MySQL, SQLite ..)
• Master and Slave Replications
• more.....
Drupal SQL Queries
Drupal SQL Queries
• Static (the normal SELECT methods)
– SELECT x,y,z FROM table WHERE v = b
• Dynamic (Alterable, Strong, Heavy)
– db_select()
Drupal DB Table Creation and altering
Drupal DB Table Creation and altering
• Mymodule.install – The file
• hook_schema();
• hook_update_N();
• Schema Module
Drupal DB Querying
Drupal DB Querying
• SELECT QUERY
• INSERT QUERY
• UPDATE QUERY
• MERGE QUERY
• DELETE QUERY
Drupal Theming
Drupal Theming
• CSS creation to control the Layout
• Appearance Design
• Changing The Output (HTML output)
Drupal Theming
Theme contains
Files define the New
Theme to Drupal
Sites/all/themes/mytheme Theme
Required
theme.info .tpl.php
Optional
Template.tpl.php
(if we will pass
args to our
theme)
Drupal Theming
node.tpl.php
node.tpl.php
node.tpl.php
Block.tpl.php
Block.tpl.php
Page.tpl.php
Regon.tpl.phpRegon.tpl.php
Drupal Theming
• Dynamic Templates
– node.tpl.php
– node—{nodetype}.tpl.php
• node—article.tpl.php
– “-” separator & “—” specify the targeted override
Drupal Theming
• User Module .tpl files
– /modules/user/….tpl.php
Drupal Theming
• Mytheme.info (Let Drupal know your theme)
• Page.tpl.php (Control the layout)
• Template.php (Vars and override theme
functions)
Drupal Theming
• Most Popular Theme Vars. :
Drupal Entities Module
http://www.youtube.com/watch?v=cu4h-xhwb2k
Drupal Panels Module
http://goo.gl/mHKcKz
Drupal Best Practices
• Be a friend for Drupal APIs @
https://api.drupal.org/api/drupal
• Use Coding Standards @
https://drupal.org/node/318
• 01114943403 Ahmad Zain
Q & A
Thank You !
@iahmdzain
01114943403

More Related Content

What's hot

Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
sdmaxey
 
Evolution of Drupal and the Drupal community
Evolution of Drupal and the Drupal communityEvolution of Drupal and the Drupal community
Evolution of Drupal and the Drupal community
Angela Byron
 
Drupal 7 - The Top 40 Core Modules and What They Mean for You
Drupal 7 - The Top 40 Core Modules and What They Mean for YouDrupal 7 - The Top 40 Core Modules and What They Mean for You
Drupal 7 - The Top 40 Core Modules and What They Mean for You
Acquia
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To DrupalLauren Roth
 
Drupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin SystemDrupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin System
Acquia
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
Angela Byron
 
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelona
hernanibf
 
Drupal intro (1)
Drupal intro (1)Drupal intro (1)
Drupal intro (1)abhineshsharma
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal Concepts
Micky Metts
 
Oxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your websiteOxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your websitehernanibf
 
Drupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using DrupalDrupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using Drupal
Vibrant Technologies & Computers
 
Recommendations in Drupal (Drupal DevDays Barcelona 2012)
Recommendations in Drupal (Drupal DevDays Barcelona 2012)Recommendations in Drupal (Drupal DevDays Barcelona 2012)
Recommendations in Drupal (Drupal DevDays Barcelona 2012)
Klokie Grossfeld
 
Drupal In 1 Hour
Drupal In 1 HourDrupal In 1 Hour
Drupal In 1 HourJoshua Simmons
 
Drupal 8 Basic Training - DrupalEurope 2018 - Maarten De Block
Drupal 8 Basic Training - DrupalEurope 2018 - Maarten De BlockDrupal 8 Basic Training - DrupalEurope 2018 - Maarten De Block
Drupal 8 Basic Training - DrupalEurope 2018 - Maarten De Block
Maarten De Block
 
History of Drupal: From Drop 1.0 to Drupal 8
History of Drupal: From Drop 1.0 to Drupal 8History of Drupal: From Drop 1.0 to Drupal 8
History of Drupal: From Drop 1.0 to Drupal 8
Websolutions Agency
 
My site is slow
My site is slowMy site is slow
My site is slow
hernanibf
 
TLA Webinar: Introduction to Drupal -- part 1 of 3
TLA Webinar: Introduction to Drupal -- part 1 of 3TLA Webinar: Introduction to Drupal -- part 1 of 3
TLA Webinar: Introduction to Drupal -- part 1 of 3
cherryhillco
 
Drupal
DrupalDrupal
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your websitehernanibf
 
Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal BasicsJuha Niemi
 

What's hot (20)

Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
 
Evolution of Drupal and the Drupal community
Evolution of Drupal and the Drupal communityEvolution of Drupal and the Drupal community
Evolution of Drupal and the Drupal community
 
Drupal 7 - The Top 40 Core Modules and What They Mean for You
Drupal 7 - The Top 40 Core Modules and What They Mean for YouDrupal 7 - The Top 40 Core Modules and What They Mean for You
Drupal 7 - The Top 40 Core Modules and What They Mean for You
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Drupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin SystemDrupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin System
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
 
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelona
 
Drupal intro (1)
Drupal intro (1)Drupal intro (1)
Drupal intro (1)
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal Concepts
 
Oxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your websiteOxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your website
 
Drupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using DrupalDrupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using Drupal
 
Recommendations in Drupal (Drupal DevDays Barcelona 2012)
Recommendations in Drupal (Drupal DevDays Barcelona 2012)Recommendations in Drupal (Drupal DevDays Barcelona 2012)
Recommendations in Drupal (Drupal DevDays Barcelona 2012)
 
Drupal In 1 Hour
Drupal In 1 HourDrupal In 1 Hour
Drupal In 1 Hour
 
Drupal 8 Basic Training - DrupalEurope 2018 - Maarten De Block
Drupal 8 Basic Training - DrupalEurope 2018 - Maarten De BlockDrupal 8 Basic Training - DrupalEurope 2018 - Maarten De Block
Drupal 8 Basic Training - DrupalEurope 2018 - Maarten De Block
 
History of Drupal: From Drop 1.0 to Drupal 8
History of Drupal: From Drop 1.0 to Drupal 8History of Drupal: From Drop 1.0 to Drupal 8
History of Drupal: From Drop 1.0 to Drupal 8
 
My site is slow
My site is slowMy site is slow
My site is slow
 
TLA Webinar: Introduction to Drupal -- part 1 of 3
TLA Webinar: Introduction to Drupal -- part 1 of 3TLA Webinar: Introduction to Drupal -- part 1 of 3
TLA Webinar: Introduction to Drupal -- part 1 of 3
 
Drupal
DrupalDrupal
Drupal
 
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your website
 
Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal Basics
 

Viewers also liked

Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginners
everlearner
 
Wclf infomation for participants
Wclf infomation for participantsWclf infomation for participants
Wclf infomation for participantsKj Hong
 
Ksenia Telunts Evaluation question 1
Ksenia Telunts Evaluation question 1 Ksenia Telunts Evaluation question 1
Ksenia Telunts Evaluation question 1 carolinebirksatwork
 
Evaluation Question Four
Evaluation Question FourEvaluation Question Four
Evaluation Question Four
Joel Berkowitz
 
Sky Ferreira 17 Analysis
Sky Ferreira 17 AnalysisSky Ferreira 17 Analysis
Sky Ferreira 17 AnalysisTrudiLister
 
итоги 2 четверти
итоги 2 четвертиитоги 2 четверти
итоги 2 четверти
killaruns
 
егэ 2015
егэ 2015егэ 2015
егэ 2015
killaruns
 
Discover south africawww. Tripmart.com
Discover south africawww. Tripmart.comDiscover south africawww. Tripmart.com
Discover south africawww. Tripmart.com
tripmart
 
Effective common core teaching strategy
Effective common core teaching strategyEffective common core teaching strategy
Effective common core teaching strategyteaching2learning
 
09 spread spectrum
09 spread spectrum09 spread spectrum
09 spread spectrum
Kashif Amjad
 
Accountant power point[1]
Accountant power point[1]Accountant power point[1]
Accountant power point[1]Christian_Rosario
 
Introduction to Entrepreneurship
Introduction to EntrepreneurshipIntroduction to Entrepreneurship
Introduction to Entrepreneurship
Ahmad Mohamad Zain
 
Q-Plan
Q-PlanQ-Plan
Q-Plan
alexei_shk
 
Music Video Information Pack
Music Video Information PackMusic Video Information Pack
Music Video Information Pack
Joel Berkowitz
 
The Duty to Report Up the Chain
The Duty to Report Up the ChainThe Duty to Report Up the Chain
The Duty to Report Up the ChainWendy Couture
 
CiaoAmoreCiao
CiaoAmoreCiaoCiaoAmoreCiao
CiaoAmoreCiao
vania_ocit
 
ใบงานที่ 2 เรื่อง ความหมายและความสำคัญของโครงงาน
ใบงานที่ 2 เรื่อง ความหมายและความสำคัญของโครงงานใบงานที่ 2 เรื่อง ความหมายและความสำคัญของโครงงาน
ใบงานที่ 2 เรื่อง ความหมายและความสำคัญของโครงงานJustice MengKing
 
Formulario de ciudad
Formulario de ciudadFormulario de ciudad
Formulario de ciudadangiedaiana
 
Jmk company profile
Jmk company profileJmk company profile
Jmk company profilemarkdonel
 

Viewers also liked (20)

Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginners
 
Wclf infomation for participants
Wclf infomation for participantsWclf infomation for participants
Wclf infomation for participants
 
Ksenia Telunts Evaluation question 1
Ksenia Telunts Evaluation question 1 Ksenia Telunts Evaluation question 1
Ksenia Telunts Evaluation question 1
 
Evaluation Question Four
Evaluation Question FourEvaluation Question Four
Evaluation Question Four
 
Sky Ferreira 17 Analysis
Sky Ferreira 17 AnalysisSky Ferreira 17 Analysis
Sky Ferreira 17 Analysis
 
итоги 2 четверти
итоги 2 четвертиитоги 2 четверти
итоги 2 четверти
 
Georgina chavez
Georgina chavezGeorgina chavez
Georgina chavez
 
егэ 2015
егэ 2015егэ 2015
егэ 2015
 
Discover south africawww. Tripmart.com
Discover south africawww. Tripmart.comDiscover south africawww. Tripmart.com
Discover south africawww. Tripmart.com
 
Effective common core teaching strategy
Effective common core teaching strategyEffective common core teaching strategy
Effective common core teaching strategy
 
09 spread spectrum
09 spread spectrum09 spread spectrum
09 spread spectrum
 
Accountant power point[1]
Accountant power point[1]Accountant power point[1]
Accountant power point[1]
 
Introduction to Entrepreneurship
Introduction to EntrepreneurshipIntroduction to Entrepreneurship
Introduction to Entrepreneurship
 
Q-Plan
Q-PlanQ-Plan
Q-Plan
 
Music Video Information Pack
Music Video Information PackMusic Video Information Pack
Music Video Information Pack
 
The Duty to Report Up the Chain
The Duty to Report Up the ChainThe Duty to Report Up the Chain
The Duty to Report Up the Chain
 
CiaoAmoreCiao
CiaoAmoreCiaoCiaoAmoreCiao
CiaoAmoreCiao
 
ใบงานที่ 2 เรื่อง ความหมายและความสำคัญของโครงงาน
ใบงานที่ 2 เรื่อง ความหมายและความสำคัญของโครงงานใบงานที่ 2 เรื่อง ความหมายและความสำคัญของโครงงาน
ใบงานที่ 2 เรื่อง ความหมายและความสำคัญของโครงงาน
 
Formulario de ciudad
Formulario de ciudadFormulario de ciudad
Formulario de ciudad
 
Jmk company profile
Jmk company profileJmk company profile
Jmk company profile
 

Similar to Drupal Skils Lab 302Labs

Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an Overview
Matt Weaver
 
Online Drupal Training Syllabus
Online Drupal Training SyllabusOnline Drupal Training Syllabus
Online Drupal Training Syllabus
vibrantuser
 
Absolute Beginners Guide to Drupal
Absolute Beginners Guide to DrupalAbsolute Beginners Guide to Drupal
Absolute Beginners Guide to Drupal
Rod Martin
 
Drupal Webinar
Drupal WebinarDrupal Webinar
Drupal Webinar
Maxwell Pearl
 
Drupal Training Topics
Drupal Training TopicsDrupal Training Topics
Drupal Training Topics
vibrantuser
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to Drupal
Rod Martin
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
Acquia
 
Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)
Joachim Neubert
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
Tom Deryckere
 
Showcasing drupal
Showcasing drupalShowcasing drupal
Showcasing drupalOpevel
 
Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with Drupal
Rob Sawyer
 
Choosing an Open Source CMS
Choosing an Open Source CMSChoosing an Open Source CMS
Choosing an Open Source CMS
Phase2
 
Vskills certified open source cms drupal professional sample material
Vskills certified open source cms drupal professional sample materialVskills certified open source cms drupal professional sample material
Vskills certified open source cms drupal professional sample material
Vskills
 
Using Open Atrium in Your Organization
Using Open Atrium in Your OrganizationUsing Open Atrium in Your Organization
Using Open Atrium in Your OrganizationPhase2
 
Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...
Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...
Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...
sbclapp
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management SystemsMatthew Turland
 
Phase2 Large Drupal Multisites (gta case study)
Phase2   Large Drupal Multisites (gta case study)Phase2   Large Drupal Multisites (gta case study)
Phase2 Large Drupal Multisites (gta case study)
Phase2
 
October 2014 - USG Rock Eagle - Drupal 101
October 2014 - USG Rock Eagle - Drupal 101October 2014 - USG Rock Eagle - Drupal 101
October 2014 - USG Rock Eagle - Drupal 101
Eric Sembrat
 
Drupal Now! - Introduction to Drupal
Drupal Now! - Introduction to DrupalDrupal Now! - Introduction to Drupal
Drupal Now! - Introduction to Drupal
Alozie Nwosu
 
An Introduction to Drupal & How to Use It by Sanket Jain
An Introduction to Drupal & How to Use It by Sanket JainAn Introduction to Drupal & How to Use It by Sanket Jain
An Introduction to Drupal & How to Use It by Sanket Jain
Innoraft
 

Similar to Drupal Skils Lab 302Labs (20)

Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an Overview
 
Online Drupal Training Syllabus
Online Drupal Training SyllabusOnline Drupal Training Syllabus
Online Drupal Training Syllabus
 
Absolute Beginners Guide to Drupal
Absolute Beginners Guide to DrupalAbsolute Beginners Guide to Drupal
Absolute Beginners Guide to Drupal
 
Drupal Webinar
Drupal WebinarDrupal Webinar
Drupal Webinar
 
Drupal Training Topics
Drupal Training TopicsDrupal Training Topics
Drupal Training Topics
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to Drupal
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
 
Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
 
Showcasing drupal
Showcasing drupalShowcasing drupal
Showcasing drupal
 
Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with Drupal
 
Choosing an Open Source CMS
Choosing an Open Source CMSChoosing an Open Source CMS
Choosing an Open Source CMS
 
Vskills certified open source cms drupal professional sample material
Vskills certified open source cms drupal professional sample materialVskills certified open source cms drupal professional sample material
Vskills certified open source cms drupal professional sample material
 
Using Open Atrium in Your Organization
Using Open Atrium in Your OrganizationUsing Open Atrium in Your Organization
Using Open Atrium in Your Organization
 
Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...
Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...
Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management Systems
 
Phase2 Large Drupal Multisites (gta case study)
Phase2   Large Drupal Multisites (gta case study)Phase2   Large Drupal Multisites (gta case study)
Phase2 Large Drupal Multisites (gta case study)
 
October 2014 - USG Rock Eagle - Drupal 101
October 2014 - USG Rock Eagle - Drupal 101October 2014 - USG Rock Eagle - Drupal 101
October 2014 - USG Rock Eagle - Drupal 101
 
Drupal Now! - Introduction to Drupal
Drupal Now! - Introduction to DrupalDrupal Now! - Introduction to Drupal
Drupal Now! - Introduction to Drupal
 
An Introduction to Drupal & How to Use It by Sanket Jain
An Introduction to Drupal & How to Use It by Sanket JainAn Introduction to Drupal & How to Use It by Sanket Jain
An Introduction to Drupal & How to Use It by Sanket Jain
 

Recently uploaded

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 

Recently uploaded (20)

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 

Drupal Skils Lab 302Labs

  • 1. Drupal Training SkillsLab – 302Labs Sep, 12 ~ 20, 2014
  • 2. Main Nodes • Welcome and Introduction • What is Drupal ? • What is Drupal Egypt? • Drupal Ingredients • Drupal Terminology • Drupal Basic Layouts • How Drupal dealing with User Requests • Thinking Like Drupal • Drupal Development environment setup • Drupal installation and Discovery • Configuration Before Code
  • 3. This is Me .. Ahmad Mohamad Zain TeQniaty CTO/Founder Egypt Com. Manager You can fiend me at Twitter: @iahmadzain Skype : iahmadzain
  • 5. What is Drupal Egypt The Drupal community in Egypt
  • 7. Why Drupal ? • Drupal is open. • Drupal is Web Development. (event-driven ..) • Drupal is Social. (User System and Roles) • Drupal is Content. (SEO and etc..) • Drupal is Scalable. (10m pages & 20K r/s) • Drupal is Design. (base themes and Omega) • Drupal is Everywhere. (big, med, small, tiny) • Drupal is Secure.(OWASP)
  • 9. Drupal VS WP VS Joomla
  • 10.
  • 12. What is Drupal Drupal is a free, open-source web development platform for online content and user communities. Drupal powers some of the busiest sites on the web, and can be adapted to virtually any visual design. Drupal runs over a million sites, including WhiteHouse.gov, World Economic Forum, Stanford University, and Examiner.com. Drupal is a unique combination between CMS and Framework there power and the simplicity. Acquia CEO.
  • 13. What is Drupal • Drupal Pros: Can do almost anything. Seriously. Drupal was designed to get new features using tons of little modules. Many of these modules are maintained by professional developers for large clients, but you still get them for free. (Feature Rich, Advanced Admin, Design Customization, Content Types and WYSIWYG, Scalable, User Collaboration) • Drupal Cons: If you're not a developer, Drupal has a reputation for being difficult. However, the recent release of Drupal 7 brings huge improvements that make it much easier for normal users. Still, it's not quite as easy as WordPress.
  • 14. What is Drupal • Structure – Nodes & Content types (Drupal Secret Points) Each item of content in your site is a node. A node has several default fields. A node can be one of a number of content types. – Navigation menus SEO and Path – Blocks – Taxonomies (Categories we can say ..) – Views (The magic of playing with database via GUI) – Panels (Play with your layout)
  • 16. Think Like Drupal • How Drupal Works :
  • 18. Think Like Drupal • General Concepts: – Node (Content) – Entity types • An entity type is a useful abstraction to group together fields. Entity types are used to store and display data, which can be nodes (content), comments, taxonomy terms, user profiles, or something custom developed. – Comment – Taxonomy • Drupal has a system for classifying content known as taxonomy. This is provided by the core Taxonomy module. You can define your own vocabularies, or groups, of taxonomy terms, and add terms to each vocabulary. Each vocabulary can then be attached to one or more content types, and in this way, nodes on your site can be grouped into categories, tagged, or classified in any way you choose. – User – Module • A module is software (code) that extends Drupal functionality. Modules fall into one of three categories: • Core modules are those included with the main download of Drupal. These can be turned on or off without downloading additional components. Examples include Blog, Book, Poll, or Taxonomy. • Contributed modules are downloaded from the Modules download section of drupal.org, and installed within your Drupal installation. Examples include Panels, Views or Metatag.
  • 19. Think Like Drupal – Regions & Blocks – Menus • There are four standard menus in Drupal 7: • The Main menu is built by site administrators and displayed automatically in the page header of many themes (and if not, you can enable their blocks to display them). • Management is the administration menu, and is presented in the Admin toolbar. • Navigation is a catch-all menu that usually contains links supplied by modules on your site. • User menu contains links to the User account and the logout link. – Theme – Views • Although not all sites have Views, most sites include the Views module because of the excellent tools it provides. Views allows people to choose a list of nodes or other entities and present them as pages, blocks, RSS feeds, or other formats. The main use case for views is to create dynamically updating lists to content (for example, a listing of latest news), based on properties of that content (in the case of the news listing, that the content type is “News” and sorted by publication date). – Database • Drupal stores information in a database. Within this database, each type of information has its own database table. For example, the basic information about the nodes of your site are stored in the Node table, and each field stores its data in a separate table (which Drupal creates automatically). Comments and Users also have their own database tables, as do roles, permissions, and other settings. • The most common database for Drupal is MySQL. However, you can also run Drupal on other database systems, such as PostgreSQL, as well. – Path – Bootstrap
  • 21. Drupal Dev. Environment • Drupal Is flexible but well tested on .. – Apache – MySQL, PGSQL, SQLite, MariaDB – Linux • System Requirement – MySQL 5.0.15 (PDO),SQLite 3.3.7 – PHP 5.4 https://www.drupal.org/requirements/php
  • 23. Drupal Development environment setup • Cloud Like : Drupalgardens (http://www.drupalgardens.com) • DDS, VPS, PERSONAL (MAC Server, Linux, Windows) • New … Windows Azure
  • 26. Drupal Installation And Discovery • Drupal fresh download (current version 7.28) • Tools – XAMPP or WAMPP or MAMPP (XAMPP is the Hero) • https://www.apachefriends.org/index.html – IDEs (PHPStorm, KOMODO, SUBLIM, APTANA) • Any PHP or Text Editor will be helpful the top recommended PHPSTORM
  • 27. Drupal Installation And Discovery • Files and Folders Structure
  • 28.
  • 29. Drupal Installation And Discovery • Admin area (http://test.local/admin) • Site Configuration • Users and Roles • Modules • Content Types • Blocks • Views • Appearance
  • 31. Drupal Configurations $databases = array ( 'default' => array ( 'default' => array ( 'database' => ’MyDataBase', 'username' => ’DBUserName, 'password' => ’DBPassword', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), ); Sites/default/settings.php
  • 33. Q & A
  • 36. Drupal Cases Alshari3 News Localization Views & Blocks Mega Menus Twitter Module
  • 37. Drupal Cases For More Cases Visit this link http://www.drupalshowcase.com/site- industries/Education
  • 39. Extending the Drupal Core • Drupal Distros. (Distributions) Distributions provide site features and functions for a specific type of site as a single download containing Drupal core, contributed modules, themes, and pre- defined configuration. They make it possible to quickly set up a complex, use-specific site in fewer steps than if installing and configuring elements individually. • OpenPublic • OpenPublish • Joulio • Erpal • Common • Open Atrium ……
  • 40. Extending the Drupal Core • Drupal Themes. (https://www.drupal.org/project/project_theme) Themes allow you to change the look and feel of your Drupal site. You can use themes contributed by others or create your own to share with the community. Contributed themes are not part of any official release and may not have optimized code/functionality for your purposes. You can also create a sub-theme of an existing theme. A sub-theme inherits a parent theme's resources. • Partick • Omega & Omega Sub-Theme • Seven For Admin • Adabtive Theme
  • 41. Extending the Drupal Core • Drupal Modules. (https://www.drupal.org/project/project_module ) Extend and customize Drupal functionality with contributed modules. • Views • Chaos Tool Suite (Ctools) • Display Suite • Backup and Migrate • FB Connect (Facebook integration also OpenGraph) • Libraries API • Date • WebForm • Entity API • IMCE • WySwiyg & CKEditor • LDAP • CAPATCHA
  • 43. Drupal Views Part I • Understanding Views vs. custom code. – Custom code advantages • Complete Control • Huge SQL • Complete Knowledge • Simplicity • Revision control systems like Git, TFS, CVS, SVN.
  • 44. Drupal Views Part I • Understanding Views vs. custom code. – Views advantages. • Change behavior without changing code. • Many options for presentation. • No PHP Code Knowledge needed (Like BB). • Data is Safe. • Open architecture. • Community benefit. • Reuse views. • Other Modules integrations. • Panels integration. • Programmatic handling of views. • Documentation. • Page, menu and block integration. • Exposed filters a powerful tool.
  • 45. Drupal Views Part I • Installing Views and dependences.
  • 46. Drupal Views Part I • Enabling Views. • Exploring and creating new View.
  • 48. Hands-On Drupal • Create a DrupalGarden Account (http://drupalgardens.com) • Start Thinking with your project • Draw your Proto Type • Apply to your site on cloud. • Export to your local Drupal project
  • 50. Drupal Ingredients and Main Components Drupal Nodes & Content Types Navigation menus Blocks Taxonomies Views Panels
  • 53. Drupal Core {Core APIs, Core modules, Core Themes} From the base installation package … not a distribution or installation profile Contirb. Modules Dropal.org or drupalmodules.com Custom Modules Your custom modules Themes Contirb. Themes (and/or) Purchased Themes (and/or) Your Custom Theme Theme is a group of templates In Joomla Template means Theme Contents (HTML,TEXT,Cashed Data, Variables etc…) Attached Files, Images, Media … etc Settings Content Types Nodes Views User Roles URL Aliases Cats Blocks Menus ACL DB Code
  • 55. Drupal Basic Template Structure node.tpl.php menu.tpl.php or block.tpl.php block.tpl.php block.tpl.php block.tpl.php html.tpl.php page.tpl.php
  • 56. Drupal Basic Template Structure html.tpl.php page.tpl.php Regions{Blocks}
  • 59. Drupal Best Practices • Register to http://drupal.org • Join some groups @ http://groups.drupal.org • File Structure – Do not code in the core (never ever) !! – Create a separated folders in /sites/all/modules • contirb (for the modules came from drupal.org) • features (exports via Features module) • custom (that you coded it)
  • 61. Drupal Module Development hook clean hook Module
  • 63. Drupal Module Structure Module contains Files define the module to Drupal Sites/all/modules/[contirb],[custom],[futures] Module Required Module.info Module.module Optional .install, READEME.txt, .inc
  • 65. Drupal useful tools • IDE – PHPStorm : http://jetbrains.com/ – KOMODO : http://komodoide.com/ – Sublime Text : http://www.sublimetext.com/ • Devel Module – http://drupal.org/project/devel
  • 66. Drupal & User Request
  • 67. Browser Server .htaccess Site.com Bootstrap.inc Menues.inc DB hook_menu() Check for all URLS Modules User Access Theme System If not 404 Server Check For shared resources like COOKIES Any like Apache according to the configurations Request Response
  • 68. Drupal Event Driven Hook System
  • 69. Drupal Event Driven Hook System Drupal Events User Register Node Display Content Searched Form is Processed Saving a Comment Menus has been built
  • 70. Drupal Event Driven Hook System Hook Naming style … mymodule_name mymodule_[per mission] Drupal Hook Name [hook]_permissio n my_hook() My new function
  • 71. Drupal Event Driven Hook System • function mymodule_myfunction(){ module_invoke_all(‘myhook’,$vars); } • function mymodule_myhook(){} • function yourmodule_myhook(){} Any Module can Define a hook.
  • 73. Drupal Menu System • hook_menu(). – function mymodule_menu () {} • To know if any hook needs any parameters to be passed to the hook function you can know that from … http://api.drupal.org function mymodule_menu() { $items['abc/def'] = array( 'page callback' => 'mymodule_abc_view', ); return $items; } function mymodule_abc_view($ghi = 0, $jkl = '') { // ... }
  • 74. Drupal Menu System http:// [site.com] / {node} {user} … / [arg-1] / [arg-2] Passing URL arguments to hook_function
  • 75. Drupal Menu System Passing URL arguments to hook_function function mymodule_menu() { $items['abc/def'] = array( 'page callback' => 'mymodule_abc_view', 'page arguments' => array(1, 'foo'), ); return $items; }
  • 76. Drupal Menu System Passing URL arguments using wildcards function mymodule_menu() { $items['abc/%/def'] = array( 'page callback' => 'mymodule_abc_view', 'page arguments' => array(1, 2), ); return $items; }
  • 77. Drupal Menu System Passing URL arguments using auto-loaders function mymodule_menu() { $items['abc/%node/def'] = array( 'page callback' => 'mymodule_abc_view', 'page arguments' => array(1, 2), ); return $items; }
  • 78. Drupal Menu System • What is Contextual links and Menu Tab :
  • 80. Drupal Database Layer • PDO (PHP Data Opjects) • Any DB that PHP supports (MySQL, SQLite ..) • Master and Slave Replications • more.....
  • 82. Drupal SQL Queries • Static (the normal SELECT methods) – SELECT x,y,z FROM table WHERE v = b • Dynamic (Alterable, Strong, Heavy) – db_select()
  • 83. Drupal DB Table Creation and altering
  • 84. Drupal DB Table Creation and altering • Mymodule.install – The file • hook_schema(); • hook_update_N(); • Schema Module
  • 86. Drupal DB Querying • SELECT QUERY • INSERT QUERY • UPDATE QUERY • MERGE QUERY • DELETE QUERY
  • 88. Drupal Theming • CSS creation to control the Layout • Appearance Design • Changing The Output (HTML output)
  • 89. Drupal Theming Theme contains Files define the New Theme to Drupal Sites/all/themes/mytheme Theme Required theme.info .tpl.php Optional Template.tpl.php (if we will pass args to our theme)
  • 91. Drupal Theming • Dynamic Templates – node.tpl.php – node—{nodetype}.tpl.php • node—article.tpl.php – “-” separator & “—” specify the targeted override
  • 92. Drupal Theming • User Module .tpl files – /modules/user/….tpl.php
  • 93. Drupal Theming • Mytheme.info (Let Drupal know your theme) • Page.tpl.php (Control the layout) • Template.php (Vars and override theme functions)
  • 94. Drupal Theming • Most Popular Theme Vars. :
  • 97. Drupal Best Practices • Be a friend for Drupal APIs @ https://api.drupal.org/api/drupal • Use Coding Standards @ https://drupal.org/node/318 • 01114943403 Ahmad Zain
  • 98. Q & A

Editor's Notes

  1. ----- Meeting Notes (6/24/14 08:07) ----- Custom Displays Home Link Disabled LDAP Cron Jops Views
  2. Browser -> check some thing like cookies -> SERVER -> {APACHE} => .htaccess -> DRUPAL => bootstrap.inc,menu.inc,other.inc, DB => hook_menu(); for all URLS => is it an alias for something, modules , access => if nothing 404 else => theme system => SERVER -> Browser