Aller au contenu principal

Imbrication et pipeline

Imbrication et sécurité​

Les composants peuvent utiliser use d'autres composants. Le compositeur se résout récursivement jusqu'à 8 niveaux de profondeur, intégrant les données délimitées à chaque niveau.

  • Où un use se résout — d'abord parmi les composants de votre propre espace de travail, puis dans le catalogue publié de la plateforme. Un de vos composants portant le même metadata.name a priorité sur celui du catalogue, et un use n'atteint jamais un autre espace de travail.
  • Détection de cycles — le compositeur suit les poignées visitées et rejette les cycles (A → B → A).
  • Un nom, plusieurs composants — quand plusieurs de vos composants portent le même metadata.name, une version fixée choisit celui de cette version ; sans version, la plus élevée l'emporte, et à version égale la plus récemment enregistrée. Donnez à chaque composant son propre nom, sauf s'il s'agit d'une nouvelle version du même.

Pipeline de composition​

1. Le document est chargé
2. Chaque use est résolu (récursivement, limité en profondeur) — la configuration
fusionne, les données par utilisation sont intégrées, les styles de section
sont estampillés, le contenu s'assemble
3. Les jetons $data / $item restants sont résolus avec les données de l'appelant
4. Les variables globales ($global.PAGE, …) sont résolues et le PDF / DOCX final est produit

La composition s'exécute avant la passe de données globales, les composants peuvent donc porter des références $data qui se résolvent avec les données de l'appelant.