Structure

RemarqueIntroduction

Dans cette partie, nous allons copier l'espace HelloWorld sous le nom HelloUniverse, et travailler sur cette copie en ajoutant et modifiant des fichiers .model pour que l'éditeur SCENARI prenne en compte nos nouveaux paragraphes de données.

Initialisation

ProcédurePoint de départ

Procédure
  1. Vous partez du même atelier que celui du tutoriel précédent.

    Copier l'espace helloworld à la racine de votre atelier (cliquer sur son titre pour sélectionner la racine). Coller cet espace à la racine de votre atelier et le renommer en hellouniverse.

  2. Ensuite, quelques renommages sont à effectuer :
    1. helloworld.packmake, helloworld.wspdef -> hellouniverse.packmake, etc.

    2. Changer la keyWsp et le name du wspdef

    3. Renommer helloworld.model en universe.model et changer son code et son name

    4. Renommer les deux transformers helloworld.transf (PDF et Web) en universe.transf

    5. Renommer les items dans l'espace des générateurs, en simplifiant « web » et « print », avec « page » pour les templates et ses références.

    6. Modifier le code des générateurs.

  3. Vérification

    Vérifier l'onglet X ! Problems et assurez-vous par test que votre copie est pleinement fonctionnelle, en compilant un SCENARItest.

    Compléments

    Truc & astuce

    Rappel :À tout moment, ne pas hésiter à consulter les vérifications dynamiques du modèle via le survol d'une petite icône !à côté de certaines balises :

Commentaires

RemarqueNamespace

Vous n'avez pas besoin de changer les namespaces et prefix[1] tant que les codes sont uniques. Vous pourriez aussi faire l'inverse : changer uniquement les namespaces mais garder le même code. C'est le couple namespace + code qui identifie un item.

Conseil

En général, nous n’utilisons qu’un seul namespace par atelier, il identifie le nom du projet dans son ensemble.

Truc & astuceMais, pour faire une déclinaison de modèle

Pour faire une déclinaison d'un modèle, vous n'êtes pas obligé de faire toute cette série de renommages, en revanche, vous pouvez aussi copier vos fichiers dans un atelier différent.

Ou prendre le risque de conserver les 2 espaces côte à côte sans changer les codes, à partir du moment où il n'y a aucune interaction d'items entre les 2 espaces, il n'y aura pas d'erreur. Alors, surveillez bien l'onglet X ! Problems et assurez-vous que les auteurs n'utiliseront pas l'autre version du modèle sans avoir conscience des risques ou différences (ceci est toutefois déconseillé).

ConseilLes librairies

En cas de modèles différents qui partagent des .model ou ressources communes, le mieux est de créer un espace « librairie » qui contiendra l'intersection des 2 modèles, un ensemble d'items SCENARIbuilder réutilisables à l'intérieur de .model d'un même atelier. Ce n'est pas le cas entre nos 2 modèles puisque notre micro-HelloWorld ne contient qu'un seul fichier .model.

Nous utilisons base et binaries comme des librairies.

Nouvelle compositionPrim pour astrobj.model et part.model

Procédure
  1. Dupliquer 2 fois le fichier universe.model et nommer les copies part.model et astrobj.model dans le même espace.

    Penser à changer les codes et names de ces nouveaux .model.

  2. Nous allons simplifier l'ensemble « titre + contenu » en une seule partie (part).
  3. Dans part.model, supprimer le set et créer un part à la place, de code = part, de name = Partie, toujours internalisé, obligatoire et de modèle sTxt.model, ensuite, mettre sTitle comme meta générale.
  4. Nous définissons les blocs de texte suivant la méthode que nous avions choisie précédemment : un astre est souvent décrit par 4 parties de texte prédéfinies et plusieurs paragraphes libres.

    Les 4 premiers paragraphes sont à l'extérieur du set, ce qui force l'auteur à respecter leur ordre. Ils sont en usage="optional", l'auteur peut choisir d'en laisser certains vides par manque d'information. Contrairement au HelloWorld, notre titre est placé dans la composition du « sous-modèle » et non à l'intérieur du paragraphe, il est intégré à l'item part.model.

Référencer astrobj.model depuis universe.model

Procédure
  1. Il ne reste plus qu'à modifier notre élément racine pour faire appel à astrobj.model (car tout simplement, l'Univers contient des astres).
  2. Un choix intéressant est d'obliger l'auteur à créer un fichier distinct par planète : internalized = never.

ProcédureObjet externe

Pour que astrobj.model puisse être utilisé en tant qu'objet externe, il doit être dans les publicClasses de notre hellouniverse.wspdef.

Procédure
  1. Se placer dans hellouniverse.wspdef.
  2. Cliquer sur le plus d'insertions se situant sous la balise publicClasses et choisir la balise class.
  3. Glisser-déposer le fichier astrobj.model sur l'icône se situant à côté de cette balise.
  4. Sous la balise publicClasses, il y a maintenant deux balises class pointant vers les fichiers astrobj.model et universe.model.

Tests de la nouvelle modélisation

Conseil

Vous pouvez à nouveau tester votre modèle, mais attention : les transformers sont « cassés »... Ils ne correspondent plus aux .model et les générateurs ne fonctionnent plus. Pour le moment, seul l'éditeur est fonctionnel.