Archive for the 'cms' Category

Open source CMS award 2009

Thursday, November 5th, 2009

It's this time of the year again - the Packt open source CMS awards. Yours truly has been in the jury in the past two years in the "PHP CMS" category, this time I was selected to judge in the "Other" category. So I had the pleasure of reviewing 5 non-PHP content management systems. Very impressive stuff!

Here are some observations (the CMS's sorted alphabetically, nothing to do with my verdict). They might be more on the negative side, but I had to find things I don't like, right, I couldn't just vote for all of them. And plus, in previous years the CMS developers sometimes would ask for any suggestions for improvement.

DotNetNuke

  • click
  • written in .net
  • rich text editor
  • free and paid (professional) version
  • busy community forums
  • a number of extensions/pluggins/modules conveniently sitting in the admin menu
  • pages made up of modules
  • needs a bit of work in the keyboard navigation, "enter" key behaves in various ways and not always intuitively
  • needs a bit of UI and usability work, the UI is all over the place
  • -1 for having to complete a form in order to see a demo (form includes phone number and "ok to be contacted by a salesperson?", many new services require less information to make you a full member)
  • -1 for having to register in order to download
  • -1 performance (no gzipping, no minification, multiple scripts and styles, no sprites, etc)
  • -3 for sending me three emails shortly after registration for a demo

dotCMS

  • click
  • written in Java
  • very slick
  • versions - free, paid, on-demand
  • pre-packaged sets of functionality to get started quickly depending on the type of site you're building (e.g. ecommerce, press center, etc) - pretty cool idea
  • impressive list of clients - .edu's, gov, corps...
  • highlight on "enterprise" features (sorry, hate that word), with focus on scalability. Hey, you can even buy the hardware, with pre-installed CMS
  • -1 for having a 404 on many pages (global.js, also menu_bg on the demo site)
  • +/-1 for performance best practices (some sprite use, but not enough, -1 for using gifs, +1 for gzipping, should compress the page as well, -1 for not combining components like css and js)
  • built with many open standards, velocity templates, struts, +extra for using YUI base/reset/grid (wink)
  • -1 for putting long text chunks in an image
  • readily available demo
  • nice CRM module with mailing list
  • -1 for using dark text on a dark background ("Your search for "<i>skins" returned 0 results.")

mojoPortal

  • click
  • .net
  • many auth options - ldap, oauth, etc
  • free, some paid features such as support and advanced from editor
  • could benefit from a sexier demo
  • nitpicking: double htmlentities escape
  • -1 for performance best practices (should gzip, merge css, js, etc)
  • clean markup (although .net's viewstate bloat makes me uncomfortable), despite the few single quoted attributes
  • inline editing (edit links appear as you browse the front-end) - ftw
  • rich text editing with several editors

Plone

  • click
  • python
  • slick and contemporary
  • impressive list of add-ons
  • excellent step-by-step tutorials, manuals and a free online book
  • impressive client list, starting with (since I bitch about performance throughout this post) Akamai, the CDN provider
  • +1 for performance best practices, could also gzip and minify css/js, +1 for sprites
  • -10 for missing demo?

WebGUI

  • click
  • Perl
  • one-click personal demo is a very good idea
  • "site starter" that hand-holds you through setup
  • -1 for not gzipping, etc
  • +1 for the cheesy rockstar photo here
  • -1 for white fonts on light blue background in profile pages (I left the default colors during setup)
  • +1 for innovative admin console approach (accordion-style menu on the left, while viewing the front-end)
 

Best open-source PHP CMS 2008

Sunday, October 26th, 2008

It's that time of the year again. Time to cast my vote as part of the jury in Packt's open-source awards, category "PHP CMS".

(for my last year's rant, check the internet archive copy)

How to judge a CMS?

How to judge a CMS? Tough one. How do you judge any piece of software anyway?

Features? Usually any system or product lists the features in way meant to wow you, I mean a list of features always looks nice, it's a sales tool. And the features don't mean that much, actually some say, you should underfeature the competition. Of course, you can't take that to the extreme and build software that does nothing. You need features, but the best CMS doesn't mean the one with the most features, neither the one with less. You just need the right mix and "right" may wildly vary depending on the task. Are you building an e-commerce site, a library of articles, a 5-page business card-like site, on online community? No way to judge a system without an idea of what you want it to do for you. And no way what you want to do is what everyone else wants to do.

Quality? This is much easier. Does the code validate, YSlow score, accessibility, etc. Easy, even automated, but again, the system can be written beautifully but doesn't do the right thing or work the right way.

Documentation? A must-have, usually a problem with any software. Can be too specific in areas that don't matter and completely lacking where you really need it. Or outdated. It's also nice to have some books, sign that the system is relatively popular, mature and at the end of it, it's cozier to share the couch with a book then with an online text. Also API documentation, at least it's easier to generate and keep updated.

Community? Very important, you'll inevitably have questions when you start working with the system. It would be nice to have a friendly place where you can ask/answer questions. But how do you judge a community? The only way is to get involved and spend time. No way to do this when you're judging 5 systems in a matter of days.

Verdict

It's virtually impossible to judge any piece of software until you start using it. It may have the right features, but they might be unfriendly or virtually unusable. It may have documentation, but not the one you need, etc, etc. So the only way is to spend time with the software and try to make it work for you.

And since I've been meaning to create my personal stoyanstefanov.com, I thought it would be a good idea to kill two birds with one stone - cast my vote and have a working site at the end, powered by my personal CMS favorite.

Content

So I sit down and listed the features I need, nothing overly complicated, and also decided on some rough structure. Here's my feature list:

  • Blog. In English and also in Bulgarian, nice test for i18n capabilities
  • Photos
  • Syndicated Twitter feed, probably the CMS will not have it out of the box, but syndicating content and consuming web services is so common these days that the software better be capable of doing it easily or let me write an extension easily
  • Slides, with the help of Slideshare's API, same as above
  • Books - a page for each book maybe, reviews, image, etc
  • Projects - list of stuff I'm involved in
  • Publications - articles I wrote for other sites and magazines
  • Conferences - list the conferences I've spoken to, encourage people to invite me, bio blurb, hi-res photo
  • About
  • Contact
  • Social - links to facebook profile, linked in, etc
  • Sites - other sites of mine
  • Syndicated content - again, syndicate friendfeed or a Yahoo pipe that contains pretty much all my online activity, such as other blogs and even tiny things like last.fm love/hate ratings
  • Subscribe - option to subscribe to RSS feeds or even monthly email
  • custom 404

All these features I would combine in 5 top-level menu items: blog, news, writing, speaking, info.

Checklist

So now that I know what I want to build, I can go ahead and (attempt to) do it with each CMS while looking out for some pre-defined checks.

Info

URL:
Maturity: (since when the CMS exists)
Frequency of new releases: (is the project active)

Tasks

The best way to get a feeling of the software is by performing some tasks, the same tasks for all CMS

  1. Download
  2. Install
  3. setup friendly urls
  4. setup sections and content
  5. customize presentation
  6. customize homepage
  7. create an extension
  8. customize 404

QA

Test both the front-end and the back-end admin sections.

  • works without js
  • works without css
  • validates html
  • validates css
  • jslint
  • yslow grade
  • smush.it

Misc

  • Is there a WYSIWYG, people like those (I avoid them)
  • available extensions
  • available themes
  • Documentation
  • API docs
  • Community
  • Books

Whew!

Lotsa stuff, wish me luck with aaall that :) And I would be interested to hear any comments on the subject. Thanks for reading!

 

My performance article up on SitePoint

Thursday, October 25th, 2007

click

 

5 domain names - 5 CMS’s

Tuesday, October 2nd, 2007

As bloged before, my publisher organizes a "Best CMS" award thingie and I'm one of the judges in the "Best PHP CMS" category. It's time now to sit on my behind and judge, as scary as it sounds. I have to pick three from the five finalists in the PHP category in any order, so that makes it easier. It could also mean I just pick two I don't like and call it a day. But I want to be more responsible than that and actually experience the pain and the pleasure of building a web site with each CMS. Installing, customizing, add/edit/publishing content, upgrading ... the whole thing.

So I picked 5 domains of mine that already have something published and decided to convert them to one of the CMS's. I picked which CMS will be used for each domain by ordering the domains and the CMS's alphabetically, I think this is as random as any other way of doing it. Here's the list in the format: domain-cms-description.

  • bebetata.com - CMS Made Simple - will have photos of my kids, content in Bulgarian, "bebetata" means "the babies"
  • csssprites.com - Drupal - currently tool for creating CSS sprites, will expand to have articles, tips, etc.
  • hiliteme.com - e107 - tool for highlighting code, will add articles, different methods to highlight, etc.
  • jspatterns.com - Joomla! - best/worst practices when it comes to coding javascript
  • ragtimebg.com - PHP Fusion - this will be a site for my mother-in-law's business, in Bulgarian. "About us", "contact", that kind of stuff. Also articles on how to take care of your tires. The current version is at ragtime.hit.bg (don't laugh, this site is ooold, featuring client-side inclusion of header and footer, using document.write, fun stuff)

As you can see, different sites with different requirements, so hopefully I'll think of interesting scenarios to try and achieve with each CMS. Any requirement I implement in one CMS, I'll try in all others, so that things are as fair as possible.

I posted initial musings on the "best CMS" problem some time ago in this posting over at opensourcecommunity.org, where the charming Amy Stephen is a frequent contributor.

Wish me luck to have this initiative more than just a nice "wannado".

 

CMS award nominations open

Monday, July 16th, 2007

Nominate your favorite open-source CMS before August 31st. (Yours truly is one of the judges in the PHP category.)

 

Good PHP CMS?

Thursday, June 21st, 2007

I've been selected as a judge in this year's Open Source CMS Award, organized by Packt Publishing. I'll be voting for three out of 5 PHP CMS projects where those 5 are selected by votes from the site visitors. Join me in a discussion I started at opensourcecommunity.org "What do you think makes a good CMS?"