help.axcms.netAxinom Logo
Save Save Chapter Send Feedback

Structuring Content with Categories and Relations



Categories provide a very flexible way to structure content. Categories have a hierarchical structure. The number of levels in any given tree is unlimited.

Categories can be assigned to anything in - Pages, Documents, Structure Elements, Content, Users, Tasks, etc. If a category is assigned to an object then the object is classified into that category. An object can be classified into multiple categories simultaneously.

Categories are similar to tags. However, unlike tags a category tree is defined and you cannot just type in any category name. You must select from the tree (or add a new node to the tree, if your permissions allow).

In the category tree the first level is pre-defined. The 3 root nodes are:

  • User (or custom) Categories (ID=1)
  • Navigation (ID=6)
  • System categories (ID=2)
Fig. 1 Category Tree

Fig. 1 Category Tree

System categories are installed automatically with and are used by internally. They are not shown in the GUI at all.

Navigation is available for the editor under Edit / Navigation. The first level in the navigation is reserved for Sites. The next level is usually used for navigation groups (a page can have multiple independend navigation groups, e.g. top menu and a small navigation in footer). The third level and higher are for the normal navigation nodes.

User categories (or custom categories) - are any categories defined by a user. In the context of a particular application, some categories can be required or may have a special meaning. These categories are available under Edit / Categories.

Although internally navigation are categories, the assignment of navigation and of the categories is separated in the GUI.

Fig. 2 Navigation- and Category-assignments

Fig. 2 Navigation- and Category-assignments

There are many different usage szenarios for categories.

  • In GUI every object can be classified and every list of the objects can be filtered by category (usually under "extended search"). It makes it simple to search for a particular object.
  • Security concept of (in particular - rights) is build with categories
  • Navigation is defined with categories (see above)
  • Categories is the first choice for building the lists (for a list: take all objects from a given category)
  • and many others. Understanding and using categories is the key to the power of


Unlike categories, relations create direct links between objects. There are many reasons why you might want to create relationships between objects. For example, you might want to relate pages in different languages for the same topic,  or relate an image (Document) being used as a Thumbnail to a Page, or relate a Document which should be sent as an Attachment to a Newsletter, or you may just want to associate pages to provide "related information" links.

To accomodate these different relation semantics there are different relation types. Relation types can be created by the developer in a project context. Each relation type is used for a specific purpose. Each object can have multiple relations of different types at the same time.

Relations are defined as either straight relations or circle relations. (For mathematicians: both straight and circle relations are symmetric; circle relations are transitive, but straight relations are not.) Let's take 2 related objects: A and B. If the relation is straight and you add a relation between B and C, then you have 2 relations: A to B and B to C. If the relation is circular, and you add relation B to C, then a bigger cluster is built of A, B and C in which each 2 elements are related to each other, AB, AC and BC.


Fig. 3 Comparsion of relation types: Circle Relations vs. Straight Relations

Fig. 3 Comparsion of relation types: Circle Relations vs. Straight Relations