Skip to content

Latest commit

 

History

History
559 lines (418 loc) · 23.4 KB

UserGuide.adoc

File metadata and controls

559 lines (418 loc) · 23.4 KB

HR+ - User Guide

1. Introduction

Welcome to Human Resources Plus (HR+)! HR+ is a free recruiting and talent management software designed for campus recruiters to achieve hiring success. HR+ streamlines your recruiting process, increases your productivity and helps you make more consistent and informed hiring decisions. This guide provides you with everything you need to know about setting up and using various features of HR+ effectively as a campus recruiter. To enjoy the full benefits of HR+, you should be comfortable using desktop applications and working with a Command Line Interface (CLI). If you can type fast, HR+ can get your talent management tasks done faster than traditional Graphical User Interface (GUI) applications.

Interested? Navigate to Section 2, “Quick Start” to get started. Enjoy!

2. Quick Start

  1. Ensure you have Java version 1.8.0_60 or later installed in your Computer.

    ℹ️
    Having any Java 8 version is not enough.
    This app will not work with earlier versions of Java 8.
  2. Download the latest HR.jar here.

  3. Copy the file to the folder you want to use as the home folder for HR+.

  4. Double-click the file to start the app. The GUI should appear in a few seconds.

    Ui
  5. Type the command in the command box and press Enter to execute it.
    e.g. typing help and pressing Enter will open the help window.

  6. Some example commands you can try:

    • list : lists all contacts

    • addn/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01 u/NUS y/2020 m/Computer Science g/4.93 j/Software Tester : adds a contact named John Doe to the Address Book.

    • delete3 : deletes the 3rd contact shown in the current list

    • exit : exits the app

  7. Refer to Section 3, “Features” for details of each command.

3. Features

Command Format

  • Words in UPPER_CASE are the parameters to be supplied by the user e.g. in add n/NAME, NAME is a parameter which can be used as add n/John Doe.

  • Items in square brackets are optional e.g n/NAME [t/TAG] can be used as n/John Doe t/friend or 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/family etc.

  • Parameters can be in any order e.g. if the command specifies n/NAME p/PHONE_NUMBER, p/PHONE_NUMBER n/NAME is also acceptable.

💡
The command keywords and parameters are case sensitive.

3.1. Viewing help : help

Format: help

3.2. Adding a person: add

Adds a person to the address book
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS u/UNIVERSITY y/EXPECTED_GRADUATION_YEAR m/MAJOR g/GRADE_POINT_AVERAGE j/JOB_APPLIED [r/RESUME] [i/IMAGE] [c/COMMENT] [t/TAG]…​

💡
A person can have any number of tags (including 0)

Examples:

  • add n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01 u/NUS y/2020 m/Computer Science g/4.93 j/Software Tester

  • add n/Betsy Crowe t/friend e/[email protected] a/Newgate Prison p/1234567 u/SMU y/2018 m/Information Security g/4.56 j/Web Security Analyst t/Python

  • Resume to be added is specified by the relative path to the jar file. It also must be valid PDF, and smaller than 1MB. === Listing all persons : list

Shows a list of all persons in HR+.
Format: list

3.3. Editing a person : edit

Edits an existing person in the address book.
Format: edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [u/UNIVERSITY] [y/EXPECTED_GRADUATION_YEAR] [m/MAJOR] [j/JOB_APPLIED] [r/RESUME] [i/IMAGE] [c/COMMENT] [j/JOB_APPLIED] [t/TAG]…​

  • Edits the person at the specified INDEX. The index refers to the index number shown in the last person listing. 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.

  • When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.

  • You can remove the person’s resume by typing r/ without specifying any resume after it.

  • You can remove all the person’s tags by typing t/ without specifying any tags after it.

Examples:

  • edit 1 p/91234567 e/[email protected]
    Edits the phone number and email address of the 1st person to be 91234567 and [email protected] respectively.

  • edit 2 n/Betsy Crower t/
    Edits the name of the 2nd person to be Betsy Crower and clears all existing tags.

3.4. Schedule interview for a person : interview

Schedule interview of an existing person in HR+.
Format: interview INDEX DATETIME

  • Schedule interview for the person at the specified INDEX. The index refers to the index number shown in the last person listing. The index must be a positive integer 1, 2, 3, …​

  • DATETIME is the English representation of the date and time

Examples:

  • interview 1 next Friday at 3pm
    Schedule the interview of the 1st person to be next Friday at 3pm.

  • interview 2 Mar 14 2pm
    Schedule the interview of the 2nd person to be 14 March at 2pm.

3.5. Locating persons by field: find [since v1.2]

Finds persons whose fields contain any of the given keywords.

Option 1: find KEYWORD, [MORE_KEYWORDS]

Option 2: find prefix/KEYWORD, [MORE KEYWORDS] prefix/…​

These are the prefixes supported by the find command:
1. Name - n/
2. Phone - p/
3. Email - e/
4. Address - n/
5. University - u/
6. Major - m/
7. Job Applied - j/
8. Comment - c/

These are 3 types of features that are supported for the find command:

  1. Exact keyword match - Matches your search keyword with exact keywords found in the fields of persons.

  2. Fuzzy keyword match - Matches your search keyword that is a fuzzy match with keywords found in the fields of persons. The fuzzy matching algorithm is based on the Levenshtein distance (LD) , which is a measure of the similarity between two strings. The threshold is set to 2 in HR+. This means that any keyword that is 2 characters different from the search keyword will be detected. If you are interested in finding out how the fuzzy match algorithm works, you can refer to the Java documentation on how this feature is implemented.

  3. Wildcard keyword match – Matches your search keyword with 3 types of wildcard support. You should substitute the keyword " example " with your desired keyword.

    • Wildcard "example" searches for field that contains keyword example

    • Wildcard *example searches for field that ends with keyword example

    • Wildcard example* searches for field that starts with keyword example

Search results are displayed in the application console. The format is:
TYPE OF SEARCH MATCH
KEYWORD: (PREFIX)MATCHED KEYWORD

(PREFIX) - represents which field the matched keyword was in.

The fuzzy search algorithm is implemented to cater users that fits the following profile:
1. Unsure what they want to search for
2. Aware of some patterns of the keywords but not the full keyword
3. Prone to typos

If you are certain that you want to find a certain keyword, please use the wildcard "example" so that all fields that contains the search keyword would be displayed only. Customizing fuzzy searching is one of our considerations for v2.0.

Examples:

💡
General tips are not repeated across different examples!
  • find bernice, charlot
    Returns list of persons whose keywords in any of their fields that are of an exact match OR fuzzy match with bernice OR charlot. In the sample data provided, the list will return persons Bernice Yu and Charlotte Oliveiro. Keyword bernice is an exact match with one of the keywords Bernice and charlot is a fuzzy match with one of the keywords Charlotte in Charlotte Oliveiro.

💡
The search is case insensitive in HR+. e.g bernice might match Bernice.
Different keywords should be comma separated, if not it will be treated as one keyword in HR+.
All fields are searched if no prefix is supplied first in HR+. If the first keyword does not start with a valid prefix, this command would assume a global search for all fields. A global search does an OR search between keywords.
Persons matching at least one keyword will be returned in HR+.
  • find e/[email protected], [email protected] j/Software p/87438807
    Returns list of persons that matches the following conditions:

    1. Keywords in their email field are of an exact match OR fuzzy match with [email protected] OR [email protected] AND

    2. Keywords in their job applied field are of an exact match OR fuzzy match with Software AND

    3. Keywords in their phone field are of an exact match OR fuzzy match with 87438807.
      In the sample data provided, the list with return person Alex as he is the only person that matches all these conditions.

💡
The first keyword is prepended with a prefix, thus this command assumes a prefix search. A prefix search does an OR search between keywords in the same prefix and an AND search between different prefixes.
  • find Mohammed, Julius, n/[email protected]
    Returns list of persons whose keywords in any of their fields that are of an exact match OR fuzzy match with Mohammed, Julius OR n/[email protected]. In the sample data provided, the list will return persons Julius Hassange and Mohammed Lee.

💡
The prefix is not accounted for in the third keyword as the first keyword does not start with a valid prefix.
  • find alex bernice david
    Returns list of persons whose keywords in any of their fields that are of an exact match OR fuzzy match with alex bernice david. In the sample data provided, this command will return an empty list.

  • find n/alex bernice david p/98293213 92421423
    Returns list of persons that matches the following conditions:

    1. Keywords in their name field are of an exact match OR fuzzy match with keyword alex bernice david AND

    2. Keywords in their phone field are of an exact match OR fuzzy match with keyword 98293213 92421423
      In the sample data provided, this command will return an empty list.

💡
Keywords are not comma separated, thus they are treated as one keyword.
  • find bernice, "alex", ir*, *li
    Returns list of persons with any of their fields that matches the following conditions:

    1. Keywords that are of an exact match OR fuzzy match with keyword bernice

    2. Field contains keyword alex

    3. Field starts with keyword ir

    4. Field ends with keyword li In the sample data provided, this command will return persons Alex Yeoh, Bernice Yu, David Li and Irfan Ibrahim.

  • find n/bernice, "alex", ir*, *li e/*example.com p/"5" m/Computer*
    Returns list of persons with matches the following conditions:

    1. Name field with keywords that are of an exact match OR fuzzy match with keyword bernice OR contains keyword alex OR starts with ir OR ends with li AND

    2. Email field ends with keyword example.com AND

    3. Phone field contains keyword 5 AND

    4. Major field starts with keyword Computer
      In the sample data provided, the list with return person Bernice as she is the only person that matches all these conditions.

  • find berni, charlot, bernice, charlotte
    Returns list of persons whose keywords in any of their fields that are of an exact match OR fuzzy match with berni OR charlot OR bernice OR charlotte. In the sample data provided, the list will return persons Bernice Yu and Charlotte Oliveiro.

Below shows how the application console looks like when this command is executed:

Exact word search matches:
charlotte: -
charlot: -
bernice: -
berni: -

Fuzzy search matches:
charlotte: -
charlot: (n/)Charlotte
bernice: -
berni: (n/)Bernice

Wildcard search matches:

💡
When a search keyword matches a person first, subsequent search keywords that matches the same person would be reflected in the application console as -.

3.6. Filter persons by multiple fields: filter [since v1.3]

Filters persons whose keyword is within the specified range. Format: filter [y/KEYWORD_RANGE] [r/KEYWORD_RANGE]

  • Keyword is in the format of (1) KEYWORD or (2) KEYWORD1 - KEYWORD2 or (3) a combination of (1) and (2) KEYWORD1, KEYWORD2 - KEYWORD3, KEYWORD4.

  • Each keyword must be valid with respect to the preceding prefix.

  • filter command will only be filtering based on the current view of the person list, instead of all the persons.

  • Within each prefix, filter command will match all entries that satisfies at least one keyword range. You can think of an OR operator within the prefix.

  • filter command will match all persons that only matches every prefixes. You can think of an AND operator between all prefixes.

Examples:

  • filter y/2020
    Returns all persons whose graudation year that is exactly 2020

  • `filter y/2019-2021' r/4.3, 4.5-5.0 Returns all persons whose graduation year between 2019 and 2021, and whose rating is either 4.3, or between 4.5 to 5.0

Since v1.4, filter command supports filtering by cGPA and interview date. It now takes the format: Format: `filter [y/KEYWORD_RANGE] [r/KEYWORD_RANGE] [g/CGPA_RANGE] [d/INTERVIEW_DATE_RANGE]

3.7. Deleting a person : delete

Deletes the specified person from the address book.
Format: delete INDEX

  • Deletes the person at the specified INDEX.

  • The index refers to the index number shown in the most recent listing.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    delete 2
    Deletes the 2nd person in the address book.

  • find Betsy
    delete 1
    Deletes the 1st person in the results of the find command.

3.8. Selecting a person : select

Selects the person identified by the index number used in the last person listing.
Format: select INDEX

  • Selects the person and loads the Google search page the person at the specified INDEX.

  • The index refers to the index number shown in the most recent listing.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    select 2
    Selects the 2nd person in the address book.

  • find Betsy
    select 1
    Selects the 1st person in the results of the find command.

3.9. Rating a student : rate [since v1.1]

Rates the student identified by the index number used in the last person listing based on technical, communication, problem solving skills and experience.
Format: rate INDEX t/TECHNICAL_SKILLS_SCORE c/COMMUNICATION_SKILLS_SCORE p/PROBLEM_SOLVING_SKILLS_SCORE e/EXPERIENCE_SKILLS_SCORE

  • Rates the student at the specified INDEX. The index refers to the index number shown in the last person listing. The index must be a positive integer such as 1, 2, 3, …​

  • All four rating scores need to be supplied.

  • The scores should be a number in the range of 1 to 5 (inclusive). Scores with more than two decimal places are rounded to two decimal places.

  • The overall rating of a student is computed as the average of the four rating scores, rounded to two decimal places.

💡
If you have rated the student, you will NOT be able to use the rate command on the same student again. Please use the rating-edit command to overwrite existing scores.

Examples:

  • rate 1 t/4.5 c/3 p/4 e/3.5
    Rates the 1st person to have technical skills score of 4.5, communication skills score of 3, problem solving skills of 4, experience score of 3.5. The overall rating is computed to be 3.75.

  • rate 2 t/3 c/5 p/3.5 e/2
    Rates the 2nd person to have technical skills score of 3, communication skills score of 5, problem solving skills of 3.5, experience score of 2. The overall rating is computed to be 3.38.

3.10. Editing the rating given to a student : rating-edit [since v1.5]

Edits the rating given to the student identified by the index number used in the last person listing.
Format: rating-edit INDEX [t/TECHNICAL_SKILLS_SCORE] [c/COMMUNICATION_SKILLS_SCORE] [p/PROBLEM_SOLVING_SKILLS_SCORE] [e/EXPERIENCE_SKILLS_SCORE]

  • Edits the rating of the student at the specified INDEX. The index refers to the index number shown in the last person listing. The index must be a positive integer such as 1, 2, 3, …​

  • At least one rating score must be edited.

  • The score(s) should be a number in the range of 1 to 5 (inclusive). Scores with more than two decimal places are rounded to two decimal places.

  • The overall rating of a student will be re-computed and rounded to two decimal places.

💡
If you have not rated the student, please use the rate command to assign new rating scores.

Examples:

  • rating-edit 1 t/4.5 p/4 e/3.5
    Edits the 1st person to have technical skills score of 4.5, problem solving skills of 4, experience score of 3.5.

  • rating-edit 2 p/3.5
    Edits the 2nd person to have problem solving skills of 3.5.

3.11. Deleting the rating given to a student : rating-delete [since v1.2]

Deletes the rating given to the student identified by the index number used in the last person listing.
Format: rating-delete INDEX

  • Deletes the rating of the applicant at the specified INDEX.

  • The index refers to the index number shown in the last person listing.

  • The index must be a positive integer such as 1, 2, 3, …​

Examples:

  • rating-delete 1
    Deletes the rating of the first applicant in HR+.

3.12. Sorting the list of students based on different fields : sort [since v1.3]

Sorts the current list of students in HR+ based on GPA, name or overall rating in descending or ascending order.
Format: sort FIELD o/SORT ORDER

  • The field to be sorted by, FIELD, must be either gpa, name or rating.

  • The sort order can only be asc (ascending order) or desc (descending order).

  • When sorting the students based on name, cases are ignored when doing comparisons.

  • If the list has been filtered, only current students on the list will be sorted instead of all students in HR+. If you intend to sort all the students in HR+, you may run the list command first.

Examples:

  • sort rating o/asc
    Sorts the current list of students according to their overall rating in ascending order.

  • sort gpa o/desc
    Sorts the current list of students according to their grade point average in descending order.

3.13. Update applicant’s status: status [Since v1.3]

Updates the status of an applicant.
Format: status INDEX STATUS_INDEX

  • The index refers to the index number shown in the last person listing.

  • The index must be a positive number 1,2,3, …​

  • Status index are

    1. New

    2. 1st round

    3. 2nd round

    4. Rejected

    5. Waitlist

    6. Offered

    7. Accepted

    8. Withdrawn

3.14. Listing entered commands : history

Lists all the commands that you have entered in reverse chronological order.
Format: history

ℹ️

Pressing the and arrows will display the previous and next input respectively in the command box.

3.15. Undoing previous command : undo

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 (add, delete, edit and clear).

Examples:

  • delete 1
    list
    undo (reverses the delete 1 command)

  • select 1
    list
    undo
    The undo command fails as there are no undoable commands executed previously.

  • delete 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete 1 command)

3.16. Redoing the previously undone command : redo

Reverses the most recent undo command.
Format: redo

Examples:

  • delete 1
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)

  • delete 1
    redo
    The redo command fails as there are no undo commands executed previously.

  • delete 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)
    redo (reapplies the clear command)

3.17. Clearing all entries : clear

Clears all entries from the address book.
Format: clear

3.18. Exiting the program : exit

Exits the program.
Format: exit

3.19. Saving the data

Data in HR+ are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.

3.20. Add more field support in filter command [coming in v1.4]

Fields like interview date, status and maybe else will be supported.

3.21. Highlights search results in user interface [coming in v2.0]

Highlights search results after user executes the find command.

3.22. User specified Levenshtein distance [coming in v2.0]

Allows user to set the threshold used in the fuzzy match.

3.23. User specified search support [coming in v2.0]

Allows user to toggle which search support they want at any point of time.

3.24. Displays suggested searches for user before executing find command [coming in v2.0]

Allows user to view a list of suggested searches on the fly when typing in their search keywords.

3.25. Customising rating criteria [coming in v2.0]

Specifies the criteria that candidates will be rated against.

3.26. Saving searches [coming in v2.0]

Saves searches that can be displayed in future for fast lookups.

3.27. Sending and receiving emails [coming in v2.0]

Sends and receives emails within HR+.

4. FAQ

Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Address Book folder.

5. Command Summary

  • Add add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS u/UNIVERSITY y/EXPECTED_GRADUATION_YEAR m/MAJOR g/GRADE_POINT_AVERAGE j/JOB_APPLIED [r/RESUME] [i/IMAGE] [c/COMMENT] [t/TAG]…​
    e.g. add n/James Ho p/22224444 e/[email protected] a/123, Clementi Rd, 1234665 u/NTU y/2020 m/Information System g/4.33 j/Software Engineer

  • Clear : clear

  • Delete : delete INDEX
    e.g. delete 3

  • Edit : edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [u/UNIVERSITY] [y/EXPECTED_GRADUATION_YEAR] [m/MAJOR] [j/JOB_APPLIED] [r/RESUME] [i/IMAGE] [c/COMMENT] [j/JOB_APPLIED] [t/TAG]…​
    e.g. edit 2 n/James Lee e/[email protected]

  • Find : find KEYWORD [MORE_KEYWORDS]
    e.g. find James Jake

  • Filter : filter [y/KEYWORD] [r/RATING]
    e.g. filter y/2019

  • List : list

  • Help : help

  • Select : select INDEX
    e.g.select 2

  • Rate : rate INDEX t/TECHNICAL_SKILLS_SCORE c/COMMUNICATION_SKILLS_SCORE p/PROBLEM_SOLVING_SKILLS_SCORE e/EXPERIENCE_SKILLS_SCORE
    e.g. rate 1 t/4.5 c/3 p/4 e/3.5

  • Edit Rating : rating-edit INDEX [t/TECHNICAL_SKILLS_SCORE] [c/COMMUNICATION_SKILLS_SCORE] [p/PROBLEM_SOLVING_SKILLS_SCORE] [e/EXPERIENCE_SKILLS_SCORE]
    e.g. rating-edit 1 t/4.5 c/3

  • Delete Rating : rating-delete INDEX
    e.g. rating-delete 1

  • Sort : sort FIELD o/SORT ORDER
    e.g. sort gpa o/asc

  • History : history

  • Undo : undo

  • Redo : redo