Drupal Training Curriculum
Getting Started
Who are we and what are we doing here? Backgrounds and goals (personal and technical).
-
Get to know everyone’s development background and professional history
-
Where do we come from as programmers? How does that influence our current approach and approach to learning drupal?
-
What do we want to learn and specialize in?
General goals of this training
-
Make developing in Drupal fun
-
Increase the speed at which you can develop solutions
-
Decrease the amount of time you have to spend on donkey work
-
Introduce you to the Drupal community and how to leverage / participate in it
-
Make the connections between requirements and stock solutions
-
Know how and when to hack it
Specific Objectives for today
-
Know how to set up drupal sites using multisite deployment
-
Understand how to use update status, CVS and drush
-
Learn the devel module, masquerade module, and other development tools
-
Understand the drupal architecture:
-
What IOC is
-
Why is successful
-
Why is it annoying
-
Planned Format
-
Devs spend as much time in front of computers practicing as possible
-
Topics are discussed, examples are shown in existing modules, and practice on a custom module
-
Every days ends with ½hr of Q&A
Tools of the trade
-
Devel Module
-
Coder
-
Masquerade
-
Project Set-Up and sandbox creation
-
admin_menu
-
Drush, CVS and update_status
The Drupal Community
-
IRC
-
Issue Trackers
-
groups.drupal.org
-
Forums
-
drupalmodules.com
-
drupal.org/planet
Drupal Architecture
-
IOC (Inversion of control model)
-
The Hook system
-
Drupal Bootsrap process
-
Theming Engines and themes
Tea Party
-
Learning the hook system via the drink module
Main Core Hooks and their usage
http://api.drupal.org/api/group/hooks/5
hook_menu
Example: contact
hook_nodeapi
Example: path module
hook_help
Example: contact module
hook_user
Example: contact module
To Hack or Not to Hack, that is the question
Form API
Building an admin settings form
-
callback to drupal_get_form
-
validate hook
-
submit hook
Implementing form_alter
Implementing a custom submit hook on a form_alter
Real site planning and development in Drupal
Modules you can’t live without
-
CCK
-
Views
-
Panels 2
-
nodequeue
-
adminrole
-
pathauto
-
nodereference
-
imagecache
-
asset or image + imagefield
-
tinymce
How do you build this page:
-
List of Nodes w/ RSS & Pager
-
Views
-
-
Custom content type which has related nodes in a heirarchy
-
CCK + nodereference
-
-
Thumbnails in node listing
-
Asset + imagecache
-
-
Cultivated (admin chosen) list of nodes
-
nodequeue
-
views
-
-
Sortable table of nodes and their values
-
Views + Table style plugin
-
-
Complex front page containing any of the above
-
Panels 2
-
|
|
|
|
|---|---|---|
|
|
|
|