Anteriormente se documentó la forma de definir XML's básicos de patrones de trabajo. Puede
consultarse dicha entrada en: Comunidad KMKey en Español: XML para definir objetos en patrones
Ahora vamos a centrarnos en introducir funcionalidades más avanzadas, de forma que empecemos a usar todo el potencial de esta herramienta que son los patrones de trabajo.
Bloquear o desbloquear perfiles en una tarea
Nos permite bloquear o desbloquear explícitamente ciertos perfiles en una tarea del patrón. Corresponde al apartado de Perfiles Bloqueados de la pantalla de Equipo / Permisos cuando nos encontramos en un expediente ya creado. Los role1, role2, .. etc, corresponden al nombre interno
del perfil, que puede consultarse en el campo Perfil Relacionado de un grupo de permisos.
Asignar perfiles a usuarios o grupos concretos
<access usernames="username1,username2" roles="role1,role2"/>
<access groups="41718292,4343413" roles="role1,role2"/>La nomenclatura es usernames="user1,user2" roles="role_para_user1,role_para_user2", manteniendo una concordancia de usuarios y perfiles.
La misma sintaxis puede usarse para asignar perfiles a usuarios o grupos dentro de una tarea concreta, usando la jerarquía del XML:
<access usernames="username1,username2" roles="role1,role2"/>
<access groups="41718292,4343413" roles="role1,role2"/></task>
El tag default_portal_type permite asociar un portal_type por defecto a un tag XML. El caso más típico es el de los tags task usados para la definición de tareas. Pero podemos desear que ciertas tareas se creen usando otro patrón de tareas, por ejemplo en casos que necesiten disponer de campos específicos en la definición de la tarea. En esos casos, se puede usar el atributo portal_type dentro del propio tag task para definir un patrón de tarea a utilizar distinto del establecido por defecto.
<?xml version="1.0" encoding="iso-8859-1" ?>
<objects xmlns:tal="http://xml.zope.org/namespaces/tal">
<default_portal_type tag="task" portal_type="KMKey Task" />
<task Title="Propuesta de Producto" planned_end="reference_date+120"
planned_start="reference_date+0" portal_type="kmkey_patron_tarea"
responsible="role:director_tecnologico" task_id="51" wbs="1"/>
<task Title="Diseño Preliminar" planned_end="reference_date+221" planned_start="reference_date+80" responsible="role:jefe_diseno" task_id="52" wbs="2"/>
</objects>
Uso de TAL para cambiar el patrón segun valores de los campos de Definición
El uso de TAL nos permite, por ejemplo, condicionar ciertas tareas a determinados valores de campos de la Definición del expediente, o incluso hacer bucles para crear una tarea N veces. Hay que tener claro que las instrucciones TAL se ejecuta en primer lugar, generando un XML resultante que se procesa en segundo lugar, dando lugar a la generación del expediente. Veamos aquí un ejemplo de una tarea condicional:
<?xml version="1.0" encoding="iso-8859-1" ?>
<objects xmlns:tal="http://xml.zope.org/namespaces/tal" tal:define="project python:here['getKMProject'](here)">
<default_portal_type tag="task" portal_type="KMKey Task" />
Etiquetas: Configuracion KMKey