Alchemy CMS

Characteristics

Programming language: 

Ruby

Initial release: 

2007

Open Source as of: 

2010

License: 

Current major release: 

3.6

Developers: 

> 50

Core contributors: 

~ 3

Total downloads: 

> 115 000

Available languages: 

6

AlchemyCMS was initially released in 2007 as a proprietary software. However, in 2010 the source code of the project was made openly available and thus became increasingly popular amongst developers. The powerful and flexible CMS framework has a particular focus on a user-friendly interface. One of the core features of Alchemy CMS is its synchronous page preview, which allows users to track changes in real time.

The basic concept advances a clear separation between content and design. In this way designers and content managers are able to focus on their respective tasks without interfering with each others’ responsibilities.

The software is based on the established web framework Ruby on Rails (RoR) and thus benefits from inherent and commonly used web standards such as RESTful and the Model-view-controller (MVC) pattern. Beyond the requirements adressing a conventional web application Alchemy presents itself as a matching data source for external systems as well.

Seitenbearbeitung im Backend
Alchemy back-end

Framework

Close inspection of AlchemyCMS reveals a modular structure, which complies with well-established design patterns.

A standard installation of the framework deploys core modules only. These enable the user to manage domains, languages, pages, tags, user, images and files. Apart from that, the initial installation does not include a default setup for any design-related elements or further extensions.

On the one hand AlchemyCMS offers maintenance of various types of content (e. g. pages, images and files), on the other hand it provides a sophisticated library of common tasks, which assists developers and designers to build websites more efficiently.

Another advantage of the framework is the possibility to seamlessly integrate external databases. Besides the access to personal datasets, catalogues, lists et cetera, AlchemyCMS allows and facilitates the integration of separate modules, which could be a completely independent application. Many of these external modules were likewise built as part of the Open Source Initiative, such as the shopping system SpreeCommerce.

Data storage

Among the countless available CMS are many that store their entire input in one overarching editor. It is quite common that layout and text formatting settings are saved in the same database. Structuring a system in this way complicates the process of layout optimization, more precisely the rendering of a website for various outputs and devices.

AlchemyCMS, on the contrary, stores content in small, granular units without precise layout information. Thus the designer remains in full control over the format and display of information in every step of the way. Structuring content and defining its appearance flexibly, ultimately fosters the creation of responsive websites that look neat in any viewport. Following example explains the basic workflow:

You are creating an article consisting of an image, a headline and copy text. All three components are internally mapped by so-called ‘essences’. The composition of individual essences inside an element is then published to the frontend. Designers are able to control the appearance of essences, plus they decide whether or not they will be displayed at all. All content is stored without formatting. Only the copy text allows some due formatting via a limited set of styles. Otherwise, content is automatically styled according to the initial specification of the designer.

Search engine optimization

The framework offers essential SEO methods that go beyond integrating title and meta information and ensure the successful optimization of query results. For instance, AlchemyCMS generates ‘301’ redirects, whenever the URL of a page has been changed. In this way visitors and search engines always find the current website, even though the link might be outdated. Relaunching a website or moving to a different hosting provider can be handled by adding redirecting links.

Since there are no stringent guidelines for the HTML structure and its content, the developer has the freedom to set own preferences according to the requirements of the search engines. An XML-sitemap is automatically updated.

Aloha made with Alchemy
Sample web project Aloha

Alchemy’s ecosystem

AlchemyCMS is written in the programming language Ruby and the framework Ruby on Rails (RoR). Both are well-established technologies in the world of software development and maintained by a motivated community. Developers contribute to and benefit from an elaborate technological environment that is constantly evolving.

This is also the main disadvantage of this CMS: Ruby is not as widely spread as e. g. PHP or Java but because of the advanced tech specs the system can hardly be installed by a non-technical person and needs support by a developer or the IT department.

Amongst other features it is characterized by modular structures, the ability to specifically manage software dependencies, an integrated environment for automated tests of single functions as well as software behavior and a sophisticated deployment process.

At the moment there are more than 100.000 open source Ruby gems, i. e. software libraries, with any use case that a developer can think of. Everybody is free to use these libraries to learn or build entirely new applications or simple extensions. This foundation constitutes a highly flexible and safe environment to build and develop professional, yet independent software products such as AlchemyCMS.

On the roadmap

In the next version the granularity will be even more improved. The elements will become nestable by the user and the page tree will get restructured to achieve a higher flexibility. The admin backend will get a visual refresh and a UX optimization.

Thanks to our supporters