Nucleus CMS
Developer(s) | The Nucleus Group |
---|---|
Stable release | 3.32
/ 29 January, 2008 |
Repository | |
Platform | PHP |
Type | Blog |
License | GNU General Public License |
Website | www.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[dubious – discuss].
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.
- Movable Type API
- metaWeblog API
- The Blogger API
External Sources
Very little of Nucleus CMS is sourced from additional parties. There are a few documented exceptions, however.
- The XML-RPC used is XML-RPC for PHP [1] implementation from Useful Inc [2].
- The backup/restore code is said to be largely inspired on the code used in phpBB. [3]