Foren

Rol Redactor y Rol Publicador de contenidos Liferay 5.2.3

Cecilia Lopez Gonzalez, geändert vor 14 Jahren.

Rol Redactor y Rol Publicador de contenidos Liferay 5.2.3

Junior Member Beiträge: 27 Beitrittsdatum: 25.09.08 Neueste Beiträge
Buenas,

Estoy comenzando un proyecto con la versión 5.2.3 de Liferay y con el nuevo sistema de roles tengo dudas. Yo ya he trabajado en proyectos con versiones anteriores de Liferay pero me ha surgido una gran duda y me gustaría saber cuál es la mejor solución.

Necesito tener un rol "Redactor de contenidos" y otro rol "Publicador de contenidos".

1er intento) Me he creado 2 roles y les he asignado permisos solamente sobre el portlet "Contenido web" pensando que se me mostraría el panel de control con la opción sólo de contenido web. Buscando en el foro he visto que para poder tener todas las funcionalidades en el Panel de control es necesario ser administrador de una comunidad.

Yo no quiero que el usuario redactor sea Administrador, así que esta opción la he descartado.

2 intento) He creado una página privada a la que he dado permisos para el rol Redactor y Publicador y ahí pretendía agregar el portlet 'Contenido web' pero no está en el listado de portlets. En versiones anteriores disponíamos del portlet Diario y simplemente con asignar los permisos adecuados sobre el portlet Diario a los roles y asignar los permisos en las páginas privadas sobre estos roles ya lo tenía todo listo, una página privada sólo para los redactores y publicadores de contenidos en la cual se podía crear contenido.

Al no poder desplegar el portlet 'Diario' que ahora es 'Contenido web' pues tampoco me vale.

3 intento) He vuelto a crear 2 roles Publicador y Redactor y he asignado permisos a estos roles sobre 2 portlets: Publicador de contenidos y Contenido web. He creado 1 página con permisos para el Publicador y Redactor y he agregado el portlet Publicador de contenido el cual lo he configurado para agregar contenido web.
Pensé que de esta forma me iba a funcionar pero se vuelve loco. Cuando me logo con el usuario redactor, liferay empieza a darme errores por todos lados, no consigo acceder al portlet ni nada.

No entiendo por qué ésta última opción no me funciona la verdad. Voy a seguir intentado esta opción pero me estoy planteando modificar el Panel de Control para que muestre además de los datos de la cuenta del usuario y la comunidad dónde esté el contenido web para el rol publicador y redactor porque es la opción que más me gustaría.

Cuando consiga solucionar el tema, tengo otro problema. Por exigencias del cliente quiere un rol Redactor y un rol Publicador de noticias para cada categoría de noticias. Yo había pensado en asignar permisos a las categorías a un redactor noticias X y publicador noticias X y cuando dicho usuario se logue sólo debería poder añadir noticias dentro de la categoría que yo quiero. La idea de hacerlo por comunidades u organizaciones no me gusta porque luego se me complica el tema de poder obtener contenidos de varias comunidades por categorías o etiquetas o como quiera. Esto no lo he probado pero cuando solucione el primero ya me lo plantearé o tendré que modificar código para que se adapte a mi funcionalidad.


¿Cuál pensáis que es la mejor manera de obtener un rol Publicador y un rol Redactor ? ¿Y por qué Liferay se comporta de esta forma en la versión 5.2.3?

Gracias y espero que me aportéis vuestras ideas porque supongo que el rol Publicador y Redactor es bastante común para cualquier proyecto y se le habrá planteado a más gente.
Cecilia Lopez Gonzalez, geändert vor 14 Jahren.

RE: Rol Redactor y Rol Publicador de contenidos Liferay 5.2.3

Junior Member Beiträge: 27 Beitrittsdatum: 25.09.08 Neueste Beiträge
Al final seguí un post de Julio que encontré y lo he podido resolver.

He tenido que crear una nueva clase que JournalControlPanelEntry que implementa la interfaz ControlPanelEntry y sobreescribir el método

public class JournalControlPanelEntry implements ControlPanelEntry{
public boolean isVisible(PermissionChecker permissionChecker, Portlet portlet)throws Exception{
// si el usuario tiene rol redactor y permisos para ello
}
}

Después habrá que poner la siguiente línea en liferay-portlet-ext.xml dentro del descriptor del portlet Journal
<control-panel-entry-class>com.liferay.portlet.journal.JournalControlPanelEntry</control-panel-entry-class>

Si me logo como redactor ahora en el panel de control tengo disponible el portlet Contenido web que necesitaba.
Pepe Pepe Pepe, geändert vor 14 Jahren.

RE: Rol Redactor y Rol Publicador de contenidos Liferay 5.2.3

Junior Member Beiträge: 39 Beitrittsdatum: 05.11.09 Neueste Beiträge
Hola Cecilia,

me gustaria utilizar la solución que usaste y no sé exactamente como hacerlo, soy bastante nuevo con esto, podrias ser más explicita y detallarmelo más.

Gracias.

PEPE
Gustavo Brian N S, geändert vor 14 Jahren.

RE: Rol Redactor y Rol Publicador de contenidos Liferay 5.2.3

New Member Beitrag: 1 Beitrittsdatum: 15.12.09 Neueste Beiträge
Hola,
Aquí hay un pequeño tutorial: http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Control+Panel

Ejemplo sobre ControlPanelEntry, ojo extendemos BaseControlPanelEntry (ver tutorial)

[indent]package com.sample.jsp.portlet;

import com.liferay.portal.model.Portlet;
import com.liferay.portal.security.permission.PermissionChecker;
import com.liferay.portlet.BaseControlPanelEntry;

public class JSPPortletControlPanel extends BaseControlPanelEntry
{
	public boolean isVisible(PermissionChecker arg0, Portlet arg1)
			throws Exception {
		return true;
	}

}[/indent]


Un detalle, el orden de las entradas en el nodo "portlet"

<portlet>
		<portlet-name>sampletest1</portlet-name>
		<icon>/icon.png</icon>

		<control-panel-entry-category>content</control-panel-entry-category>
		<control-panel-entry-weight>1.9</control-panel-entry-weight>
		<control-panel-entry-class>com.sample.jsp.portlet.JSPPortletControlPanel</control-panel-entry-class>

		<instanceable>false</instanceable>
		<header-portlet-css>/css/test.css</header-portlet-css>
		<footer-portlet-javascript>/js/test.js</footer-portlet-javascript>
	</portlet>


Y lo último, no se si está arreglado, pero aqui se advierte de un "bug" en con la entrada control-panel-entry-weight : http://www.liferay.com/web/minhchau.dang/blog/-/blogs/adding-a-plugins-portlet-to-the-control-panel

Espero que sirva
Hector Leon Garay, geändert vor 12 Jahren.

RE: Rol Redactor y Rol Publicador de contenidos Liferay 5.2.3

New Member Beiträge: 9 Beitrittsdatum: 14.07.11 Neueste Beiträge
Gustavo Brian N S:
Hola,
Aquí hay un pequeño tutorial: http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Control+Panel

Ejemplo sobre ControlPanelEntry, ojo extendemos BaseControlPanelEntry (ver tutorial)

[indent]package com.sample.jsp.portlet;

import com.liferay.portal.model.Portlet;
import com.liferay.portal.security.permission.PermissionChecker;
import com.liferay.portlet.BaseControlPanelEntry;

public class JSPPortletControlPanel extends BaseControlPanelEntry
{
	public boolean isVisible(PermissionChecker arg0, Portlet arg1)
			throws Exception {
		return true;
	}

}[/indent]


Un detalle, el orden de las entradas en el nodo "portlet"

<portlet>
		<portlet-name>sampletest1</portlet-name>
		<icon>/icon.png</icon>

		<control-panel-entry-category>content</control-panel-entry-category>
		<control-panel-entry-weight>1.9</control-panel-entry-weight>
		<control-panel-entry-class>com.sample.jsp.portlet.JSPPortletControlPanel</control-panel-entry-class>

		<instanceable>false</instanceable>
		<header-portlet-css>/css/test.css</header-portlet-css>
		<footer-portlet-javascript>/js/test.js</footer-portlet-javascript>
	</portlet>


Y lo último, no se si está arreglado, pero aqui se advierte de un "bug" en con la entrada control-panel-entry-weight : http://www.liferay.com/web/minhchau.dang/blog/-/blogs/adding-a-plugins-portlet-to-the-control-panel

Espero que sirva



Hola Gustavo, quizas este post es un poco viejo, pero me ha fucionado muy bien para la version 6, al final de todo use lo siguiente

Usando lo que comenta Thomas Berg

http://www.liferay.com/es/community/forums/-/message_boards/message/6579105

Unido con tu ejemplo, logre configurar para poder mi portlet en el panel de control

Gracias