<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Come si fa a includere una portlet nel menu CONFIGURATION ?</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=112629765" />
  <subtitle>Come si fa a includere una portlet nel menu CONFIGURATION ?</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=112629765</id>
  <updated>2026-04-05T11:06:32Z</updated>
  <dc:date>2026-04-05T11:06:32Z</dc:date>
  <entry>
    <title>RE: Come si fa a includere una portlet nel menu CONFIGURATION ?</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=112695591" />
    <author>
      <name>Daniele Baggio</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=112695591</id>
    <updated>2019-03-12T14:40:41Z</updated>
    <published>2019-03-12T14:40:41Z</published>
    <summary type="html">Qua bisogna ripassare i fondamentali del service builder di Liferay e della nuova architettura basata su OSGi..&lt;br /&gt;&lt;br /&gt;E&amp;#39; corretto l&amp;#39;uso di un riferimento XxxLocalService e non contravviene affatto il commento &amp;#34;Never modify or reference this interface directly&amp;#34;.&lt;br /&gt;Infatti tu non la sta istanziando direttamente ma tramite @Reference ti viene servita una istanza corretta secondo  il lifecycle e la risoluzione delle dipendenze osgi.&lt;br /&gt;&lt;br /&gt;Consiglio questa lettura: https://www.manning.com/books/osgi-in-action&lt;br /&gt;&lt;br /&gt;​​​​​​​bye</summary>
    <dc:creator>Daniele Baggio</dc:creator>
    <dc:date>2019-03-12T14:40:41Z</dc:date>
  </entry>
  <entry>
    <title>RE: Come si fa a includere una portlet nel menu CONFIGURATION ?</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=112693305" />
    <author>
      <name>Bernardo Foschi</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=112693305</id>
    <updated>2019-03-12T14:10:13Z</updated>
    <published>2019-03-12T14:10:13Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Dopo un po di ore perse sono arrivato alla soluzione, ma questa ancora necessita di una spiegazione teorica che non ho; sper che qualcuno possa darmela.&lt;br&gt;&lt;br&gt; &lt;span style="color: #000000"&gt;&lt;span style="font-family: Arial"&gt;&lt;span style="font-size: 14px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Seguendo la documentazione ufficiale ho trovato che si può pubblicare una portlet nel pannello di amministrazione del sito&lt;br&gt;definendo per essa una PanelApp (&lt;strong&gt;public class XxxxPanelApp extends BasePanelApp &lt;/strong&gt;) e definendo a modo le annotation &lt;em&gt;@Component&lt;/em&gt;.&lt;br&gt;&lt;a href="https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/writing-an-administrative-portlet"&gt;DOCS&lt;/a&gt;&lt;br&gt;&lt;br&gt;Questa soluzione per ore comunque non mi ha funzionato perchè io modificavo una portlet già fatta per altri scopi e contenente un campo iniettato&lt;pre&gt;&lt;code&gt;public class XxxPortlet extends MVCPortlet {
@Reference(unbind="-")
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;private XxxLocalServiceUtil _xxxLocalServiceUtil;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;public XxxLocalServiceUtil getXxxLocalServiceUtil() {&amp;amp;nbsp; return _xxxLocalServiceUtil; }&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;public void setXxxLocalServiceUtil(XxxLocalServiceUtil clsu) { _xxxLocalServiceUtil = clsu; }
&lt;/code&gt;&lt;/pre&gt;&amp;nbsp;&lt;br&gt;Consultando più attentamente la documentazione e gli esempi ho notato che invece loro suggeriscono di usarlo cosi:&lt;pre&gt;&lt;code&gt;public class XxxPortlet extends MVCPortlet {
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;private XxxLocalService _xxxLocalService;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;public XxxLocalService getXxxLocalService() {&amp;amp;nbsp; return _xxxLocalService; }&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;@Reference(unbind="-")
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;public void setXxxLocalService(XxxLocalService cls) { _xxxLocalService = cls; }[b][/b]&lt;/code&gt;&lt;/pre&gt;&lt;strong&gt;cioè di iniettare direttamente l'interfaccia XxxLocalService invece della classe Util&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;&lt;br&gt;Questo contravviene a quanto ci è stato spiegato al corso che mi ha introdotto a questo portale ma non solo, &lt;strong&gt;contravviene anche il commento stesso sulla classe&amp;nbsp; XxxLocalService&lt;/strong&gt; &lt;em&gt;&lt;/em&gt;&lt;pre&gt;&lt;code&gt;[i][/i]public interface XxxLocalService extends BaseLocalService,
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;PersistedModelLocalService {
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;/*
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; * NOTE FOR DEVELOPERS:
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; * Never modify or reference this interface directly. Always use {@link XxxLocalServiceUtil} to access the xxx local service. Add custom service methods to {@link it.treeffe.feedback.service.impl.XxxLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; */[i][/i]
&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;confermo empiricamente che se inietto la classe Util, la portlet non parte neppure....&lt;br&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;Sapresti spiegarmi come mai?&lt;br&gt;&lt;br&gt;&lt;br&gt;Grazie mille. &lt;img alt="emoticon" src="@theme_images_path@/emoticons/smile.gif"&gt;&lt;span style="color: #000000"&gt;&lt;span style="font-family: Arial"&gt;&lt;span style="font-size: 14px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Bernardo Foschi</dc:creator>
    <dc:date>2019-03-12T14:10:13Z</dc:date>
  </entry>
  <entry>
    <title>Come si fa a includere una portlet nel menu CONFIGURATION ?</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=112629764" />
    <author>
      <name>Bernardo Foschi</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=112629764</id>
    <updated>2019-03-07T16:43:37Z</updated>
    <published>2019-03-07T16:43:37Z</published>
    <summary type="html">Salve a tutti,&lt;br /&gt;&lt;br /&gt;Sto muovendo i primi passi nello sviluppo con Liferay 7.1 e per l&amp;#39;esercizio vorrei riuscir a includere la mia neoata portlet &lt;br /&gt;nel menu configuration del del sito &lt;em&gt;padre&lt;/em&gt;. &lt;br /&gt;&lt;br /&gt;&lt;img src="/documents/14/110203813/Liferay.Qui.jpg/32660ed3-3061-1b69-c3d2-cc8ea742c192?t=1551976802160"  height="324" width="643" /&gt;&lt;br /&gt;&lt;br /&gt;Come si fa?&lt;br /&gt;Sarà che sto cercando male online, ma non trovo nulla di supporto.&lt;br /&gt;&lt;br /&gt;Grazie &lt;img alt="emoticon" src="@theme_images_path@/emoticons/happy.gif" &gt;</summary>
    <dc:creator>Bernardo Foschi</dc:creator>
    <dc:date>2019-03-07T16:43:37Z</dc:date>
  </entry>
</feed>
