Extensions add new features to Sider. There different types of extensions, but they generally fall in two groups: plug-ins and packages. You extend Sider by creating new extensions. Often an extension can relate to other extensions and you can customize that relationship. For example a document type can derive from another type to reuse its structure.
EditPackages
Packages extend Sider vertically, adding support for specific information. They consists of several containers: types, views and view components.
Each container starts with an XML file that has a unique ID, a version and usually a name, and is of a specific for the container structure. It can have an additional number of related files.
EditDocument
Document is used to store a piece of information. It can reside inside of another document or on any suitable media (local file system, database, online, etc.) Sider automatically loads the document and establishes its relationship with other documents. For example a small document might just store a person name and address, but be related to a larger document that stores the list of customers (each customer is a person with a name and an address).
EditType
Document
type is responsible for describing the document structure (document is validated by the type when it’s loaded) and providing the means to work with the document (create new document, edit it, export/import, etc).
EditView
Document
view shows the document. It describes how to take the data in the document and transform it into HTML (or anything else). All user interaction is handled by the view. If the user attempts to edit the document, view uses document type to edit it.
EditPutting them together
Each document has to be of a specific type. When the document is loaded a type is found to validate and manipulate that document. The document is then shown using a default view and the user is presented with a list of all views that can show this document.
EditPlug-ins
Plug-in extends Sider horizontally. In most cases plug-in adds a feature that can be applied to any document, such as encryption.
At this moment support for horizontal plug-in isn't implemented.