Form Storage Mechanisms: Difference between revisions

From IHRIS Wiki
No edit summary
No edit summary
Line 1: Line 1:
The iHRIS system uses a level of abstraction to separate how data is stored in the system versus how it is organized and relates to each other. A form (and its fields) providers the organizations. The data storage is handled by various form storage mechanisms.
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.


A storage mechanism is defined by subclass I2CE_FormStorage_Mechanism which provides the methods to read, and possibly write, the data for any form with the given mechanism. If the data is stored in a database, it can sub-class I2CE_FormStorage_DB and provide read access to the data as a form by only defining one method, ''getRequiredFieldsQuery().''  To make a storage mechanism writable, you only need to write a method which defines how to store a data field.
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.


Once a storage mechanism is written, the data for that form can be queried via searches with [[Limiting Forms |limits]].
Una vez que se escribe un mecanismo de almacenamiento, los datos de ese formulario pueden buscarse por medio de busquedas con [[Limiting Forms |limites]].


The currently available storage mechanisms are:
Los mecanismos de almacenamiento que están disponibles actualmente son:
*[[Form Storage -- Entry/Last Entry|entry]]: A vertical database storage mechanism which keeps a history of when and by who individual fields (data elements) were changed. This is the default storage mechanism, and the storage mechanism that was used in version prior to 3.2.  
*[[Form Storage -- Entry/Last Entry|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.
*[[Form Storage -- Flat Table|flat]]: A horizontal database storage mechanism, where a row of a table corresponds to an instance of a form. The columns, or any SQL function,  of the table are used to define the fields.
*[[Form Storage -- Flat Table|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.
*[[Form Storage -- Multi-Flat Table|multi_flat]]: A horizontal database storage mechanism similar to the flat storage mechanism but combining several identically structured tables. It is primarily intended for data collation.
*[[Form Storage -- Multi-Flat Table|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.
*[[Form Storage -- Magic Data |magicdata]]: A locale aware storage mechanism primarily intended for centrally maintained lists of data.
*[[Form Storage -- Magic Data |magicdata]]: un mecanismo de almacenamiento local diseñado principalmente para listas d datos de mantenimiento central.
*[[Form Storage -- CSV |CSV]]: A storage mechanism to read data from a CSV file
*[[Form Storage -- CSV |CSV]]: Un mecanismo de almacenamiento para leer datos de un archive CSV  
*[[Form Storage -- Eval |Eval]]: A storage mechanism to populate and get records based on php function calls
*[[Form Storage -- Eval |Eval]]: Un mecanismo de almacenamiento para llenar y obtener registros en base a las llamadas de función
*[[Form Storage -- XML |XML]]: A storage mechanism to populate and get records based on an XML file.
*[[Form Storage -- XML |XML]]: Un mecanismo de almacenamiento para llenar y obtener registros en base a un archive XML.
*[[Form Storage -- SDMX-HD |SDMX-HD]]: A storage mechanism to populate and get records based on SDMX-HD code lists.
*[[Form Storage -- SDMX-HD |SDMX-HD]]: Un mecanismo de almacenamiento pra llenar y obtener registros en base a listas de código SDMX-HD.
*[[Form Storage -- SDMX CrossSectional |SDMX Cross Sectional]]: A storage mechanism to populate and get records based on SDMX Cross Sectional Data.
*[[Form Storage -- SDMX CrossSectional |SDMX Cross Sectional]]: Un mecanismo de almacenamiento para llenar y obtener registros en base a Datos Cross Seccionales SDMX.
*[[Form Storage -- LDAP |LDAP]]: A storage mechanism to populate and get records based on a LDAP server
*[[Form Storage -- LDAP |LDAP]]: Un mecanismo de almacenamiento para llenar y obtenerregistros en base a un servidor LDAP  





Revision as of 00:28, 29 September 2013

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)