Ann Arbor Drupal Users - 28Jan08

Events happening in the community are now at Drupal community events on www.drupal.org.
Michael Hofmockel's picture
Start: 
2008-01-28 19:00 - 21:00 America/Detroit

Happy New Year!

Congratulations monan on the birth of your new baby!

So as i look forward to our next meeting (28Jan08) I wonder what we should talk about. This is your group, take control and suggest some agenda for our next meeting. Better yet, offer to lead us in something. Doesn't matter that you are new to Drupal and/or this group. I often use the approaching meeting as motivation to learn something new.

Just bark out suggestions as comments below.

PS. I would like to extend the invitation to everyone to drink a few beers following the meeting. We usually walk across the street. Some of the best Drupal discussions have occurred with beer in hand.

Comments

Suggestions for Jan meeting Agenda

Michael Hofmockel's picture
  1. Website tour of http://ltse.env.duke.edu
    modules - gmap and location, casetracker, actions (custom actions), workflow, nodereference, event, imagecache, automatic nodetitles, backup and migrate, bio, diff, email registration, jsfx, google analytics, google sitemap, pathauto, tinymce, captcha, views, views export, ... more ...

  2. Whats new in Drupal6?

  3. Working meeting - Everyone brings their issues and we collectively see how many we can bang out.

Regards,
Michael Hofmockel

Open Source || Open Access || Open Mind

Next Meeting

monan's picture

Thanks mhofmockel!

Let's see...

Ideas:

time management with a new baby...

how to sleep through the wailing...

how to keep working despite the distractions...

Oh wait... this is the drupal group... not the new-dad-losing-mind group... ;)

How about...

concepts (whens and hows) of writing your own modules (e.g. do you use a good default to start, good online refs for available calls, basic recipes, etc.)...

writing modules sounds good

Michael Hofmockel's picture

Let's separate the concept of writing a module into 3 categories.

Every site will have its own site specific module. These are the changes you want to make via hooks to avoid forking your code. For instance my last site has a module that implements the below hooks. This module only modifies core and contributed modules with out really adding any new functionality.

  • Hook_form_validate - a contributed module didn't have enough validation so I added some more.
  • Hook_form_alter - side wide form changes (remove some fields, change weights, increase title to 255 characters, ...), form changes per role, change specific forms to accept arguments so I can prefill fields depending on the path the user used to arrive at the form
  • Hook_menu - remove/change some menus that can not be edited from admin section, created dynamic menus that depend on variables like user, role, ...
  • Hook_user - Change default of contributed module at the time of user registration
  • Actions - site specific actions to be used with the actions and workflow module

http://api.drupal.org is the official source and documentation of Drupal calls.

New module that supplies functionality that doesn't exist as a contributed module already. This must be generic and abstract enough to be deployed on any site.

  • Of course you should look at the Module Developers guide in the handbook - http://drupal.org/node/508

  • The Module Builder module can be a great place to start. http://drupal.org/project/module_builder
    A module which auto-generates a skeleton or "scaffolding" for a module, along with hints on how to fill them in. Useful for newbie developers to learn how hooks work, and seasoned developers who are too lazy to look up what arguments a function has to take. ;)

  • The Snippets in the handbook can also be a great resource - http://drupal.org/handbook/customization/snippets

  • And other existing modules.

Sometimes you find a module that does almost what you want but there is no real way to hook into it and you are forced to fork the module. It would be best to help the author of the module to bring in the functionality you need. But sometimes the functionality you want is outside the scope or even counter to the principles of the module. In this case you would fork the module with your own code.

This happened to me recently with the BIO module. The module implements hook_init. I want to edit how it works but there is now way to rollback another modules implementation of a hook. So I am left with forking the BIO module and substituting my implementation of hook_init. I created a patch file so I can quickly patch the module when a new version is available.

I avoid writing modules at all costs, often to a fault. Don't build what you can steal (appropriate)! But when you find yourself in uncharted waters build smart. This means take time to learn the Drupal APIs at http://api.drupal.org

Regards,
Michael Hofmockel

Open Source || Open Access || Open Mind

Views?

steve.colson's picture

What about covering another one of the basics and do views. I'd also advise towards having an open time for the second half to account for the inevitable off topic, yet useful questions.

I'm back in the detroit area

anthonyoliver's picture

I'm back in the detroit area so I may show up.

-Anthony

Proxous Consulting
http://www.proxous.com

A2Drupal Meeting reminder

Michael Hofmockel's picture

Just want to remind people about our meeting tonight at 7pm. We will talk about "When and How to write modules". I will need help with this topic so bring your resources and thinking caps. Especially if you have contributed modules to Drupal.org.

See you then and afterwards for beers.

We meet 7-9pm the last Monday of the month at Ann Arbor Spark.
330 E Liberty St
Ann Arbor, MI 48104
Google Map

Regards,
Michael Hofmockel

Open Source || Open Access || Open Mind

Ann Arbor, Michigan

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: