Contents
Podemos controlar el acceso a los diferentes elementos de un plone site por medio de los workflows esto lo podemos hacer por medio del ZIM (por sus siglas en ingles) esto lo hacemos de la siguiente manera:
Partimos ya teniendo un portal plone en Zope si no es asi debemos crear uno antes
- Nos dirigimos al la raiz del portal plone que se encuentra en Zope
En la riaz del portal plone se encuentra un objeto llamado portal workflow damos click en este objeto.
- Este nos muestra los diferentes tipos de items como son documentos, eventos, archivos etc. y sus valores en este caso hay (default y folder workflow), estos dos son la ubicacion de los diferentes workflows que se les asignarán a esos items. Damos click en la solapa de contenido
Este nos muestra dos objetos folder workflow y plone workflow. Estos nos definen los diferentes workflows a utilizar en los diferentes items nombrados en el paso anterior, se toma como default plone workflow ya que esta definido asi en el campo (default) en la sección de la solapa de workflows. Dentro de cada uno de estos objetos podemos definir los permisos que tendrán los diferentes usuarios dependiendo su rol. damos click en objeto folder workflow
- Este nos muestra las propiedades de este objeto como son el titulo y su id,
nos dirigimos a la solapa de estado, este nos trae los diferentes estados de los items anteriormente nombrados se encuentran estados como (publicado, visible, privado, etc) para modificar las propiedades de estos estados lo que debemos hacer es darle click al estado que deseamos modificar.
- Este nos trae las propiedades de este estado como son, el titulo, el id, una descripción del estado y las posibles transacciones que se pueden hacer y quienes las pueden ejecutar
- Nos dirigimos a la solapa de permisos, este nos trae los diferentes permisos como son (acceso a la informacion contenida,listar el contenido de la carpeta,modificar el contenido,ver el contenido), y los diferentes roles com son (anonymo(persona que aunno se a registrado), autenticado(persona que se auntentica), administrador(administradro del portal), miembro, propietario (propietario del objeto), revisor), para darle los diferentes permisos a los diferentes tipos de usuarios o roles, lo que debemos hacer es darle click a las distintas casillas, estas quedarán chequeadas lo cual quiere decir que tipo de usuario tendrá el permiso seleccionado dentro de ese tipo de estado y folder del workflow, después de seleccionarlos damos click en el botón salvar cambios, para que tengan efecto estos cambios.
- Tambien podemos añadir estado y sus diferentes propiedades y permisos esto lo hacemos dentro del folder del work_flow. en la parte inferior aparece una opcion la cual es añadir estado, digitamos el id y damos click en añadir, esto nos mostrara un nuevo estado con el id que se le dio, pero con un mensaje que dice que no tiene transacciones definidas, lo que debemos hacer es definirselas.
- Esto lo hacemos dando click sobre el nuevo estado y definiendo sus transacciones y los diferentes permisos que tienen los diferentes roles como se hizo en los casos anteriores.
- Tambien debemos tener en cuenta las transacciones que se llevan a cabo, estas las podemos modificar dando click en la solapa de transacciones del objeto del work_flow (portal_workflow, folder_workflow), la cual me lista las diferentes transacciones existentes, de ellas lista el estado de destino, es decir en que estado quedará despues de ejecutada la transaccion, el tipo de triger, es decir quien dispara este triger, puede ser el usuario, un metodo de work_flow o automaticamente, muestra también el rol requerido para que se ejecute la transacción, y lo que va a añadir en la caja de accion.
mas adelante explicaremos como modificar cada transición.
Como lo prometido es deuda...
Para modificar una transicion lo que debemos hacer es seleccionar una de las transiciones que vemos en la imagen de arriba.
- Este nos mostrará las diferentes propiedades que tiene esta transicion, para este caso vamos a ver la transicion publicar.
Los campos que vos son los siguientes:
id: es el identificador de la trnsicion.
tittle: es el titulo de la transicion.
description: se puede dar una breve descripcion de la transicion
destination state: es el estado en el cual quedara el objeto despues de dar la transicion publicar, en este caso publicado.
trigger type (tipo de disparador): Que ejecutara la transicion, puede ser automaticamente, por una accion accion del usuario, o por un metodo de workflow (esto ultimo no lo tengo claro).
script before: Que script ejecutara antes que la transicin se ejecute.
script after : Que script ejecutará después que la transición se ejecute satisfactoriamente.
En la seccion Guard se encuentran tres campos Permission(s): Que permisos se nesecitan para ejecutar esta transaccion Y el campo: Role(s) : que roles pueden ejecutar esta transicion.
la seccion Display in actions box tiene tres campos:
Name : que nombre formateado va a contener, en este caso publicado
URL: %(content_url)s/content_publish_form
Category: a que categoria pertenece en esta caso a la categoria workflows
Enlaces externos creating- private-plone-site
