Since the Alchemy CMS project started, it is a Rails engine. Rails 3.1 brought the namespacing and mounting possibility of Rails engines. Alchemy CMS is taking advantage of these features since v2.1. You can read more about the engines in the Rails guides.
The Core modules
Alchemy CMS comes with six core modules:
- Library (Pictures & Attachments)
The core modules can be extended by own modules. A module should be a Rails engine that registers itself at Alchemy. Read more about creating own modules.
Alchemy stores content. Period. Really, that’s it.
Unlike many other CMS’s that store a whole page body with complete html markup from one of these fancy WYSIWYG editors out there, Alchemy only stores unformatted text, ids of objects (like attachments and pictures) and only somewhat richtext content in the database. No html markup, no css, no styling, no layout. Just pure content.
The webdeveloper is in full control of the markup and styling. The editor just manages the content.
Isn’t that what CMS really should mean?
The Rendering Process en Detail
Alchemy strongly uses the Rails partial rendering mechanism. It has no own templating language and no special files.
When Alchemy renders a Page, these files will be rendered:
Since Alchemy v2.4 you can use Slim and HAML views as well.
Alchemy comes with tons of useful helpers that render these
partials for you. For further information please have a look into the PagesHelper documentation
Alchemy uses RMagick (the Ruby ImageMagick library) and Dragonfly (a powerful image processing gem) to render images.
Since Alchemy v2.1 there is a resources controller available. When
developing own modules for Alchemy, your controller can inherit from
that resources controller (
Alchemy::Admin::ResourcesController) and will get all the
rails-like CRUD methods.
The standard partials for the backend views are also getting rendered. They can be overwritten in your app, just use the expected filenames and variables.
Read more details about the resources controller in the module development guide.