This document provides an overview of open source content management systems (CMS), focusing on WordPress, Drupal, and Joomla. It defines what an open source CMS is and explains some of the key features and components of WordPress, Drupal, and Joomla like themes, plugins/modules, pages/content types, and customization options. It also highlights some of the strengths and limitations of each system.
2. What is Open Source
Software
• “free” software
• source code is available for you to examine
• Source code can be modified
• Modifications can be redistributed
• Typically developed in a collaborative
fashion by many people
3. What is a CMS
• Content Management System
• System for creating, organizing and publishing
web content
• Create web content without knowing any code
• Content stored in database back-end and edited/
create with web-programming language
4. Why use a CMS
• Can focus on site organization not content
management
• Can give others ability to update their own
content
• One install can manage 10,000,000 html
pages
• Easy off-site access
5. What are some OSS
CMS?
• Wordpress
• Joomla
• Drupal
• ModX
• Concrete5
• Plone
6. What will we cover?
• Joomla
• Wordpress
• Drupal
7. Wordpress as CMS
• PHP and MySQL Backend
• Used by many libraries for blogging
• Some libraries are using it for some CMS
functions:
• Atchison Public Library, California State
University East Bay, Dartmouth Public
Libraries, Millsaps College Library, Park
County Library, Patagonia Public Library,
Stevens Memorial Library
8. Wordpress Pages
• Outside the normal “sequence” of blog
• Typically, content input via a WYSIWYG
editor
• Can be hierarchical
• Can use different templates
• Page order
9. Making a Page Your
Homepage
• Settings
• Reading
• Front page displays
• Choose the page you want to be your
homepage from the drop down
• Make another page your “news” page
11. Themes
• In choosing a theme you should consider the
following:
• what kind of banner do you want?
• where do you want your site navigation to appear?
• what kinds of layouts do you want to use, one column, two column,
three column?
• do you want a fixed or scalable layout?
• Sources for Themes
• http://wordpress.org/extend/themes/
• http://www.templatesbrowser.com/wordpress-themes/
14. Widgets
• What is a widget?
• Default Widgets
• Archives, Calendar, Categories, Links, Meta,
Pages, Recent Comments, Recent Posts, RSS,
Search, Tag Cloud, and Text
18. Widgets
• Where to get other widgets
• http://wordpress.org/extend/plugins/tags/widget
• Other widgets to consider
• Flexi Pages Widget, Category Posts Widget
20. Key Template Tags
• wp_list_pages()
• Post tags - need to sit in the Loop
• the_title()
• the_content()
• the_meta()
• the_category()
• the_tags()
• wp_list_bookmarks()
21. Helpful Conditional
Tags
• is_front_page()
• is_page()
• can include or exclude pages
• no conditional tag to test for subpages
• is_page_template()
• can check to see if a specific page template is
being used
• is_home() - posts page, which is typically the site
home
22. Custom Fields
• Allows you to add additional fields to pages
or posts
• Key - Value pairs
• Stored as text in database
• Can be displayed using
<?php the_meta(); ?>
• Better way is to code to display each field
<?php $key="mykey"; echo get_post_meta($post->ID, $key, true); ?>
23. Useful Plugins
• Blogroll Links
• Google Maps for Wordpress
• Inline Feed
• OpenBook Book Data
• Widget Logic
• Event Calendar 3
36. Advanced Techniques
and Tricks
• MeeboMe in your sidebar
• Creating a Photo Gallery
• NexGen Gallery plugin
• Scriblio plugin
43. Scriblio
• Plugin for Wordpress
• Import MARC records
• Use as NextGen Catalog
• Catalog digital library objects
46. Wordpress Strengths
• Easy to use
• Lots of plugins available
• Easy to create new themes of modify
existing themes
• Large user base
47. Wordpress Issues
• Can’t easily create custom content types
• Contact Info
• Lacks flexibility to deal with complex types
of objects with different types of fields out
of the box
• Customizing display of group of page/posts
requires knowledge of PHP
48. Drupal as CMS
• PHP and MySQL backend
• Strongly recommend using PHP5
• Used by a variety of libraries including
• Darien Public Library, Athens County
Public Library, McMasters University
Library, University of Prince Edward
Island
49. Making a Page Your
Homepage
• By default Drupal displays the most recent
“nodes” added as the homepage
• You can override this by going to
• Administer > Site configuration > Site
Information
• Change the “Default front page” field to
be the node you want to be your
homepage
60. Taxonomies
• Used to organize content on your site
• Categories
• Tags
• Can be hierarchical, or free-form
• Different taxonomies can be used for
different content types
61. Feed Aggregator
• Does more than aggregate feeds
• Creates a block for every feed
• Allows you to embed feed in a node
• Need to give Anonymous user permission
to access feeds
66. CCK
• Add new fields to any Content Type
• Control the type of field added
• Text, Number
• Date, Email, URL
• CCK fields can be used in views
• Remember to give Anonymous user
permission to access fields you create
67. Create Your Own
Content Type
• Links
• URL field
• Staff
• Email field
74. Drupal Strengths
• Exceptional Flexibility
• Easy to create new content types
• Substantial user base particularly in libraries
• Drupal4Lib
• SOPAC
• Drupal + Fedora
• Drupal for Digital Libraries - McMasters
75. Drupal Issues
• Some modules are buggy and problematic
• High learning curve
• Not as many modules and filters developed
as one would like
• library-related modules in particular
missing in some areas
76. Choices, choices
• Wordpress is best for small sites; has an
easy start up
• Joomla is best for medium sites, average
complexity, relatively easy UI
• Drupal can handle multiple, large, complex
sites
77. Lessons Learned
• Learning a CMS takes time
• Important to map out your site’s content
to know what modules, widgets need to be
installed
• Need to decide how you want your site to
look in order to choose an appropriate
theme
• Understand each CMS’s strengths and
limitations