By: Nus School of Computing AY1819S1 F10-1 Team Since: Aug 2018 Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Commands
- 3.1. Viewing help :
help - 3.2. View history :
history - 3.3. Adding an employee :
add - 3.4. Listing all active persons :
active - 3.5. View all the permissions that an employee has :
viewpermission - 3.6. Removing an employee from my department :
delete - 3.7. To view deleted employee archive :
archive - 3.8. To restore employee to active list :
restore - 3.9. List details of employee :
select - 3.10. Add an assignment :
addassignment - 3.11. List all assignments :
listassignments - 3.12. Removing an assignment :
deleteassignmnet - 3.13. Edit assignment details :
editassignment - 3.14. Apply for leave :
leaveapply - 3.15. View a list of leave applications :
leavelist - 3.16. Approve a leave application :
leaveapprove - 3.17. Reject a leave application :
leavereject - 3.18. Search employees by name :
find - 3.19. Edit details of the currently logged in user :
myself - 3.20. Edit details :
edit - 3.21. Modify permissions of an emplyee :
modifypermission - 3.22. Change password :
passwd - 3.23. Undoing previous command :
undo - 3.24. Redoing the previously undone command :
redo - 3.25. Clearing all entries :
clear - 3.26. Logout from the system:
logout - 3.27. Exiting the program :
exit
- 3.1. Viewing help :
- 4. Future Commands (Coming in v2.0)
- 5. FAQ
- 6. Command Summary
OASIS is an employee management application that brings your office together. It is an all-in-one tool for office administration and communication that runs on any computer. With the use of primarily textual commands coupled with a beautiful user interface, you can get your administrative jobs done faster than with traditional point-and-click applications. Some of the main features that you can look forward to using are employee records management, authentication and permissions, assignment management, and leave management. Sounds good? Jump to Section 2, Quickstart to get started. Enjoy!
The image shown below highlights the different sections of OASIS’s user interface:
-
Ensure you have Java version 9 or later installed in your Computer.
-
Download the latest oasis.jar here.
-
Copy the file to the folder you want to use as the home folder for your Address Book.
-
Double-click the file to start the app. The following Graphical User Interface (GUI) should appear in a few seconds:
-
To login, enter in the username
Adminand the passwordPa55w0rd. Both values are case sensitive. These values are the default username and password combinations for the admin account, and are always available. -
After you have logged in, you should be taken to the following screen:
-
Now you can type a command in the command box and press Enter to execute it.
e.g. typing help and pressing Enter will open the help window. -
Some example commands you can try:
-
list: lists all employees. -
add -n John Doe -p 98765432 -e johnd@example.com -a 311, Clementi Ave 2, #02-25 -s 10000: adds an employee named John Doe with the email johnd@example.com, the address 311, Clementi Ave 2, #02-25, with a salary of 10,000. -
find J*: finds all employees where any of their names start with J. -
delete 1: Deletes employee at the first location on the current displayed list. -
exit: exits the app
-
-
Refer to Section 3, “Commands” for details of each command.
Command Format
-
Words in
UPPER_CASEare the parameters to be supplied by the user e.g. inadd -n NAME,NAME,SECTORis a parameter which can be used as `add -n John -s Sales `. -
Items in square brackets are optional e.g
-n NAME [-t TAG]can be used as-n John Doe -t friendor as-n John Doe. -
Items with
… after them can be used multiple times including zero times e.g.-t TAG…can be used as(i.e. 0 times),-t friend,-t friend -t familyetc. -
Parameters can be in any order e.g. if the command specifies
-n NAME -p PHONE_NUMBER,-p PHONE_NUMBER -n NAMEis also acceptable.
Command Auto Complete
OASIS has provided you with a command auto complete feature to aid you with the usage of commands. With this functionality, you no longer have to memorise any commands!
When you type commands into the command box, a drop down list of possible commands will appear, as shown in the screenshot below.
When the drop down list is shown, you can do the following:
-
Use
↑and↓to navigate through the list -
Press Enter to select the highlighted option
After selecting the command, you will see that the command will be displayed in the command box.
If you wish to see a list of all commands, simply type Space into an empty command box. You should see the list as shown in the screenshot.
Prints all commands entered before as a history of commands.
Format: history
|
ℹ️
|
Pressing the ↑ and ↓ arrows will display the previous and next input respectively in the command box. |
Adds an employee into the system.
Format: add -n NAME -e EMAIL -p NUMBER -s SALARY -a ADDRESS [-u USERNAME] [-t ASSIGNMENT]
-
If username is not specified, it will default to being the same as NAME.
-
To use this command, you must be logged in with "ADD_EMPLOYEE" permissions.
-
Username must be unique among everyone else in the system. Everything else is allowed to be duplicates (i.e. name ..)
-
The username cannot be "Admin", as that is reserved for the admin account.
-
The user is created with the default password of Pa55w0rd
Examples:
-
add -n Joshua -s 15000 -e josh@gmail.com -p 81234567 -a 81 Joshua’s Road Singapore 123456 -
add -n Raynard -e rnardha@gmail.com -p 91235678 -s 1000 -a somewhere on earth -u Nard
Shows a list of all employees in the system.
Format: active
Displays all the permissions that an employee has been assigned.
Format: viewpermission INDEX
-
To use this command, you must be logged in with "ASSIGN_PERMISSION" permissions.
Examples:
-
viewpermission 2
Removes an employee from the current displayed list.
Format: delete INDEX
-
To use this command, you must be logged in and have the "DELETE_EMPLOYEE" permission.
-
Delete employees from the active list will be moved to archive list.
-
Deleted employees from the archive list will be deleted from the system.
Examples:
-
delete 3
Displays all archived employees in OASIS.
|
ℹ️
|
Archived employees will remain in archive list until they are restored which will send it back to the active list or deleted from archive which will erase all selected employee data completely. |
Format: archive
Type archive command in box at the top and hit enter and you will be shown the following screen:
Adds the restored employee to the active list and removes the employee from the archive list.
Format: restore INDEX
-
Restored employee will be moved back to the active list.
-
Restore the employee at the specified INDEX. The index refers to the number shown in the displayed archive list. The index must be a positive integer 1, 2, 3, … and be in the range of the number of archived employees.
-
To use this command, you must be logged in and have the "RESTORE_EMPLOYEE" permission.
Examples:
-
restore 2to delete second employee from the archive list.
Sample output when restore 2 command is executed shown below:
-
Step 1: Type
archivecommand in the command box on the top of the application and click enter. -
Step 2: Type
restore 2command in the same command box as Step 1 and employee at location 2 will be removed from the archive list. You will see the following output on your screen:
-
Step 3: Type
activecommand to go back to the active list. Employee restored in Step 2 is now back in the active list as shown below:
Lists the detailed information of an employee in the shown list on the left panel. This will also display the employee’s profile on the right. This is the same result as if the person is clicked in the GUI.
Format: select INDEX
Examples:
-
select 3
Adds an assignment into the system.
Format: addassignment -an ASSIGNMENT_NAME -au AUTHOR -de DESCRIPTION
-
To use this command, you must be logged in with "ADD_ASSIGNMENT" permissions.
Examples:
-
addassignment -an KRYPTONE -au Jhonny English -de Data encription application. -
addassignment -n IRobot -au Tom Smith -de Autonomous robotic vacuum cleaner which has intelligent programming.
Displays a list of assignments that are in the system.
Format: listassignments
Removes an assignment from the system.
Format: deleteassignment INDEX
-
To use this command, you must be logged in and have the "DELETE_ASSIGNMENT" permission.
Examples:
-
deleteassignment 3
Changes assignment details (such as description).
Format: editassignment INDEX [-an ASSIGNMENT NAME] [-au AUTHOR] [-de DESCRIPTION]
-
To use this command, you must be logged in and have the "EDIT_ASSIGNMENT" permission.
-
Edit the assignment at the specified INDEX. The index refers to the number shown in the displayed assignment list. The index must be a positive integer 1, 2, 3, …
-
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
Apply for leave on specific dates.
Format: leaveapply -de DESCRIPTION -da DATE [-da DATE]…
-
Format of date: YYYY-MM-DD (Dashes are required, and the month and day must have both digits)
-
Your leave will be for all the dates specified after each
-da. You must specify at least 1DATE.
|
|
If the DATE is of an illegal format, the command will be rejected.
|
Example: leaveapply -de Family holiday -da 2018-10-18 -da 2018-10-19
The system will display a message indicating a succesful creation of the new leave, as shown:
|
💡
|
If you do not see your list of leave applications, run the leavelist command.
|
Displays a list leave applications that you have made.
Format: leavelist
A list of your leave records will be displayed in the left panel. An example is shown below:
|
ℹ️
|
If you have the "VIEW_EMPLOYEE_LEAVE" permission, all other employee leave applications will be shown too. |
Sets the status of a leave application to the "Approved" status.
Format: leaveapprove [INDEX]
-
INDEX refers to the number shown in the displayed leave application list (see
leavelist). The index must be a positive integer. -
Note that leave applications that have already been rejected can still be approved afterwards.
|
ℹ️
|
To use this command, you must have "APPROVE_LEAVE" permissions. |
Example: leaveaprove 8
The status of the 8th leave application displayed with leavelist is changed to APPROVED, as shown:
Sets the status of a leave application to the "Rejected" status.
Format: leavereject [INDEX]
-
INDEX refers to the number shown in the displayed leave application list (see
leavelist). The index must be a positive integer. -
Note that leave applications that have already been approved can still be rejected afterwards.
|
ℹ️
|
To use this command, you must have "APPROVE_LEAVE" permissions. |
Example: leavereject 7
The status of the 7th leave application displayed with leavelist is changed to REJECTED, as shown:
Search and display all employees that match the given name criteria.
Format: find NAME
-
NAME can be any name or parts of name that are separated by whitespace (such as a space charaacter).
-
You can use the * character to match any number of characters (0 or more)
-
You can also use the _ character to match any single character
-
Find is case insensitive
Examples:
-
find jian yu: Displays everyone whose names contain "jian" or "yu", surrounded by whitespace. -
find d*Displays all employees where any of their names start with d. -
find T_mDisplays 'Tom' and 'tim', but not 'Tian'
Changes the details of the currently logged in user
Format: myself [-p PHONE] [-e EMAIL] [-a ADDRESS] [-t ASSIGNMENT]
-
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
-
This command is not usable as admin.
Examples:
-
myself -p 91234567 -e johndoe@example.com -
myself -n James
Changes the users details (such as contact information).
Format: edit INDEX [-n NAME] [-p PHONE] [-e EMAIL] [-a ADDRESS] [-s SALARY] [-t ASSIGNMENT]
-
Edits the person at the specified INDEX. The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, …
-
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
-
To use this command, you must be logged in with "EDIT_EMPLOYEE" permission.
Examples:
-
edit 1 -p 91234567 -e johndoe@example.com -
edit 2 -n James
This command allows you to modify the permissions of an employee.
Format : modifypermission INDEX [-a PERMISSION_TO_ADD]… [-r PERMISSION_TO_REMOVE]…
-
Modifies the permission of the person at the specified INDEX. The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, …
The following is the list of Permissions available.
| Permission | What it does |
|---|---|
ADD_EMPLOYEE |
Allows the user to add employee |
DELETE_EMPLOYEE |
Allows the user to delete employee |
RESTORE_EMPLOYEE |
Allows user to restore archived employees |
EDIT_EMPLOYEE |
Allows the user to edit information of an employee |
VIEW_EMPLOYEE_LEAVE |
Allows user to view other employee’s applications for leave |
APPROVE_LEAVE |
Allows user to approve and reject leave application |
ADD_ASSIGNMENT |
Allows user to add assignments into OASIS |
DELETE_ASSIGNMENT |
Allows user to delete assignments |
EDIT_ASSIGNMENT |
Allows user to edit assignments |
ASSIGN_PERMISSION |
Allows user to assign permission to employees |
-
To use this command, you must be logged in with "ASSIGN_PERMISSION" permission.
-
At least one of the parameters must be provided
Examples:
-
modifypermission 1 -a ADD_EMPLOYEE
-
modifypermission 2 -a DELETE_EMPLOYEE -r ADD_EMPLOYEE
Changes user password.
Format: passwd
-
The password must contain at least 1 captial letter, one lowercase letter and one digit. It must also be at least 8 characters long.
-
You will be prompted for your current password, and then your new one.
-
The default password for all accounts is Pa55w0rd.
|
|
Passwords should not to be supplied in the command line (makes it vulnerable to viewing it through history.) |
Restores the address book to the state before the previous undoable command was executed.
Format: undo
|
ℹ️
|
Undoable commands: those commands that modify the address book’s content ( |
Examples:
-
delete 1
list
undo(reverses thedelete 1command) -
select 1
list
undo
Theundocommand fails as there are no undoable commands executed previously. -
delete 1
clear
undo(reverses theclearcommand)
undo(reverses thedelete 1command)
Reverses the most recent undo command.
Format: redo
Examples:
-
delete 1
undo(reverses thedelete 1command)
redo(reapplies thedelete 1command) -
delete 1
redo
Theredocommand fails as there are noundocommands executed previously. -
delete 1
clear
undo(reverses theclearcommand)
undo(reverses thedelete 1command)
redo(reapplies thedelete 1command)
redo(reapplies theclearcommand)
Deletes all employees from the system.
Format: clear
-
To use this command, you must be logged in as an admin user.
Logouts from the system, returning to the login screen. Once this command is ran, the history log of the commands and undo or redo history will be cleared.
Format: logout
Lists all employees, using a given criteria.
Format: sort -CRITERIA
There are many different criteria like name, department, etc.
-
To sort by name, replace CRITERIA with n
-
To sort by department, replace CRITERIA with d
Examples:
-
sort -d -
sort -n
Displays employees with details that match certain criteria specified.
Format: filter -CRITERIA FILTER_CRITERIA [-CRITERIA FILTER_CRITERIA]
-
Replace
CRITERIAwithnto filter by name. -
Replace
CRITERIAwithdto filter by department. -
Replace
FILTER_CRITERIAwith the name or department you want to filter.
Examples:
-
filter -n Tan -
filter -n Albert -d Marketing
Lists all the sectors, sorted by more profitable sector first.
Format: sector
-
To use this command, you must be logged in with the required permission.
Views the summary of off days current employees have taken for the month.
Format: leavesummary
-
To use this command, you must be logged in with "VIEW_EMPLOYEE_LEAVE" permissions.
Q: What if I lose my password?
A: Please contact an IT admin to help reset your password.
Q: Is it possible for me to change my username?
A: No, the username assigned to you is fixed.
| Command | Format | Example |
|---|---|---|
Apply for leave |
leaveapply -de DESCRIPTION -da DATE [-da DATE]… |
leaveapply -de Family holiday -da 2018-11-01 -da 2018-11-02 |
Change password |
passwd |
passwd |
Edit details of the currently logged in user |
myself |
myself -p 99900999 -e a@b.com -a Somewhere over the rainbow |
Exit |
exit |
exit |
Filter employees by criteria |
filter -CRITERIA FILTER_CRITERIA [-CRITERIA FILTER_CRITERIA] |
filter -n Jeremy Choo -d Development |
Help |
help |
help |
History |
history |
history |
List all assignments |
listassignments |
listassignments |
List all employees |
list |
list |
Logout from the system |
logout |
logout |
Redo commands |
Redo |
Redo |
Search employees by name |
find NAME |
find Joshua |
Select an employee |
select INDEX |
select 1 |
Sort employee display list |
sort -CRITERIA |
sort -df |
Undo commands |
undo |
undo |
View archived employees |
archive |
archive |
View your own leave application list |
leavelist |
leavelist |
| Command | Required Permission | Format | Example |
|---|---|---|---|
Add an assignment |
ADD_ASSIGNMENT |
addassignment -an ASSIGNMENT_NAME -au AUTHOR -d DESCRIPTION |
addassignment -an KRYPTONE -au Jhonny English -d Data encription application. |
Add employee |
ADD_EMPLOYEE |
add -n NAME -e EMAIL -p NUMBER -s SALARY [-t ASSIGNMENT] |
add -n Joshua -s 15000 -e josh@gmail.com -n 81234567 -a 81 Joshua’s Road Singapore 123456 |
Approve a leave application |
APPROVE_LEAVE |
leaveapprove INDEX |
leaveapprove 2 |
Clear |
Admin |
clear |
clear |
Delete an assignment |
DELETE_ASSIGNMENT |
deleteassignment INDEX |
deleteassignment 1 |
Delete employee |
DELETE_EMPLOYEE |
delete INDEX |
delete 1 |
Edit an assignment |
EDIT_ASSIGNMENT |
editassignment INDEX [-an ASSIGNMENT NAME] [-au AUTHOR] [-de DESCRIPTION] |
editassignment 1 -an OASIS v2.0 -au MARY GOSLOW |
Edit employee |
EDIT_EMPLOYEE |
edit INDEX [-n NAME] [-p PHONE] [-e EMAIL] [-a ADDRESS] [-s SALARY] [-t ASSIGNMENT] |
edit 1 -p 91234567 -e johndoe@example.com |
Modify Permission |
ASSIGN_PERMISSION |
modifypermission INDEX [-a PERMISSION_TO_ADD]… [-r PERMISSION_TO_REMOVE]… |
modifypermission 2 -a DELETE_EMPLOYEE -r ADD_EMPLOYEE |
Reject a leave application |
APPROVE_LEAVE |
leavereject INDEX |
leavereject 1 |
Restore employee |
RESTORE_EMPLOYEE |
restore INDEX |
restore 2 |
View all Permissions of employee |
ASSIGN_PERMISSION |
viewpermission INDEX |
viewpermission 1 |
View leave application list of all employees |
VIEW_EMPLOYEE_LEAVE |
leavelist |
leavelist |








