Announcing open source Content Management System

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
Hi All,

For the past few months I have been working on an open source
Apache/PHP/MySQL content management system - and have recently made it
available for download.

It's still very much a work in progress (current release version is
0.4.6), but you should get a very good idea of what it's about by
visiting the site (which uses it, funnily enough), or downloading a
copy of it and trying it out.

Here's the URLs;

  CMS Development Homepage

  CMS Development Discussion Forum

Here's a rundown of some of the features;

* Administration Interface
CMS has an extensive thin client administration and content authoring
interface, meaning that users do not require any technical database or
web server administration knowledge to make changes to their website or

* Separation of Content from Pages
Each "page" in CMS is a collection of pieces of content; meaning
content can be re-used throughout multiple pages (menus and
advertisements are a good example).

* Multi-User Administration, Authoring and Security of Content
CMS has multi-user administration, authoring and approval of pages and
content, with an extensive security model to allow specific groups of
users subsets of features on subsets of content (i.e. a user may only
be able to view, or edit particular types of page or content within the

* Version Control
Version control of content - meaning changes to information throughout
a website can be rolled back if necessary.

* Timed Content
Pieces of content can be configured to "switch on" between pre-defined
time periods. The uses of this are many and varied; with examples of
the most obvious uses being the cycling of advertisements, and the
publishing of financial reports at specific times and dates.

* Separation of Content from Style through Templates
Content, PageContent, and Page Templates. Each piece of content may
have a template applied to it (casting that content in a particular
style, or with particular decoration). In addition, the instance of a
piece of content on a page can have a template applied to it, and the
page itself can have a template applied to it.

* Workflow Approval of Content
The security model can be configured such that an "author" may be able
to generate content of a particular type, but that content may require
approval by a user of a different "type" of user before the content
becomes "live".

* Ad-Hoc Content MetaData
Although in most cases content and style can be separated through the
use of templates, CMS has a powerful "metadata" facility to overcome
the situations where this isn't enough. Users can specify multiple
pieces of data to be dropped into a pre-designed template at defined
points. A good example of this is the generation of tables with data
inside them. The designer creates an HTML table which is stored in a
content template - the author then just specifies what should be put
into the table (i.e. they don't have to know anything about HTML).

* Page and Content Property Fields
As well as "ad-hoc" metadata, CMS allows you to define custom property
fields on both pages and content - which can be used for both searching
and replacement in templates. The custom property fields can use all
common data types, with full validation of their content at data-entry

* Scripted Content
Where content needs to be dynamically pulled from external systems, CMS
has the option of calling scripted functions to generate content
on-the-fly. This could be used for a multitude of facilities - fetching
data from financial systems, providing highly interactive and/or
targeted forms, retrieving documents from Document Management
Systems... the reasons are endless.

* Page Caching
Pages have the option of being cached. You can choose to cache
particular pages within a site - meaning that the engine will
pre-construct and store a complete version of the page for fast access.
Careful use of caching dramatically reduces response times for complex
pages, and reduce stress on your web servers - meaning you get huge
increases in overall website/intranet performance without requiring
hardware and/or networking and infrastructure investment.

* Document Management
You can store documents within CMS for easy access within web pages,
and keep associated metadata alongside them along with all the
functionality you would expect with a document management system -
document types, checkin, checkout, document security and so on.

CMS has an http based API, allowing pages and content to be authored by
another computer system. This becomes the real lever to integrate CMS
with existing EDRMS and DMS systems - where you might have an
over-night process to build your internal or external website
dynamically according to content within your own systems.

Re: Announcing open source Content Management System

On 8 Feb 2005 11:55:27 -0800 wrote:

Quoted text here. Click to load it

Actually you licensed it under the GNU GPL as readme.txt says and
it's better not to say ``open source'' because those a two
different things.

Another point is that you did not include the GPL license and you
actually should include a file like COPYING with the license
there. See for more information on this.

Thanks for your contribution, by the way.

Re: Announcing open source Content Management System

Thanks for the heads up - I'll sort this out.

Re: Announcing open source Content Management System

On 8 Feb 2005 11:55:27 -0800, wrote:
Quoted text here. Click to load it

Looks great :-) If you're looking for a killer feature to distinguish
it from the others, it'd be a client-side app to enable users to
manage articles in a WYSIWYG mode like using a word processor. To my
knowledge, no one has done this, although I find typing in a fat
client much more comfortable than a browser.


Re: Announcing open source Content Management System

Joe wrote:
Quoted text here. Click to load it

There are a few of these around.  HTMLArea is one and there is another by
Justin  Koivisto, I forget what it is called.  Both of them unfortunately
produce presentational html only.

Re: Announcing open source Content Management System

On Wed, 9 Feb 2005 12:48:12 +1300, "Nik Coughin"
Quoted text here. Click to load it

No, HTMLArea is not a fat client, but a browsed-based JavaScript
thingie. Let's face it, a fat client is a lot faster and comfortable
that web browsers for anything more complicated than a blog entry. For
one thing, browsers aren't very stable, and I just don't like losing
my work because of a GPF and the application won't let me hit CTRL-S
every couple of minutes.

For some reason, we have 100's of LAMP CMSs, but not a single one that
enables the CMS to be manageable from a dedicated app through eg.
XMLRPC or some other communication protocol.


Re: Announcing open source Content Management System

If there is a call to do XMLRPC, I'm willing to listen to suggestions

My CMS project is very logical in the way it works, and probably has
more powerful opportunities than most, so I wouldn't say anything is
out of the question feature-wise.

Re: Announcing open source Content Management System

On 9 Feb 2005 05:05:50 -0800, wrote:

Quoted text here. Click to load it

I have no idea. The small samples I tried between PHP and a VB client
seemed to work :-)

Quoted text here. Click to load it

Yes, it looks very nice, and a good solution to allow anyone in a
company add contents to a web server, but from experience, I know that
even for short articles, people want Word. Besides, objectively, even
IE don't handle WYSIWYG too well, so I think it'd be a killer feature
to have a dedicated client. You could certainly charge for this
add-on. I know I would pay for it :-)


Re: Announcing open source Content Management System

On Wed, 09 Feb 2005 18:43:03 +0100, someone posing as Joe donned fireproof
bloomers and chisled in the wall:

Quoted text here. Click to load it

I hear you on that note. I'm actually working on a large-scale project
which will include (but not be limited to) a CMS solution for large
enterprises. One of the items I'm currently writing requirements for is a
client-side admin and data entry form. I'm thinking (prematurely) that it
will either be C++ or Java based so I can make it cross platform

In fact, I was just reading about Qt's Windows API. I'd be interested in
checking this out.
kai - perfectreign at yahoo dot com
....a palm tree nodded at me last night
he said, hey you look so pale...

Re: Announcing open source Content Management System

On Wed, 9 Feb 2005 10:26:09 -0800, Perfect Reign
Quoted text here. Click to load it

I've been waiting for a fat client to an CMS for a looong time, but
nothing's coming :-) The closest I got is BlogBuddy / to add entries to blogging servers
that support the Blogger API, but nothing more.

As for making this cross-platform, I personnaly prefer binaries in
native code because I just hate the sluggishness of Python or Java.
From then, your choice pretty much limits itself to either wxWidgets
or Qt, but the latter requires your buying a license should you want
to make this client closed-source (unless I'm mistaken, you can write
a closed-source app with wxWidgets.)


Re: Announcing open source Content Management System


Not wanting to get myself immediately involved in doing it (because the
basic CMS project isn't anywhere near version 1 yet), I already have
the basics of the CMS "http" API written and useable... I could do a
technology demonstrator thick client I guess... editing content, that
kind of thing.

I guess it would only take an evening to knock together a VB/winsock
thick client...

A full thick client (with the entire admin interface) would take a
while to write :)

Re: Announcing open source Content Management System

On 9 Feb 2005 11:04:28 -0800, wrote:
Quoted text here. Click to load it

Actually, it might not be _that_ much work since wxWidgets supports a
WYSIWYG editor (RTF or HTML, but you should check), and there are some
open-source XMLRPC libraries.

The proof of concept I built in VB relied on IE's HTML editor (but
there are others available), and the vbXMLRPC.dll component to speak XMLRPC with PHP. Here's a

Private Sub Form_DblClick()
    Dim linsRequest As New XMLRPCRequest
    Dim linsResponse As XMLRPCResponse
    Dim linsUtility As New XMLRPCUtility
    Dim linsValue As XMLRPCValue
    Dim linsMember As XMLRPCMember
    Dim llngCatId As Long
    Dim lstrCatTitle As String
    linsRequest.HostName = "localhost"
    linsRequest.HostPort = 8080
    linsRequest.HostURI = "/test/index_html"
    linsRequest.MethodName = "title_or_id"
    Set linsResponse = linsRequest.Submit

    WebBrowser1.Navigate "about:" & linsResponse.Params(1).StringValue
End Sub


For users, I think you don't need to provide more than a WYSIWYG
client to add/modify/delete articles, leaving the rest of managing the
site to admins, to whom the through the web interface is fine.


Re: Announcing open source Content Management System wrote:
Quoted text here. Click to load it

Hi Jonathan,

Looks very cool, I plan to have a bit of a play with it later today.

Just one thing, your homepage invokes a horizontal scrollbar at 800x600.
You could fix this just by changing the screenshots to be css floats rather
than table cells, as everything else seems pretty fluid.


Nik Coughlin

Site Timeline