Les ressources et le plan de travail

Le pilier central de vos fichiers de données utilisateur est appelé espace de travail. Vous pouvez considérer le plan de travail de la plate-forme comme un outil permettant à l'utilisateur de naviguer et de manipuler l'espace de travail. Le plug-in des ressources fournit des API pour la création, la navigation et la manipulation des ressources dans un espace de travail. Le plan de travail utilise ces API pour fournir cette fonctionnalité à l'utilisateur. Votre plug-in peut également utiliser les API.

Du point de vue d'un plug-in basé sur une ressource, il n'existe qu'un seul espace de travail et il est toujours ouvert tant que le plug-in est en cours d'exécution. L'espace de travail est automatiquement ouvert lorsque le plug-in des ressources est activé et fermé lorsque la plate-forme est arrêtée. Si votre plug-in nécessite le plug-in des ressources, ce dernier est alors démarré avant votre plug-in et l'espace de travail sera à votre disposition.

L'espace de travail contient une collection de ressources. De la perspective de l'utilisateur, il existe trois types de ressources différents : les projets, les dossiers et les fichiers. Un projet est une collection de fichiers et de dossiers. Il s'agit d'un conteneur permettant d'organiser d'autres ressources en relation avec un domaine spécifique. Les fichiers et les dossiers sont similaires aux fichiers et aux répertoires du système de fichiers. Un dossier contient d'autres dossiers ou fichiers. Un fichier contient une séquence arbitraire d'octets. Son contenu n'est pas interprété par la plate-forme.

Les ressources d'un espace de travail sont organisées en structure arborescente, avec au sommet des projets et en dessous des dossiers et des fichiers. Une ressource spéciale, la ressource racine de l'espace de travail sert de racine à l'arborescence des ressources. La racine de l'espace de travail est créée de manière interne lorsqu'un espace de travail est créé et existe tant que ce dernier perdure.

Un espace de travail peut contenir un nombre indifférent de projets, qui peuvent être chacun stocké à un endroit différent du disque.

L'espace de nom de ressource de l'espace de travail est toujours sensible à la casse, et la conserve. L'espace de travail permet ainsi l'existence de plusieurs ressources apparentées dont les noms ne diffèrent que par la casse. Il ne met aucune restriction sur les caractères autorisés dans les noms de ressources, sur la longueur de ces noms, ou la taille des ressources sur le disque. Bien sûr, si vous conservez des ressources sur un disque qui ne respecte pas la casse, ou qui a des restrictions sur les noms de ressources, ces restrictions apparaîtront quand vous tenterez de créer ou modifier des ressources.

Exemple d'arborescence des ressources

L'arborescence ci-dessous (représentée dans la vue du navigateur du plan de travail) illustre une hiérarchie typique des ressources dans un espace de travail. La racine (impliquée) de l'arborescence est la racine de l'espace de travail. Les projets sont des enfants immédiats de la racine de l'espace de travail. Chaque noeud (en dehors du noeud principal) est de l'un des trois types de ressource et chacun possède un nom différent de l'élément apparenté.

Vue Navigateur avec un espace de travail exemple

Les noms des ressources sont des chaînes arbitraires (presque, car elles doivent correspondre à des noms de fichier légaux). La plate-forme elle-même ne dicte pas les noms des ressources, ni ne spécifie une signification particulière pour ces noms. (Une exception cependant, vous ne pouvez pas attribuer le nom ".metadata" à un projet du fait que ce nom est utilisé en interne.)

Les projets contiennent des fichiers et des dossiers, mais pas d'autre projet. Les projets et les dossiers sont comme les répertoires d'un système de fichiers. Lorsque vous supprimez un projet, il vous est demandé de confirmer si vous souhaitez supprimer la totalité des fichiers et des dossiers qu'il contient. La suppression d'un dossier d'un projet entraîne celle du dossier et de tous ses enfants. La suppression d'un fichier est semblable à celle d'un fichier du système de fichiers.