V. Modèle de contenu orienté objet▲
V-A. Qu'est-ce que l'orienté objet ?▲
La structure de contenu d'eZ Publish est basée sur des principes provenant des langages de programmation orienté objet tels que Java et C++. De manière superficielle, l'orienté objet signifie, voir le « monde » en termes d'objets. Dans la vie réelle, les gens sont entourés par de nombreux objets, tels que des meubles, des voitures, des animaux, et d'autres personnes. Chacun de ces objets a des caractéristiques. C'est aussi la manière dont le contenu est décrit et géré dans eZ Publish - avec des objets et des attributs (caractéristiques).
eZ Publish supporte différents types de contenu tels que des images, des articles, des fichiers multimédias, des forums et des formulaires de commentaires. Un type de contenu est appelé une classe de contenu (ou juste « classe »), tandis qu'une partie spécifique de contenu est appelée un objet de contenu (ou juste « objet »).
Une structure de données est définie par une classe de contenu, et une classe de contenu est constituée d'attributs. Un attribut peut être perçu comme un champ. Les caractéristiques d'un attribut sont déterminées par des types de données (datatypes). L'illustration ci-dessous, résume et montre les relations entre les types de données, les attributs, les classes de contenu et les objets de contenu. Les objets de contenu sont des instances de la même classe de contenu, ce qui signifie qu'ils sont du même type, mais contiennent des données différentes.
V-B. Classe de contenu▲
Une classe de contenu peut être perçue comme un plan structuré pour un type particulier de contenu. Les propriétés de ce contenu sont représentées au travers d'attributs. Par exemple, la classe de contenu Article contient des attributs comme le titre, le nom de l'auteur, le texte d'introduction et le texte de l'article.
Un type de données décrit le type de la valeur qui peut être stockée dans l'attribut et représente la plus petite entité de stockage possible. Il détermine de quelle manière un type spécifique d'information doit être validé, stocké et récupéré.
V-C. Objet de contenu▲
Il est important de comprendre qu'une classe de contenu est juste une définition d'une structure arbitraire. En d'autres termes, la classe elle-même ne stocke aucune donnée. Une fois qu'une classe de contenu a été définie, il est possible de créer des instances de cette classe. Une instance d'une classe de contenu est appelée un objet de contenu. En réalité, le contenu est stocké dans les objets (par exemple, des dossiers, des articles, des commentaires, des employés et des membres) et plus précisément dans les attributs.
V-C-1. Versions et traductions▲
Un objet de contenu est composé d'au moins une version. Chaque fois que vous modifiez un objet et que vous sauvegardez les modifications, une version est sauvée. La première fois, si vous sauvez vos modifications (par rapport à l'affichage de l'objet sur le site Web), une nouvelle version est créée. Sinon, une version existante va simplement être mise à jour. Cette couche supplémentaire permet d'avoir plusieurs versions du même contenu. Chaque version se compose d'au moins une traduction. La couche de traduction permet d'afficher la même version du même contenu dans plusieurs langues. C'est cette couche finale de traduction qui détient les attributs d'un objet.