Camping out with the Drupallers in Seattle

The Seattle Drupal Users Group met for a Drupal Camp yesterday. It was an all day affair, with Drupal developers hiding out in one room learning about such things as theming and jviews with Robin Barre and noobs like me in a larger room with Gregory Heller from CivicActions doing a so-called Barn Raising. Donald Lobo from CiviCRM also happened to be there and we took adantage of the opportunity to sign a contract and review the specs for the CiviCRM component of the Kabissa African Voices project. It feels good to be implementing CiviCRM at long last, after years of planning and false starts with other vendors, and I very much like the way we are doing it.

Back to the Drupal Camp: I found the Barn Raising to be very helpful – we basically learned all about Drupal, a leading open source content management system, by planning and implementing a Drupal site in a day. I was able to get alot of my questions answered which will help me a great deal in finalizing the migration of the Kabissa site from Joomla to Drupal (keep your eyes peeled on http://www.kabissa.org for a new site appearing shortly!). Roland Taglao from bryght.com came down from Vancouver. Roland took loads of photos which presumably he will upload to his DrupalCamp Seattle 2007 set on flickr and recorded video which is currently available, in rather raw form, at http://ustream.tv/roland. The Seattle DUG is a lively group, and I very much enjoyed and appreciated the open, friendly atmosphere. I hope to make sense of my notes here, but for the moment have just pasted them in below. Read on at your own risk!

Oh, and before you go: yes, I did go watch Candy Mountain on YouTube as strongly recommended by Gregory. :-) What is it, a morality story teaching about the perils of peer pressure?

10,000 foot overview of drupal

Gregory Heller gave us what he called a “10,000 foot overview of drupal”, in a nutshell: Drupal is a Content Management System that runs on LAMP (Linux, Apache, Mysql, PHP).

The main new Drupal words we need to know to are: Node, Block, User, Theme.

  • User – anonymous and authenticated. admin user is “super user”. When creating a Drupal site, the first first thing to do is create admin user and then create admin role.
  • Core Drupal
  • Core Modules
  • Contributed Modules

Modules deliver distinct functionality, work with the core, core modules and maybe together with other modules. e.g. ecommerce has lots of modules that go along with it (e.g. shopping carts, billing APIs etc).

Particularly essential contributed modules are:

  • CCK = content construction kit. allows you to create different types of content. very customizable with pluggable widgets for radio buttons, multiple select boxes, date/time fields etc.
  • Views = allows construction of pages
  • Panels = custom panel templates for different sections of website – give good control over where things show up

Roland commented about modules: with the above, you can do all this without a database administrator, developer or web designer. you can do all this yourself just through the UI.

Tips on how to identify the best modules on drupal.org:

  • look to see when the latest release is (and if it works with 5.1).
  • look at issues in the bug tracker, and consider how active the module maintainer is.
  • look at what others have said about modules. some reliable sources are:
    • lullabot
    • - top 40 list of modules

    • chapter3
    • developmentseed
    • raincity
    • bryght
    • drupal dojo
    • groups.drupal.org (both forums and monthly meetings)
    • forums

Roland pointed out that bryght has preconfigured drupal profiles that can be downloaded and installed for different purposes – apparently reachable via SVN: svn.bryght.com

Cool note re panels: you can pass a url argument to panels.

lullabot has top 40 modules – groups.drupal.org -> austin has ratings of best modules – handbook.drupal.org – IRC I related my experience with my joomla->drupal migration and lack of support/help in all of these venues. Pro Drupal DEvelopment book by Lullabot Lullabot does professional-level trainings drupaltherapy.com taxonomy
Barnraising
Celia is a poet and involved in poetry jams – wants to create a new social networking website right now to enable young teenagers to share their poems and to spark their creativity. She and Gregory had talked it over before hand and already had worked out the requirements for the site.

Set up types of content and roles

Types of content:

Super Admin (Celia) Admin Poet (User) Content type Notes
x x Blogs
x Poems
x Glossary
x Events
x Writing Prompt One line that can be used to inspire/prompt a poem. Poems can be linked to prompts.
x Featured Poets MAke use of User relation field so we don’t have to type this all in manually
x Suggested reading Books to recommend that are worthwhile reading. May use GoodStorm to let her sell books
x Favorite Poems
x Writing Prompt
Writing Workshop way to group content and group users. Organic Groups module. Use simple OG functionality without all the modules. users can be associated to a group, content can be associated to a group. OG is a node access and node relationship module. Not just about groups.

Important truth about Drupal: keep it simple. ECONOMY. Be conservative in turning on modules, creating types of content. e.g. you could have 5 types of poetry events, but don’t create 5 content types – just one type but use taxonomy/vocab to distinguish between them. [Vocab Perms is a module to limit permission by taxonomy!]

Taxonomy – is a module. consists of vocabularies. vocabularies have terms. vocabulary can apply to content types (one or multiple). Terms can be hierarchical/related to each other (parent/child) or not – e.g. freetagging. Terms can link content across the site. (sometimes called orthagonal/faceted). You can offer people lots of ways to navigate around. Alison says: it’s like an index of content. Built into the system. But you can use views/panels to define what you see when browsing the taxonomy.

Search and search index

Tagadelic – tag cloud module.

[Gregory Youtube recommendation: candy mountain]

  • captcha
  • email to friend
  • print friendly view
  • filter inappropriate words
  • flag content as inappropriate/spam
  • send messages to you through site
  • bookmark content
  • notified by email when certain content has been created (e.g. subscribe to writing prompts about love or every time a new poem is published by a poet about love)
  • buddy list
  • instant messaging (needs additional server resources)
  • ajax live chat (needs additional server resources)
  • profiles – this is me, a picture of me. emerging as
    • anonymity. no real names (use nom de plume), no pictures (user pictures are avatars), no photographs of people, no real details, no “my city” feature. no direct email (onsite messaging)

Pet peeves

  • why is there no “check all” to set permissions in user roles? why are related permissions not grouped together?
  • passwords – notification sends it in clear text. there is no way to require them to change their password the first time they log in – but you can contact them separately and make them go to the site and request a new password.

Install site

  • account on dreamhost – $10/month
  • set up empty mysql database in dreamhost
  • upload files and navigate to install interface
  • put in mysql details
  • set up initial details
  • login
  • site information
    • use generic email address
    • nice footer
  • clean urls – get rid of ugly questionmarks in urls
    • run test to test .htaccess file
    • either it will work or not – if not, get someone to help
    • if it works, then enable cleanurls
  • set up admin role
    • user 1 is superuser – can do everything!!!!
    • create new admin role that can do everything
    • create new user for yourself and add yourself to admin role
  • roles:
    • admin – can do everything
    • poet
    • moderator
    • anonymous user (not logged in)
    • authenticated user (logged in)
    • note: as you dd content types and modules, new tickboxes appear to assign permissions
    • note: if you delete a user all their content will be assigned to the anonymous user – so block the user instead of deleting them!
    • note: if you send notificaiton, it will send the email to them in clear text (set easy password and tell them to go in and change their password)
  • Modules
    • he uses multisites so modules are already available – installed in modules directory, but not enabled on this site.this means database tables for modules are not created yet.
    • tip: click on every link in the admin page every day for a week as you are installing new modulesyet
    • note: no installer module yet -hoped that the “profiles” will fix this by offering the right mix of modules by default for different purposes
    • note: on list, you can see description ofmodule, required by,
    • CCK: content construction kit.
    • core – optional: available by default
    • core – required: available by default
    • ecommerce – core
    • ecommerce – payment methods
    • ecommerce – product types
    • ecommerce – uncategorized
    • other
    • views
    • node reference
    • user reference
  • keep database backups
  • keep testing environment – copy database and files over to that for experimenting.

webform module
- complex set of fields, people can fill it out and email it.

forward
tagadelic
buddylist

close comments module

Note: panels might ignore “sticky” or “promote to front page” so you can be certain what will be on the frontpage. can also use exclusion filter ot make sure eg that poem on
frontpage doesn’t get listed in a news feed on the frontpage.

Note: revisions – good for pages, e.g. about page, but not on stuff that does not need revisions like blogs. there is a database burden (lots of records being created that could have performance implications)

About Tobias Eigen

I am a social media for social change advocate, and founder of Kabissa, an online platform connecting people and organizations for Africa. I tweet at @tobiaseigen and @kabissa, and maintain my CV at LinkedIn.
This entry was posted in Random and tagged , , , , , , . Bookmark the permalink.

4 Responses to Camping out with the Drupallers in Seattle

  1. Erin says:

    Great notes! It was good seeing you at the Drupal Camp. Hope you plan to come to some of the monthly meetups. Good luck on your site- let me know if you need any help testing.

  2. JKE says:

    Nice introduction, guess i should look out for a local drupal camp as well.

    One question though: why do you want to switch from Joomla to Drupal? While I can imagine that Drupal might offer more functionality and details, I am asking because I am currently setting up a CMS for an NGO project and want to use a good system right from the start. thx!

  3. Tobias Eigen says:

    Hi JKE –

    Thanks for checking in. :-) We decided to switch to Drupal when Drupal 5.1 came out. It is more accessible to us (read: user friendly) than Drupal 4.7, and we also were not able to wait any longer for the release of Joomla 1.5.

    Between Drupal 5.1 and Joomla 1.0.11, our requirements were more easily met using Drupal 5.1. We are basing alot of our functionality on civicrm which exists already in Drupal or is fairly easy to reach.

    This is not to say that Joomla 1.0.11 is not ideal for some organizations – indeed we’ve set up quite a few nice sites for Kabissa members using it. Joomla 1.5 promises to be awesome. But for our timing and our particular requirements (esp with civicrm in the mix) Drupal 5.1 makes more sense.

    Cheers,

    Tobias

  4. JKE says:

    Oh, I hear you on that Joomla 1.5 issue!
    Now after learning that my testing environment also allows an installation of Drupal, I quickly switched and was instantly suprised to find so many good modules being available. I think I’ll stick to Drupal now and see if it does the job we’ll need it for (currently a one-man show – i am trying to set this up for a website on ecological sanitation issues in an ngo environment, so basically those are similar requirements as yours with searchable user database, workgroup forums etc. – the “shida” is that these guys don’t even know what a CreativeCommons Licence is so it’s not only about introducing a proper CMS, but also about introducing a group of scientists to a relatively new Web2.0 world they never really thought of becoming part of their collaborative networks, which are btw still based on Yahoo!Groups (at least something)). So thx for this hint!

    Cheers from Frankfurt,
    jke

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>