Fórum

Site Templates web services o por programacion

Rick Dangerous, modificado 12 Anos atrás.

Site Templates web services o por programacion

Junior Member Postagens: 61 Data de Entrada: 25/01/11 Postagens Recentes
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....

Lo he intentado probando webservices con:

- Portal_LayoutService (wsdl)

- Portal_LayoutPrototypeService (wsdl)

- Portal_LayoutSetPrototypeService (wsdl)

- Portal_LayoutSetService (wsdl)

Pero no encuentro al forma, solo puedo crear layouts y asignarlos a grupos (comunidades), replicando portlets, permisos etc..

Alguna idea?
thumbnail
Daniel Sanz, modificado 12 Anos atrás.

RE: Site Templates web services o por programacion

Regular Member Postagens: 143 Data de Entrada: 14/12/10 Postagens Recentes
Hola Rick,

echa un vistazo a EditGroupAction.java. La funcionalidad que buscas no está disponible via servicios web.

Un saludo
Rick Dangerous, modificado 12 Anos atrás.

RE: Site Templates web services o por programacion

Junior Member Postagens: 61 Data de Entrada: 25/01/11 Postagens Recentes
Realmente lo que quiero conseguir, es desde un proceso externo, poder llamar al metodo:

   public static void applyLayoutSetPrototypes(	Group group, long publicLayoutSetPrototypeId,long privateLayoutSetPrototypeId)


El cual asigna un site template a una comunidad..... pero se me resiste.

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....
lo he intentado con un hook. He creado un hook para tratar un ModelListener de "value.object.listener.com.liferay.portal.model.Group".

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 :


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);



Pero me da NoSuchMethodException..... No se si porque el la funcion applyLayoutSetPrototypes es static y hago mal el invoke... o por otra razón.

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?