Compliance Asset Management System                   

 

SUMMARY

        

Open Pages GCM is a general compliance management software solution that reduces the complexity and cumbersome nature of complying with numerous industry, ethics, privacy and government regulatory mandates.

 

TECHNOLOGIES

 

1.  Eclipse 3.2 IDE for development, debugging.

2.  JBoss-4.2.2.GA as the web server.

3.  SVN version control for versioning and code delivery.

4.  Ant for our build and remote deploy.

5.  Programming Language: Java (jdk 1.6)

6.  Rich Faces for Front end presentation

7.  PostgreSQL8.2 as the database

8.  Hibernate 3 as the persistence layer

 

 

PROJECTS IMPLEMENTATION DETAILS

 

Following are the major requirements that we had to meet while developing this project:

Ø       Technical Requirements

1.      Develop the project as a Java /J2EE based application.

2.      Application should run in a J2EE complaint Application Server.

3.      Application should support any JDBC complaint database.

4.      Develop the console based on Rich Faces.

Ø       Functional Requirements

1.      Project includes following sections.

a.      User Management

b.      Run Reports

c.      Application Setups

d.      Report Setups

e.      System Info

f.       User Profile

2.      Provide features to perform CRUD (Create, Read, Update, and Delete) and Pagination in all the sections.

 

Following are the solutions that we implemented to meet the requirements of the project

Ø       Technical Solutions

1.      We developed the application using Java (jdk 1.6).

2.      Deployed the application in JBoss Server, JBoss. (Jboss-4.2.2.GA).

3.      Hibernate 3 is used as the persistence layer so the application works with any JDBC complaint database.

4.      At the time of development we used PostgreSQL8.2 as the database.

5.      We used Rich Faces 3.2.1 to develop the Front End Presentation.

 

Ø       Functionality Implementation

1.     User Management

             

User Management section is used for managing users which is implemented by means of editable table. This section includes Users and Roles. The Figure 1 shows the functionality provided in the User Management section. This section provides the feature to add, update and delete a user. This section also provides search option where we can search based on User Name or First Name

 

Figure 1

Client side UserName validation as shown in Figure 2 is done using the Rich Faces

 

 <h: inputText size="100" maxlength="100"  

                      value="#{usersHome.userDetail.displayUserName}"                           

                      validator="userNameUniqueValidator"                                                           validatorMessage="# {messages['USERS_TABLE_USERNAME_IS_UNIQUE']}">

</h:inputText>

UserNameUniqueValidator is a java class whose seam name is “userNameUniqueValidator”

 

Client side validation for password as shown in Figure 2 is done using the Rich Faces is as shown in the below code.

 

<h: inputSecret styleClass="text" id="encryptedUserPassword" required="true"

        requiredMessage="#{messages['Password is required']}" size="100"    

        maxlength="100"

        value="#{usersHome.userDetail.encryptedUserPassword}">

</h:inputSecret>

 

Figure 2

 

Figure 3 shows the entire common features provided for each section.

The table is an editable table that shows the listing of user Roles for a specific user, which is rendered using Rich Faces rich: dataTable component. New roles can be added by using Add User Role link .Updating in single or multiple rows can be done by Apply Changes button. Deleting a specific record on select of radio button is done by delete link .Auditor keeps track of the modifications made. The auditor link shows the creation date, created by, updated date and updated by details of the record.

 

 

 

Figure 3

 

The Start Date and End Date field is generated using rich calendar using the below code

 

<rich:column styleClass="userRoleText">

          <rich:calendar inputClass="richCalender" id="startDate"

           requiredMessage="Start date is required

           value="#{userRole.startDate}"                                                                                                 

           datePattern="#{defaultFormatter.datePattern}" />

</rich:column>

 

We used css files to apply styles for the components throughout the application. The dataTable is implemented using rich faces using the below code.

<rich:dataTable id="userRole" style="width: 767px;" headerClass="lookupstyle"

         var="userRole" rows="10"

           value="#{userRolesHome.userRoleList}"

rendered="#{userRolesHome.userRoleList.size () > 0}">

Pagination is implemented through the datascroller feature of Rich Faces. Pagination gives option to navigate through the different pages of listing like First page, Previous Page, Next page and Last Page. User can set the number of records per page and the default is given as 10. Pagination is implemented using the below code:

<tr>

     <td align="right">

          <rich: datascroller for="userRole" maxPages="10"

                                         ajaxSingle="false" align="right" />

     </td>

</tr>

Figure 3 shows Add, Edit and Delete options. Select link will select the needed record for the delete operation.

Roles:

  This section allows to create, update and delete the roles. This page also shows error messages if it is not possible to perform addition of a role if the fields violate any constraints. For example description field in figure 4 is of not null constraint. If we try to add a record without entering value for this field it will throw error messages.  

                                                    Figure 4

2. Application Setups:

    This section consists of

    a) Lookup Types

    b) Organizations

    c) Menus

    d) Accounting Hierarchy

    e) Organization Info

 

a) Lookup Types:

    This is a listing page which lists the lookup Types available. This also includes a dropdown which allow us to go to Lookup Translations and Lookup Codes page as shown in figure 5.

Figure 5

Lookup Translations:

  This page includes two sections one is the master section and the other is the editable section, which allows adding, updating and deleting lookup translations to and from the lookup Type translation table. The Master section includes three fields Application, Lookup Types and Status which are non editable, as shown in figure 6

Figure 6

 

Lookup Codes:

    This page allows adding and updating of lookup codes by means of Add Lookup Code and       Apply Changes button. 

Figure 7

b) Organizations:

       

Figure 8

c) Menus:

     This is another editable table which shows the list of menus available. This section also allows to add, update and delete menus .This page allows to select two actions from the dropdown: translations and menu Items as shown in figure 9

       

Figure 9

  Menu Translation:

       This page has three fields, language which is a drop down which takes value from ad_languages, user Menu Name and meaning fields which are editable. This page allows insertion, updation and deletion of menu translation. This page has a master field which shows the menu for which translations is being created.

        

Figure 10

Menu Items:

   This page is used for adding, updating and deleting menu items for a menu. This page as shown in figure 11, also has two parts one is the master field which is non editable which shows the menu and status for which menu items are to be created.

        

Figure 11

 

 

d) Organization Info:

       This section consists of three sections as shown in figure 12: Contact Info, SMTP Setting, and Security Settings

       

              

Figure 12

3. System Info

 

System Information:

 

    This shows the information about the system, system Name and Release information. This page allows selecting two applications from the drop down.

One is the component and the other is the role permission as shown in figure 13.

 

        

 

Figure 13

Components:

 

  This is an editable table which shows the list of components for the specific applications selected.

          

Figure 14

Role Permissions:

 

This section allows as creating, updating and deleting role permissions for specific roles for the selected applications.

        

Figure 15