RE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaRE: RecuperoDati database e visualizzazione in un assetPublisher con Freemahttps://liferay.dev/en/c/message_boards/find_thread?p_l_id=119785333&threadId=1010698562024-03-29T05:45:39Z2024-03-29T05:45:39ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaJader Franciahttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1028677232018-01-17T13:24:54Z2018-01-17T13:24:54ZBeh, in realtà è più semplice di quello che credi! <img alt="emoticon" src="@theme_images_path@/emoticons/happy.gif" ><br />Diciamo che nella 7 il file liferay-portlet.xml è si, scomparso, però le sue properties sono diventate gli argomenti che passi all'annotation @Component.<br /><br />Quindi ti basterà mutuare quello che ora è dichiarativo nel file XML in "stringhe ti testo inchiavardate nel codice java" e tutto si risolverà! <img alt="emoticon" src="@theme_images_path@/emoticons/happy.gif" ><br /><br />Ovviamente, come sempre, se hai bisogno di qualche cosa chiedi! ;)<br /><br />Ciao, J.Jader Francia2018-01-17T13:24:54ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaMassimo Bevilacquahttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1024521482018-01-09T10:53:37Z2018-01-09T10:53:37ZCiao, purtroppo in questo periodo sono occupato su altro e non credo che potró trstare a breveMassimo Bevilacqua2018-01-09T10:53:37ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaS Shttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1024026002018-01-08T08:53:52Z2018-01-08T08:53:52ZCiao sei riuscito a risolvere il problema?S S2018-01-08T08:53:52ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaMassimo Bevilacquahttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1012732552017-12-20T10:55:43Z2017-12-20T10:55:43ZNo, in realtá al momento sto lavorando su altro. Appena avró tempo proveró a seguire il tutorial e capire come adattarlo alla versione 7 di liferayMassimo Bevilacqua2017-12-20T10:55:43ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaS Shttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1012698402017-12-20T10:14:56Z2017-12-20T10:14:56ZCiao,sei riuscito a risolvere il problema?S S2017-12-20T10:14:56ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaMassimo Bevilacquahttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1011724792017-12-19T08:15:07Z2017-12-19T08:15:07ZGrazie mille per la risposta esaustiva.<br /><br />Ho dato una rapida lettura al blog e come hai detto é riferito alla versione 6 di liferay.<br />Quando fai riferimento a "Creazione di un AssetRenderer per un'entità custom" e precisamente alla modifica del file "liferay-portlet.xml", da quello che mi risulta questo file non é piú utilizzato nella versione 7.<br />Quel passaggio come deve essere fatto nella versione 7?Ci sono altre modifiche da fare per adattare il tutorial alla versione 7?<br /><br />Grazie ancora<br /><br />MassimoMassimo Bevilacqua2017-12-19T08:15:07ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaMarco Azzalinihttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1011724662017-12-19T08:13:56Z2017-12-19T08:13:56Zbeh, se scendono in campo i pezzi da 90, allora io mi faccio rispettosamente da parte! :-) <br />Anche perché Jader ti ha dato una <em><strong>super</strong></em> risposta che più completa non si poteva!<br /><br />ciao<br />MarcoMarco Azzalini2017-12-19T08:13:56ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaJader Franciahttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1011652582017-12-19T03:24:36Z2017-12-19T03:24:36ZCiao a tutti!<br />In realtà il problema è che, probabilmente, la portlet che hai realizzato di CRUD scrive le tue tabelle di dominio <strong>ma non inserisce i record anche nell'asset framework</strong>!<br /><br />Che cosa significa questo?<br /><br />Che per vedere, come dice Marco, i tuoi asset all'interno dell'Asset Publisher devi "insegnare" a Liferay a:<br />- riconoscerli<br />- visualizzarli<br /><br />Il concetto è semplice: l'asset publisher non è magico, non è che può fare query su tabelle custom che non conosce, quindi riconduce tutto ad un modello a lui noto, l'asset framework, appunto.<br />All'interno dell'asset framework (più specificamente all'interno della tabella <strong>assetentry</strong>), quindi, usando le colonne (che devi popolare tu quando censisci i tuoi oggetti) <strong>title</strong>, <strong>description</strong> e/o <strong>summary</strong>, lui estrare i contenuti.<br />Per presentarli, poi, utilizza degli oggetti che devi mappare; i riferimenti sono gli oggetti AssetRendererFactory (ovvero la factory di costruzione dei "renderer" specifici della tua tabella) e l'AssetRenderer, ovvero l'oggetto che dice al framework proprio <em>come</em> devono essere presentati gli oggetti.<br /><br />Ora, lo so che la lectio magistralis qui sopra dice poco o nulla chi non ha mai fatto queste cose ;), però, per fortuna, ho un post (per sfortuna sulla versione 6) che ti spiega tutto il giro, lo puoi trovare qui: <a href="http://blog.d-vel.com/home/-/blogs/esporre-le-proprie-entity-custom-come-asset-di-portale">http://blog.d-vel.com/home/-/blogs/esporre-le-proprie-entity-custom-come-asset-di-portale</a><br /><br />Concludo dicendo che dopo, all'interno dell'asset publisher, potrai scegliere come modello dei dati da estrarre il tuo modello custom e, all'interno del template, usando la notazione per caricare il tuo service, potrai estrarre i tuoi oggetti dalla tua tabella custom.<br />Il field che devi usare della tabella <strong>assetentry</strong> per avere la chiave primaria del tuo oggetto è <strong>classPK</strong>. Dietro c'è tutto un concetto di polimorfismo delle tabelle che adesso forse è un po' inutile spiegare; se però pensi ti possa servire chiedi! ;)<br /><br />Spero di esserti stato d'aiuto; in caso tu abbia bisogno d'altro, come sempre, siamo qui! ;)<br /><br />Ciao, J.Jader Francia2017-12-19T03:24:36ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaMarco Azzalinihttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1011148432017-12-18T16:29:54Z2017-12-18T16:29:54Z<html><head></head><body>Ciao, sinceramente non so perché non la vedi. Vado a memoria ma non mi pare serva altro per far vedere una entity.<br>O meglio, se non metti una impostazione nel Portal_xx.properties per la traduzione, la vedi con tutto il FQDN completo, però la vedi.<br>Prova ad aggiungere qualcosa del tipo, forse aiuta<br><br><pre><code>model.resource.it.mio.package.del.modello.MiaEntity=MiaEntity</code></pre><br><br>ciao<br>Marco</body></html>Marco Azzalini2017-12-18T16:29:54ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaMarco Azzalinihttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1011146192017-12-18T16:19:15Z2017-12-18T16:19:15Z<html><head></head><body><div class="quote-title">S S:</div><blockquote>@Marco Azzalini<br><br> Grazie, utilissimo.Solo una cosa ,una volta che hai avuto accesso alla classe, come fai il get dei parametri?</blockquote><br>Intendi ai metodi specifici della tua entity? Ad essere sincero non mi è mai servito in un adt andare oltre i metodi esposti dall'asset <img alt="emoticon" src="@theme_images_path@/emoticons/blush.gif">ma avendo<br>l'id (entry.getClassPK) puoi caricare il tuo oggetto e accedere ai metodi della tua interfaccia.<br>Ti serve l'accesso al tuo service e credo che così ci puoi arrivare (ma è da provare):<br><pre><code>&lt;#assign myLocalService = serviceLocator.findService("mio.service.EsempioLocalService") /&gt;</code></pre> <br> <br>ciao<br>Marco</body></html>Marco Azzalini2017-12-18T16:19:15ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaS Shttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1011013232017-12-18T14:20:56Z2017-12-18T14:20:56Z@Marco Azzalini<br /><br /> Grazie, utilissimo.Solo una cosa ,una volta che hai avuto accesso alla classe, come fai il get dei parametri?S S2017-12-18T14:20:56ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaMassimo Bevilacquahttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1011003122017-12-18T14:07:32Z2017-12-18T14:07:32ZGrazie per la risposta, ma nella colonna asset type del PA non c'é la mia Entity.<br /><br />Il mio test é motlo semplice e "simula" una libreria.<br />- library.api.jar<br />- library.service.jar<br />- library.manager.jar<br /><br />il manager é la custom portlet che aggiungo in pagina con cui posso aggiungere, cercare e cancellare libri.<br />Con il service builder ho creato una nuova Entity chiamata Book.<br /><br />La mia portlet funziona bene, devo per caso fare qualche setting o aggiungere qualche cosa al file di properties per vedere la mia entity in un Asset Publischer?Massimo Bevilacqua2017-12-18T14:07:32ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaS Shttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1010976962017-12-18T14:04:31Z2017-12-18T14:04:31ZCiao, quando dici :mio.modello.miaClasse, quali classe generata dal ServiceBuilder bisogna utilizzare:<br /><br />EsempioLocalService, che rappresenta l'interfaccia<br />EsempioLocalServiceUil, rappresentante la classe?S S2017-12-18T14:04:31ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaMarco Azzalinihttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1010956942017-12-18T13:38:44Z2017-12-18T13:38:44Z<div class="quote-title">Massimo Bevilacqua:</div><blockquote><br />Nelle configurazioni dell'asset publisher?Mi sfugge come si possano includere gli oggetti creati con il service builder.<br />Ho usato il service builder solo per una custom portlet, quindi potrebbe essere utile anche a me sapere come richiamarli in un asset publisher o web content!</blockquote><br /><br />Nella configurazione di un AP, selezioni <em>dinamico</em> come metodo di selezione della risorsa e poi come 'Tipo Risorsa', imposti <em>selezionane più di uno</em> <br />Nella move-boxes che ti si apre sotto, a sinistra vedrai tutti gli Asset configurati nel portale (compresi i tuoi), e devi spostare a destra quelli che vuoi che l'AP tiri sul dal DB<br /><br />ciao<br />MarcoMarco Azzalini2017-12-18T13:38:44ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaMarco Azzalinihttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1010953672017-12-18T13:31:56Z2017-12-18T13:31:56Z<html><head></head><body>Ciao, se stai scrivendo un ADT, questo frammento di codice preso da un mio adt forse ti può servire come spunto.<br>Dalla lista dei valori che l'AssetPublisher carica dal db, costruisco una tabella con determinati valori, siccome nella configurazione dell'AP ho fatto caricare diversi tipi di asset, l'if mi serve per comportarmi in modo opportuno con i vari tipi di asset<br><br><pre><code><div class="lfr-meta-actions asset-actions">
</div><table class="table table-bordered table-hover table-striped">
&lt;#list entries as entry&gt;
&lt;#if entry.getClassName()=="mio.modello.miaClasse"&gt;
&lt;#assign id=entry.getClassPK() /&gt;
&lt;#assign assetRenderer = entry.getAssetRenderer() /&gt;
&lt;#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) /&gt;
<tbody><tr><td>
<a href="${viewURL}"><img alt="" src="${assetRenderer.getIconPath(renderRequest)}">&nbsp; ${entryTitle}</a>
</td>
....
<!--#if-->
<!--#list-->
</tr></tbody></table>
</code></pre><br>Spero ti possa servire...<br>ciao<br>Marco</body></html>Marco Azzalini2017-12-18T13:31:56ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaS Shttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1010775982017-12-18T11:02:09Z2017-12-18T11:02:09ZCosa intendi per dalla configurazione? Io devo richiamare il nome dell dell'utente scrivendo codice freemarker nell editor offerto da liferay quando si crea un adt.S S2017-12-18T11:02:09ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaMassimo Bevilacquahttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1010742502017-12-18T10:59:50Z2017-12-18T10:59:50ZImmagino che la domanda sia proprio come fare per creare un ADT(o template) al cui interno vengano recuperati questi dati da database!<br /><br /><blockquote>dalla configurazione la includi tra i tipi di oggetto che deve caricare e imposti le varie altre condizioni e si dovrebbe vedere</blockquote><br /><br />Nelle configurazioni dell'asset publisher?Mi sfugge come si possano includere gli oggetti creati con il service builder.<br />Ho usato il service builder solo per una custom portlet, quindi potrebbe essere utile anche a me sapere come richiamarli in un asset publisher o web content!Massimo Bevilacqua2017-12-18T10:59:50ZRE: RecuperoDati database e visualizzazione in un assetPublisher con FreemaMarco Azzalinihttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1010738922017-12-18T10:22:22Z2017-12-18T10:22:22Z<div class="quote-title">S S:</div><blockquote>L.entita creata.si.chiama.utenza.e.la colonna si chiama.nomeUtente appunto,ovviMemte.ce.anche.una chiave primaria id.</blockquote><br />Scusa la facile battuta, ma: che problema ha il tasto '.' della tua tastiera? <img alt="emoticon" src="@theme_images_path@/emoticons/happy.gif" ><br /><br />Venendo al problema, ma se hai una entity, non dovresti avere problemi a visualizzarla nell'AssetPublisher... dalla configurazione la includi tra i tipi di oggetto che deve caricare e imposti le varie altre condizioni e si dovrebbe vedere. Oppure mi sfugge il problema...<br /><br />ciao<br />MarcoMarco Azzalini2017-12-18T10:22:22ZRE: RecuperoDati database e visualizzazione in un assetPublisher con Freema