SlideShare ist ein Scribd-Unternehmen logo
1 von 99
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

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupalsdmaxey
 
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 communityAngela 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 YouAcquia
 
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 SystemAcquia
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Angela 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 Barcelonahernanibf
 
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 ConceptsMicky 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 DrupalVibrant 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 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 BlockMaarten 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 8Websolutions Agency
 
My site is slow
My site is slowMy site is slow
My site is slowhernanibf
 
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 3cherryhillco
 
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
 

Was ist angesagt? (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
 

Andere mochten auch

Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginnerseverlearner
 
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 FourJoel Berkowitz
 
Sky Ferreira 17 Analysis
Sky Ferreira 17 AnalysisSky Ferreira 17 Analysis
Sky Ferreira 17 AnalysisTrudiLister
 
итоги 2 четверти
итоги 2 четвертиитоги 2 четверти
итоги 2 четвертиkillaruns
 
Discover south africawww. Tripmart.com
Discover south africawww. Tripmart.comDiscover south africawww. Tripmart.com
Discover south africawww. Tripmart.comtripmart
 
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 spectrumKashif Amjad
 
Introduction to Entrepreneurship
Introduction to EntrepreneurshipIntroduction to Entrepreneurship
Introduction to EntrepreneurshipAhmad Mohamad Zain
 
Music Video Information Pack
Music Video Information PackMusic Video Information Pack
Music Video Information PackJoel 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
 
ใบงานที่ 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
 

Andere mochten auch (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
 

Ähnlich wie Drupal Skils Lab 302Labs

Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an OverviewMatt Weaver
 
Online Drupal Training Syllabus
Online Drupal Training SyllabusOnline Drupal Training Syllabus
Online Drupal Training Syllabusvibrantuser
 
Absolute Beginners Guide to Drupal
Absolute Beginners Guide to DrupalAbsolute Beginners Guide to Drupal
Absolute Beginners Guide to DrupalRod Martin
 
Drupal Training Topics
Drupal Training TopicsDrupal Training Topics
Drupal Training Topicsvibrantuser
 
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 DrupalRod 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 8Acquia
 
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 DrupalTom 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 DrupalRob Sawyer
 
Choosing an Open Source CMS
Choosing an Open Source CMSChoosing an Open Source CMS
Choosing an Open Source CMSPhase2
 
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 materialVskills
 
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 101Eric Sembrat
 
Drupal Now! - Introduction to Drupal
Drupal Now! - Introduction to DrupalDrupal Now! - Introduction to Drupal
Drupal Now! - Introduction to DrupalAlozie 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 JainInnoraft
 

Ähnlich wie 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
 

Kürzlich hochgeladen

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Kürzlich hochgeladen (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

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

Hinweis der Redaktion

  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