Vous pouvez utiliser ces éléments pour définir des modules de thème.
Définition d'un module
Vous pouvez également définir un schéma pour les modules qui sont indépendants de leur format XML ou JSON. Pour le format JSON, il existe une définition de schéma JSON disponible sur WebDAV Theme\themes\Portal8.5\contributions\schema.
Dans les exemples qui suivent, utilisez la syntaxe ci-dessous.
- 1 signifie qu'un seul élément est requis
- 0..1 signifie un ou zéro
- 0..* signifie que n'importe quel nombre est autorisé
- 1..* signifie qu'au moins un élément est requis
- Elément : module
- Le module qui fournit les contributions.
- Attributs :
- ID (1) : l'identifiant à l'échelle du système pour ce module. Cette valeur d'identifiant est une chaîne qui doit être unique dans le système.
- version (0..1) : la version du module fournie avec cette contribution. La valeur de la version est au format major.minor.revision.
- Parent
- Eléments-enfants
- 0..* capacité
- 0..* prereq
- 0..* title
- 0..* description
- 0..* contribution
- 0..1 moduleActivation
- 0..1 runtimeActivation
- Elément : fonction
- La déclaration d'une capacité que fournit le module.
- Attributs :
- ID (1) : le nom unique à utiliser pour cette capacité.
- value (1) : la version de la capacité fournie par ce module. La valeur de la capacité utilise une chaîne à notation décimale à point.
- Parent
- Elément : prereq
- Un module requis par un autre module qui définit l'exigence.
- Attributs :
- ID (1) : l'ID du module requis.
- minversion (0..1) : la version minimale du module prereq requis par le module qui définit l'exigence. La valeur minversion utilise une chaîne à notation décimale à point.
- type (0..1) : la définition de
type="optional" arrête la consignation des erreurs lorsqu'il manque un prérequis.
- Parent
- Elément : titre
- Titre du module de définition.
- Attributs :
- value = 1 titre du module.
- lang (1) : chaîne de la langue du titre, par exemple en_US, de_de ou es_es.
- Parent
- Elément : description
- Description du module de définition.
- Attributs :
- value = 1 chaîne décrivant le module.
- lang (1) : chaîne de la langue de la description, par exemple en_us, de_de ou es_es.
- Parent
- Elément : contribution
- Définit une contribution de thème du module.
- Attributs :
- type (1) : le type de zone de contenu à laquelle ce module contribue. La valeur est head, config, menu ou dyn-cs. Les valeurs valides pour le type sont :
- head
- Ces contributions sont ajoutées à la section head section du thème. Ce type de contribution peut comporter plusieurs sous-contributions.
- config
- Ces contributions sont ajoutées à la fin de la section corps du thème. Ce type de contribution peut comporter plusieurs sous-contributions.
- dyn-cs
- Cette contribution génère une zone dynamique de thème. Voir Zones de contenu dynamique. Ce type de contribution peut comporter une sous-contribution.
- menu
- Cette contribution définit un menu de thème JSON. Voir Infrastructure de menus. Ce type de contribution peut comporter une sous-contribution.
- Parent
- Eléments-enfants
- Elément : sous-contribution
- Partie de la contribution globale. Par exemple, dans la contribution head, les sous-contributions peuvent ajouter un marquage propre à CSS, JavaScript ou head.
- Attributs
- uri (0..1 ou 1..* en l'absence d'enfant d'URI) : URI vers la ressource de sous-contribution. L'URI peut également être fourni comme élément enfant du noeud de sous-contribution. Utilisez un attribut ou un enfant, mais pas les deux pour spécifier l'URI. Plusieurs URI peuvent être fournis, mais un seul est sélectionné et renvoyé.
- ref-id (0..1) : ID de la zone dynamique à remplacer. Utilisez-le uniquement pour les sous-contributions dyn-cs.
- type 1 déclare quel type de contribution est fourni. Les valeurs valides pour le type sont :
- marquage : marquage HTML pour les contributions head, config ou dyn-cs.
- css : fichiers de feuille de style en cascade pour les contributions head uniquement.
- js : bibliothèques, fonctions et objets JavaScript pour les contributions head et config. Ces contributions sont chargées après des contributions avec une valeur config_*.
- config_static : configuration JavaScript pour les contributions head et config qui ne sont pas des définitions de variable dépendantes de la demande. Ces contributions sont collectées dans un fichier distinct.
- config_dynamic : configuration JavaScript pour les contributions head et config qui sont des définitions de variables dépendantes de la demande. Ces contributions sont injectées dans le marquage.
- json : définitions JSON pour les contributions menu uniquement.
- deviceClass (0..1) : contrôle lorsque la sous-contribution définie est cumulée sur la page en fonction des classes d'appareil actives. Il peut s'agir d'une classe d'unités unique ou d'une équation logique.
- valeurs :
- marquage : Marquage HTML
- css : instructions "cascading style sheet".
- js : bibliothèques, fonctions et objets JavaScript. Ces contributions sont chargées après des contributions avec une valeur config_*.
- config_static : contributions de configuration javascript qui ne sont pas des définitions de variables dépendantes de la demande. Ces contributions sont collectées dans un fichier distinct.
- config_dynamic : contributions de configuration JavaScript étant des définitions de variables dépendantes de la demande. Ces contributions sont injectées dans le marquage.
- Parent
- Eléments-enfants
- Elément : uri
- Un URI qui pointe vers une ressource de module de thème.
{war:context-root} peut être utilisé ici. Pour plus d'informations, voir Ecriture de modules.
- Attributs :
- value = 1 l'URI de la ressource à utiliser.
- lang (0..1) : la langue à laquelle l'URI défini s'applique, par exemple en_US.
- type (0..1) : le type auquel cet URI s'applique. Pour le type de sous-contribution de CSS, le type d'URI peut être rtl qui est déclenché lorsque le portail est rendu dans une langue de droite à gauche. Ou debug qui est déclenché lorsque le portail est en mode débogage. Pour JavaScript, le type d'URI peut être debug.
- deviceClass (0..1) : le type d'unité auquel s'applique l'URI, comme
smartphone, tablet ou une équation de classe d'appareil.
- Parent
- Des schémas différents peuvent être utilisés dans l'attribut de valeur.
- Utilisez ce schéma avec précaution car il peut avoir un impact considérable sur les performances. Le fichier distant est inclus sur le serveur et pas sur le navigateur. Lorsque ce schéma est utilisé, les demandes distantes sont envoyées depuis la machine virtuelle du portail au cours de l'affichage de la page du portail au système distant de façon synchrone. Le temps de réponse du système distant affecte donc le temps d'affichage de la page de portail et le nombre d'unités d'exécution disponibles pour d'autres demandes. Utilisez HTTP uniquement pour les sources statiques pouvant être mises en cache dans un serveur proxy ou HTTP devant le portail.
- Le proxy Ajax permet d'effectuer l'appel distant, la configuration doit donc être mise à jour pour que la demande distante ait lieu.
- Elément : moduleActivation
- Déclaration d'une classe qui contrôle si le module est actif. Utilisez l'attribut extensionID ou class pour indiquer l'implémentation d'activation ; les deux sont pris en charge.
- Attributs :
- extensionID (0..1 ou 0 si la classe est utilisée) : le nom de classe qui implémente l'interface ModuleActiveChecker.
- class (0..1) : le nom de classe qui implémente l'interface ModuleActiveChecker.
- Parent
- Eléments-enfants
- Elément : paramètre
- Déclaration d'une entrée d'environnement de ressources qui indique si le module est actif ou non et dont les valeurs sont true ou false. La valeur par défaut est true.
- Attributs :
- name (1) : Nom du paramètre.
- value = 1 La valeur du paramètre.
- Parent
- Elément : runtimeActivation
- Commutateur déclenché lors de l'exécution pour activer ou désactiver un module et ses fonctions selon une condition de l'état de la page en cours.
- Attributs :
- Parent
- Eléments enfant :
- Exemple :
<runtimeActivation>
<condition deviceClass="worklight"/>
</runtimeActivation>"
- Elément : condition
- Condition pour laquelle runtimeActivation doit être activé.
- Attributs :
- deviceClass (1) : The type of device to which the URI applies, such as
smartphone, tablet, or a device class equation.
- Parent