Drupal is one of the most powerful and popular Open Source CMS available in today’s day. Because of its easy to use and easy to customize, this CMS become darling for both website owners and developers and designers. Drupal uses modules which to allows site owners to arrange and display content, customize appearance and manage routine tasks, such as registration for websites requiring user names and passwords. One of Drupal’s key characteristics is the fact that the entire Drupal framework is open source, meaning that the source code is available to anyone interested in working with it. The system itself is also free for all users, and while some web designers sell certain types of Drupal customization, many themes and modules are available for free as well.
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.
What is a CMS? What is a social site/network?
Looking at a basic Drupal page – what does it include? (header, blocks, links, comments….)
site-information
Date and time
Files uploads
clean-urls
site maintenance
input formats
content submission
creating new content types with CCK
CCK add-ons and field types
WYSIWYG in Drupal (currently teaching TinyMCE integration)
Taxonomy
Views
working with media – images, audio, video
searching for content
Comments
creating roles
registration
editing users’ details and blocking users
Modules (choose, download, install, configure)
Access Control
Menus
Blocks
Installing Drupal
Installing new modules and themes
Installing Drupal
Installing new modules and themes
Drupal modules development
Introduction:
What is “Core”
Drupal’s folder structure and why its important.
The ever important sites folder
/modules, sites/all/modules, sites/mysite.com/modules
Which one is used? How do you know?
Drupal’s module weighting and selection process
basic structure of a module – .module, .info, .install files
Drupal coding standards
demonstration of api.drupal.org and the API module
writing secure code
Tricks of the trade
Devel and coder module
We fishing or writing code?
Overview of what a hook is
Demonstration of a hook
Simple module implementing hook_nodeapi and drupal_set_message($op).
naming conventions
introduction to few important hooks: init, menu, nodeapi, block, user
How to create your own hooks for other modules
What if you need custom storage?
adding a table to Drupal’s DB
using the .install file for installation and updating
FAPI, uugggh another acronym don’t be scared FAPI is good
Why use an API? writing forms HTML is really easy!
A simple form
validating the form
submitting the form
hook_form_alter() hooks for forms! WOW, can you feel the power!?!
How to create a custom node
Why not just use CCK? A comparison
A node module’s tacklebox hook_load, hook_update, hook_delete, etc.
the theme_ function and when to use
print vs. return

























