Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Understanding the content model

An explanation of Exponential's content model for learners - content classes, attributes and datatypes, objects, versions and translations, nodes and the content tree, sections and object states - with a worked example…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/students/understanding-the-content-model.md

On this page

Understanding the content model

The content model is the idea every Exponential role uses, from editor to developer. Its README calls the "fully customizable and extendable content model" the system's most notable feature (Press, media and influencers: start here). This page explains it for learners, with one worked example. The reference is The content model and editing content.

Contents

  1. The words
  2. A worked example
  3. Objects and nodes
  4. Versions and translations
  5. Sections and states
  6. Common confusions
  7. Check your understanding

The words

TermMeaning
Content classA type of content: a name, an identifier and a list of attributes (for example Article: Title, Intro, Body, Image)
Class groupA folder of classes in the class editor (Content, Users, Media, Setup)
AttributeOne field of a class, with a datatype
DatatypeThe kind of one attribute: ezstring (one line), eztext (several lines), ezxmltext (rich text), ezimage, ezobjectrelationlist and so on
Content objectOne piece of content, an instance of a class; has versions (draft, published, archived) and languages
Node / locationA place of an object in the content tree; one object can have several

Source: The content model and editing content. The datatypes available for new attributes are the AvailableDataTypes[] list of settings/content.ini; the guide counts 35 entries in the shipped list, and extensions can add more.

A worked example

Think of a school newspaper:

Class "Article"          attributes: Title (Text line), Intro (Text block), Body (Rich text), Image (Image)
  |
  +-- Object 4711        "School garden opens"        versions 1, 2, 3 (3 is published)
        |                                             translations: eng-US (main), ger-DE
        +-- Node 120     Home / News / School garden opens
        +-- Node 233     Home / Garden club / School garden opens

One class describes what every article has. One object is one article. It appears in the tree at two nodes: under News and under Garden club. Editing it once changes both places, because there is only one object.

Objects and nodes

  • The content tree is the hierarchy of nodes shown in the administration; node 1 is its root (Glossary).
  • An item's page shows both numbers, Node and Object (A tour of the administration).
  • The Locations tab of an item lists its nodes. Adding a location does not copy the object.
  • The Content finder opens an item from its number, its path or its address (Searching).

Developers meet the same distinction in templates: $node is a node, and $node.data_map gives the attributes of its object (Templates and design).

Versions and translations

  • Each save of an edit creates a version; an unfinished edit is a draft. The number of archived versions kept is limited per class ([VersionManagement] DefaultVersionHistoryLimit in settings/content.ini, 45 by default) (The content model and editing content).
  • A translation is a language version of an object. Each object has a main language, and can be set to be always available, so it is shown in its main language where no listed language exists (Content languages).
  • Publishing one translation does not change the others (Languages).

Sections and states

  • A section is a label on content that selects a design and permissions (Glossary, Sections). Roles can be limited to a section.
  • An object state is a label from an object state group, for example the lock state "Not locked", that policies can test; it is not the same as the status of a version (Glossary, Object states).

Common confusions

ConfusionClear version
"Class" means a PHP classHere it usually means a content class, defined in the administration
Moving an item copies itMoving changes its node; the object stays the same
Two locations are two copiesTwo nodes, one object: one edit changes both
A draft is visible to visitorsOnly published versions are shown on the site
Section and folder are the sameA folder is a node in the tree; a section is a label that many nodes can carry
Object state and version status are the sameA state is a label for policies; draft, published and archived are version statuses

Check your understanding

  1. An object has two locations. You edit its title. How many places on the site change?
  2. Which setting file lists the datatypes you can choose for a new attribute?
  3. Where in the administration do you see an item's node and object numbers?
  4. Name two things a section can decide.
  5. Practice: do project 1 and draw your class like the worked example.
Answers
  1. Both, because there is one object.
  2. settings/content.ini, the AvailableDataTypes[] list.
  3. On the item's page, in the line with its version and numbers, and on the Details tab.
  4. Which design is used, and which permissions apply.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x