Adding ISCO 88 Job Codes to iHRIS Manage

From IHRIS Wiki

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.