Form Storage Mechanisms: Difference between revisions

From IHRIS Wiki
No edit summary
Line 1: Line 1:
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.
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.


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,
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.
''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 [[Limiting Forms |limites]].
Once a storage mechanism is written, the data for that form can be queried via searches with [[Limiting Forms |limits]].


Los mecanismos de almacenamiento que están disponibles actualmente son:
The currently available storage mechanisms are:
*[[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 -- 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 -- 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 -- 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 -- 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 -- 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 -- Magic Data |magicdata]]: un mecanismo de almacenamiento local diseñado principalmente para listas d datos de mantenimiento central.
*[[Form Storage -- Magic Data |magicdata]]: A locale aware storage mechanism primarily intended for centrally maintained lists of data.
*[[Form Storage -- CSV |CSV]]: Un mecanismo de almacenamiento para leer datos de un archive CSV  
*[[Form Storage -- CSV |CSV]]: A storage mechanism to read data from a CSV file
*[[Form Storage -- Eval |Eval]]: Un mecanismo de almacenamiento para llenar y obtener registros en base a las llamadas de función
*[[Form Storage -- Eval |Eval]]: A storage mechanism to populate and get records based on php function calls
*[[Form Storage -- XML |XML]]: Un mecanismo de almacenamiento para llenar y obtener registros en base a un archive XML.
*[[Form Storage -- XML |XML]]: A storage mechanism to populate and get records based on an XML file.
*[[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-HD |SDMX-HD]]: A storage mechanism to populate and get records based on SDMX-HD code lists.
*[[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 -- SDMX CrossSectional |SDMX Cross Sectional]]: A storage mechanism to populate and get records based on SDMX Cross Sectional Data.
*[[Form Storage -- LDAP |LDAP]]: Un mecanismo de almacenamiento para llenar y obtenerregistros en base a un servidor LDAP  
*[[Form Storage -- LDAP |LDAP]]: A storage mechanism to populate and get records based on a LDAP server






==Agregar Mecanismos de Almacenamiento==
==Aggregating Storage Mechansims==
Usted puede estar en una situación en l a que necesita agrgar de diferentes instancias de iHRIS Manage (o Qualify).  Puede marcar un mecanismo de almacenamiento específico , $storage_mechanism, como agregado por ajuste:
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
  /modules/forms/storage_options/$storage_mechanism/componentized
a '''1.''' Then each form $form that uses that storage mechanism, will be [[Defining Forms#Componetized Forms|componetized]].
to '''1.''' Then each form $form that uses that storage mechanism, will be [[Defining Forms#Componetized Forms|componetized]].


Por el momento, solamente el mecanismo de almacenamiento de [[Form Storage -- Multi-Flat Table|Multi-Flat]] es un mecanismo de almacenamiento que permite agregar.
At the moment, only the [[Form Storage -- Multi-Flat Table|Multi-Flat]] storage mechanism is an aggregating storage mechanism.




Una vez que el módulo de ''form-storage'' está activado, una instancia de ''I2CE_Form'' tiene el método ''isComponentized()'' para revisar si un formulario está componentizado. También se peude revisar por medio del ''I2CE_FormStorage::isComponentized($form)''
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)''
[[Category:Technical Overview]][[Category:Forms]][[Category:Review2013]][[Category:Needs Intro]][[Category:Bad Links]]
[[Category:Technical Overview]][[Category:Forms]][[Category:Review2013]][[Category:Needs Intro]][[Category:Bad Links]]

Revision as of 21:06, 30 September 2013

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.

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.

Once a storage mechanism is written, the data for that form can be queried via searches with limits.

The currently available storage mechanisms are:

  • 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.
  • 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.
  • 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.
  • magicdata: A locale aware storage mechanism primarily intended for centrally maintained lists of data.
  • CSV: A storage mechanism to read data from a CSV file
  • Eval: A storage mechanism to populate and get records based on php function calls
  • XML: A storage mechanism to populate and get records based on an XML file.
  • SDMX-HD: A storage mechanism to populate and get records based on SDMX-HD code lists.
  • SDMX Cross Sectional: A storage mechanism to populate and get records based on SDMX Cross Sectional Data.
  • LDAP: A storage mechanism to populate and get records based on a LDAP server


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)