Form Storage Mechanisms

From IHRIS Wiki
Revision as of 00:28, 29 September 2013 by Karla Matus (talk | contribs)

El sistema iHRIS utiliza un nivel de abstracción para separar como se almacenan los datos en el sistema versus como se organiza y relacionan los datos entre ellos. Un formulario (y sus campos) proveedores las organizaciones. El almacenamiento de los datos se maneja por medio de varios mecanismos de almacenamiento de formularios.

Un mecanismo de almacenamiento se define por sub-clase de I2CE_FormStorage_Mechanism qeu porporciona los métodos para leer y posiblemenre escribir los datos de cualquier formulario con el mecanismo dado. Si los datos se guardan en una base de datosm puede sub-clase I2CE_FormStorage_DB y proporcionar acceso de lectura a los datos como formulario mediante la definición de un método, getRequiredFieldsQuery(). Para que un mecanismo de almacenamiento permita la escritura, solamente se debe escribir un método que defina como almacenar un campo de datos.

Una vez que se escribe un mecanismo de almacenamiento, los datos de ese formulario pueden buscarse por medio de busquedas con limites.

Los mecanismos de almacenamiento que están disponibles actualmente son:

  • entry: Un mecanismo de almacenamiento vertical de base de datos que mantiene un historial de cuando y quien cambio los campos individuales (elementos de datos). Este es el mecanismo de almacenamiento por defecto y el mecanismo de almacenamiento que fue utilizado en la versión anterior a la 3.2.
  • flat: Un mecanismo de almacenamiento horizontal de base de datos, donde una fila de una tabla corresponde a una instancia de un formulario. Las columnas o cualquier función SQL de la table se utilizan para definir los campos.
  • multi_flat: Un mecanismo de almacenamiento horizontal de base de datos similar al anterior pero que combina varias tablas estructuradas identicamente. Se diseñó principalmente para la colación de datos.
  • magicdata: un mecanismo de almacenamiento local diseñado principalmente para listas d datos de mantenimiento central.
  • CSV: Un mecanismo de almacenamiento para leer datos de un archive CSV
  • Eval: Un mecanismo de almacenamiento para llenar y obtener registros en base a las llamadas de función
  • XML: Un mecanismo de almacenamiento para llenar y obtener registros en base a un archive XML.
  • SDMX-HD: Un mecanismo de almacenamiento pra llenar y obtener registros en base a listas de código SDMX-HD.
  • SDMX Cross Sectional: Un mecanismo de almacenamiento para llenar y obtener registros en base a Datos Cross Seccionales SDMX.
  • LDAP: Un mecanismo de almacenamiento para llenar y obtenerregistros en base a un servidor LDAP


Aggregating Storage Mechansims

You may be in a situation in which you need to aggregate from several different instances of iHRIS Manage (or Qualify). You can mark a specific a storage mechanism, $storage_mechanism, as being aggregating by setting:

/modules/forms/storage_options/$storage_mechanism/componentized

to 1. Then each form $form that uses that storage mechanism, will be componetized.

At the moment, only the Multi-Flat storage mechanism is an aggregating storage mechanism.


Once the form-storage module is enabled, an instance of I2CE_Form has the method isComponentized() to check if a form is componentized. You can also check via I2CE_FormStorage::isComponentized($form)