Zarządzaj i publikuj css i JS z witryn tridion 9.5 i używaj ich w aplikacji internetowej dxa 2.2 java

Dec 16 2020

Wpadłem na scenariusz, w którym css i js nie są obsługiwane przez html-build.zip,

Zamiast tego musimy przechowywać css i js w cm i publikować je mądrze.

również muszę użyć tych plików css i plików js na plikach jsps w aplikacji internetowej.

czy ktoś mógłby mi podpowiedzieć, jak można to osiągnąć.

Odpowiedzi

3 paceaux Dec 16 2020 at 18:57

W przeszłości wielokrotnie korzystałem z Tridiona do publikowania CSS i JavaScript.

Pamiętaj, że każda implementacja jest inna . To, co zrobiłem, może nie działać z tym, co zrobiłeś.

Komponent kodu + szablon strony

Najpopularniejszym podejściem jest „składnik kodu”, który jest schematem Tridion z pojedynczym polem tekstowym ustawionym na 20–30 wierszy. CSS i JavaScript są dosłownie kopiowane i wklejane w polu. Szablon komponentu napisany w Razor Mediator for Tridion (lub DWT w tym przypadku) renderuje pojedyncze pole, a wynikiem jest plik .css lub .js.

W jednej implementacji dodaliśmy metadane do naszych schematów kodu, aby umożliwić nam przełączanie zaciemniania i minifikacji. Wymagało to od nas dodania TBB .net, które mogłyby oczywiście wykonywać te zadania.

Tworzymy szablony stron CSS i JS, których jedynym zadaniem było renderowanie jednego pola z naszych komponentów kodu. Zasadniczo spełniało to zadanie polegające na połączeniu CSS lub JS w pojedynczy plik .css lub .js.

Użyłem tego podejścia w Tridion R5.1 - 2011. Jest to stare podejście, którego nie widziałem we współczesnych implementacjach; działało, gdy publikowaliśmy strony JSP lub HTML z Tridion na serwerze plików.

Wady:

  • Nie działa dobrze, gdy nie publikujesz plików statycznych
  • Ryzyko błędów transkrypcji podczas kopiowania i wklejania (tak, naprawdę)
  • dziwne wyniki, jeśli CSS / JS nie jest dobrze napisany; ten szablon strony pozwala ustawić kolejność komponentów kodu, a jeśli kod jest źle napisany, niektóre style lub bloki JS mogą nadpisać inne lub nie działać, jeśli jedna rzecz zależy od drugiej

Zalety:

  • Łatwe do wdrożenia
  • „Kod jako treść”. Niektóre organizacje mają ścisłe procesy kontroli zmian, a traktowanie kodu jako treści oznacza, że ​​mogą ominąć te procesy.

CSS / JS jako pliki binarne

To tylko omówienie poprzedniego przykładu, ale pomysł polega na tym, że dodajesz typy mime .css i .js do Tridion i zezwalasz na ich ładowanie jako pliki binarne. Oszczędza to bólu związanego z błędami transkrypcji podczas kopiowania i wklejania.

Publikowanie jest wtedy uproszczone, ponieważ publikujesz zasoby bezpośrednio z Tridion.

Wady

  • Nadal scenariusz „kod jako treść”, chociaż ryzyko błędów transkrypcji jest uproszczone.
  • zmiana nazwy pliku binarnego jest różnego rodzaju problematyczna. Może to spowodować, że serwer będzie mógł ręcznie usunąć plik .css (lub zrobił to za moich czasów). Może to również spowodować uszkodzenie witryny.

Plusy

  • Łatwe do wdrożenia
  • mniejsze prawdopodobieństwo wystąpienia błędów kopiowania makaronu niż w przypadku drugiej opcji

Zrobiłem oba te scenariusze. Miałem również przypadek, w którym stworzyliśmy specjalny TBB do wykonania preprocesora CSS w Tridion , więc mogliśmy mieć SASS / SCSS w CMS.

Takie podejście ma poważne wady. Co najważniejsze, chciałbyś się upewnić, że możesz faktycznie ustawić określone szablony stron tak, aby były publikowane jako pliki statyczne i nie trafiały do ​​brokera (aby były traktowane jako rzeczywista zawartość).

W podejściu „CSS / JS jako pliki binarne” będą one traktowane jak obrazy, filmy i pliki PDF. Możesz tego nie chcieć.

NeeteshNarvaria Jan 11 2021 at 11:54

Manipulowałem instrukcją do kompilacji pliku zip i umieściłem wszystkie css i js oraz statyczne obrazy w komponencie zip html-design, utworzyłem również grupę struktur zgodnie z wymaganiami szablonu "Opublikuj projekt HTML", w jaki sposób mogę opublikować css i js jako zawartość binarną dxa bez dotykania żadnego szablonu lub zmiany po stronie aplikacji internetowej.