An easy way to view and revert to older versions of static content. (low priority)

An easy way to compare what changed between two versions of static content. (low priority)

DONE Input will be accepted in any locale/language currently used on mozilla.com.

A way to indicate that an en-US page should be translated into all languages.

Presentation / Publishing

DONE Multiple pages for a single language can be published with one click

DONE Administrators can push an entire language live with one click

localizable interface

RSS feeds of

DONE Changes to pages when a writer requests review from a leader

DONE Per language feed of content changes

Feed for mozilla.com bug activity (pending work announcement)

List of pages waiting to be translated

A global rss feed

Administrative Process

A user can be in one of three groups:

Editors (can edit static and dynamic content) (approx 40-80 people)

DONE proofreaders are in this group

DONE Can edit any static or dynamic content

DONE Requests to go live go to a leader for review

Publishers

Can edit any content, but can also request a push live

Administrators (approx 5 people)

DONE Can push changes live

Can email all active members through a single form

DONE Users can be added to the system by administrators

DONE Users can be disabled

DONE Users will have their own usernames and passwords to login

Simplified front end for Bugzilla (similar to IT requests (would require integration with bugzilla japan))

System Requirements

General

Separation from the site. The dynamic/news content is a fuzzy area here, but we definitely don't want something that integrates into the site too completely. Meaning, when a request for a plain (no dynamic data) page comes in, it shouldn't have to hit any CMS files to load variables/templates/etc.

Can we build on an existing CMS?

I've had discussions with a variety of people about this, and it's always a gray area. One CMS seems great, but doesn't do one or two important things - another has some features we like, but is written in ASP. I reviewed several CMSs (narrowed down by pages like CMS Matrix), and most of the candidates fell short pretty quickly. People I talked to sent me some other potentials, but they didn't fit our requirements either. Some of the common problems included:

Marrying the site to a database, meaning the CMS stores all our data in a database. Flat files are definitely a requirement of the CMS, so these wouldn't do.

A lot of CMSs have their own template files and URL structures, that wouldn't be compatible with what we have now (more on why what we have is good below)

A lot of the large CMSs (typo3, I'm looking at you...) could probably do what we need, but I don't think the trade off in complexity is worth it.

Right now, mozilla.com is setup well:

locales are divided up by directory to allow easy management (both of files and permissions)

automatic language fall back to english (but if a new file is created in the requested language, it will be given instead automatically)

lightweight code - there is no heavy framework included on the pages

consistent headers/footers (templating)

ability to tweak menus/headers/etc. on a per language basis

etc.

I have no doubts we could modify an existing CMS to fit our needs, but I'm worried about the time commitment, and afterwards ending up with something that isn't ideal. There may be a perfect CMS out there, but finding it can be an exercise in futility. (The sad result being, we add to the clutter with our own).

I'm hoping we can focus on usability and simplicity with our own CMS. By talking with localizers and others that actually use it, we have a good idea of what we need, and I'd like to stay close to those requirements.

Public outcry has suggested we look into building on another CMS more closely. Alright then - the following are all opinion, etc. Feel free to add your own thoughts.