Qualche giorno fa ero a fare ottimizzazione e performance di Liferay da un cliente.
Dopo aver sistemato un "piccolo problemino" legato alla disabilitazione delle cache di Liferay sul cluster di produzione, però, mi sono imbattuto in un nuovo problema: i temi che erano installati, e che, a cache spente, si vedevano correttamente, ora non caricavano più le modifiche dei rispettivi custom.css
.
Dopo aver combattuto un po' con il problema era evidente che il css generato dal portale non "rileggeva" il file custom.css
che avevamo modificato.
Andando a studiare un po' più nel dettaglio l'architettura dei componenti che riguardano la parte di costruzione e aggregazione dei CSS, ho concluso che il problema era relativo alla .sass-cache
del tema.
Dentro a questa cartella, infatti, vengono cachati tutti i css che sono all'interno del tema e viene generato il file main.css
che viene poi servito dal portale.
In pratica, siccome il mio tema ereditava la cartella .sass-cache
dal tema originale, non avendo modificato il file main.css
dentro alla mia _diffs
, succedeva che le mie modifiche non venivano lette.
Come ho sistemato? :)
Beh, il workaround è stato banale: è bastato copiare il file main.css
dentro a _diffs
e aggiungere qualche spazio bianco perché venisse letto come modificato e quindi fosse ricachato tutto quanto!
Spero che questo post vi possa evitare le ore di lavoro e frustrazione che invece io non mi sono risparmiato! :|
P.S. Se vi state domandando come mai al vostro grafico non succede, probabilmente il motivo è perché lui, lavorando in Eclipse, usa il Tomcat embedded. Questa configurazione fa si che l'SDK di Liferay copi nella liferay home il portal-ide.properties
che, al suo interno, richiama il portal-developer.properties
che è il file responsabile della disabilitazione delle cache a livello di portale.
Anche qui c'è stato un cinema con i miei colleghi perché vi lascio immaginare la mia frustrazione nello scoprire che, come al solito, a tutti funzionava tranne che a me! ;)
Ma questa è un'altra storia.. ;D
Alla prossima! :)