Gestisci e pubblica css e JS dai siti tridion 9.5 e usali sull'applicazione web java dxa 2.2

Dec 16 2020

Mi sono imbattuto in uno scenario in cui css e js non vengono gestiti tramite html-build.zip,

Invece dobbiamo memorizzare css e js su cm e pubblicare quelle pubblicazioni in modo saggio.

inoltre ho bisogno di usare quei file CSS e file js su jsps sull'applicazione web.

qualcuno potrebbe suggerirmi come raggiungere questo obiettivo.

Risposte

3 paceaux Dec 16 2020 at 18:57

Ho usato Tridion per pubblicare CSS e JavaScript molte volte in passato.

Tieni presente che ogni implementazione è diversa . Quello che ho fatto potrebbe non funzionare con quello che hai fatto.

Componente del codice + modello di pagina

L'approccio più comune è un "Componente del codice" che è uno schema Tridion con un singolo campo di testo normale impostato su 20 - 30 righe. CSS e JavaScript vengono letteralmente copiati e incollati nel campo. Un modello di componente scritto in Razor Mediator for Tridion (o DWT per quella materia) esegue il rendering del singolo campo e l'output è un file .css o .js.

In un'implementazione, abbiamo aggiunto metadati ai nostri schemi di codice per consentirci di attivare o disattivare l'offuscamento e la minimizzazione. Ciò ha richiesto l'aggiunta di TBB .net che potrebbero ovviamente eseguire queste attività.

Creeremmo modelli di pagina CSS e JS il cui unico compito era rendere l' unico campo dai nostri componenti di codice. Essenzialmente questo ha fatto il lavoro di concatenare CSS o JS in un singolo file .css o .js.

Ho usato questo approccio in Tridion R5.1 - 2011. È un vecchio approccio che non ho visto nelle implementazioni moderne; ha funzionato quando stavamo pubblicando pagine JSP o HTML da Tridion a un file server.

Aspetti negativi:

  • Non funziona alla grande quando non pubblichi file statici
  • Rischio di errori di trascrizione durante la copia e incolla (sì, davvero)
  • risultati strani se CSS / JS non è ben scritto; quel modello di pagina ti consente di impostare l'ordine dei componenti del codice e, se il codice è scritto male, alcuni stili o blocchi JS potrebbero sovrascrivere altri o non funzionare se una cosa dipende da un'altra

Aspetti positivi:

  • Facile da implementare
  • "Codice come contenuto". Alcune organizzazioni hanno rigorosi processi di controllo delle modifiche e il trattamento del codice come contenuto significa che possono aggirare tali processi.

CSS / JS come binari

Questa è solo una rotazione dell'esempio precedente, ma l'idea qui è di aggiungere i tipi mime .css e .js a Tridion e consentire loro di essere caricati come binari. Ciò consente di risparmiare il dolore di errori di trascrizione da copia e incolla.

La pubblicazione viene quindi semplificata quando si pubblicano risorse direttamente da Tridion.

Aspetti negativi

  • Ancora uno scenario di "codice come contenuto", sebbene il rischio di errori di trascrizione sia semplificato.
  • rinominare un binario è ogni sorta di problema. Potrebbe portare al server per eliminare manualmente il file .css (o lo ha fatto ai miei tempi). Potrebbe anche causare un sito danneggiato.

Aspetti positivi

  • Facile da implementare
  • meno probabilità di avere errori di copia-pasta rispetto all'altra opzione

Ho fatto entrambi questi scenari. Ho anche avuto un caso in cui abbiamo creato un TBB speciale per eseguire un preprocessore CSS in Tridion , quindi avremmo potuto avere SASS / SCSS nel CMS.

Ci sono forti svantaggi in questi approcci. Soprattutto, ti consigliamo di assicurarti di poter effettivamente impostare determinati modelli di pagina da pubblicare come file statici e non andare al broker (per essere trattati come contenuti effettivi).

Nell'approccio "CSS / JS come binari", verranno trattati come immagini, video e PDF. Potresti non volerlo.

NeeteshNarvaria Jan 11 2021 at 11:54

Ho manipolato le istruzioni grugnite sul componente zip del file di compilazione e ho inserito tutti i css e js e le immagini statiche nel componente zip html-design, ho anche creato un gruppo di strutture come richiesto dal modello "Pubblica design HTML", che come sono in grado di pubblicare css e js come contenuto binario dxa senza toccare alcun modello o modificare il lato dell'applicazione web.