Decentralized iHRIS Data Policy: Difference between revisions

From IHRIS Wiki
Line 45: Line 45:
which defines the form storage/data management policy for that tier and which requires ihris-manage.  If the data for a form is contained in a module  that it should also require that module:
which defines the form storage/data management policy for that tier and which requires ihris-manage.  If the data for a form is contained in a module  that it should also require that module:
*Each site on regional level will require the ''ihris-manage-taifieki-regional-data-policy'' module.   
*Each site on regional level will require the ''ihris-manage-taifieki-regional-data-policy'' module.   
*Each site on the district level would require ''ihris-manage-taifieki-district-data-policy.'' Also, in the example above, for any district in the northern region,  
*Each site on the district level would require ''ihris-manage-taifieki-district-data-policy.'' Also, in the example above, for any district in the northern region, we would have it's site module require ''ihris-manage-tafaiki-northern-region-facility'' and  ''ihris-manage-tafaiki-northern-region-facility_contact.''
we would have it's site module require ''ihris-manage-tafaiki-northern-region-facility'' and  ''ihris-manage-tafaiki-northern-region-facility_contact.''






[[Category:Tutorial]]
[[Category:Tutorial]]

Revision as of 11:13, 13 August 2009

Suppose that we are interested in setting up a decentralized implementation of iHRIS Manage in the country Taifeki. Let us assume we are going to work on a three tier implementation: national, region and district. We will show how to take advantage of [1] to maintain the various customizations needed for each of the sites.


Data Management

We first need to decided on a data management policy that is compatible with our data structure.

Decentralized Data Structure

Our decentralized data module is "vertical" in that it allows data to flow from the district to the region to the national level. It also allows that the data flow in the reverse direction. We do not allow data to flow "horizontally." In other words, we do not have a mechanism for the data on a person in district A to be given to district B.

We always that there is only one site that can write each data component. A data block consists of all the data for one form in one site. Examples of data components are:

  • all the jobs at the national level
  • all of the facilities in a specific region
  • all of the positions in a specific district


Data Management Policy

These questions need to be answered:

  • Who can see which data?
    • (Examples) Should a district be able to see the facilities in another district?
  • Who can edit which data?
    • (Examples)Who maintains the list of facilities? The jobs? The positions? Is it at the national, regional or district level?

These questions need to be answered for all the forms within iHRIS Manage and all sites (national, regional and district-level).

Example

If you decide that each facility is maintained at the regional level. This means the following:

  • At the national level, the facility data needs to be componentized by regions and the facility and facility_contact forms will use the (read-only) multi-flat storage mechanism to aggregate the cached data tables from the regional level.
  • At the regional level, the facility data is not componentized. Since the facility and facility contact information is not subject to frequent changes and you do not need to keep track of the history, you would choose to use the (read-write) magic data form storage mechanism in your data policy.
  • At the district level, the facility and facility contact data is exported from the region within two modules: ihris-manage-taifeki-northern-region-facility and ihris-manage-taifeki-northern-region-facility_contact. You would choose to use (read-only) magic data form storage mechanism in your data policy.

Launchpad

Team

Create a launchpad team, called ihris-taifeki, which you and all members of your development team will join.

Project

Create a launchpad project called ihris-manage-taifeki which is owned by the ihris-taifeki team.

Series

Within the ihris-manage-taifeki we will create a Series for each tier of of structure. As we are working with iHRIS Manage 4.0, we will also want to indicate that in the Series name. Each series will contain all of the sites that exist on that tier. Here are series we will create:

  • national-4.0 One site, the national site which aggregates from all the regions
  • region-4.0 One site for each regions, each region will aggregate from all the districts contained within it
  • district-4.0 One site for each district

Modules

Data Policy Module

Within each of the series we will, create the modules as appropriate:

  • ihris-manage-taifeki-national-data-policy
  • ihris-manage-taifeki-regional-data-policy
  • ihris-manage-taifeki-district-data-policy

which defines the form storage/data management policy for that tier and which requires ihris-manage. If the data for a form is contained in a module that it should also require that module:

  • Each site on regional level will require the ihris-manage-taifieki-regional-data-policy module.
  • Each site on the district level would require ihris-manage-taifieki-district-data-policy. Also, in the example above, for any district in the northern region, we would have it's site module require ihris-manage-tafaiki-northern-region-facility and ihris-manage-tafaiki-northern-region-facility_contact.