Gérez et publiez css et JS à partir des sites tridion 9.5 et utilisez-les sur l'application Web java dxa 2.2

Dec 16 2020

Je suis venu sur un scénario où css et js ne sont pas gérés via html-build.zip,

Au lieu de cela, nous devons stocker css et js sur cm et publier ces publications.

J'ai également besoin d'utiliser ces fichiers css et js sur jsps sur une application Web.

quelqu'un pourrait s'il vous plaît me suggérer comment cela peut être réalisé.

Réponses

3 paceaux Dec 16 2020 at 18:57

J'ai utilisé Tridion pour publier du CSS et du JavaScript à plusieurs reprises dans le passé.

Veuillez garder à l'esprit que chaque implémentation est différente . Ce que j'ai fait peut ne pas fonctionner avec ce que vous avez fait.

Composant de code + modèle de page

L'approche la plus courante est un «composant de code» qui est un schéma Tridion avec un seul champ de texte brut défini sur 20 à 30 lignes. CSS et JavaScript sont littéralement copiés et collés dans le champ. Un modèle de composant écrit en Razor Mediator pour Tridion (ou DWT d'ailleurs) rend le champ unique et la sortie est un fichier .css ou .js.

Dans une implémentation, nous avons ajouté des métadonnées à nos schémas de code pour nous permettre de basculer entre l'obscurcissement et la minification. Cela nous a obligé à ajouter des TBB .net qui pourraient bien sûr exécuter ces tâches.

Nous créerions des modèles de page CSS et JS dont le seul travail était de rendre le champ unique à partir de nos composants de code. Essentiellement, cela a permis de concaténer CSS ou JS en un seul fichier .css ou .js.

J'ai utilisé cette approche dans Tridion R5.1 - 2011. C'est une vieille approche que je n'ai pas vue dans les implémentations modernes; cela fonctionnait lorsque nous publiions des pages JSP ou HTML de Tridion vers un serveur de fichiers.

Inconvénients:

  • Ne fonctionne pas très bien lorsque vous ne publiez pas de fichiers statiques
  • Risque d'erreurs de transcription lors du copier-coller (oui, vraiment)
  • résultats étranges si CSS / JS n'est pas bien écrit; ce modèle de page vous permet de définir l'ordre des composants du code, et si le code est mal écrit, certains styles ou blocs JS peuvent en écraser d'autres ou ne pas fonctionner si une chose dépend d'une autre

Inconvénients:

  • Facile à mettre en œuvre
  • "Code en tant que contenu". Certaines organisations ont des processus de contrôle des changements stricts et traiter le code comme un contenu signifie qu'elles peuvent contourner ces processus.

CSS / JS en tant que binaires

Ceci est juste un spin sur l'exemple précédent, mais l'idée ici est que vous ajoutez les types mime .css et .js à Tridion et que vous leur permettez d'être téléchargés en tant que binaires. Cela évite les erreurs de transcription dues au copier-coller.

La publication est ensuite simplifiée lorsque vous publiez des éléments directement à partir de Tridion.

Inconvénients

  • Encore un scénario «code comme contenu», bien que le risque d'erreurs de transcription soit simplifié.
  • renommer un binaire est toutes sortes de problèmes. Cela pourrait amener le serveur à supprimer manuellement le fichier .css (ou il l'a fait à mon époque). Cela pourrait également entraîner un site cassé.

Inconvénients

  • Facile à mettre en œuvre
  • moins susceptible d'avoir des erreurs de copie de pâtes que l'autre option

J'ai fait ces deux scénarios. J'ai également eu un cas où nous avons créé un TBB spécial pour exécuter un préprocesseur CSS dans Tridion , afin que nous puissions avoir SASS / SCSS dans le CMS.

Il y a des inconvénients importants à ces approches. Plus important encore, vous voudrez vous assurer que vous pouvez réellement définir certains modèles de page pour les publier en tant que fichiers statiques et ne pas aller chez le courtier (pour être traités comme du contenu réel).

Dans l'approche «CSS / JS en tant que binaires», ils seront traités comme des images, des vidéos et des PDF. Vous ne voudrez peut-être pas cela.

NeeteshNarvaria Jan 11 2021 at 11:54

J'ai manipulé des instructions grunt sur le composant zip de fichier de construction et mis tous les css, js et images statiques dans le composant zip html-design, j'ai également créé un groupe de structure comme requis par le modèle "Publish HTML design", comment je suis capable de publier css et js en tant que contenu binaire dxa sans toucher à aucun modèle ni changement du côté de l'application Web.