May 20th, 2008

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











May 11th, 2008

6 premises for killer apps on the Google App Engine or Good bye Appendix, Hello Google Apps

An appendicitis is a painful, uncomfortable and ultimately debilitating condition one which I have suffered with for over a year. However, its remedy (Laproscopic surgery) is fairly tame as far as surgical procedures go - way too much money to an evil hospital, a shitton of painkillers and a week of bedrest

PHPitis is another condition I have been suffering from. It’s not early as painful and has provided me with a decent income and professional growth. It is also not a pussy inflamed organ with no apparent value pressing up against all the nicely formed and functioning organs around it. However, the feeling that there is something not right “down there” remains.
Read the rest of this entry »

May 2nd, 2008

Workflow-ng is godly or flagging a dead content

As many people know, I’m really into workflow-ng.

I’ve integrated a few modules with it, and it allows for a killer amount of functionality and good (although probably complex) administrative interfaces for admins to do their own customization.

Simply put: this is my favorite module after CCK, Views and Panels, and it should be yours too..

More after the jump
Read the rest of this entry »

How To find me

Telephone: +1 510.277.0891 | Email: jacobsingh at gmail daht calm

Solution Graphics