Project ID:
463646
Project Type:
Fixed
Budget:
$750-$1500 USD
Project Description:
Objective
To develop a LifeRay based form as well as its associated form approval engine and approval portlet. This form will be a holiday time submission form, allowing the user to submit for time off. The form must then be approved by one or more other users and also be viewable after approval. The approvers should have a small portlet to allow them to view all their pending forms and approve them or leave comments on them in lieu of approval.
Project Details
This project has three major components:
1. The holiday time off form itself
2. The approval engine
3. The approver’s view of the form
The fields on the form include:
- Name (populated from the login itself, not editable)
- Department
- Supervisor Name
- Start Date (with calendar chooser)
- Start Time (with option for all day)
- End Date (with calendar chooser)
- End Time (with option for all day)
- Reason for Time Off
This entire system must work together to allow forms to be submitted and approved. All forms may have comments left by the approver with the form. There are four states:
• “In Progress” (form is being edited/created but not yet submitted)
• “Approved”
• “Pending” (approver may add comments and submitter may edit the form)
• “Rejected” (approver rejects the form, no further comments may be left and submitter may not edit the form)
The approval engine should be a separate entity, fully configurable to use with any form (we will use it for future forms as well as for this holiday time off form). The engine must take as input a series of users or user levels and keep track of the state of any form in the system as it moves through those levels. In the event a specific user name is not supplied, the system must consult a field in the form itself or a user hierarchy to determine which user at a given level is appropriate (example hierarchy will be provided).
For approvers, they should log in to the LifeRay interface and see a list of forms to be approved. This list of forms may contain more than one type of form (i.e. the holiday form, an expense form, a QC form, etc.) so should be formatted accordingly. Batch approval or rejection should be possible, and each form should be viewable with the ability to leave comments in lieu of approval.
All approved holiday submissions should be updated to the user’s LifeRay calendar as well as any calendar for any group they are in.
Email should be sent to the approver upon the initial submission of a form (or when it is time for the next approver in the chain to approve it). It should be sent to the submitter upon form rejection or upon a form’s FINAL approval (approval from the last approver in the approval chain).
Finally, a small ticker portlet should be visible on the individual user’s home page detailing the number of vacation days used so far.
System should be developed in LifeRay/Java on PostgreSQL. Database tables should be created as appropriate.
Please see the attached scenarios document further detailing how the system is to be used.
Tasks
1. Create the holiday time off form portlet for the submitter, allowing form submission and future editing
2. Create a portlet that shows a user any forms they have submitted in the past and their current state, also allow them to edit forms that are “In Process” or “Pending” (meaning they can save a form in progress and come back to edit it before submitting, and edit it after submitting until approved or rejected).
3. Create the approval engine itself (ability to change the state of a form, track the state of a form, and leave comments)
4. Maintain history on each form
5. Small portlet to view used vacation days
6. Functionality to update all approved holiday requests to a user’s personal and group calendars.
7. Create an approvers portlet with the following capabilities:
• Screen for approvers to view list of pending forms, view individual forms, and change form state individually or in batch mode (should be form independent and able to be used for other, future forms)
• Screen for approvers to view previous approved or rejected forms (in a separate screen from the pending forms) and their histories (should be form independent and able to be used for other, future forms)
Skills required:
Java,
Website Design
Additional Files:
Forms Scenarios.doc