Drupal and the CMS Project
Lesson Learned #1 Keep your modules updated, especially when there are security concerns in the update notes 2010 | The Sky’s the Limit
From: Date: Thu, Dec 2, 2010 at 3:39 PM Subject: New release(s) available for To: There are security updates available for one or more of your modules or themes. To ensure the security of your server, you should update immediately! See the available updates page for more information: | The Sky’s the Limit Update Status
Update Status Report 2010 | The Sky’s the Limit
Lesson Learned #2 Set up a cron job or Windows scheduled task to hit cron.php on your Drupal installation at regular intervals Usually every hour 2010 | The Sky’s the Limit
The Drupal /sites folder When you install Drupal, the /sites folder contains 2 directories, “all” and “default” You can host additional sites by making new directories in the /sites folder with the name of the site and copying the settings.php file there from the default directory –For instance, /sites/krisbase.com 2010 | The Sky’s the Limit
The Drupal /sites folder Modules and themes you want available to every site go in the /sites/all/modules and /sites/all/themes folders Modules you only want available to a specific site go in that site’s modules and themes folders –ex. /sites/krisbase.com/modules 2010 | The Sky’s the Limit
Lesson Learned #3 Don’t modify the Drupal Core files (Don’t touch anything outside of the /sites directory) 2010 | The Sky’s the Limit
The End of the Road 2010 | The Sky’s the Limit
Hooks in Drupal foo_bar() –“foo” is the name of the module –“bar” is the name of the hook uwblogs_block() 2010 | The Sky’s the Limit
Theme Developer Module 2010 | The Sky’s the Limit
Lesson Learned #4 There is a module for that! Most common needs already have one or more modules built to address them 2010 | The Sky’s the Limit
Drupal Inline Image Solutions Linodef + Linodef Taglists + Linodef WYSIWYG + WYSIWYG 2010 | The Sky’s the Limit
Drupal Inline Image Solutions Image + Image Assist + WYSIWYG + TinyMCE 2010 | The Sky’s the Limit
Drupal Inline Image Solutions Imagefield + Imagefield Assist + Imagecache 2010 | The Sky’s the Limit
Drupal Inline Image Solutions Imagebrowser (v1) + Image + ImageCache + FCKEditor 2010 | The Sky’s the Limit
Drupal Inline Image Solutions Imagebrowser (v2) + WYSIWYG + ImageCache + Views 2010 | The Sky’s the Limit
Drupal Inline Image Solutions Inline 2010 | The Sky’s the Limit
Drupal Inline Image Solutions Insert + WYSIWYG + ImageField + ImageCache 2010 | The Sky’s the Limit
Drupal Inline Image Solutions Media + Styles + WYSIWYG + CKEditor 2010 | The Sky’s the Limit
Drupal Inline Image Solutions Nodereference Explorer, + Insert + WYSIWYG 2010 | The Sky’s the Limit
Drupal Inline Image Solutions Prosepoint Modules 2010 | The Sky’s the Limit
Drupal Inline Image Solutions WYSIWYG + CKEditor (js) + WYSIWYG Image Upload 2010 | The Sky’s the Limit
Drupal Inline Image Solutions WYSIWYG + CKEditor (js) + CKFinder 2010 | The Sky’s the Limit
Drupal Inline Image Solutions 2010 | The Sky’s the Limit
Module Description 2010 | The Sky’s the Limit
Bug and Issue Queues 2010 | The Sky’s the Limit
Project Information (good) 2010 | The Sky’s the Limit
Project Information (yikes!) 2010 | The Sky’s the Limit
Sometimes modules don’t play nicely together 2010 | The Sky’s the Limit
Now what? 2010 | The Sky’s the Limit
Lesson Learned #5 Contributed modules go in the /sites/all/modules folder or /sites/ /modules not in /modules folder with the core modules that ship with Drupal 2010 | The Sky’s the Limit
Enabling Modules with Drush Navigate to one of your Drupal sites in the shell drush dl downloads the most recent production version of the module drush en enables it You can also disable modules with drush, which is handy if you have a WSOD and can’t access your admin menu 2010 | The Sky’s the Limit
Drush.make Files 2010 | The Sky’s the Limit
Drupal Commons 2010 | The Sky’s the Limit
Managing News 2010 | The Sky’s the Limit
Open Atrium 2010 | The Sky’s the Limit
Blog Requirements Bloggers should be able to tag their posts –Should be simple using the Drupal Taxonomy module –Tags should have auto-complete functionality and bloggers should only see the suggestions that they previously entered Blogs should share some taxonomies 2010 | The Sky’s the Limit
Blog Requirements Bloggers should be able to use a WYSIWYG editor so they can style their posts without HTML knowledge Bloggers should be able to upload photos and place them where they want in their posts 2010 | The Sky’s the Limit
Blog Requirements Users should be allowed to comment on blog posts if the blogger allows it Users should be able to login with CAS The Blogger’s real name should appear beside their posts, not their username 2010 | The Sky’s the Limit
Blog Requirements The blog must meet accessibility standards Blog owners should be allowed to customize their banner image Blog owners should be able to add pages to their blogs (ex. About Us) 2010 | The Sky’s the Limit
Blog Requirements Blogs should be allowed to have more than one blogger –For instance a blog for a research lab may have several people posting to it –The blog owner should have the ability to moderate these posts 2010 | The Sky’s the Limit
Approach #1 Drupal Core Blog Module Drupal ships with a module that is described as a “multi user blog” –Each user can create a blog under their own username –A block is created that shows recent blog posts –The Blog content type can be extended to meet some of the requirements that are not met 2010 | The Sky’s the Limit
Approach #1 Drupal Core Blog Module It only provides one blog per user It doesn’t meet our requirements, let’s try something else… 2010 | The Sky’s the Limit
Approach #2 Organic Groups Allows users to create and manage groups that can have subscribers Each group can have more than one moderator Each group can have a different theme Blog posts can be tied to organic groups 2010 | The Sky’s the Limit
Approach #2 Organic Groups 2010 | The Sky’s the Limit
Approach #2 Organic Groups 2010 | The Sky’s the Limit
Approach #2 Organic Groups 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships Content Construction Kit Lets you extend nodes with custom fields –Text, Links –File and image uploads –Links to taxonomies –And much more! 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships We will make 2 custom content types –Blogs and Blog Posts –Blogs are tied to the users who are allowed to post to them with a User Reference field –Blog Posts are tied to Blogs with a Node Reference field 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships 2010 | The Sky’s the Limit
Lesson Learned #6 Internet Explorer freaks out if you link to more than 31 CSS files! 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships 2010 | The Sky’s the Limit
Lesson Learned #7 If the changes you make aren’t appearing, be sure to clear your Drupal cache (and possibly the browser cache as well) 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships For a specific post: For all posts in December: For all posts in 2010: | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships 2010 | The Sky’s the Limit
Approach #3: Custom Content Types and Node Relationships 2010 | The Sky’s the Limit
Conclusion Contributed modules will often get you 90% of the way there, but that last 10% can be a killer It is worth the effort to use Drupal so we can get our content into one place and do fine grained searches on it 2010 | The Sky’s the Limit