As ingenious as Peter Harteg's classic CMSimple was, it lacked many features that are now standard in content management systems.
CMSimple_XH version 1.6 (03.01.2014) is the first step towards a code base according to modern standards. Large parts of the code are arranged in classes, allowing automated testing and facilitating reusability. The complete source code is documented to make it easier for (PlugIn) developers to get started.
Already the classic CMSimple saved the contents (texts) of the entire website in one HTML file (content.htm file-based, flat file CMS in German), from which the individual page contents, the website structure and the navigation were automatically generated.
With the first CMSimple_XH versions, the possibility of storing page-related data was added. This made it easy to do things that were previously difficult to do with just one click. For example, assign another template to a specific page, hide a page in the navigation, or use a different page header than in the navigation.
Modularity has always been a principle of CMSimple, and CMSimple_XH embodies this. Even in the basic version, many modules are included as independent PlugIns that can be updated independently of each other. They are generally used to be developed and maintained by different people. If new versions are available for individual modules, this is indicated during the automatic update check and the operator can update the modules. Unnecessary modules can also be easily removed or deactivated.
Particular attention is paid to security. In the meantime, admin mode protection has been greatly improved, an old XSS gap has been closed, and extensive protection against CSRF-attacks has been added.
CMSimple_XH uses checkboxes or select-lists for the configuration settings, PlugIns can use this feature without any special changes, too.
Changes to the page settings are saved in CMSimple_XH using Ajax. This means that the page does not have to be reloaded every time the settings are changed.
Saved backups can be restored in CMSimple_XH with a click.
If the operator has forgotten his password, there is a "Forgot password?"-function, which can send the operator a new password by e-mail if he has activated this function in the configuration - by entering an e-mail address for this purpose.
CMSimple_XH has been continuously maintained by four developers for some time now, who actively contribute program code to new versions. New ideas or changes are discussed in advance in the forum and then possibly included in a publicly accessible roadmap as a milestone. This roadmap also serves as a base for final approval of the planned changes for the developers.
On the base of the roadmap, anyone interested can find out what is planned by the developers for the coming versions. The current state of development is always publicly available on GitHub.
Suggestions, ideas and concrete solutions from the community are always welcome and can be contributed in the developer forum.
Possible existing or known bugs in CMSimple_XH are also communicated openly in the forum.
The orientation of CMSimple_XH is plain: "free community project".