<?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>Site Templates web services  o por programacion</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=10045122" />
  <subtitle>Site Templates web services  o por programacion</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=10045122</id>
  <updated>2026-04-07T01:52:21Z</updated>
  <dc:date>2026-04-07T01:52:21Z</dc:date>
  <entry>
    <title>RE: Site Templates web services  o por programacion</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=10057202" />
    <author>
      <name>Moisés Belda</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=10057202</id>
    <updated>2011-07-20T18:01:01Z</updated>
    <published>2011-07-20T18:01:01Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Realmente lo que quiero conseguir, es desde un proceso externo, poder llamar al metodo:&lt;br&gt;&lt;pre&gt;&lt;code&gt;
   public static void applyLayoutSetPrototypes(	Group group, long publicLayoutSetPrototypeId,long privateLayoutSetPrototypeId)
&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;El cual asigna un site template a una comunidad..... pero se me resiste.&lt;br&gt;&lt;br&gt;Descartado por web services, he intentado implementar que cada vez que se añade una comunidad, se capture ese evento y asigne ese site template....&lt;br&gt;lo he intentado con un hook. He creado un hook para tratar un ModelListener de "value.object.listener.com.liferay.portal.model.Group". &lt;br&gt;&lt;br&gt;Problema: CommunitiesUtil es una clase que esta en portal-impl.jar. He creado context.xml en META-INF para que el hook use el classLoader de tomcat  pero siempre ClassNotFoundError. Posteriormente, he intentado con :&lt;br&gt;&lt;pre&gt;&lt;code&gt;

String[] parameters = {"com.liferay.portal.model.Group","java.lang.Long","java.lang.Long"};
Group grupo = GroupLocalServiceUtil.getGroup(model.getGroupId());
PortalClassInvoker.invoke(false,  "com.liferay.portlet.communities.util.CommunitiesUtil",  "applyLayoutSetPrototypes", parameters,  grupo, 0L,111111L);

&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;Pero me da NoSuchMethodException..... No se si porque el la funcion applyLayoutSetPrototypes es static y hago mal el invoke... o por otra razón.&lt;br&gt;&lt;br&gt;Esta opción que me sugieres que sería con un plugin EXT de liferay 6? Cual sería la forma más viable de hacer esto?&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Moisés Belda</dc:creator>
    <dc:date>2011-07-20T18:01:01Z</dc:date>
  </entry>
  <entry>
    <title>RE: Site Templates web services  o por programacion</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=10053973" />
    <author>
      <name>Daniel Sanz</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=10053973</id>
    <updated>2011-07-20T12:04:36Z</updated>
    <published>2011-07-20T12:04:36Z</published>
    <summary type="html">Hola Rick,&lt;br /&gt;&lt;br /&gt;echa un vistazo a EditGroupAction.java. La funcionalidad que buscas no está disponible via servicios web.&lt;br /&gt;&lt;br /&gt;Un saludo</summary>
    <dc:creator>Daniel Sanz</dc:creator>
    <dc:date>2011-07-20T12:04:36Z</dc:date>
  </entry>
  <entry>
    <title>Site Templates web services  o por programacion</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=10045121" />
    <author>
      <name>Moisés Belda</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=10045121</id>
    <updated>2011-07-19T17:01:28Z</updated>
    <published>2011-07-19T17:01:28Z</published>
    <summary type="html">De que forma puedo asignar a una comunidad una Plantilla de Sitio web (Site Template) por programación? De la misma forma que en la lista seleccionable que aparece en las edición de una comunidad, que replica todo lo contenido en la Plantilla....&lt;br /&gt;&lt;br /&gt;Lo he intentado probando webservices con:&lt;br /&gt;&lt;br /&gt;- Portal_LayoutService (wsdl)&lt;br /&gt;  &lt;br /&gt;- Portal_LayoutPrototypeService (wsdl)&lt;br /&gt;  &lt;br /&gt;- Portal_LayoutSetPrototypeService (wsdl)&lt;br /&gt;&lt;br /&gt;- Portal_LayoutSetService (wsdl)&lt;br /&gt;&lt;br /&gt;Pero no encuentro al forma, solo puedo crear layouts y asignarlos a grupos (comunidades), replicando portlets, permisos etc..&lt;br /&gt;&lt;br /&gt;Alguna idea?</summary>
    <dc:creator>Moisés Belda</dc:creator>
    <dc:date>2011-07-19T17:01:28Z</dc:date>
  </entry>
</feed>
