29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / eZ Publish / Dossiers techniques / eZ Publish : introduction aux concepts de eZ Publish / Object-oriented content model -- Modèle de contenu orienté objet





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

Object-oriented content model -- Modèle de contenu orienté objet

Date de publication: le jeudi 19 mars 2009 à 17h32
Dernière modification: par Pascal BOYER le lundi 4 octobre 2010 à 18h36
« Article précédent: Template system -- Le système de templates
» Article suivant: The content node tree -- L'arbre de noeuds de contenu

22/05/2007 10:00

What is object-orientation? / Qu'est-ce que l'orientation objet

The eZ Publish content structure is based on ideas borrowed from object-oriented programming languages like Java and C++. Superficially, object-oriented (OO) means looking at the world in terms of objects. In real life, people are surrounded by many objects, such as furniture, cars, pets, and other people. Each of these objects have traits. This is also the way content is described and managed within eZ Publish - with objects and attributes (traits). 
La structure du contenu de eZ Publish repose sur des idées empruntées aux langages de programmation orientés objet tels que java et C++. Très superficiellement, orienté objet (OO) signifie regarder le monde en termes d'objets. Dans la vraie vie, nous sommes entourés de très nombreux objets comme les fournitures, les voitures, les animaux de compagnie et les autres humains. Chacun de ces objets est pourvu de caractéristiques. C'est comme cela que les contenus sont décris et gérés dans eZ Publish - avec des objets et des attributs (les caractéristiques).

eZ Publish supports various types of content, such as images, articles, multimedia files, forums and feedback forms. A content type is called a content class (or "class" for short), while a specific piece of content is called a content object (or "object" for short). 
eZ Publish supporte de nombreux types de contenus tels que les images, les articles, les fichiers multimédia, les forums et les formulaires. Un type de contenu est appelé classe de contenu (ou classe tout court) alors qu'une partie d'un contenu est appelé objet de contenu (ou objet tout court).

A data structure is defined by a content class, and a content class is made up of attributes. An attribute can be thought of as a field. The characteristics of the attributes are determined by the datatypes. The following illustration summarizes and shows the relation between datatypes, attributes, content classes and content objects. The content objects are instances of the same content class, which means that they are of the same type but contain different data. 
Une structure de données est définie par une classe de contenu elle-même créée à partir d'attributs. Un attribut peut être vu comme un champ. Les caractéristiques des attributs sont déterminées par les datatypes. L'illustration ci-dessous résume et montre la relation entre des datatypes, des attributs, des classes de contenu et des objets de contenu. Dans le cas illustré, ces derniers sont des instances d'une même classe de contenu,ce qui signifie qu'ils sont du même type mais contiennent des données différentes.

Content class / Classes de contenu

A content class can be thought of as a structural blueprint for a particular type of content. The properties of that content are referred to as attributes. For example, the Article content class contains attributes like title, name of author, introduction text and the text of the article. 
Une classe de contenu peut être vue comme le moule/modèle d'un type de contenu particulier dont les propriétés sont référencées en tant qu'attributs. La classe de contenu Article, par exemple, contient des attributs titre, nom de l'auteur, texte d'introduction et texte de l'article.

A datatype describes the type of value that can be stored in an attribute and is the smallest possible entity of storage. It determines how a specific type of information should be validated, stored and retrieved. 
Un datatype définit le type de valeurs pouvant être stockées dans l'attribut et constitue la plus petite entité possible de stockage. Il détermine comment un type particulier d'information doit être validée, stockée et retrouvée.

 

 

Datatypes, attributes, a content class and objects / Des datatypes, des attributs, une classe de contenu et des objets

Content object / Objet de contenu

It is important to understand that a content class is just a definition of an arbitrary structure. In other words, the class itself does not store any actual data. Once a content class has been defined, it is possible to create instances of that class. An instance of a content class is called a content object. Actual content is stored inside objects (for example, folders, articles, comments, employees and members) in attributes. 
Il est très important de comprendre qu'une classe de contenu n'est qu'une définition d'une structure arbitraire. En d'autres termes, la classe elle-même ne stocke aucune donnée. Un fois la classe de contenu définie, il devient possible de créer des instances de cette classe. L'instance d'une classe de contenu est appelée un objet de contenu. Les contenus sont stockés dans les objets (par exemple les dossiers, les articles, les commentaires, les employés et les membres) par les attributs.

Versions and translations / Les versions et les traductions

A content object consists of at least one version. Every time you save changes to an object, a version is saved. If it the first time you save changes (compared to how the object displays on the website), a new version is created. Otherwise, an existing version will simply be updated. This additional layer makes it possible to have different versions of the same content. Each version further consists of at least one translation. The translation layer makes it possible to represent the same version of the same content in multiple languages. It is this final translation layer that holds the attributes of an object. 
Un objet de contenu étant composé d'au moins d'une version, chaque fois que vous enregistrez les modifications d'un objet, une nouvelle version est sauvegardée. Si vous enregistrez pour la première fois les modifications (par rapport à la manière dont l'objet s'affiche sur le site) alors une nouvelle version est créée. Sinon, une version existante sera simplement mise à jour. Cette couche supplémentaire permet d'avoir plusieurs versions d'un même contenu et chaque version se compose d'au moins une traduction. La couche traduction permet de présenter la même version d'un même contenu en plusieurs langues. C'est cette couche de traduction finale qui contient les attributs d'un objet.

Commentaires