Overview: CMS systems without databases

©Pixelblisss, 123rf.com

©Pixelblisss, 123rf.com

Blogs Without Boundaries

,

When you think of CMS and blogs, names such as WordPress, Typo3, and Joomla come up. But often, much leaner solutions will suffice.

Whether you're dealing with photos, holiday journals, or game descriptions, content management systems (or CMSs, for short) allow simple publishing and management of content on the Internet.

However, you don't always need to use a big, complex system, such as Joomla and WordPress. Often, slimmer and, above all, simpler tools can do the job just as well.

The overview of CMS tools that we provide in this article shows you some quite notable systems that do without database connectivity and require very little setup.

GetSimple CMS

Developers of the GetSimple [1] CMS name the Apache web server and PHP 5.2 or later as requirements. To use all its features, you also need PHP modules cURL , GD Library , and ZipArchive [2].

$ sudo apt-get install apache2 php5 php5-curl php5-gd

Now for GetSimple itself. The project website lists the current version as 3.3.2. Download the zip archive, decompress it, and load its content via FTP to your web server. To try the CMS locally, copy the files within the unzipped directory into the public Apache directory. For Ubuntu, that is /var/www/html/ . You may have to change the ownership of the files to the default Ubuntu Apache user before everything works smoothly:

$ sudo chown -R www-data:www-data /var/www/html/

Visiting the URL http://localhost/admin begins the setup. You only have to enter your webpage name, username, and email address. After the installation is complete, the system sends you confirmation to the specified address with your username and automatically generates a password. The reason for this eluded us, because the setup already shows the generated password on the web interface.

To change the CMS's language, download the matching localization from the project webpage [3] into the ~/admin/lang/ directory. The choice of languages occurs during installation or through Settings (Figure 1). Navigate to Language: and select the language from the drop-down menu, then click Save settings .

Figure 1: The GetSimple CMS settings let you set the important parameters, among them localization and your password.

GetSimple isn't a blog system in the conventional sense, but a simple tool to manage webpages. The admin back end has few menu items, so entry is relatively easy. The sample page clearly conveys the necessary functions.

To create your first test page, go to the first tab, Pages , and click Create a New Page on the left. The WYSIWYG editor (Figure 2) provides basic formatting options and lets you add images and links to your text. Alternatively, you can edit the text as Source code .

Figure 2: GetSimple includes a simple editor that lets you add images to your project.

To add locally saved images, go to the Files tab and click Upload files and/or images to load the files to your server and make them available in the image dialog of the page editor. To be able to access the page later on, click Options+ for more setting options. When you click the Add this page to the menu box, the start page is linked with the main menu. In the menu text entry field, enter the name of the menu and set the priority of where you want the menu to appear. You can change this in the Menu Manager by dragging and dropping.

To customize the page appearance, the templates that you find under the same menu item will help. The GetSimple homepage provides a big selection of themes [4] – from simple text presentations to image-rich portfolios. To use them, copy the desired ones into the ~/theme template directory, after which they will start to appear in the theme management drop-down menu.

GetSimple additionally provides numerous plugins for downloading [5]. These plugins significantly extend the functional scope of the CMS. You can install, for example, anything from a FAQ manager to a photo gallery.

Installing plugins is similar to installing themes: Just unpack them in the ~/plugin directory, after which they'll appear on the Plugins tab. The project cheekily makes a default setting Send Anonymous Data that sends usage data off to the project. This data includes PHP, Apache, and CMS version information but also the number of used plugins and themes and uploaded files. You may want to deactivate this setting if you have privacy concerns.

Kirby

Kirby [6] is so basic it even lacks an editor on which you can write your articles. You need a simple text editor to maintain your pages or the entire website. Unlike the other featured systems, Kirby has a free installation on the local computer only. If you want to run your website with it, it'll cost you 30 euros.

To set up Kirby, you download the installation file from the homepage and unpack it in a directory on your web server. When you call up the URL later in your browser, a simple sample page appears.

The CMS uses plain text files as a basis, which it uses with its own, very simple and intuitive markup language (Figure 3) to format the themes in HTML. A simple page has just a title and the text flow (Listing 1). You build in links and images with the image: tag, such as image: 01.jpg .

Listing 1

A Simple Kirby Page

Title: Article Title
----
Text: article text
Figure 3: With Kirby, you carry out all the work and management in a text editor and an FTP client.

To whip the whole webpage into shape, Kirby relies on nested directories. Each folder under ~/content corresponds to a single webpage on the home page. This folder contains the text data in the previous example. Additionally, you put all the accompanying media, such as images, thumbnails, and files in this folder. The individual directories get a numbering scheme that appears as links in the appropriate order in the menu. Unnumbered directories don't appear there.

If you're new to setting up a webpage, a system like GetSimple might be a better choice, not least of all because of the nifty page editor. Beginners may have a hard time imagining how the raw text later shows up as a webpage with Kirby.

FlatPress

Although the name FlatPress [7] is very close to WordPress, the only similarity is the design of the start page, which looks a bit like the first versions of WordPress (Figure 4). The CMS stores information in plain text files.

Figure 4: The standard layout of FlatPress is a bit like early WordPress. However, FlatPress is significantly more streamlined and thus makes more sense for smaller projects.

To install, as with GetSimple and Kirby, simply copy the FlatPress folder via FTP after downloading the current version (1.02 at the time of going to press). The setup script then asks for your username, password, and email address, and the CMS is ready for use.

FlatPress has a complete admin back end. Its nifty, logical structure facilitates adoption, along with some demo content and a series of plugins and widgets. FlatPress distinguishes between entries and static pages. The latter, as with WordPress, represent fixed pages. Entries appear on the blog pages and static pages link the CMS to menus. Menus themselves are static pages that automatically show up as entries in a special widget in the sidebar.

You create entries and pages in an editor that formats the text using bulletin board code (BBCode). The code is a simple markup language – much like HTML, but vastly reduced. In the upper part of the window (Figure 5) is the text in preview, with the actual editor underneath it. To synchronize the views, click the Preview button at the bottom edge of the window. This view makes it easier for beginners to effectively format text. Less practical is working with images. For these, you first need to use the Uploader to get them to the server, after which they show up in the drop-down menu of the editor. Unfortunately, the tool provides no way of setting orientation or size. An image always appears in its original size.

Figure 5: The extremely sleek FlatPress editor uses the BBCode markup language, which takes a bit of getting used to.

Like the other candidates, FlatPress provides a series of plugins [8] to enhance functionality. Users in the FlatPress forums [9] provide their own extensions. What's lacking, however, is an effective plugin search function.

Things look better with the themes that FlatPress uses to create pages. The project page presents these in a comprehensive directory [10]. The themes are surprisingly large in number and diversity. FlatPress allows putting up a webpage online quickly with minimal server requirements. The installation takes just a few moments, and the configuration is surprisingly comprehensive and self-explanatory. That said, FlatPress isn't a good choice for image-packed pages because of its cumbersome handling of image files.

CMSimple

With CMSimple [11], downloading the archive containing the code onto the server and calling up the URL is all you need in the way of installation and configuration. Somewhat hidden at the bottom of the page is the Login link you use to log in with the default test password, which you should subsequently change in Settings | CMS . Localization is done through the Language option in the drop-down menu by changing the setting. Clicking Save at the bottom accepts the settings.

In the back end, you'll find a simple file manager with which you can load images, plugins, and other files onto the server. You can easily access these with the editor. Managing the CMS is done through a separate menu under Settings (Figure 6), where you can set vital parameters without having to upload and download .ini files via FTP. That goes for templates and CSS files as well.

Figure 6: The simple back end of CMSimple provides an overview and even includes a small file manager.

With CMSimple, you edit pages and contents almost directly as they will be shown. You use the menu bar to enter Edit mode, in which case the currently opened page appears in the editor.

The CMS integrates the TinyMCE editor (Figure 7) that provides many functions for page creation without needing to know a line of HTML. That's a benefit to beginners or less frequent users. TinyMCE also provides easy dialogs for integrating photos and adding links. Formatting, text importing, and special characters are also a piece of cake.

Figure 7: CMSimple has an easily usable TinyMCE editor that lets you create content effectively. It opens by clicking the "Edit" entry in layout view.

CMSimple provides numerous themes [12] and plugins [13] for download – from the system's original author, as well as from third parties. Many are freely usable without limitations, although some, especially those for commercial use, come with a price tag. A glance at the fine print always helps.

CMSimple is suited for websites with a few pages and not necessarily to be used as a blog, even when an extension for blogging does exist. The logically designed user interface presents no problems even for occasional users, and the TinyMCE editor is very effective in making page maintenance easy.

Quick.CMS

The largely freely usable Quick.CMS [14] makes low demands on the server, requiring PHP version 5.2 or later and the Gd2 library for processing photos.

After downloading the files on your server, the installation starts after calling the web address with the /admin.php extension. The installation launches initially with Polish as the standard language. If you delete the pl.php file in ~/database/translations/ , the interface appears in English, and other localization is also available.

The system is also based on the TinyMCE editor (Figure 8), but in a trimmed-down version. The Quick.CMS structure proves markedly more complex than the previously mentioned CMSimple, which you can experience for yourself just by creating pages.

Figure 8: The Quick.CMS editor provides limited help for beginners. Managing images and files especially is somewhat cumbersome.

Various options exist for single pages, for example, an input area for a special short description of each text. It also allows adding extra SEO files. Even the placement of menus and subpages can be determined there.

You manage files and images right in page editing. Quick.CMS provides only rudimentary tools for placing and configuring images. You upload photos in a dialog, select them, and add captions, then set the size of the thumbnails as well as the placement and sequence in the text. Only when the page is rendered can you tell whether the position of the image is as desired.

Like the other solutions, this CMS can be enhanced with plugins [15], and the appearance can be modified using templates [16]. The manufacturer provides the largely cost-based extensions as an all-inclusive package, that is, all the plugins and themes for a price. Unfortunately, comparatively few extensions are available.

Unlike CMSimple, Quick.CMS isn't necessarily suited for beginners. The main reason is the very different presentation of the back end compared to the front end, which can lead to confusion. It also doesn't always make it easy to create nicely crafted entries. Once you find your way around, however, larger websites are easier to maintain.

Quick Reference: CMS with Database

Besides the solutions presented here that don't include databases, several other systems do work with databases but are not nearly as complicated as WordPress, Joomla, and Typo3.

Koken [17] is an interesting project, for example. It specializes in displaying photos beautifully and is a favorite with photographers and other creators. Koken promises "always to be free" even for commercial application. Beside PHP 5.2, it requires the MySQL 5 database and a graphics library.

Koken offers unusually rich image management for free projects and even has a plugin for Adobe Lightroom so that photographers can port their images easily to Koken. The system can be integrated with themes and expanded with plugins. Some of these are free, but specialized themes do come at a price.

If you're looking for a blogging system, check out Chyrp [18]. It has an Ajax interface and thus allows direct page editing from the front end, which makes it work for less experienced bloggers. Chyrp needs PHP 5.3 and a database, either MySQL 4.1 or later, or SQLite 3+. The system provides a number of useful plugins and themes. The support forum provides useful assistance, and a demo installation on the website allows testing the system before actual installation.

CMBasic [19] is based on PHP and MySQL and was established around 2005 out of frustration over the growing complexity of Joomla; in fact, Joomla expert and author Johann-Christian Hanke developed the system. Its uniqueness lies in its utter simplicity. It does have a back end that provides many administrative functions. After you log in, an Edit button appears with the posts with which you can open and edit the selected posts with the TinyMCE editor. You can add new posts the same way.

Conclusion

The fact that good and feature-rich CMSs don't need a database is evident from the solutions we tested. These types of systems even provide some benefits – especially when it comes to backups. You just have to copy the content folders to a backup media. The systems have vastly different approaches – from really simple systems with text emphasis that do formatting using a native markup language, to a complete system with file management and a WYSIWYG editor.

Of the featured systems, GetSimple proved to be our favorite. Although small and compact, it was easy to use when creating webpages, extensions, and layouts. Moreover, the CMS stood out with its intuitive and user-friendly operating environment. What we didn't like is the fact that it activates a plugin by default that sends user data to the project.

CMSimple, with its beautiful themes and convenient editor, proved especially useful for images, which presents somewhat of a problem for competitors. You can quite easily organize complex page structures with CMSimple, optimally extending the feature set with plugins; however, not all of them are free.

Among the compact systems with databases, Koken is one of the most interesting for those who need a beautiful photo display system. In this regard, the Koken CMS even puts heavyweights such as WordPress and Joomla to shame. l