There are many Content Management Systems available, including a number of free packages. These have the drawback of being very insecure and difficult to manage, so we decided to develop an in-house solution. All our sites now use our own Content Management System (CMS) and we are continually developing new Modules for this software.
Currently, the available modules include:
- Text Edit (text editor) which uses the FCK Editor script.
- Text Edit Lite (simplified version with no file upload).
- Backup Restore - automatically backs site up on login.
- Config - site configuration, groups and user accounts.
- Search - site wide search facility with context highlighting, highly customizable.
- Keywords - easily set site Keywords and Description. These can also be set per-page.
- Quota Check - shows site and user disk quota and usage.
- Shopping Basket - Google Checkout enabled shopping cart.
- Calendar - events and availability calendar
- Photo Gallery - gallery with thumbnails, can display slideshow with back / forward / pause
- Photo Gallery In Page - uses DHTML to display the gallery without reloading page
- Product - shopping cart item module
- Links - easily add links to other sites, with request form for link exchange
- Mailform - customizable mail form module, with email test facility
- Login - handles multiple user accounts
There is no limit to how many pages a site may have, although typically sites are initially developed with 12 pages. Pages are added through a simple interface, and pages can be hidden or locked so they cannot accidentally be deleted. Each page belongs to a Menu, and the site can have multiple menus.
Page access is handled through Groups and Users. Each User belongs to one or more Groups. Once a group is created, it can be assigned to pages, and only Users that belong to that Group then can access those pages. This is useful to restrict access to certain people.
Once a user is added, that user then has their own disk quota and upload area. The Webmaster account has access to all user pages. Groups and Users are very easy to add and remove.
There is a very flexible Layout system, where various page layouts are pre-supplied and can be used on any page. A Layout simply contains placeholders for various Modules. Page layouts are in fact Modules, so can be customized infinitely with menus, graphics and code. Each placeholder can contain one module of any type; if the module is swapped out, the data for the original module is unaffected so if the original module is returned, the data will still be there, unchanged. Useful to temporarily change content of pages.
All sites have the capacity for bilingual design, with duplicate pages for Welsh which can be added by the client or a translator. Alternatively, a Google translation widget can be included.
The site template contains the actual site design, and there is a separate version for lower specification browsers. Either template can be customized for any platform.
This software is continually under development, the current version is stable but this is NOT open source software so it's use is restricted to the client only. When a final release version is complete, the software will be made available commercially.