Comme dans toute application Scenari, un atelier contient des items et chaque item a : un nom de fichier, un type.
L’item de modélisation doit entre autres définir :
Cet item sert à spécifier quels champs ou paragraphes de données seront disponibles à l'intérieur de l'éditeur, de les paramétrer et de choisir comment ils seront organisés entre eux (et implicitement quel sera la structure XML des documents écrits par l'auteur lorsqu'ils sont enregistrés).
Pour définir la structure de votre premier modèle, vous allez devoir créer 3 items, et faire appel à 2 items du répertoire modelets.
C'est le moment de choisir un type pour l'item racine.
Dans notre modèle, nous allons permettre à l'auteur de créer des items de type helloworld à partir de l'interface d'édition, nous devons donc créer dans notre atelier un item correspondant qui est listé dans les publicClasses du wspdef.
Se placer sur helloworld.wspdef
Ouvrir sm:publicClasses puis sm:classe par double clic sur ces noms de balise
Faire un clic droit sur l'item vide se situant à côté de la balise <class>
Choisir dans le menu contextuel Créer un nouvel item…

Dans le reste de ce tutoriel, cette méthode sera à utiliser pour la plupart des créations d'items.
L'écran de création des items s'ouvre.
Choisir Primitives > Primitives d'organisation > compositionPrim .
Les compositionPrim sont utilisées pour tous les contenus organisés en parties, chapitres, blocs d'informations, sections...
Nommer l’item helloworld.model
Créer
Enregistrer le wspdef
Renseigner les champs obligatoires
name, le nom affiché dans la fenêtre de création d'items pour votre futur auteur.
namespace, prefix : En plus du code, elles sont mises en commun par un namespace, et sa version abrégée, le préfixe. Dans les cas courants, vous allez déclarer toujours le même namespace et préfixe pour tous les fichiers d'un atelier builder. L'intérêt principal de ces informations est de permettre à différents modélisateurs de partager des modèles avec le même nom. Ces noms sont utilisés en interne dans les fichiers de contenu que l'auteur va enregistrer par les éditeurs SCENARI. Le préfixe doit être court et ne pas commencer par la lettre "s" qui est réservée (s pour scenari).
Enregistrer
Créer un set de part, renseigner tout de suite le code et le name de la part.
set : Un set signifie que l'auteur pourra créer autant de parts qu'il le souhaite (dans l'éditeur, cela déclenche l'ajout d'un bouton * à gauche de la part). En l'absence de set, le document ne pourrait contenir qu'une seule partie.
part : Une "part" est un champ de contenu qui pourrait avoir une sous-structure, en faisant appel par exemple à d'autres compositionPrim.
Le nom de la partie peut être différent de son code. En général les codes sont définis en anglais pour simplifier la transmission du modèle documentaire, et le name est définit dans la langue visée (français pour nous).
Lors de la traduction d’un modèle documentaire, ce sont les champs «name» qui sont traduits pour l’Éditeur.
Modifier les attributs à set : required, part internalized :always.
usage -> optional, usage -> required : Dans l'interface d'édition, l'auteur de contenu devra obligatoirement remplir toutes les parts qui ont été paramétrées par le modélisateur en tant que "required", si ce n'est pas le cas, des croix rouges apparaissent dans le contenu.
internalized : En fonction du choix du modélisateur, l'auteur pourra éventuellement, ou sera obligé de créer les parties en tant qu'item externe[1]. Rappel : il faut aussi que les allowedModel des parts soit déclarées en tant que publicClasses dans le wspdef pour que cette création d'item soit autorisée.
Il ne sera pas possible d’externaliser le contenu de cette part.
Définir la structure XML que devra suivre la part créée
allowedModel : C'est la liste des modèles que l'auteur va pouvoir placer à l'intérieur de ce champ. Ne créez pas un nouvel item, mais placez-y par glisser-déposer depuis le volet d'exploration l'élément "paragraphe de texte" du modelet /base/sTxt/sTxt.model que vous avez installé au début de ce tutoriel.
Définir une méta pour cette part (astérisque entre sm :part et sm :allowedModel)
meta : Des méta-données associées à la part. Dans notre modèle, les parts peuvent avoir des titres, nous allons donc utiliser dans les modelets : /base/sTitle/sTitle.model
Enregistrer
Il n’est pas nécessaire de remplir cette partie du .model, elle est essentiellement utilisée pour le stylage de l’éditeur.
Dans les cas courants, vous allez déclarer toujours le même namespace et préfixe pour tous les fichiers d'un atelier builder. L'intérêt principal de ces informations est de permettre à différents modélisateurs de partager des modèles avec le même nom. Ces noms sont utilisés en interne dans les fichiers de contenu que l'auteur va enregistrer par les éditeurs Scenari. Le préfixe doit être court et ne pas commencer par la lettre "s" qui est réservée (s pour scenari).
désigne un contenu faisant l'objet d'un item distinct de l'item utilisé pour structurer un document. L'item correspondant apparaît dans le volet d'exploration et peut être réutilisé dans le document en cours ou dans un autre document.
