Skip navigation.

Agnezar

Description

In 2006 I started working on my own Content Management System (CMS). Back then, major open-source Web site engines, content management systems, provided tons of features you seldom need, and they included GUIs for "Web site creation and installation". The "problem" persists to this day. I decided to make my own CMS which provides my clients with a very easy to use interface. I don't want my client to be able to change the logo, the site styling, or to install "plugins" from online repositories of some sorts. The idea is: I create the site and the client adds/modifies/deletes the content based on his/her liking.

I do not add features to my CMS for "developers". I try to keep it as simple as possible.

Agnezar only requires PHP 5 to run.

Features

In general, the sites have permanent links (and, no, they are not hard-coded anywhere), and multi-language support. For simpler sites the CMS does not need any database server.

Site administration

Pages and sub-pages hierarchy is technically unlimited, but practically limited by the design and layout picked for the desired Web site. As such, I have a variable which limits the maximum depth for adding pages.

Each page can be edited using Awebitor. The user can pick to clean up the HTML document using ReTidy.

For each page the user can change the title, the path and the "hidden" state. You can have a page which doesn't show up in the site navigation menus.

When the user adds a page, he can pick which module he wants to use: a simple article, a blog, a gallery, or an external link.

The "Insert image" option from Awebitor integrates the file manager, allowing the user to upload files while editing any HTML document. The user can browse the server to pick an image to insert into his/her document.

Pages list
Pages list

Editing a page
Editing a page

Inserting an image into an article
Inserting an image into an article

Adding a page
Adding a page

Site search and map

When the user makes any change, there's a module which indexes the content of the page. This is used for site search and for generating an XML Sitemap.

I use MySQL to store the search and site map data.

File manager

The file manager allows the user to upload multiple files, to create folders, delete and rename file/folders. The file manager also includes some plugins for editing HTML files (using Awebitor), page cleaning (using ReTidy), and image watermarking. Marius uses the image watermarker to the usual "© Year ROBO Design" on top of his images.

The file manager

Blog

The blog module uses MySQL to store the posts. Each blog page provides Atom feeds.

Editing a blog post
Editing a blog post

Gallery

Like the blog module, this one also uses MySQL, and it provides Atom feeds as well. Additionally, the gallery module automatically resizes the images uploaded by the user, and optionally it also watermarks the image. The user can pick from three types of watermarks: dark watermark, bright watermark, or just a banner at the bottom of the image.

Editing an item from the image gallery
Editing an item from the image gallery

Newsletter

The newsletter module allows the administrator to send HTML and plain text emails to the subscribed email addresses.

The newsletter page

The newsletter email composer
The newsletter email composer