ICMS
ICMS is the core library of the framework, providing the plugin structure.
Plugin Structure
ICMS has a plugin structure that makes it easy to add functionality to various parts of the CMS.
There are two major interaction points between ICMS and the application:
Model
Each application model may specify a series of ICMS plugins that it wants to use. This might look something like this:
icms do
authorizable
sortable
end
Each plugin may accept a number of parameters as needed. For example, the multilanguage plugin needs to know which attributes it should translate:
icms do
multilanguage :title, :content
end
Dashboard
ICMS Backend introduces the concept of dashboards. A dashboard is the glue between the administration interface and the application. It describes how a model should be presented, which fields should be included in the form, which fields can be searched, etc.