A content management system
Over the past few years I've used or tested several content management systems.
Most if not all current popular cms tend to utilise a database to hold the contents and structure of their sites.
In general it's a good idea, allowing data queries and efficient storage of the site content, although the initial setup of the database and cms isn't really too tasking, it can be a little daunting if you've never done it before.
Recently I started thinking about microsites (websites under 25 pages) and small business websites.( websites under 50 pages). Is it overkill to make these websites use a SQL database? To me it seemed so unnecessary. So I started digging, spending time investigating any alternative cms options available (primarily any open source options because they are free).
To my surprise it turns out that over the past few years many developers have been thinking the same. Today a whole plethora of non database dependant cms have emerged. Many are categorised as flat file cms meaning there is no database requirements and all data is stored in a file format such as XML or textual data.
Contenders such as Get Simple cms, Monstra, Bludit, Typesetter, Wonder cms, Pluck, Grav and others provide a good basis for small website development projects. I spent quite a few weeks playing and experimenting with at least nine flat file cms. Each possessed their own little ways of performing tasks such as theme development or user account creation, however I always seemed to gravitate back to the simplicity of GS(Get Simple). Time after time the easy to use and uncluttered interface always seemed to make me think of the end user.
Don't get me wrong some people may prefer Grav, Bludit or Monstra, they certainly provide a good experience but for me the WYSIWYG functionality for the end user made GS the ideal choice. Many of the others like the users to use markdown but not GS, the user can simply add text to the content area in the same way they would as if using a text editor such as MS Word or Libre Office. No need to learn markdown, just type and save.
Firstly, the initial setup of GetSimple was, well simply that . . . simple. Once the source code was downloaded from the Get Simple website Get Simple CMS, it was as easy as unzipping the folder contents and placing them within my localhost server (which I utilise for testing purposes.) From there I opened the browser, accessed the location of the Get Simple cms and followed the onscreen instructions.
Including updating folder access with read/write permissions, the whole process from download to site setup took less than ten minutes.
Once logged in, I was presented with an interface that appeared relatively easy on the eye. As GetSimple does not utilise a database for its content, I found the page loading times were fast.
Flexibility for theming
GS allows a simple and easy way to create a theme for the website. The online documentation provided by the developers is clear and precise with plenty of examples.
Converting an existing website is as simple as adding the relevant PHP code to existing elements on your website. Renaming the page to template.php, followed by placing the site in a folder called themes.
If you have several themes on your cms, GS is so versatile that it allows you to use different themes for individual pages . . . and all within the cms. No backend fiddling with code, just a quick click of the mouse and the website is updated.
GS provides the option to install plugins developed by yourself or others. There's a whole array of plugins available from the GS plugin section within the GS site.
From multiuser access and creation to additional language setups and navigation, GS has a great choice that covers most of the tasks needed by a small business. Most of the time the plugin usage and activation is performed by placing the plugin in the plugin folder (you will need access to your site folders for this - usually FTP is the best approach) and then activating the said plugin within the admin plugin section.
Plugins can easily be turned on or off with a simple click. Again, the online documentation by GS is clear if further information is required. In addition, many of the plugin developers provide installation instruction. One plugin I found extremely useful was the multi user account plugin.
Once installed it allowed me to create accounts for additional users and control which parts of the site were accessible to each account.
GS does not come bundled with a wide variety of plugins and quite rightly so. The developers have taken the sensible approach and kept the cms to a basic setup therefore allowing the user to add additional features as and when required. This is ideal as not all businesses or organisations require the same features.
Many of the flat file cms available provide a good level of simplicity when it comes to using the the cms. Get Simple is no exception, GS comes with their original admin style however there are several additional admin themes available that will change the look of the admin area to more of a modern look.
One of aspects of GS I like the most is the simplicity of the admin area. In comparison to several other cms GS actually looks quite sparse. As a result, I think from a user perspective the cms becomes immediately less intimidating. The admin area consists of only five tabs in which the user can easily navigate. The method of breaking down the admin area into smaller more manageable chunks (compartmentalisation) means the user can focus on particular tasks without getting distracted or overwhelmed by additional options.
Get Simple also provide a way to add additional features that come within the cms but are initially not active. One such feature is the upgrade of the basic CKEditor that is installed by default. By editing the config file within GS and simply removing the comments tag # the user will see new additional options appear within the editor. Personally I think this feature should be configured active by default.
GS provides a nice way create backups of individual pages and or the whole site. Most of the time pages can be restored to a previous saved version installation simply by click the desired page within the backups area in admin and clicking the appropriate button. It also provides a great little undo facility which allows the user to undo any changes they have just made while editing the content of a page.
The creation of a full site backup is just as easy, GS will provide an archive file by creating a compressed file (zip file) which you can download at any time and store on your own computer.
If required at a later date, it's just case of uploading the unzipped file to your web host(using FTP) and overwriting any existing content there. In comparison to database backups, this is child's play. It's a simple and fast solution that literally takes minutes. For the average small business, any time saved where they dramatically reduce the need to fiddle around with the backend is a clear winner.
One of things I like most in GetSimple is the usage of components. Components are the way of allowing specific content to be added to any particular page or the whole website. An example of this would be a sidebar on a webpage that holds additional images, links and text that the cms user only wants on to be displayed on a specific page. Through the use of components the cms provides a way to make the site more dynamic in appearance. The components can even hold PHP code opening up a whole avenue of possibilities.
How many times have we seen urls that look more like code generated from an enigma machine, too many I suspect. Google loves informative urls, Get Simple provides a method to create fancy urls easily and all from within the admin area in addition to custom urls within each page.
Keeping things simple, within the page options dropdown of each page is a small selection of options that are provided for the cms admin. These include whether the page is visible or not, this is extremely handy if you're writing content but not yet ready to publish to your site.
Within page options you can also add metatags, keywords and metadata for each page. The option to link a page to another page (parent) also provides a way to make a hierarchical structure to your site. Control of the navigation menu is also a nice feature is GS and provides the option to chooses if a page is displayed on the site navigation bar of hidden and the order in which the links are displayed.
GS provides a function to display the current date on all pages showing the last modified date.
The online documentation for Get Simple is well set out and easily understood for the most part. Most of the pages provide easy to understand examples that make getting to grips with the cms very easy.
If however there aren't isn't any relevant documentation in relation to something you need then Get Simple have an online forum of users and developers who are generally more than willing to help if they can. Like any forum, questions may take a day or so be answered.
Hopefully this article will provide a clearer explanation of the flat file cms Get Simple.
Obviously when it comes to cms choice it's never a case of one size fits all, though I suspect there are developers out there who do try to shoe horn a project into a cms that they are familiar with purely because it appears to make life easier for them.
Get Simple is not the be all and end all of cms, it like many others fits certain types of sites. Though extremely flexible and easy to use and develop for, GS is an ideal solution for many small to medium sized businesses or organisations out there. It's free and it's open source, easy to install and use and keeps the users (cms editors) at arms length from code (if required).
For GS is an unsung hero of the cms world. It's been around for a few years, possesses a solid group of users and followers and yet for whatever reason if not as well publicised as it should be.
All themes are licenced under the Code Cobber MIT Licence