Swiss Magic Data Editor: Difference between revisions

From IHRIS Wiki
Line 55: Line 55:
Hay dos fábricas disponibles Swiss Magic y Swiss Config.  Estas tienen sub-clases correspondientes I2CE_Page para tener acceso a la interfaz de la red.
Hay dos fábricas disponibles Swiss Magic y Swiss Config.  Estas tienen sub-clases correspondientes I2CE_Page para tener acceso a la interfaz de la red.


==Swiss Magic Factory==
==Fábrica Swiss Magic==
This is is the swiss factory do create dynamic content in I2CE.  This includes:
Esta es la fábrica swiss para crear contenido dinámico en I2CE.  Esto incluye:
*Custom Form Relationships
*Relaciones de Fromularios Personalizadas
*Custom Reports
*Informes Personalizados
*Custom Report Views
*Visualización de Informes Personalizados
===Parent and Children===
===Primarios y Secundarios===
Any (non-scalar) magic data node can serve as the root swiss node.   
Cualquier nodo de datos magic (no-escalar) puede servir como el nodo swiss raíz.   


The children of a swiss node are in one to one correspondence with the child nodes of the corresponding magic data node. The names of the child swiss nodes are the same as the names of the child magic data nodes.
El nodo secundario de un nodo swiss está en correspondencia de uno a uno con los nodos secundarios de los nodos de datos magic correspondientes. Los nombres de los nodos swiss secundarios son los mismos que los nombres de los nodos de datos magic secundarios.


===Page Access===
===Acceso a la Página===
This factory can be accessed in the web interface as in instance of the I2CE_Page_SwissMagic class. This is done for:
Esta fábrica se puede dar en la interfaz de la red como una instancia de la clase I2CE_Page_SwissMagic. Esto se hace para:
*Form Relationships
*Relaciones de Formularios
*Custom Reports
*Informes Personalizados
*Custom Report Views
*Visualización de Informes Personalizados


==Swiss Config Factory==
==Swiss Config Factory==

Revision as of 15:46, 28 September 2013

La mayor parte de la configuración del software iHRIS se maneja definiendo los datos magic . Para manejar la edición estructurada y como se muestran estos datos magic de configuración y evitar la corrupción de los datos, se desarrolló un conjunto de clases de php, los editores de datos Swiss Magic. Estos se utilizan, por ejemplo en la definición de las relaciones entre formularios e informes.

Los editores Swiss Magic editan y ven jerárquicamente los datos de configuración. este artículo describe la estructura de las clases Swiss Magic PHP.

Características

  • Proporciona diferentes maneras de atravesar la jerarquía de la configuración de los datos magic por medio de diferentes fábricas
  • Mucho de las buenas características de AJAX se han incluído para mostrar sub-menús dentro del menú actual
  • Utilizado en la herramienta de construcción de "Relaciones de Formularios" y de "Informes Personalizados"
  • Utilizado en la herramienta de "Configuración de Módulos
  • El procesamiento y muestra de los datos ya está localizado. Solamente necesita llamar "renameInputs()" para renombrar cualquiera de sus elementos de formularios html.

Ejemplos

El Nodo Swiss

Un nodo swiss es una sub-clase de I2CE_Swiss. Puede pensar en las clases I2Ce_Swiss como definidores de un GUI widget para la interacción con los magic data. Asociados a un nodo swiss esta:

  • un nodo de magic data

Un nodo swiss tiene las siguientes funciones:

  • valores de visualización guardados en este nodo de magic data
  • crear una interfaz de usuario para editar los valores en este nodo de magic data
  • procesar un arreglo asociativo de valores para actualizar el nodo de magic data
  • determiner los tipos de sus nodos swiss secundarios. Un nodo de tipo $type es un nodo de clase I2CE_Swiss_$type.

Métodos a implementar

Al crear un Nuevo tipo Swiss solamente debe implementar estos métodos:

  • displayValues() El método utilizado para mostrar los datos asociados con el swiss node. Pueden definirse con diferentes acciones. Hay dos acciones principales:
    • view: La acción de mostrar una vista de solo lectura de los datos magic en ese nodo.
    • edit: La acción de mostrar una vista de edición de los datos magic en ese nodo.
  • processValues() El método utilizado par procesar un arreglo asociaso de valores y actualizar los datos magic. Debe ser definida
  • getChildType() Obtiene el tipo de secundario swiss con el nombre dado.

Métodos Utiles

Se deben utilizar los siguientes métodos

  • getStorage() Obtiene el nodo de magic data asociado al nodo swiss.
  • getChild() Obtiene el nodo swiss secundario con el nombre dado.
  • renameInputs() Es necesario llamarlo para renombrar todos los elementos del formulario html input/select/textarea del DOMNode dado que estan asociados a ese nodo swiss.
  • addAjaxLink() Agrega un vincula a un nodo swiss secundario. Si el navegador es compatible con AJAX, lo hará de manera AJAX. De lo contrario sera solamente un vinculo
  • get/set/hasField() Métodos de conveniencia para tener acceso al nodo secundario de datos magic (escalar) nombrado.

Las Fábricas Swiss

La Fábrica Swiss se encarga de:

  • proporcionar el nodo de magic data adecuado asociado a un nodo swiss
  • crear el nodo swiss secundario adecuado
  • atravesar los nodos swiss cuando se da una ruta
  • pre-procesar variables GET/POST y pasarlas al nodo swiss adecuado.
  • manejar errores en la actualización de valores en base a valores GET/POST.
  • implementar las interfaces del Iterador y Count

La Fábrica Swiss esta determinada por:

  • el nodo de magic data de raíz
  • la clase del nodo swiss de raíz

Hay dos fábricas disponibles Swiss Magic y Swiss Config. Estas tienen sub-clases correspondientes I2CE_Page para tener acceso a la interfaz de la red.

Fábrica Swiss Magic

Esta es la fábrica swiss para crear contenido dinámico en I2CE. Esto incluye:

  • Relaciones de Fromularios Personalizadas
  • Informes Personalizados
  • Visualización de Informes Personalizados

Primarios y Secundarios

Cualquier nodo de datos magic (no-escalar) puede servir como el nodo swiss raíz.

El nodo secundario de un nodo swiss está en correspondencia de uno a uno con los nodos secundarios de los nodos de datos magic correspondientes. Los nombres de los nodos swiss secundarios son los mismos que los nombres de los nodos de datos magic secundarios.

Acceso a la Página

Esta fábrica se puede dar en la interfaz de la red como una instancia de la clase I2CE_Page_SwissMagic. Esto se hace para:

  • Relaciones de Formularios
  • Informes Personalizados
  • Visualización de Informes Personalizados

Swiss Config Factory

This is the Swiss Factory designed for the configure modules tool.

Parent And Children

In this factory the child swiss nodes of a given swiss class are defined by a module configuration XML#Defining Magic Data in Configuration Files file. The root parent swiss node is the main <configurationGroup> in the configuration XML file.

The child swiss nodes associated to a given <configurationGroup> are exactly the child <configuration>s and <configurationGroup>s on that node. The names of the child swiss nodes are the names of the child <configuration> and <configurationGroup> nodes.

The magic data node associated to a swiss node is the exactly the magic data node associated to the given <configuration> or <configurationGroup> node as defined by the path and name attributes.

Page Access

For the "Configure Modules" page, each module instantiates the a swiss factory by the an instance of the I2CE_Page_SwissConfig class.