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
9
or later installed in your Computer. -
Download the latest
fop_manager.jar
here. -
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/[email protected] m/Information Systems g/
: adds an OGL namedJohn Doe
to your contact list -
add_h Red
: adds a House namedRed
-
add_g R1 Red
: adds a Group namedR1
to 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_CASE
are parameters to be supplied by the user
e.g. if the command statesn/NAME
,NAME
is 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/friend
or asn/John Doe
. -
Items with
…
after them can be used as many times as you want
e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
etc.
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/[email protected] m/Information Systems g/
-
add_f n/Jane Doe s/F e/[email protected] 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/[email protected] m/CEG g/
-
add_o n/Jane Doe s/F e/[email protected] 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/[email protected] 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 blue
saves a house namedBlue
to 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 blue
saves a group namedB1
in houseBlue
to 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 be91234567
andG1
respectively. -
edit 2 n/John Koe t/
Edits the name of the participant at index 2 to beJohn Koe
and clears all existing tags.
Edits a house name.
Format: edit_h OLDHOUSENAME NEWHOUSENAME
-
Edits the house named
OLDHOUSENAME
toNEWHOUSENAME
-
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 namedRed
toGreen
.
Edits a group name.
Format: edit_g OLDGROUPNAME NEWGROUPNAME
-
Edits the group named
OLDGROUPNAME
toNEWGROUPNAME
-
The
GROUP
of 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 namedRED1
toRED2
. 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 g1
lists all participants in GroupG1
ifG1
exists. -
list_g empty
lists all participants not in any group yet.
Views the list of all houses added so far.
Format: view_h
Example:
-
Houses
Orange
andBlue
have been added.
view_h
returns[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:
-
list
has just been entered.
delete 2
deletes the participant at index 2. -
find Betsy
has just been entered.
delete 1
deletes the participant at index 2 in the results of thefind
command.
Deletes the specified group from the list of groups.
Format: delete_g GROUPNAME
-
Deletes the group matching the specified
GROUPNAME
. -
GROUPNAME
must 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
G1
has just been added under houseGreen
.
delete_g G1
removes the groupG1
from the list of groups. -
list_g y1
shows only one participant in GroupY1
.
edit 1 g/
removes the participant from the group.
delete_g Y1
removes the groupY1
from the list of groups.
Deletes the specified house from the list of houses.
Format: delete_h HOUSENAME
-
Deletes the house matching the specified
HOUSENAME
. -
HOUSENAME
must 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
Blue
has just been added.
delete_h blue
deletes the houseBlue
. -
view_g
shows only 1 groupR1
in the houseRed
.
GroupR1
is deleted by first removing its participants from the group, then enteringdelete_g R1
.
delete_h RED
deletes 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
hans
will matchHans
-
The order of the keywords does not matter. e.g.
John Poe
will matchPoe John
-
Only name is searched.
-
Only full words will be matched e.g.
Han
will not matchHans
-
Participants matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
Examples:
-
find John
returnsjohn
andJohn Goe
-
find Betsy Tim John
returns 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:
-
list
has just been entered.
select 2
selects the participant at index 2 in your contact list. -
find Betsy
has just been entered.
select 1
selects the participant at index 1 in the results of thefind
command.
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 1
has just been entered.
undo
reverses thedelete 1
command -
Only
select 1
has been entered.
undo
fails as there are no undoable commands executed previously. -
delete 1
andclear
have been entered.
undo
reverses theclear
command.
undo
reverses thedelete 1
command.
Reverses the most recent undo
command.
Format: redo
💡
|
Redoable commands are shown in the redo list. |
Examples:
-
delete 1
has just been entered.
undo
reverses thedelete 1
command.
redo
reapplies thedelete 1
command. -
Only
delete 1
has been entered.
redo
fails as there are noundo
commands executed previously. -
delete 1
andclear
have just been entered.
undo
reverses theclear
command.
undo
reverses thedelete 1
command.
redo
reapplies thedelete 1
command.
redo
reapplies theclear
command.
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/[email protected] m/Information System g/
-
add_o n/Joh Doe s/F b/27071998 p/98765432 e/[email protected] m/ceg g/
-
add_o n/John s/M b/27071995 p/98765432 e/[email protected] m/Information System g/
-
add_o n/Doe s/M b/27071999 p/98765432 e/[email protected] 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
clear
the 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 |
|