Jump to content

Nucleus CMS

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by StevenT1 (talk | contribs) at 04:11, 3 February 2008 (updated version number to 3.32). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Nucleus CMS
Developer(s)The Nucleus Group
Stable release
Repository
PlatformPHP
TypeBlog
LicenseGNU General Public License
Websitewww.nucleuscms.org

Nucleus CMS is an open-source blog management software package written in PHP, with a MySQL backend, primarily written and maintained by Wouter Demuynck. It is used to manage frequently-updated Web content. With a little tweaking (mainly to skins) it might be considered a light content management system, although there is no facility to upload file types other than graphic files to be displayed within the blog pages.

Nucleus makes use of a callback function which has led to a plugin system that has inspired somewhere in the order of 50 to 100 distinct plugins. The general drive within the development community is that functionality should exist as plugins as totally as possible. This philosophy has led to a relatively light and uncluttered base install.

Blog:CMS is a (currently less stable) fork of Nucleus CMS with several plugins pre-installed and a number of other projects added in. Thus NucleusCMS plugins (on the whole) will work on this fork[dubiousdiscuss].

It is included in Fantastico, available via many domains' cPanel.

History

Nucleus was written mostly by Demuynck while he was studying to be a "master in computer science" ("Licentiaat in de Informatica"). Back in January 2000, Wouter started a web blog using Blogger. After a while, he wanted a commenting feature, and wrote, for the first time, a PHP script for this purpose. Later, he started to use tricks to have multiple Blogger blogs on the same page (using JavaScript). In his words:[citation needed]

But the Blogger service was getting less and less fun to use, because of the constant downtimes. I had to switch to a decentralized tool, but couldn't find a 'decent' one: I tried GreyMatter, but it didn't allow multiple weblogs. PHP-Nuke and alike tools did not offer enough flexibility with the layout, and were not exactly what I was looking for. Movable Type, pMachine, Pivot etc. did not exist yet, so I had to come up with something of my own.
So I did. In the beginning of 2001, I wrote (starting from scratch) the basis of what would later turn out to become Nucleus: a set of PHP classes, reading data from XML files. No real admin-area yet, no multiple users. But multi-weblog from the start.
It was in the summer of 2001 that I decided to move from XML files to MySQL and started building a good admin interface, so I could release the script and share it with other people. It got a little out of hand ;-)

Methodologies

NucleusCMS uses a database to store content which is manipulated by a number of classes. These classes fall into two groups core and plugin. The core contains the basic functionality including a callback system which is used to trigger plugins. By default NucleusCMS comes with just one plugin as standard (two from version 3.3). This is in line with the general philosophy that the system should be as light as possible.

The output is rendered using a custom two layer substitution based template and skin system. Templates generally provide the form for iterated content (such as listings) whereas the structure is provided by what are called skins. Skins are divided up by type (index, item, archive, archives, user, error, search (and custom with 3.3)) and are specified separately to each other. Include files can be used to reduce repetition of common elements.

API

Nucleus CMS supports a number of common blog oriented API through the use of an XML-RPC library.

External Sources

Very little of Nucleus CMS is sourced from additional parties. There are a few documented exceptions, however.

See also