CMS Project
The "Project 8" to do a
review of Informatics Web services and policy, resulted in a questionnaire and a presentation of
the results at the
FirstInnovationMeeting. This lead to an agreement that we should provide a general purpose CMS service that will meet the needs of a majority of users/research groups.
We have started experimenting with a couple of likely contenders and some technical notes of their initial setup are available as
PloneNotes,
DrupalNotes and
JoomlaNotes. Due to time constraints, and the acceptance that no one package is going to satisty everyones' needs, we are unlikely to consider any other CMSes.
We have since decided on Plone and are working on our test service at
http://scunner.inf.ed.ac.uk:8080/. We hope to have a service in place by the end of September. With a pilot for the end of August, dedicated hardware has been ordered.
Plan
- Identify the requirements of the service.
- Compare how our likely candidates standup on those requirements.
- Select CMS and get it ready for service
- Progress
CMS Requirements
There are a few technical and user requirements/features that we should consider. Some of which are
must haves and others which are
desirables. A good source for the initial comparison was done at:
http://www.cmsmatrix.org/matrix/cms-matrix
Apparently |
CMSMatrix says yes, but we've yet to confirm it for ourselves |
Yes |
We've confirmed this on our test services |
No |
CMSMatrix says no, or we've not been able to confirm it for ourselves |
David Richardson also gave us a list of things that CISA where looking for in their
ICSAWebReview.
Selection Of the CMS
As previously stated there are a wide variety of Web Content
Management Systems available. We picked a short list of 3 of the more
popular Open Source CMSes as possible candidates: Drupal, Plone and
Joomla.
Though Joomla seems easy to use, they are currently developing a 1.5
version which is still beta, and quite buggy. Their stable release is
1.0.7, but according to their web pages, there is not a migration path
from 1.0.7 to 1.5. So if we were to choose this, we'd have to either
choose their beta version (which they say don't use for production
services) or the older 1.0.7, with no future migration option. Also,
of the 3 CMSes Joomla is the least featured of the three. So we will
rule out Joomla as a candidate.
Looking at the remaining two, Drupal and Plone, by comparing them on
www.CMSMatrix.org, there is little to choose between them, though perhaps
Plone has a few more features. Of the two Zope/Plone seems to be
considered the more grown up and professional product, eg
http://drupal.org/node/13733, with better documentation and more
polished releases. Drupal seems better suited to community blogging
type sites, with new versions coming out frequently.
There are a couple of concerns regarding Plone however, one is the
reliance on its own
zserver
. It doesn't use Apache, and so we can't
leverage our Apache knowledge/experience, however we can (and do for
http://www.healthagents.net) proxy Plone behind Apache. Also the large
variety of plugins are apparently a bit of a dependency tangle.
Drupal is PHP and
MySQL/Postgres based, and its plugins are more self
contained. This would tend to suggest that Drupal would be a better
choice from our management point of view.
However, one of the big pluses with Plone, is that it is being used by
some big
organisations eg RBS and
University of Bristol. We also have at least some experience of Plone
with the www.healthagents.net web site. And out of the box, Plone
does give you a basic usable CMS. Drupal requires some initial
configuration to get things going.
Considering all this, and with the fact that time is of the essence,
we have decided to go with Zope/Plone as the basis for the Informatics
CMS service.
Progress
Installed CMFEditions and the required
ZopeVersionControl and CMFDiff Products to enable versioning (history) on plone content types. The Diff part doesn't work it never shows any differences, but without the Product it crashes. I tried installing the latest Zope 2.9.7 and Plone 2.5.3 on topper and the above products, but had the same problem. I'll leave this for now.
Working on making it more service like, machine headers, backup and possibly a Zope component (low priority).
- A simple
live/wcms-server.h
has been started and scunner now uses this. It should be mirrored to pegasys.
Next will be a look at skinning.
Need to think about how accounts are going to work, both in the short term and longer term (Cosign+Friend). Assuming that some people will have access to multiple sites on the CMS, they won't want to register multiple times.
- Plone 3.0 has just been released, and it ticks more of our requirements boxes, so the pilot web service wcms.inf.ed.ac.uk has been setup using Plone 3.0. Unfortunately the apachepas doesn't work as nicely with Plone 3.0 and so Cosigning Plone has taken a step backwards. We need to fix this.
- The initial pilot service is now running, but shouldn't be widely used until the authentication is solved. For now we have to ensure people use their UUNs and a non-valuable password when creating local Plone accounts.
Some things about Zope and Plone
In principle, skinning doesn't look that hard. If it is really just a matter of laying out the content differently and with different styles. Using the
DIYPloneStyle product as a starting point is very useful. Note that if you follow the instructions in
http://plone.org/documentation/tutorial/creating-plone-themes, it will copy accross empty copies of things like base.ccs, columns.css public.css, which overrides any of the defaults you might want to keep. This might be fine if you are starting from scratch, but I've tried to keep my changes to a single file and only override the bits I need in wwwinftheme.css.
You can control what appears in the navigation tabs by excluding individual folders from the Nav, or disabling them all (in the site navigation control panel option), you then have to go into the ZMI and edit the
portal_actions
appropriately. Not very friendly, and slight discoraged. Look for the "Home" action as an example and copy/extend.
Looks like TALES
http://www.owlfish.com/software/simpleTAL/tal-guide.html is being recommended in favour of DTML. But you'll still need to know a bit of each. The languate itself is simple, the difficulty is knowing how to reference all the properties etc of the plone/zope/content attributes properties.
Plone Users mailing list
http://sourceforge.net/mailarchive/forum.php?forum_name=plone-users
--
NeilBrown - 15 Jun 2007