By: Team T08-4 Since: Jan 2019 Licence: MIT
- 1. Introduction
- 2. About User Guide
- 3. Quick Start
- 4. Features
- 4.1. Viewing help :
help - 4.2. Add Commands
- 4.3. Edit Commands
- 4.4. List Commands
- 4.5. View Commands
- 4.6. Delete Commands
- 4.7. Displaying the camp size:
size - 4.8. Finding participants by name:
find - 4.9. Selecting a participant :
select - 4.10. Listing entered commands :
history - 4.11. Undoing previous command :
undo - 4.12. Redoing previously undone command :
redo - 4.13. Randomizing groupings :
randomize - 4.14. Show camp participants' statistic:
stat - 4.15. Save statistic pie charts to images:
save_c - 4.16. Export Commands
- 4.17. Importing contact list :
import - 4.18. Clearing all entries :
clear - 4.19. Exiting the program :
exit - 4.20. Saving the data
- 4.21. Encrypting data files
[coming in v2.0]
- 4.1. Viewing help :
- 5. FAQ
- 6. Command Summary
FOP Manager is a desktop Graphical User Interface (GUI) address book app, specifically designed for NUS Freshman Orientation Camp Organizers to manage the contact information of camp participants: both Orientation Group Leaders (OGLs) and Freshmen. It is optimized for those who prefer to work with a Command Line Interface (CLI). If you can type fast, FOP Manager can get your contact management tasks done faster than traditional GUI apps.
Interested? Hurry, jump to Quick Start to get started!
This user guide shows you how to get started with FOP Manager. It introduces you to the features of FOP Manager and provides you with examples, that you will become an expert user in no time!
Throughout this user guide, there will be various icons used, as shown below:
|
💡
|
This is a tip. Following these suggestions will make using FOP Manager much simpler! |
|
ℹ️
|
This is a note. Read these for additional information. |
|
|
This is a warning. Make sure to heed the warnings for FOP Manager to work smoothly! |
This section serves as a tutorial for a new user to FOP Manager.
-
Ensure you have Java version
9or later installed in your Computer. -
Download the latest
fop_manager.jarhere. -
Copy the file to the folder you want to use as the home folder for FOP Manager.
-
Double-click the file to start the app. The GUI should appear in a few seconds and will look like this:
-
Undo List: This list displays all undoable commands executed since the app was started.
-
Redo List: This list displays all redoable commands executed since the app was started.
-
Participant List: This panel shows a list of all the participants and their information you have stored so far.
-
Result Box: The result box displays the result to the commands you input.
-
Command Box: The command box is where all commands should be typed in.
Now that you understand the app’s interface, you can now try keying in commands to interact with FOP Manager.
|
ℹ️
|
Type the command in the command box and press Enter to execute it. e.g. typing help and pressing Enter opens the help window.
|
Some example commands you can try:
-
list: lists all contacts -
add_o n/John Doe s/M b/27071999 p/98765432 e/johnd@example.com m/Information Systems g/: adds an OGL namedJohn Doeto your contact list -
add_h Red: adds a House namedRed -
add_g R1 Red: adds a Group namedR1to the HouseRed -
delete 3: deletes the 3rd contact shown in the current list -
exit: exits the app
Refer to Features for details of each command.
This section tells you about the features available in FOP Manager.
Command Format
-
Words in
UPPER_CASEare parameters to be supplied by the user
e.g. if the command statesn/NAME,NAMEis a parameter which can be used asn/John Doe. -
Items in square brackets are optional
e.gn/NAME [t/TAG]can be used asn/John Doe t/friendor asn/John Doe. -
Items with
…after them can be used as many times as you want
e.g.[t/TAG]…can be used as(i.e. 0 times),t/friend,t/friend t/familyetc.
Opens a window with a list of all the commands available on FOP Manager
Format: help
Adds a freshman to the Freshman list
Format: add_f n/NAME s/SEX b/BIRTHDAY p/PHONE e/EMAIL m/MAJOR g/GROUP [t/TAG]…
-
Parameters can be accepted in any order.
-
A freshman can have any number of tags (including 0).
|
💡
|
GROUP can be left blank i.e. g/
|
|
|
If not blank, the GROUP must exist before a freshman can be added to it
|
Examples:
-
add_f n/John Doe s/M b/27071999 p/98765432 e/johnd@example.com m/Information Systems g/ -
add_f n/Jane Doe s/F e/betsycrowe@example.com m/CS g/ p/1234567 t/vegetarian
Adds an OGL to the OGL list
Format: add_o n/NAME s/SEX b/BIRTHDAY p/PHONE e/EMAIL m/MAJOR g/GROUP [t/TAG]…
-
Parameters can be accepted in any order.
-
An OGL can have any number of tags (including 0).
|
💡
|
GROUP can be left blank i.e. g/
|
|
|
If not blank, the GROUP must exist before an OGL can be added to it
|
Example:
-
add_o n/James Boe s/M b/27071999 p/13579753 e/jamesd@example.com m/CEG g/ -
add_o n/Jane Doe s/F e/betsycrowe@example.com m/CS g/ p/1234567 t/vegetarian
Adds other participants involved in the camp that are neither Freshmen nor OGLs to the contact list
Format: add n/NAME s/SEX b/BIRTHDAY p/PHONE e/EMAIL m/MAJOR g/GROUP [t/TAG]…
-
Parameters can be accepted in any order.
-
An entered participant can have any number of tags (including 0).
|
💡
|
Leave GROUP blank i.e. g/ since there is no group allocation for this participant!
|
Example:
-
add n/James Boe s/M b/27071999 p/13579753 e/jamesd@example.com m/CEG g/ t/Camp Commandant
Adds a house that can contain different groups
Format: add_h HOUSENAME
|
ℹ️
|
House names are always saved with first letter in Uppercase, the rest in lowercase |
|
ℹ️
|
House names cannot contain spaces |
Example:
-
add_h bluesaves a house namedBlueto the house list.
Adds a group to a house
Format: add_g GROUPNAME HOUSENAME
|
ℹ️
|
Group names are always saved in all-caps |
|
ℹ️
|
Group names cannot contain spaces |
|
|
Groups can only be added to houses that already exist |
Example:
-
add_g b1 bluesaves a group namedB1in houseBlueto the group list.
Edits an existing participant in the contact list.
Format: edit INDEX [n/NAME] [p/PHONE] [m/MAJOR] [g/GROUP] [t/TAG] …
-
Edits the participant currently shown at
INDEX. -
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 participant will be removed i.e adding of tags is not cumulative.
|
|
INDEX must be a positive integer: 1, 2, 3, …
|
|
💡
|
To edit a particular participant by name, first find the participant by name, then edit by index |
|
💡
|
Remove all the participant’s tags by typing t/ without specifying any tags after it
|
|
💡
|
Edit a participant’s GROUP after adding them, instead of choosing a group for them from the start
|
Examples:
-
edit 1 p/91234567 g/g1
Edits the phone number and group of the participant at index 1 to be91234567andG1respectively. -
edit 2 n/John Koe t/
Edits the name of the participant at index 2 to beJohn Koeand clears all existing tags.
Edits a house name.
Format: edit_h OLDHOUSENAME NEWHOUSENAME
-
Edits the house named
OLDHOUSENAMEtoNEWHOUSENAME -
All groups under the old house name remain in the new house.
|
|
OLDHOUSENAME must exist in the current list of houses
|
|
|
NEWHOUSENAME must not exist in the current list of houses
|
|
💡
|
House names are not case-sensitive |
Example:
-
edit_h Red green
Edits the house namedRedtoGreen.
Edits a group name.
Format: edit_g OLDGROUPNAME NEWGROUPNAME
-
Edits the group named
OLDGROUPNAMEtoNEWGROUPNAME -
The
GROUPof all participants within the old group is automatically updated.
|
|
OLDGROUPNAME must exist in the current list of groups
|
|
|
NEWGROUPNAME must not exist in the current list of groups
|
|
ℹ️
|
Group names are not case-sensitive |
Example:
-
edit_g red1 red2
Edits the group namedRED1toRED2. All participants in RED1 are now in RED2.
Shows a list of all the participants involved in the camp in your contact list.
Format: list
Shows a list of all the freshmen in the freshmen list.
Format: list_f
Shows a list of all the participants in a group.
Format: list_g GROUPNAME
|
ℹ️
|
Group names are not case-sensitive |
|
💡
|
list_g empty lists participants with an empty group field
|
|
|
OLDGROUPNAME must exist in the current list of groups
|
Examples:
-
list_g g1lists all participants in GroupG1ifG1exists. -
list_g emptylists all participants not in any group yet.
Views the list of all houses added so far.
Format: view_h
Example:
-
Houses
OrangeandBluehave been added.
view_hreturns[Orange, Blue].
Deletes the specified participant from your contact list.
Format: delete INDEX
-
Deletes the participant at the specified
INDEX. -
The index refers to the index number shown in the displayed contact list.
|
|
The index must be a positive integer: 1, 2, 3, … |
Examples:
-
listhas just been entered.
delete 2deletes the participant at index 2. -
find Betsyhas just been entered.
delete 1deletes the participant at index 2 in the results of thefindcommand.
Deletes the specified group from the list of groups.
Format: delete_g GROUPNAME
-
Deletes the group matching the specified
GROUPNAME. -
GROUPNAMEmust exist in the list of groups.
|
|
The group must contain no participants before it can be deleted |
|
ℹ️
|
Group names are not case-sensitive |
Examples:
-
Group
G1has just been added under houseGreen.
delete_g G1removes the groupG1from the list of groups. -
list_g y1shows only one participant in GroupY1.
edit 1 g/removes the participant from the group.
delete_g Y1removes the groupY1from the list of groups.
Deletes the specified house from the list of houses.
Format: delete_h HOUSENAME
-
Deletes the house matching the specified
HOUSENAME. -
HOUSENAMEmust exist in the list of hosues.
|
|
The house must contain no groups before it can be deleted. |
|
ℹ️
|
House names are not case-sensitive |
Examples:
-
A house named
Bluehas just been added.
delete_h bluedeletes the houseBlue. -
view_gshows only 1 groupR1in the houseRed.
GroupR1is deleted by first removing its participants from the group, then enteringdelete_g R1.
delete_h REDdeletes the houseRed.
Displays the total number of participants, the number of OGLs and freshmen, and the number of houses and groups in the command result box.
Format: size
Finds participants whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
hanswill matchHans -
The order of the keywords does not matter. e.g.
John Poewill matchPoe John -
Only name is searched.
-
Only full words will be matched e.g.
Hanwill not matchHans -
Participants matching at least one keyword will be returned (i.e.
ORsearch). e.g.Hans Bowill returnHans Gruber,Bo Yang
Examples:
-
find JohnreturnsjohnandJohn Goe -
find Betsy Tim Johnreturns any participant having namesBetsy,Tim, orJohn
Selects the participant identified by the index number used in the displayed participant list.
Format: select INDEX
-
Selects the participant at the specified
INDEX. -
The index refers to the index number shown in the displayed participant list.
-
The index must be a positive integer
1, 2, 3, …
Examples:
-
listhas just been entered.
select 2selects the participant at index 2 in your contact list. -
find Betsyhas just been entered.
select 1selects the participant at index 1 in the results of thefindcommand.
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. |
Restores your contact list to the state before the previous undoable command was executed.
Format: undo
|
ℹ️
|
Undoable commands are commands that modify your contact list’s content (add, delete, edit and clear).
|
|
💡
|
Undoable commands are shown in the undo list. |
Examples:
-
delete 1has just been entered.
undoreverses thedelete 1command -
Only
select 1has been entered.
undofails as there are no undoable commands executed previously. -
delete 1andclearhave been entered.
undoreverses theclearcommand.
undoreverses thedelete 1command.
Reverses the most recent undo command.
Format: redo
|
💡
|
Redoable commands are shown in the redo list. |
Examples:
-
delete 1has just been entered.
undoreverses thedelete 1command.
redoreapplies thedelete 1command. -
Only
delete 1has been entered.
redofails as there are noundocommands executed previously. -
delete 1andclearhave just been entered.
undoreverses theclearcommand.
undoreverses thedelete 1command.
redoreapplies thedelete 1command.
redoreapplies theclearcommand.
Randomize group allocation of all registered participants.
Format: randomize
|
ℹ️
|
Command will only work under the following conditions: - At least 2 groups created - Number of OGLs must be more than number of groups - At least 2 participants registered |
Examples:
-
randomize
Successful Output:
-
randomize.
Error Output:
Show the camp participants' statistic base on age, major and sex in the form of pie charts
Format: stat
|
|
This command will not work if there are no participant inside the application. |
Examples:
-
add_o n/John Doe s/M b/27071999 p/98765432 e/johnd@example.com m/Information System g/ -
add_o n/Joh Doe s/F b/27071998 p/98765432 e/johnd@example.com m/ceg g/ -
add_o n/John s/M b/27071995 p/98765432 e/johnd@example.com m/Information System g/ -
add_o n/Doe s/M b/27071999 p/98765432 e/johnd@example.com m/cs g/
Add some sample data to the application -
stat
The output is shown below:
Save the pie charts generated by the stat command to image files
Format: save_c [FILE NAME]
|
|
This command will not work if there are no participant inside the application. |
|
💡
|
This command only save the most recently generated charts. Use the stat command before this command to
avoid outdated or empty charts.
|
Examples:
-
stat -
save_c For NUS
Save the charts to image files with the name "For NUS"
Exports all entries from your contact list to Excel Spreadsheet.
Format: export
-
Excel Spreadsheet name is FOP_MANAGER_LIST.xls.
-
Excel Spreadsheet will be saved in the current User Directory.
Entering the export commands will result in an Excel Spreadsheet in the current User Directory. As shown below.
The Excel Spreadsheet will look like this:
|
|
Save and close the Excel file before exporting. |
There are other export commands to produce a spreadsheet for Freshmen and OGL lists as shown in the next two sections.
The name of the file will change accordingly, however, the location is the same.
Exports all the Freshmen entries from your contact list to Excel Spreadsheet.
Format: export_f
-
Excel Spreadsheet name is FOP_MANAGER_FRESHMEN_LIST.xls.
-
Excel Spreadsheet will be saved in the current User Directory.
|
|
Save and close the Excel file before exporting. |
Exports all the OGL entries from your contact list to Excel Spreadsheet.
Format: export_o
-
Excel Spreadsheet name is FOP_MANAGER_OGL_LIST.xls.
-
Excel Spreadsheet will be saved in the current User Directory.
|
|
Save and close the Excel file before exporting. |
Imports contact list from an Excel Spreadsheet into the FOP Manager.
Format: import
-
The Excel Spreadsheet should have the headings in the order NAME, SEX, BIRTHDAY, PHONE, EMAIL, MAJOR, GROUP and then TAG.
-
Entries in the NAME, SEX, BIRTHDAY, PHONE, EMAIL, MAJOR and TAG columns have to be non-null.
-
Only the non-duplicate contacts are added.
-
If we want to edit the contacts found in the FOP Manager via excel, we should
clearthe FOP Manager and thenimport.
|
|
Spreadsheet name has to be FOP_MANAGER_LIST.xls and it has to be located at the current User Directory. The values entered under each respective columns, have to follow the format of the the add command.The TAG column cannot be empty. If you want it to be empty, put a white space. Save and close the Excel file before importing. |
Participants' data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
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 FOP Manager folder.
Congratulations, you are now ready to start your journey with FOP Manager!
Below is a summary of all commands available in FOP Manager:
| Command | Purpose | Example | Reference |
|---|---|---|---|
|
Views help |
|
|
|
Adds a freshman |
|
|
|
Adds an OGL |
|
|
|
Adds a participant |
|
|
|
Adds a house |
|
|
|
Adds a group |
|
|
|
Edits participant at |
|
|
|
Edits an existing house’s name |
|
|
|
Edits an existing group’s name |
|
|
|
Lists all participants in contact list |
|
|
|
Lists all freshmen in contact list |
|
|
|
Lists all OGLs in contact list |
|
|
|
Lists all participants in a particular group |
|
|
|
Views all houses in house list |
|
|
|
Views all groups in group list |
|
|
|
Deletes participant at |
|
|
|
Deletes a group |
|
|
|
Deletes a house |
|
|
|
Displays the number of participants, OGLs, freshmen, houses and groups |
|
|
|
Finds participants by name |
|
|
|
Selects participant at |
|
|
|
Lists all previously entered commands |
|
|
|
Undoes previous command |
|
|
|
Redoes previously undone command |
|
|
|
Randomizes group allocation |
|
|
|
Show participants statistic |
|
|
|
Save charts to images |
|
|
|
Exports contact list |
|
|
|
Exports freshmen contact list |
|
|
|
Exports OGL contact list |
|
|
|
Imports contacts |
|
|
|
Clears contact list |
|
|
|
Exits program |
|






