Fóruns

Início » Liferay Portal » Español » 3. Desarrollo

Visualização combinada Visão plana Exibição em árvore
Tópicos [ Anterior | Próximo ]
toggle
Moisés Belda
Site Templates web services o por programacion
19 de Julho de 2011 10:01
Resposta

Moisés Belda

Ranking: Junior Member

Mensagens: 61

Data de entrada: 25 de Janeiro de 2011

Mensagens 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?
Daniel Sanz
RE: Site Templates web services o por programacion
20 de Julho de 2011 05:04
Resposta

Daniel Sanz

LIFERAY STAFF

Ranking: Regular Member

Mensagens: 121

Data de entrada: 14 de Dezembro de 2010

Mensagens recentes

Hola Rick,

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

Un saludo
Moisés Belda
RE: Site Templates web services o por programacion
20 de Julho de 2011 11:01
Resposta

Moisés Belda

Ranking: Junior Member

Mensagens: 61

Data de entrada: 25 de Janeiro de 2011

Mensagens recentes

Realmente lo que quiero conseguir, es desde un proceso externo, poder llamar al metodo:
1
2   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 :
1
2
3String[] parameters = {"com.liferay.portal.model.Group","java.lang.Long","java.lang.Long"};
4Group grupo = GroupLocalServiceUtil.getGroup(model.getGroupId());
5PortalClassInvoker.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?