Adding ISCO 88 Job Codes to iHRIS Manage
The ISCO 88 Job Codes can be found here and represent an international standard for classifying jobs. They are broken up hierachically into major, sub-major , minor groups under which the job codes (called unit) are under the minor groups.
We will create a module for each of the major groups, all of which will sit under a meta-module.
Getting The Data
The data file can be found in the launchpad bzr repository for I2CE
Creating The XML Magic(Configuration) Data
Creating The Modules
Since this data is related to Jobs in iHRIS Manage, we will put everything as sub-modules under the ihris-manage-Job. This can be found in the directory:
[BASE INSTALLATION PATH]/ihris-manage/modules/ManageJob
All instructions below assume that you are in this directory.
The first thing we will need to do is to enable sub-modules for ihris-manage-Job (you may wish to read the module structure overview before proceeding). To do this
gedit Job.xml
and make sure the following lines are in the appropriate place in the metadata section: <source lang='xml'> <path name='modules'>
<value>./modules</value>
</path> </source> Now we add the modules directory
mkdir modules
Creating The Meta-Module
We will create a meta-module to contain general information about the ISCO Codes
cd [BASE INSTALLATION PATH]/ihris-manage/modules/ManageJob/modules mkdir isco_88 cd isco_88 mkdir modules gedit ISCO_88.xml
Add the following contents and save: <source lang='xml'> <?xml version="1.0"?> <!DOCTYPE I2CEConfiguration SYSTEM "I2CE_Configuration.dtd"> <I2CEConfiguration name='ihris-manage-isco-88'>
<metadata> <displayName>ISCO 88 Job Codes</displayName> <description>The ISCO 88 Job Codes</description> <version>3.2.0</version> <path name='modules'> <value>./modules</value> </path> </metadata> <configurationGroup name='ihris-manage-isco-88' path='/'>
<configurationGroup name='isco_88_forms' path='/modules/forms/formClasses'> <configurationGroup name='iHRIS_ISCO_88_Major'> <configuration name="extends"> <value>I2CE_List</value> </configuration> <configurationGroup name="fields"> <configurationGroup name="name"> <configuration name="formfield"> <value>STRING_LINE</value> </configuration> <configuration name="required" type="boolean"> <value>true</value> </configuration> </configurationGroup> <configurationGroup name="description"> <configuration name="formfield"> <value>STRING_MLINE</value> </configuration> </configurationGroup> </configurationGroup> </configurationGroup> <configurationGroup name='iHRIS_ISCO_88_Sub_Major'> <configuration name="extends"> <value>I2CE_List</value> </configuration> <configurationGroup name="fields"> <configurationGroup name="name"> <configuration name="formfield"> <value>STRING_LINE</value> </configuration> <configuration name="required" type="boolean"> <value>true</value> </configuration> </configurationGroup> <configurationGroup name="description"> <configuration name="formfield"> <value>STRING_MLINE</value> </configuration> </configurationGroup> <configurationGroup name="isco_88_major"> <configuration name="formfield"> <value>MAP</value> </configuration> </configurationGroup> </configurationGroup> </configurationGroup> <configurationGroup name='iHRIS_ISCO_88_Minor'> <configurationGroup name="fields"> <configurationGroup name="name"> <configuration name="formfield"> <value>STRING_LINE</value> </configuration> <configuration name="required" type="boolean"> <value>true</value> </configuration> </configurationGroup> <configurationGroup name="description"> <configuration name="formfield"> <value>STRING_MLINE</value> </configuration> </configurationGroup> <configurationGroup name="isco_88_sub_major"> <configuration name="formfield"> <value>MAP</value> </configuration> </configurationGroup> </configurationGroup> </configurationGroup> <configurationGroup name='iHRIS_ISCO_88_Unit'> <configurationGroup name="fields"> <configurationGroup name="name"> <configuration name="formfield"> <value>STRING_LINE</value> </configuration> <configuration name="required" type="boolean"> <value>true</value> </configuration> </configurationGroup> <configurationGroup name="description"> <configuration name="formfield"> <value>STRING_LINE</value> </configuration> </configurationGroup> <configurationGroup name="isco_88_sub_major"> <configuration name="formfield"> <value>MAP</value> </configuration> </configurationGroup> </configurationGroup> </configurationGroup> </configurationGroup>
<configurationGroup name='isco_88_forms' path='/modules/forms/forms'> <configurationGroup name='isco_88_major'> <displayName>ISCO 88 Major Code</displayName> <configuration name='class' values='single'> <displayName>Class Name</displayName> <description>The name of the class providing the form</description> <value>iHRIS_ISCO_88_Major</value> </configuration> <configuration name='display' values='single'> <displayName>Display name</displayName> <description>The display name for this form</description> <value>ISCO 88 Major</value> </configuration> <configuration name="storage" values='single'> <displayName>Storage Details</displayName> <description>The storage mechanism for this form.</description> <value>magicdata</value> </configuration> </configurationGroup> <configurationGroup name='isco_88_sub_major'> <displayName>ISCO 88 Sub-Major Code</displayName> <configuration name='class' values='single'> <displayName>Class Name</displayName> <description>The name of the class providing the form</description> <value>iHRIS_ISCO_88_Sub_Major</value> </configuration> <configuration name='display' values='single'> <displayName>Display name</displayName> <description>The display name for this form</description> <value>ISCO 88 Sub-Major</value> </configuration> <configuration name="storage" values='single'> <displayName>Storage Details</displayName> <description>The storage mechanism for this form.</description> <value>magicdata</value> </configuration> </configurationGroup> <configurationGroup name='isco_88_minor'> <displayName>ISCO 88 Minor Code</displayName> <configuration name='class' values='single'> <displayName>Class Name</displayName> <description>The name of the class providing the form</description> <value>iHRIS_ISCO_88_Minor</value> </configuration> <configuration name='display' values='single'> <displayName>Display name</displayName> <description>The display name for this form</description> <value>ISCO 88 Minor</value> </configuration> <configuration name="storage" values='single'> <displayName>Storage Details</displayName> <description>The storage mechanism for this form.</description> <value>magicdata</value> </configuration> </configurationGroup> <configurationGroup name='isco_88_unit'> <displayName>ISCO 88 Unit Code</displayName> <configuration name='class' values='single'> <displayName>Class Name</displayName> <description>The name of the class providing the form</description> <value>iHRIS_ISCO_88_Unit</value> </configuration> <configuration name='display' values='single'> <displayName>Display name</displayName> <description>The display name for this form</description> <value>ISCO 88 Unit</value> </configuration> <configuration name="storage" values='single'> <displayName>Storage Details</displayName> <description>The storage mechanism for this form.</description> <value>magicdata</value> </configuration> </configurationGroup> </configurationGroup>
<configurationGroup name='isco_88_field' path='/modules/forms/formClasses/iHRIS_Job/fields/isco_88_unit'> <configuration name="formfield"> <displayName>The form field type</displayName> <value>MAP</value> </configuration> <configuration name="headers" type="delimited"> <displayName>The headers for this field.</displayName> <value>default:ISCO 88 Code</value> </configuration> <configurationGroup name="display"> <configurationGroup name="default"> <configuration name="fields"> <value>isco_88_unit:[isco_88_minor]:[isco_88_sub_major]:[isco_88_major]</value> </configuration> </configurationGroup> </configurationGroup> </configurationGroup> </configurationGroup>
</I2CEConfiguration> </source>
Creating The Sub-Modules
We are going to create a sub-module for each of the Major Groups.
The template for the configuration file is: <source lang='xml'> <?xml version="1.0"?> <!DOCTYPE I2CEConfiguration SYSTEM "I2CE_Configuration.dtd"> <I2CEConfiguration name='ihris-manage-isco-88-major-XX'>
<metadata> <displayName>ISCO 88 Job Codes</displayName> <description>The ISCO 88 Job Codes</description> <version>3.2.0</version> <requirement name='ihris-manage-isco-88'> <atLeast version='3.2'/> <lessThan version='3.3'/> </requirement> </metadata> <configurationGroup name='ihris-manage-isco-88-major-XX' path='/'> </configurationGroup>
</I2CEConfiguration> </source> where XX is the Major Group number.