-
Notifications
You must be signed in to change notification settings - Fork 19
Ximdex Basics
In order to have a first global idea about how Ximdex CMS works, we describe here a few topics you must know about it.
Ximdex CMS has a set of classes and interfaces which together implements the Model-View-Controller software design pattern. The basic architecture is shown in the following image:
[Ximdex CMS MVC Architecture image]
This architecture is based on the Zend framework and in Mojavi3.
All the documents in Ximdex CMS are stored in a tree structure, so we call them nodes. If a node doesn't contain other nodes, it's a terminal node or a leaf node.
Each node has an associated NodeType (see the complete NodeTypes list). That NodeType defines what kind of node we are dealing with.
Each NodeType associates specific actions. This actions are the operations that you can do on your nodes (see the Actions list as reference).
You will find these actions definitions on the actions folder (see code structure for further information).
All the Ximdex's actions are structured in the same way: a main PHP script which controls the action, a Smarty template to show the information to the user and a resource folder where we can store extra files like JS scripts or CSS files.
To learn more about Actions, visit the Documentation.
Ximdex improves the business processes of enterprises and organizations storing in XML all content and documents managed.
One of the most important features of Ximdex is its template-oriented development. The structure of each document and its elements is completely free. Your choose how the documents' structure it's going to be.
Before you create documents you have to implement a pair of files: a schema and a transformation template.
On the schema you must define all the existing elements that exists on your XML documents and the relations between them. For example, you can define an address book that is built with contact cards, and each contact card has a name, an email and telephone number.
Transformation Templates are used to renderíze our raw XML content into the language we have defined for our website: PHP, HTML, JSP,...
Nowadays, we are using RNG schema for schemas and XSLT for transformation templates.
See here some templates examples.
Ximdex is independent of the language you choose to build your website. Your documents are simple and easy XML formatted, so you decide what transformation you are going to apply. All depends on how you implement your Transformation Templates.
We also develop some modules that extends the Ximdex funcionality. We have public (and free) modules like ximNEWS, ximSYNC and ximTAGS. All of them are released with the Ximdex core and you are able to install them during the installation process.
Also, we have private modules. You can purchase them to increase the Ximdex goodies. Some examples:
- ximRA: Automatic references from the web for your content. Semantize your documents!
- ximPUBLISHtools: Reports and graphs to logging and monitorizing your publish process.
- ximNOTA: Create and store metadata related with your files (images, PDF documents,...).
- xHawk: .
Ximdex provides a Control Center where you can manage all the basic parameters of your website: languages, workflow, roles, users, groups, ...