SlideShare a Scribd company logo
Drupal - Introduction to Drupal Creating Modules
Introduction to DrupalIntroduction to Drupal
Creating ModulesCreating Modules
Drupal Best PracticesDrupal Best Practices
Q. Why Is it important to practice good
programming habits?
A. Following best practices, and thoughtful
planning from the beginning, will ensure a well
received project outcome, limiting mistakes
while speeding development.
Organize your URLsOrganize your URLs
When creating views, set the paths for views pages according to your
architecture
When constructing sites with custom node types, user's blogs, or a neat
taxonomy use pathauto patterns to keep your url's organized.
Organize your file systemOrganize your file system
Create separate folders in your system for attachments
to each of your content types, users, taxonomy terms
Multisite installsMultisite installs
Along with the default site which should be the master in a multisite,
each site has to have it's own directory in sites/
that is the full name of the site
if each is a subdomain of the default site, some hosting
control panels create a sub directory for you, you
have to then delete that directory then create a
symlink in the docroot that points back to the
docroot so Drupal can handle addressing it
ln -s /var/www/html/ sub.sitename.com
Multisite installsMultisite installs
In sites/all and/or sites/sitename create a modules and themes directory,
then in modules create custom and contrib
to keep drupal from slowing down keep this in mind drupal will read the
directory structure it needs to build each page, so only keep what is being
used by all your sites in sites/all
for instance, if one of the sites is ecommerce, put those modules in that sites
sites/sitename/modules/contrib directory
so that other sites don't read it, but any common modules, like views, token
… belong in
sites/all/modules/contrib
Multisite installsMultisite installs
on that note, only put custom mods in sites/all/modules/custom if they are
being used by more than one site otherwise put them in
sites/all/sitename/modules/custom
the same can be said for custom themes although, I've never heard of them
having custom and contrib in themes it's sufficient to put master themes
in sites/all/themes and custom themes in sites/sitename/themes
if using the libraries module put your libraries directory into sites/all so they
are available everywhere
There's one GOTCHA you should be aware of, DON'T name your module
the same as your theme. Unusual behavior may ensue.
Indispensable ToolsIndispensable Tools
- Drush, GIT & Project Management Software
INSTALL DRUSH
Use Git
registry_rebuild
git hosting, there are a few choices, github, beanstalk,
assembla
some also offer issue tracking and project management
ModuleModule musts!musts!
you should be using almost all the top ten modules views, token,
ctools, pathauto, admin_menu
and some not so top ten that are just good suggestions like jquery_update,
context, entity, module_filter, libraries, profile2, realname, file entity
Advanced_help, google_analytics, workbench, rules, features and strongarm
may be good ideas as well
Honorable mentionsHonorable mentions
calendar, ckeditor, logintoboggan, display suite, seo_checklist,
seo_checker if your not using seven as your admin theme you
might want to add quicktabs module
development mods include devel, coder, devel_themer, variable,
drupal for firebug
Security mods security review, password_policy
some more suggestions FAQ, string overrides, "terms of use" or legal
in other words there's a mod for that
ThemingTheming
if you're creating a subtheme make your directory
outside of the master theme's directory but you don't
have to enable the master, but I think it would be a
good idea so if there's any updates available to the
master, drupal updates will let you know
copy the .info file and keep certain parts plus add base
theme = mastertheme so it knows where to inherit
things from
If you declare a region you have to declare all that you
want from core too
Stark and Garland don't declare any regions and inherit
drupals core regions
ThemingTheming
Seven declares 5
Content
Help
Page top
Page bottom
First sidebar
then hides one (regions_hidden[] = sidebar_first) I imagine only during
certain circumstances
and doesn't print or allow blocks to be entered into Page top and Page
bottom and it doesn't inherit the others from drupal core
This tells us that if you want to add your region to your theme, you have to
re-declare the drupal core regions that you want to keep
Code standards and secure codeCode standards and secure code
http://drupal.org/coding-standards
http://drupal.org/writing-secure-code
http://api.drupal.org/api/drupal
http://www.php.net
The best way to fix your site if it's broken is Googling it
Google site:drupal.org “your warning or error message here”
Some last thoughtsSome last thoughts
Don't hack core, but use it to learn how to add to it properly, inspect the
code and the api to add functionality in your theme or module.
If you want to modify an existing module, look through the issue queue for
that mod, create a “feature request” issue or offer your modifications
as patches.
If you are going to hack an existing module to customize it to your needs
and it would be too custom to give back to the community, that's ok
just namespace it. If your project is acme.com (some short but
descriptive name, not more than one word or acronym/abbreviation
without the .com) add that to the name of the module and global
replace the module's name in the code with the same convention
Files get renamed acme_example.module acme_example.info
acme_example.install
Functions get renamed acme_example_theme()
acme_example_render() acme_example_form_alter()
This way you can leave the original in your module directory and receive
updates to the module to adjust your version with whatever patching
to remain secure and updated
Some last thoughtsSome last thoughts
Most Drupal code (core and contrib) is well documented and a lot of the
community is working just as hard on that as on the code itself. Look in the
code of the modules/themes you want to use, a lot of them have comments
that are very revealing on how it gathers and displays it's variables. Views is well
commented especially the template files. Themers that have to craft views
template files should copy the appropriate tpl.php file from the views/theme
directory.
In the views ui, expand the advanced tab on the right. At the bottom now is the
theme info link, click it and an over lay will appear with the different template
filenames available for each output. The one's in use are in bold, the others are
suggested names for better targeting of that output. Choose the one filename
that's as specific as you need, copy the bold tpl.php file from the views/theme
to your custom theme and rename it with your selecion, and edit the markup
and variables in that file to suit your needs. Use dsm() or dpm() to print variables
you want to inspect while building the template.
One gotcha, clear the cache twice to see the results of any template changes.
ThankThank You !!!You !!!
For More Information click below link:
Follow Us on:
http://vibranttechnologies.co.in/drupal-classes-in-
mumbai.html
Ad

More Related Content

What's hot (20)

5 Important Tools for Drupal Development
5 Important Tools for Drupal Development5 Important Tools for Drupal Development
5 Important Tools for Drupal Development
jcarrig
 
Drupal 7 install with modules and themes
Drupal 7 install with modules and themesDrupal 7 install with modules and themes
Drupal 7 install with modules and themes
Geshan Manandhar
 
Theme guru's (Moodle 2 Edition)
Theme guru's (Moodle 2 Edition)Theme guru's (Moodle 2 Edition)
Theme guru's (Moodle 2 Edition)
Julian Ridden
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in Drupal
Wingston
 
WordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media InstituteWordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media Institute
Brendan Sera-Shriar
 
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Jim Birch
 
Theming tips and tricks
Theming tips and tricksTheming tips and tricks
Theming tips and tricks
aaroncouch
 
Introduction of drupal7 by ayushi infotech
Introduction of drupal7 by ayushi infotechIntroduction of drupal7 by ayushi infotech
Introduction of drupal7 by ayushi infotech
Mandakini Kumari
 
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course OverviewFrom Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
Italo Mairo
 
Drupal in 30 Minutes
Drupal in 30 MinutesDrupal in 30 Minutes
Drupal in 30 Minutes
Robert Carr
 
Drupal module development training delhi
Drupal module development training delhiDrupal module development training delhi
Drupal module development training delhi
unitedwebsoft
 
Making your Drupal fly with Apache SOLR
Making your Drupal fly with Apache SOLRMaking your Drupal fly with Apache SOLR
Making your Drupal fly with Apache SOLR
Exove
 
Architecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal CampArchitecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal Camp
Dipen Chaudhary
 
CivicActions Drupal Directory Structure
CivicActions Drupal Directory StructureCivicActions Drupal Directory Structure
CivicActions Drupal Directory Structure
Gregory Heller
 
Preventing Drupal Headaches: Establishing Flexible File Paths From The Start
Preventing Drupal Headaches: Establishing Flexible File Paths From The StartPreventing Drupal Headaches: Establishing Flexible File Paths From The Start
Preventing Drupal Headaches: Establishing Flexible File Paths From The Start
Acquia
 
Getting started with drupal 8 code
Getting started with drupal 8 codeGetting started with drupal 8 code
Getting started with drupal 8 code
Forum One
 
Drupal 6x Installation
Drupal 6x Installation Drupal 6x Installation
Drupal 6x Installation
Micky Metts
 
Bootstrap Framework and Drupal
Bootstrap Framework and DrupalBootstrap Framework and Drupal
Bootstrap Framework and Drupal
Jim Birch
 
Drupal Global Training Day by Drupal Mumbai 6th Sep - Extending Drupal
Drupal Global Training Day by Drupal Mumbai 6th Sep - Extending Drupal Drupal Global Training Day by Drupal Mumbai 6th Sep - Extending Drupal
Drupal Global Training Day by Drupal Mumbai 6th Sep - Extending Drupal
DrupalMumbai
 
Learn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Learn How to Use Atomic Design to Make Your Site Manageable and AdaptableLearn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Learn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Acquia
 
5 Important Tools for Drupal Development
5 Important Tools for Drupal Development5 Important Tools for Drupal Development
5 Important Tools for Drupal Development
jcarrig
 
Drupal 7 install with modules and themes
Drupal 7 install with modules and themesDrupal 7 install with modules and themes
Drupal 7 install with modules and themes
Geshan Manandhar
 
Theme guru's (Moodle 2 Edition)
Theme guru's (Moodle 2 Edition)Theme guru's (Moodle 2 Edition)
Theme guru's (Moodle 2 Edition)
Julian Ridden
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in Drupal
Wingston
 
WordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media InstituteWordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media Institute
Brendan Sera-Shriar
 
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Jim Birch
 
Theming tips and tricks
Theming tips and tricksTheming tips and tricks
Theming tips and tricks
aaroncouch
 
Introduction of drupal7 by ayushi infotech
Introduction of drupal7 by ayushi infotechIntroduction of drupal7 by ayushi infotech
Introduction of drupal7 by ayushi infotech
Mandakini Kumari
 
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course OverviewFrom Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
From Drupal 7 to Drupal 8 - Drupal Intensive Course Overview
Italo Mairo
 
Drupal in 30 Minutes
Drupal in 30 MinutesDrupal in 30 Minutes
Drupal in 30 Minutes
Robert Carr
 
Drupal module development training delhi
Drupal module development training delhiDrupal module development training delhi
Drupal module development training delhi
unitedwebsoft
 
Making your Drupal fly with Apache SOLR
Making your Drupal fly with Apache SOLRMaking your Drupal fly with Apache SOLR
Making your Drupal fly with Apache SOLR
Exove
 
Architecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal CampArchitecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal Camp
Dipen Chaudhary
 
CivicActions Drupal Directory Structure
CivicActions Drupal Directory StructureCivicActions Drupal Directory Structure
CivicActions Drupal Directory Structure
Gregory Heller
 
Preventing Drupal Headaches: Establishing Flexible File Paths From The Start
Preventing Drupal Headaches: Establishing Flexible File Paths From The StartPreventing Drupal Headaches: Establishing Flexible File Paths From The Start
Preventing Drupal Headaches: Establishing Flexible File Paths From The Start
Acquia
 
Getting started with drupal 8 code
Getting started with drupal 8 codeGetting started with drupal 8 code
Getting started with drupal 8 code
Forum One
 
Drupal 6x Installation
Drupal 6x Installation Drupal 6x Installation
Drupal 6x Installation
Micky Metts
 
Bootstrap Framework and Drupal
Bootstrap Framework and DrupalBootstrap Framework and Drupal
Bootstrap Framework and Drupal
Jim Birch
 
Drupal Global Training Day by Drupal Mumbai 6th Sep - Extending Drupal
Drupal Global Training Day by Drupal Mumbai 6th Sep - Extending Drupal Drupal Global Training Day by Drupal Mumbai 6th Sep - Extending Drupal
Drupal Global Training Day by Drupal Mumbai 6th Sep - Extending Drupal
DrupalMumbai
 
Learn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Learn How to Use Atomic Design to Make Your Site Manageable and AdaptableLearn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Learn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Acquia
 

Viewers also liked (11)

Drupal - Introduction to Drupal and Web Content Management
Drupal - Introduction to Drupal and Web Content ManagementDrupal - Introduction to Drupal and Web Content Management
Drupal - Introduction to Drupal and Web Content Management
Vibrant Technologies & Computers
 
Drupal -Introduction to Drupal
Drupal -Introduction to DrupalDrupal -Introduction to Drupal
Drupal -Introduction to Drupal
Vibrant Technologies & Computers
 
Drupal - Introduction to Drupal Menu and Theme Management
Drupal - Introduction to Drupal Menu and Theme  ManagementDrupal - Introduction to Drupal Menu and Theme  Management
Drupal - Introduction to Drupal Menu and Theme Management
Vibrant Technologies & Computers
 
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
 
Drupal - Introduction to User Management in Drupal
Drupal - Introduction to User Management in DrupalDrupal - Introduction to User Management in Drupal
Drupal - Introduction to User Management in Drupal
Vibrant Technologies & Computers
 
ROBOTICS - Introduction to Robotics
ROBOTICS -  Introduction to RoboticsROBOTICS -  Introduction to Robotics
ROBOTICS - Introduction to Robotics
Vibrant Technologies & Computers
 
Linux - Introductions to Linux Operating System
Linux - Introductions to Linux Operating SystemLinux - Introductions to Linux Operating System
Linux - Introductions to Linux Operating System
Vibrant Technologies & Computers
 
ROBOTICS - Introduction to Robotics Microcontroller
ROBOTICS -  Introduction to Robotics MicrocontrollerROBOTICS -  Introduction to Robotics Microcontroller
ROBOTICS - Introduction to Robotics Microcontroller
Vibrant Technologies & Computers
 
Drupal - Introduction to Drupal Template Design
Drupal - Introduction to Drupal Template DesignDrupal - Introduction to Drupal Template Design
Drupal - Introduction to Drupal Template Design
Vibrant Technologies & Computers
 
ROBOTIC - Introduction to Robotics
ROBOTIC - Introduction to RoboticsROBOTIC - Introduction to Robotics
ROBOTIC - Introduction to Robotics
Vibrant Technologies & Computers
 
Robotics - introduction to Robotics
Robotics -  introduction to Robotics  Robotics -  introduction to Robotics
Robotics - introduction to Robotics
Vibrant Technologies & Computers
 
Ad

Similar to Drupal - Introduction to Drupal Creating Modules (20)

The Drupal 7 Worst Practices Catalogue
The Drupal 7 Worst Practices CatalogueThe Drupal 7 Worst Practices Catalogue
The Drupal 7 Worst Practices Catalogue
Alexandre Israël
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8
Anne Tomasevich
 
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
 
Creating Drupal A Module
Creating Drupal A ModuleCreating Drupal A Module
Creating Drupal A Module
arcaneadam
 
Drupal 8 - Corso frontend development
Drupal 8 - Corso frontend developmentDrupal 8 - Corso frontend development
Drupal 8 - Corso frontend development
sparkfabrik
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
Lauren Roth
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
mayank.grd
 
Drupal
DrupalDrupal
Drupal
tnhomestead
 
Joomla Templates101
Joomla Templates101Joomla Templates101
Joomla Templates101
Barb Ackemann
 
Drupal theming training
Drupal theming trainingDrupal theming training
Drupal theming training
dropsolid
 
Drupal theme development
Drupal theme developmentDrupal theme development
Drupal theme development
Fortune Innovations Dublin
 
Intro to drupal module internals asheville
Intro to drupal module internals ashevilleIntro to drupal module internals asheville
Intro to drupal module internals asheville
cgmonroe
 
Display Suite: A Themers Perspective
Display Suite: A Themers PerspectiveDisplay Suite: A Themers Perspective
Display Suite: A Themers Perspective
Mediacurrent
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management Systems
Matthew Turland
 
Drupal8 corporate training in Hyderabad
Drupal8 corporate training in HyderabadDrupal8 corporate training in Hyderabad
Drupal8 corporate training in Hyderabad
php2ranjan
 
Drupal theming
Drupal themingDrupal theming
Drupal theming
Philip Norton
 
Drupal 8: frontend development
Drupal 8: frontend developmentDrupal 8: frontend development
Drupal 8: frontend development
sparkfabrik
 
Drupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-ThemeDrupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-Theme
Mediacurrent
 
Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with Drupal
Rob Sawyer
 
13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview
13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview
13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview
DrupalMumbai
 
The Drupal 7 Worst Practices Catalogue
The Drupal 7 Worst Practices CatalogueThe Drupal 7 Worst Practices Catalogue
The Drupal 7 Worst Practices Catalogue
Alexandre Israël
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8
Anne Tomasevich
 
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
 
Creating Drupal A Module
Creating Drupal A ModuleCreating Drupal A Module
Creating Drupal A Module
arcaneadam
 
Drupal 8 - Corso frontend development
Drupal 8 - Corso frontend developmentDrupal 8 - Corso frontend development
Drupal 8 - Corso frontend development
sparkfabrik
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
Lauren Roth
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
mayank.grd
 
Drupal theming training
Drupal theming trainingDrupal theming training
Drupal theming training
dropsolid
 
Intro to drupal module internals asheville
Intro to drupal module internals ashevilleIntro to drupal module internals asheville
Intro to drupal module internals asheville
cgmonroe
 
Display Suite: A Themers Perspective
Display Suite: A Themers PerspectiveDisplay Suite: A Themers Perspective
Display Suite: A Themers Perspective
Mediacurrent
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management Systems
Matthew Turland
 
Drupal8 corporate training in Hyderabad
Drupal8 corporate training in HyderabadDrupal8 corporate training in Hyderabad
Drupal8 corporate training in Hyderabad
php2ranjan
 
Drupal 8: frontend development
Drupal 8: frontend developmentDrupal 8: frontend development
Drupal 8: frontend development
sparkfabrik
 
Drupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-ThemeDrupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-Theme
Mediacurrent
 
Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with Drupal
Rob Sawyer
 
13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview
13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview
13th Sep - Drupal Global Training Day by TCS - Drupal core advanced overview
DrupalMumbai
 
Ad

More from Vibrant Technologies & Computers (20)

Buisness analyst business analysis overview ppt 5
Buisness analyst business analysis overview ppt 5Buisness analyst business analysis overview ppt 5
Buisness analyst business analysis overview ppt 5
Vibrant Technologies & Computers
 
SQL Introduction to displaying data from multiple tables
SQL Introduction to displaying data from multiple tables  SQL Introduction to displaying data from multiple tables
SQL Introduction to displaying data from multiple tables
Vibrant Technologies & Computers
 
SQL- Introduction to MySQL
SQL- Introduction to MySQLSQL- Introduction to MySQL
SQL- Introduction to MySQL
Vibrant Technologies & Computers
 
SQL- Introduction to SQL database
SQL- Introduction to SQL database SQL- Introduction to SQL database
SQL- Introduction to SQL database
Vibrant Technologies & Computers
 
ITIL - introduction to ITIL
ITIL - introduction to ITILITIL - introduction to ITIL
ITIL - introduction to ITIL
Vibrant Technologies & Computers
 
Salesforce - Introduction to Security & Access
Salesforce -  Introduction to Security & Access Salesforce -  Introduction to Security & Access
Salesforce - Introduction to Security & Access
Vibrant Technologies & Computers
 
Data ware housing- Introduction to olap .
Data ware housing- Introduction to  olap .Data ware housing- Introduction to  olap .
Data ware housing- Introduction to olap .
Vibrant Technologies & Computers
 
Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.
Vibrant Technologies & Computers
 
Data ware housing- Introduction to data ware housing
Data ware housing- Introduction to data ware housingData ware housing- Introduction to data ware housing
Data ware housing- Introduction to data ware housing
Vibrant Technologies & Computers
 
Salesforce - classification of cloud computing
Salesforce - classification of cloud computingSalesforce - classification of cloud computing
Salesforce - classification of cloud computing
Vibrant Technologies & Computers
 
Salesforce - cloud computing fundamental
Salesforce - cloud computing fundamentalSalesforce - cloud computing fundamental
Salesforce - cloud computing fundamental
Vibrant Technologies & Computers
 
SQL- Introduction to PL/SQL
SQL- Introduction to  PL/SQLSQL- Introduction to  PL/SQL
SQL- Introduction to PL/SQL
Vibrant Technologies & Computers
 
SQL- Introduction to advanced sql concepts
SQL- Introduction to  advanced sql conceptsSQL- Introduction to  advanced sql concepts
SQL- Introduction to advanced sql concepts
Vibrant Technologies & Computers
 
SQL Inteoduction to SQL manipulating of data
SQL Inteoduction to SQL manipulating of data   SQL Inteoduction to SQL manipulating of data
SQL Inteoduction to SQL manipulating of data
Vibrant Technologies & Computers
 
SQL- Introduction to SQL Set Operations
SQL- Introduction to SQL Set OperationsSQL- Introduction to SQL Set Operations
SQL- Introduction to SQL Set Operations
Vibrant Technologies & Computers
 
Sas - Introduction to designing the data mart
Sas - Introduction to designing the data martSas - Introduction to designing the data mart
Sas - Introduction to designing the data mart
Vibrant Technologies & Computers
 
Sas - Introduction to working under change management
Sas - Introduction to working under change managementSas - Introduction to working under change management
Sas - Introduction to working under change management
Vibrant Technologies & Computers
 
SAS - overview of SAS
SAS - overview of SASSAS - overview of SAS
SAS - overview of SAS
Vibrant Technologies & Computers
 
Teradata - Architecture of Teradata
Teradata - Architecture of TeradataTeradata - Architecture of Teradata
Teradata - Architecture of Teradata
Vibrant Technologies & Computers
 
Teradata - Restoring Data
Teradata - Restoring Data Teradata - Restoring Data
Teradata - Restoring Data
Vibrant Technologies & Computers
 
Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.
Vibrant Technologies & Computers
 

Recently uploaded (20)

Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 

Drupal - Introduction to Drupal Creating Modules

  • 2. Introduction to DrupalIntroduction to Drupal Creating ModulesCreating Modules
  • 3. Drupal Best PracticesDrupal Best Practices Q. Why Is it important to practice good programming habits? A. Following best practices, and thoughtful planning from the beginning, will ensure a well received project outcome, limiting mistakes while speeding development.
  • 4. Organize your URLsOrganize your URLs When creating views, set the paths for views pages according to your architecture When constructing sites with custom node types, user's blogs, or a neat taxonomy use pathauto patterns to keep your url's organized.
  • 5. Organize your file systemOrganize your file system Create separate folders in your system for attachments to each of your content types, users, taxonomy terms
  • 6. Multisite installsMultisite installs Along with the default site which should be the master in a multisite, each site has to have it's own directory in sites/ that is the full name of the site if each is a subdomain of the default site, some hosting control panels create a sub directory for you, you have to then delete that directory then create a symlink in the docroot that points back to the docroot so Drupal can handle addressing it ln -s /var/www/html/ sub.sitename.com
  • 7. Multisite installsMultisite installs In sites/all and/or sites/sitename create a modules and themes directory, then in modules create custom and contrib to keep drupal from slowing down keep this in mind drupal will read the directory structure it needs to build each page, so only keep what is being used by all your sites in sites/all for instance, if one of the sites is ecommerce, put those modules in that sites sites/sitename/modules/contrib directory so that other sites don't read it, but any common modules, like views, token … belong in sites/all/modules/contrib
  • 8. Multisite installsMultisite installs on that note, only put custom mods in sites/all/modules/custom if they are being used by more than one site otherwise put them in sites/all/sitename/modules/custom the same can be said for custom themes although, I've never heard of them having custom and contrib in themes it's sufficient to put master themes in sites/all/themes and custom themes in sites/sitename/themes if using the libraries module put your libraries directory into sites/all so they are available everywhere There's one GOTCHA you should be aware of, DON'T name your module the same as your theme. Unusual behavior may ensue.
  • 9. Indispensable ToolsIndispensable Tools - Drush, GIT & Project Management Software INSTALL DRUSH Use Git registry_rebuild git hosting, there are a few choices, github, beanstalk, assembla some also offer issue tracking and project management
  • 10. ModuleModule musts!musts! you should be using almost all the top ten modules views, token, ctools, pathauto, admin_menu and some not so top ten that are just good suggestions like jquery_update, context, entity, module_filter, libraries, profile2, realname, file entity Advanced_help, google_analytics, workbench, rules, features and strongarm may be good ideas as well
  • 11. Honorable mentionsHonorable mentions calendar, ckeditor, logintoboggan, display suite, seo_checklist, seo_checker if your not using seven as your admin theme you might want to add quicktabs module development mods include devel, coder, devel_themer, variable, drupal for firebug Security mods security review, password_policy some more suggestions FAQ, string overrides, "terms of use" or legal in other words there's a mod for that
  • 12. ThemingTheming if you're creating a subtheme make your directory outside of the master theme's directory but you don't have to enable the master, but I think it would be a good idea so if there's any updates available to the master, drupal updates will let you know copy the .info file and keep certain parts plus add base theme = mastertheme so it knows where to inherit things from If you declare a region you have to declare all that you want from core too Stark and Garland don't declare any regions and inherit drupals core regions
  • 13. ThemingTheming Seven declares 5 Content Help Page top Page bottom First sidebar then hides one (regions_hidden[] = sidebar_first) I imagine only during certain circumstances and doesn't print or allow blocks to be entered into Page top and Page bottom and it doesn't inherit the others from drupal core This tells us that if you want to add your region to your theme, you have to re-declare the drupal core regions that you want to keep
  • 14. Code standards and secure codeCode standards and secure code http://drupal.org/coding-standards http://drupal.org/writing-secure-code http://api.drupal.org/api/drupal http://www.php.net The best way to fix your site if it's broken is Googling it Google site:drupal.org “your warning or error message here”
  • 15. Some last thoughtsSome last thoughts Don't hack core, but use it to learn how to add to it properly, inspect the code and the api to add functionality in your theme or module. If you want to modify an existing module, look through the issue queue for that mod, create a “feature request” issue or offer your modifications as patches. If you are going to hack an existing module to customize it to your needs and it would be too custom to give back to the community, that's ok just namespace it. If your project is acme.com (some short but descriptive name, not more than one word or acronym/abbreviation without the .com) add that to the name of the module and global replace the module's name in the code with the same convention Files get renamed acme_example.module acme_example.info acme_example.install Functions get renamed acme_example_theme() acme_example_render() acme_example_form_alter() This way you can leave the original in your module directory and receive updates to the module to adjust your version with whatever patching to remain secure and updated
  • 16. Some last thoughtsSome last thoughts Most Drupal code (core and contrib) is well documented and a lot of the community is working just as hard on that as on the code itself. Look in the code of the modules/themes you want to use, a lot of them have comments that are very revealing on how it gathers and displays it's variables. Views is well commented especially the template files. Themers that have to craft views template files should copy the appropriate tpl.php file from the views/theme directory. In the views ui, expand the advanced tab on the right. At the bottom now is the theme info link, click it and an over lay will appear with the different template filenames available for each output. The one's in use are in bold, the others are suggested names for better targeting of that output. Choose the one filename that's as specific as you need, copy the bold tpl.php file from the views/theme to your custom theme and rename it with your selecion, and edit the markup and variables in that file to suit your needs. Use dsm() or dpm() to print variables you want to inspect while building the template. One gotcha, clear the cache twice to see the results of any template changes.
  • 17. ThankThank You !!!You !!! For More Information click below link: Follow Us on: http://vibranttechnologies.co.in/drupal-classes-in- mumbai.html