Post on 25-Jan-2015
description
transcript
Open Source Content
Management SystemsKaren A. Coombs
Jason Griffey
Amanda Hollister
Karen Coombs• University has 35,000 students
• Has multiple library web sites
• Approx 1000 pages
• Complex intranet
• Implements any tool that will do the job on the library web site, mostly OSS
Jason Griffey
• University has 9,500 students
• Has one library website,
• Developed the Joomla implementation
• Now maintained by Web Development Librarian
• Moving to all Open Source Software
Amanda Hollister• College has 7500 students
• One library web site
• Approximately 150 pages
• Simple intranet
• Plays with open source for fun, implementing OSS on next web redesign
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
Some OSS you may know
• Microsoft Windows = Ubuntu, Redhat
• Internet Explorer = Firefox
• Microsoft Outlook = Thunderbird
• AIM = Pidgin/GAIM/ Adium
• Microsoft Office = Open Office
• Adobe Photoshop = Gimp
• Oracle SQL = MySQL
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
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
What are some OSS CMS?
• Wordpress
• Joomla
• Drupal
• Dot CMS
• Plone
What will we cover?
• Joomla
• Wordpress
• Drupal
Cortland Free Library
Joomla as CMS
• Used by a variety of libraries including
–Health Sciences Library, Stony Brook University, South Carolina State Library, Tyngsborough Public Library
• Also used by IHOP, Citibank’s Intranet, Outdoor Photographer (Magazine)
Joomla as CMS
• Requirements:
– PHP 5.2+
–MySQL 4.1x+
– Apache 2.x+
– (Microsoft IIS 7+)
–Desktop – WAMP, XAMPP, etc
Global Configuration
Global Configuration
Content Organization
• Two Level site only
• Sections ->Categories ->Articles
– Sections – very broad topics
– Categories – article “file cabinets”
– Articles = ALL content
– Articles can only be in one category
Plan Your Content!
Designing the Site• Add Sections with the section manager
• Add Categories to Sections with the category manager
Adding Content
Global Article Parameters
Templates
• Decide on a template before doing much work on your site
• The template will determine what modules are displayed and where they are displayed
Template manager
Joomla Templates• http://drupal.org/project/Themes
• http://www.joomla24.com/
• RokWebify theme and tutorials for that theme: http://tutorials.rockettheme.com/joomla-templates/rokwebify-tutorials
Note: 1.0x templates may not work with 1.5x
Making a Page Your Homepage
• By default Joomla displays the most recent “articles” added as the homepage to the “latest news” module
• You can add/remove front page content in the front page manager
Joomla ExtensionsExtension Types:
• Plugins – can change Joomla functionality
• Components
– can replace web page with a forum, guestbook, forms, galleries etc
– display in center of page, one per page
• Modules
– joomla widgets – menus, polls – Template determines where modules are
placed
Menus
• Menus are modules – and very flexible
Menus
• To have different content links – need a new menu item:
Menu content
Modules to Add
• Polls
• Feed aggregators – New books
• Rss links
RSS Feeds
• Pulling RSS:
–Module type: Feed Display
RSS Feeds
• Creates a feed for subscribing
• Module – “Syndicate”
• Will create an RSS feed of articles anywhere it is placed.
Advanced Techniques and Tricks
• MeeboMe in your sidebar
• Catalog Module
– Turn off WYSIWIG editor in Global Configuration
– Create new module with html code for the catalog
– Select where the module will be displayed
– Save module
– Turn WYSIWIG editor back on
Extension manager
•Installing extensions is easy!
Removing extensions
Fav Extensions!• Google Maps
• DocMan (Joomla 1.0x)
• Joomla Stats
• Xmap
• MorfeoShow
• ChronoForms
• JoomlaPack
Google Maps
Document management
JoomlaStats
Xmap – Site Map
Xmap – Site Map
MorfeoShow
MorfeoShow
Chronoforms
JoomlaPack
Joomla Issues
• High learning curve
• Inspired hatred at first
• Many extensions are not updated to 1.5x
• Many templates are not updated to 1.5x
Joomla Strengths
• Exceptional Flexibility
• Good community support
• Inspired love at the end
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
Wordpress Pages
•Outside the normal “sequence” of blog
•Typically, content input via a WYSIWYG editor
•Can be hierarchical
•Can use different templates
•Page order
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
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/
Basic Theme Structure
•index.php
•style.css
•header.php
•footer.php
•sidebar.php
•comments.php
•comments-popup.php
Customizing Your Theme
•Widgets
•Template Tags
•Conditional Tags
Widgets
•What is a widget?
•Default Widgets
• Archives, Calendar, Categories, Links, Meta, Pages, Recent Comments, Recent Posts, RSS, Search, Tag Cloud, and Text
Widgets
•Where to get other widgets
• http://wordpress.org/extend/plugins/tags/widget
•Other widgets to consider
• Flexi Pages Widget, Category Posts Widget
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()
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
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); ?>
Useful Plugins
•Blogroll Links
•cforms
•Google Maps for Wordpress
•Inline Feed
•OpenBook Book Data
•Widget Logic
Advanced Techniques and Tricks
•MeeboMe in your sidebar
•Creating a Photo Gallery
• Attach files
• [gallery]
•Events Template
Wordpress Strengths
•Easy to use
•Lots of plugins available
•Easy to create new themes of modify existing themes
•Large user base
Wordpress Issues•Can’t easily create custom content types
•Events
•Contact Info
•Lacks flexibility to deal with complex types of objects with different types of fields
•Customizing display of group of page/posts requires knowledge of PHP
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
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
Themes
•http://drupal.org/project/Themes
•http://drupal2u.com
•http://mydrupal.com/downloads
Modules to Add
•FCKEditor
•IMCE
•Image
Modules to Add•CCK
•Date, URL, Email
•Contact Form
•MultiBlock
•Token
•Views
•View Reference
Content Types
•Pages
•Stories
•Image
Blocks
•Default Blocks
•Can be made to display on certain page
•include
•exclude
•PHP
Blocks
•Custom Blocks
•HTML
•PHP code
•Views
Menus
•Primary Links
•Secondary Links
•Navigation
•Menus you create
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
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
Image gallery
•Create Galleries
•Uploaded Images can be associated with a gallery
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
Create Your Own Content Type
•Events
•Date field
•Time field
•Links
•URL field
Views•Types
•Page
•Block
•Feed
•Display
•Node or Fields
•Limit criteria
•Sort Criteria
Filters
•Default filters
•Other filters often classified as “Modules”
•insert_view
Drupal Strengths•Exceptional Flexibility
•Easy to create new content types
•Substantial user base particularly in libraries
•Drupal4Lib
•SOPAC
•Drupal + Fedora
Drupal Issues
•Date CCK 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
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
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