Mi è capitato diverse volte, ma immagino che sarà capitato anche a voi, durante lo sviluppo di una portlet di dover selezionare un file o una cartella dalla Document Library di Liferay; una cosa a prima vista semplice concettualmente, visto che le stesse portlet di sistema lo fanno già in diversi punti.
Peccato che replicare lo stesso comportamento all'interno delle proprie portlet non sia subito immediato e richieda diverse ore di analisi dei sorgenti di Liferay per capire dove mettere le mani; chi di voi abbia mai messo le mani nei sorgenti di Liferay e soprattutto di AlloyUI sa bene quanto possa essere frustrante.
Ecco quindi che mi sono messo a pensare come poter risolvere il problema senza dover fare del copia/incolla ogni volta e la soluzione che ho trovato è stata quella di realizzare un apposito modulo di AlloyUI che mettesse a disposizione alcuni oggetti Javascript con cui interfacciarsi alla Document Library; qualcosa che sollevasse lo sviluppatore dai dettagli di funzionamento e che potesse essere riutilizzata nel tempo.
Ho così creato il modulo liferay-dl-util
ed impacchettato il tutto all'interno di un hook che ho rilasciato sul Marketplace di Liferay in modo che chiunque possa scaricarla ed utilizzarla immediatamente.
In questo articolo vedremo come utilizzare gli oggetti Javascript messi a disposizione dal modulo per consentire la selezione di un file o di una cartella dalla Document Library di Liferay.
L'estensione è scaricabile dal Marketplace di Liferay: Document Library JS Util