Table des matières
- Content management -- Gestion de contenu
- Datatypes -- Types de données
- The content class -- La classe de contenu
- Class attributes -- Attributs de classe
- The content object -- L'objet de contenu
- Object versioning -- Gestion des versions des objets
- Multiple languages -- Plusieurs langues
- The content node -- Le noeud de contenu
- The content node tree -- L'arbre de noeuds de contenu
- Top level nodes -- Noeuds de niveau supérieur
- Node visibility -- Visibilité des noeuds
- Object relations -- Relations entre objets
- Sections -- Les sections
- URL storage -- Stockage d'URL
- Information collection -- Collecte d'informations
The content node tree -- L'arbre de noeuds de contenu
Date de publication: le mardi 22 mars 2011 à 18h00
Dernière modification: par Pascal BOYER le dimanche 27 mars 2011 à 16h47
versions 3.9, 3.10, 4.x
The content node tree is a hierarchical organization of the objects. Each leaf in the tree is a node (also known as a location). Each node refers to one object. The usual case is that an object is referenced by only one node. Because of the node-encapsulation of objects, any type of content object can be placed anywhere in the tree. At the minimum, the tree consists of one node, called the root node. The identification number of the root node is 1. The root node is a virtual node, it does not encapsulate an actual object. A node that is directly below the root node is called a top level node (the top level nodes are described in the next section). The depth and width of the tree is virtually unlimited. The following illustration shows a simplified example of how objects are referenced by nodes which together make up the content node tree.
L'arbre de nœuds de contenu constitue une organisation hiérarchique des objets où chaque feuille est un nœud (aussi appelé emplacement) et chaque nœud une référence à un objet. Le cas courant est un objet référencé par un seul nœud. En raison du système d'encapsulation des objets par des nœuds, n'importe quel type d'objet de contenu peut être placé n'importe où dans l'arbre. Ce dernier est composé au minimum d'un nœud, appelé nœud racine, dont le numéro d'identifiant est 1. Ce nœud est virtuel et n'encapsule aucun objet. Un nœud placé directement sous le nœud racine est appelé nœud de plus haut niveau (les nœuds de plus haut niveau sont décrits dans le prochain article). La profondeur et la largeur de l'arbre est virtuellement infinie. L'illustration suivante présente un exemple simple de la manière dont les objets sont référencés par les nœuds et qui, ensemble, forment l'arbre de nœuds de contenu:
Objects, nodes and the content node tree
Objets, nœuds et l'arbre de nœuds de contenu
The following illustration shows the same node structure seen from the outside world.
L'illustration ci-dessous présente la même structure de nœuds vue de l'extérieur.
Content node tree
L'arbre de nœuds de contenu
Multiple locations / Emplacements multiples
An object may be referenced by several nodes, which means that the same object can appear at different locations within the tree. This feature can for example be used to place a specific news article at two locations: the frontpage and the archive. In the case of multiple nodes/locations, only one node can be considered as the main node of an object. The main node usually represents the object's original location in the tree. The other nodes can be thought of as additional nodes / locations. If an object is referenced by a single node then of course that node would be the main node. Among other things, the main node is used to avoid multiple search hits, infinite recursive loops, smart filtering, etc. The following illustration shows an example of a structure where an object has multiple locations in the tree. It will simply be empty and will have the possibility to contain a different set of sub items.
Un objet peut être référencé par plusieurs nœuds, ce qui signifie qu'un même objet peut apparaître en différents emplacements de l'arbre. Cette fonctionnalité est utilisée, par exemple, pour placer un article de news à deux emplacements: sur la page d'accueil et dans l'archive. Dans le cas de nœuds/emplacements multiples, un seul nœud est considéré comme nœud principal de l'objet. Généralement, le nœud principal représente l'emplacement originel de l'objet dans l'arbre et les autres nœuds sont considérés comme des nœuds/emplacements supplémentaires. Lorsqu'un objet n'est référencé que par un seul nœud alors bien sûr ce nœud constitue le nœud principal. Le nœud principal est utilisé, entre autres, pour éviter les résultats de recherche redondants, les boucles récursives infinies, les filtrages malicieux (???), etc... L'illustration suivante présente un exemple de structure où un objet a plusieurs emplacements dans l'arbre. Il sera simplement vide et aura la possibilité de contenir différents jeux de sous-items (???):
Objects, node and the content node tree - multiple locations
Objets, nœuds et arbre de nœuds de contenu -- Emplacements multiples
The following illustration shows the same node structure seen from the outside world.
L'illustration suivante présente la même structure de nœuds vu de l'extérieur.
Content node tree with multiple locations
L'arbre de nœuds de contenu avec emplacements multiples
Pitfall / Piège
A very common mistake when planning the structure of a site is thinking of multiple locations as shortcuts/links on a file system. Unfortunately, this is not how the node tree works. When a new location is added to an object, eZ Publish will not go through and create replica of the node structure below the object's original location. For example, if a folder containing several sub-folders with articles, images, etc. is assigned a secondary location, the sub-folders with articles, images, etc. will not be automatically available below the new location of the folder.
Une erreur très commune lorsque l'on commence à planifier la structure d'un site est de considérer les emplacements multiples comme des raccourcis/liens tels que ceux que l'on rencontre dans les systèmes de fichiers. Malheureusement, ce n'est pas comme cela que fonctionne l'arbre de nœuds. Lorsqu'un nouvel emplacement est ajouté à un objet, eZ Publish ne crée pas, à cet emplacement, une réplique de la structure du nœud telle qu'elle existe à l'emplacement originel de l'objet. Par exemple, si un dossier contenant plusieurs sous-répertoires contenant à leur tour des articles, des images, etc... est assigné à un second emplacement, les sous-répertoires contenant les articles, les images, etc... ne seront pas automatiquement disponibles sous le nouvel emplacement du dossier.
Additional notes / Notes supplémentaires
Only published objects appear in the tree. A newly created object (status set to draft) does not get a node assignment until the object is published for the first time. An object is considered to be deleted (status set to archived) when all nodes referencing that object are removed from the tree. A deleted object will appear in the system trash. It is important to understand that the trash in eZ Publish is a flat structure. This is different from what people are used to from the trash implementation in modern operating systems. Objects in the trash can be recovered to their original locations. However, this is only possible if their original parent nodes have not been deleted. Otherwise, the user must specify a new/alternate location for the objects during recovery. Note that specifying an alternate/new location can be done regardless if the system is able to restore a deleted object at its original location or not.
Seuls les objets publiés apparaissent dans l'arbre. Un objet nouvellement créé (dont le statut est brouillon) n'est assigné à aucun nœud tant qu'il n'est pas publié une première fois. Un objet est considéré comme supprimé (dont le statut est archivé) lorsque tous les nœuds le référençant sont supprimés de l'arbre. Un objet supprimé apparaît dans la poubelle du système. Il est important de comprendre que la poubelle de eZ Publish a une structure plate, ce qui diffère des poubelles des systèmes d'exploitation que nous avons l'habitude d'utiliser. Les objets récupérés dans la poubelle de eZ Publish ne peuvent être restaurés à leur emplacement originel que si les nœuds parents n'ont pas été eux-mêmes supprimés. Dans tous les autres cas, l'utilisateur devra, lors de leur restauration, indiquer le nouvel emplacement des objets. Retenez qu'il est possible de spécifier un nouvel emplacement indépendamment du fait que le système peut ou non restaurer, à son emplacement d'origine, un objet supprimé.
Furthermore, if a folder containing some news articles is deleted, both the folder and the articles will appear on the same level within the trash. Recovering the folder itself will not bring back the articles since the links between the folder and the articles got lost when the nodes were deleted. In this case, the folder needs to be recovered first. After that, each article has to be manually recovered and given a location.
En outre, si un dossier contenant quelques articles de news est effacé, le dossier et les articles apparaîtront à un même niveau hiérarchique dans la poubelle. Restaurer le dossier ne restaurera pas les articles puisque les liens entre le dossier et les articles ont été perdus lors de la suppression des nœuds. Dans ce cas, le dossier doit être restauré en premier et chaque article sera ensuite restauré manuellement et se verra attribué un emplacement.
Table des matières
- Content management -- Gestion de contenu
- Datatypes -- Types de données
- The content class -- La classe de contenu
- Class attributes -- Attributs de classe
- The content object -- L'objet de contenu
- Object versioning -- Gestion des versions des objets
- Multiple languages -- Plusieurs langues
- The content node -- Le noeud de contenu
- The content node tree -- L'arbre de noeuds de contenu
- Top level nodes -- Noeuds de niveau supérieur
- Node visibility -- Visibilité des noeuds
- Object relations -- Relations entre objets
- Sections -- Les sections
- URL storage -- Stockage d'URL
- Information collection -- Collecte d'informations
Commentaires














