User Guide
Introduction
NewAddressBook is a desktop app built for Singapore secondary school teachers that are handling large classes. It helps them manage the contacts of their students and colleagues efficiently. It also supports keeping track of upcoming meetings and recording the medical histories of students.
- Introduction
- Quick start
- Overview
- Glossary
-
Features
-
Managing Student Contacts
- Add a student :
student
- Clear student contacts :
clearStudent
- Copying fields from students :
copyStudent
- Delete a student :
deleteStudent
- Edit a student :
editStudent
- Find students by name :
findStudent
- Filter students :
filterStudent
- List all students :
listStudent
- Modify medical history of a student :
medical
- View the full medical history of a student :
showMedical
- Add a student :
- Managing Teacher Contacts
- Managing Meetings
- General
-
Managing Student Contacts
- NewAddressBook Data File
- FAQ
Quick start
-
Ensure you have Java
11
or above installed on your computer. -
Download the latest
newaddressbook.jar
from here. -
Copy the file to the folder you want to use as the home folder for NewAddressBook.
-
Double-click the file to start the app. The GUI similar to the below should appear in a few seconds. Note how NewAddressBook already contains some sample data. (Depending on your OS, you may need to launch the jar file using the
java -jar newaddressbook.jar
command)
-
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:
-
listStudent
: Lists all students. -
student n/John Doe p/98765432 e/johnd@example.com g/M a/311, Clementi Ave 2, #02-25 f/3E1 em/999 i/Math class t/naughty
: Adds a student named “John Doe” to NewAddressBook. -
deleteStudent 3
: Deletes the 3rd student shown in the currently displayed student list. -
clearStudent
: Deletes all displayed students. -
exit
: Exits the app.
Refer to the Overview section for a summary of commands available and the Features section for details of each command.
data
folder, delete newaddressbook.json
and try launching again.
Overview
User Interface (UI)
The following shows the different parts of NewAddressBook’s main application window:
- The Command Box is where the user types in commands for execution.
- The Result Box displays the result of the commands executed.
- The Student List displays the list of students stored in the app.
- The Teacher List displays the list of teachers stored in the app.
- The Data Source displays information about where the app saves data.
Individual Student Display
The following image shows the various aspects that describe a student:
showMedical
command.
Individual Teacher Display
The following image shows the various aspects that describe a teacher:
Meeting Window
Meetings are not displayed in the main window. Instead, they are displayed in a separate window, called the Meeting window.
The meeting window pops up when the user enters the showMeeting
command in the main window’s input box. Alternatively, the user may opt to click on the Show Meeting
button in the menu bar.
The following image shows the meeting window:
The meeting window has its own input box, result box, and a list displaying all meetings.
Individual Meeting Display
The various fields that describe a meeting are as follows:
Commands Summary
undo
command.
The other commands work either in the main application window or the meeting window, but not both.
The Window
column of the table below indicates which window the command is compatible with.
Action | Format | Window |
---|---|---|
Add student | student n/NAME p/PHONE e/EMAIL g/GENDER a/ADDRESS f/FORM_CLASS em/EMERGENCY_CONTACT i/INVOLVEMENT [t/TAG]… |
Main |
Clear students | clearStudent |
Main |
Copy a field from students | copyStudent c/FIELD_TO_COPY |
Main |
Delete a student | deleteStudent INDEX |
Main |
Edit a student | editStudent INDEX [n/NAME] [p/PHONE] [e/EMAIL] [g/GENDER] [i/INVOLVEMENT] [a/ADDRESS] [f/FORM_CLASS] [em/EMERGENCY_CONTACT] [t/TAG]… |
Main |
Find a student by name | findStudent KEYWORD [MORE_KEYWORDS] |
Main |
Filter a student | filterStudent [INVOLVEMENT] [t/TAG]… |
Main |
List all students | listStudent |
Main |
Record a student’s medical history | medical INDEX m/MEDICAL_HISTORY |
Main |
Show a student’s full medical history | showMedical INDEX |
Main |
Add teacher | teacher n/NAME p/PHONE e/EMAIL g/GENDER o/OFFICE_TABLE_NUMBER i/INVOLVEMENT [t/TAG]… |
Main |
Copy a field from teachers | copyTeacher c/FIELD_TO_COPY |
Main |
Clear teachers | clearTeacher |
Main |
Delete a teacher | deleteTeacher INDEX |
Main |
Edit a teacher | editTeacher INDEX [n/NAME] [p/PHONE] [e/EMAIL] [g/GENDER] [i/INVOLVEMENT] [o/OFFICE_TABLE_NUMBER] [t/TAG]… |
Main |
Find a teacher by name | findTeacher KEYWORD [MORE_KEYWORDS] |
Main |
Filter a teacher | filterTeacher [INVOLVEMENT] [t/TAG]… |
Main |
List all teachers | listTeacher |
Main |
Exit | exit |
Main |
View help | help |
Main |
Open meetings window | showMeeting |
Main |
Add meeting | meet r/TITLE d/DATE_TIME v/VENUE w/ATTENDEE_TYPE |
Meetings |
Remove meeting | deleteMeeting INDEX |
Meetings |
Clear all meetings | clearMeeting |
Meetings |
Close meetings window | quitMeeting |
Meetings |
Undo | undo |
Both |
Glossary
-
Involvement: refers to how the user is involved with the student/teacher contact. This is a broad term describing why the user would even want to bother storing the student/teacher in NewAddressBook in the first place. For example, a math teacher might store the involvement of a student in their class as
in my math class
. A CCA teacher might store the involvement of a student in his badminton CCA asbadminton
. A teacher involved in an overseas CIP trip might want to store the involvement of students going along with him asCIP trip
. -
Currently displayed list: For students, for example, there are two lists that are maintained by the application. One is the full list of students. The other is the list which the user currently sees on screen. For various reasons, the list the user sees may not be the same as the full list of students (perhaps the user executed a
findStudent
command). When we say “currently displayed list” we mean the list that is currently shown to the user.
Features
Notes about the command format:
-
Words in
UPPER_CASE
are the parameters to be supplied by the user.
e.g. instudent
command,NAME
undern/NAME
represents the student’s name that you should provide. For instance, if the student’s name is “John Doe”, you should inputn/John Doe
in thestudent
command. -
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 multiple times including zero times.
e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
etc. -
For most commands except
filterStudent
andfilterTeacher
, parameters can be in any order.
e.g. if the command specifiesn/NAME p/PHONE
,p/PHONE n/NAME
is also acceptable. -
If a parameter is expected only once in the command but you specified it multiple times, only the last occurrence of the parameter will be taken.
e.g. if you specifyp/12341234 p/56785678
, onlyp/56785678
will be taken. -
Extraneous parameters for commands that do not take in parameters (such as
help
,quitMeeting
,list
,exit
andclearStudent
/clearTeacher
) will be ignored.
e.g. for thehelp
command, if you specifyhelp 123
, it will be interpreted ashelp
. For other commands that require parameters, the input format must be as stated in the user guide. -
For all prefixes (except the first), the user should ensure they are preceded by a space for the parser to recognise it as a new prefix, instead of a parameter in the previous prefix. For example,
editStudent 1 i/e/hello@example.com
parsers the parameter fori/
ase/hello@example.com
, and does not detect any input for thee/
field. On the other hand, for the commandeditStudent 1 i/ e/hello@example.com
,i/
is detected to have no arguments, whilee/
hashello@example.com
as an argument. As such, the second command will not succeed since thei/
field is blank. -
For all parameters, extraneous spaces within the input values will not be trimmed. e.g.
n/john doe
is considered different fromn/john doe
-
All parameters and commands, unless specified, are case-sensitive.
The commands offered can be roughly split into 4 categories: those involving students, teachers, meetings, and general commands.
Managing Student Contacts
Add a student : student
Adds a student to NewAddressBook.
Format: student n/NAME p/PHONE e/EMAIL g/GENDER a/ADDRESS f/FORM_CLASS em/EMERGENCY_CONTACT
i/INVOLVEMENT [t/TAG]…
Parameters:
-
NAME
The name of the student- should not be blank
- should only contain alphanumeric characters and spaces
-
PHONE
The phone number of the student- should only contain numbers, and it should be at least 3 digits long
-
EMAIL
The email of the student- should not be blank
- should be of the format
local-part@domain
-
local-part
should only contain alphanumeric characters and these special characters, excluding the parentheses, (+_.-) -
domain
should be at least 2 characters long, start and end with alphanumeric characters, and only contain alphanumeric characters, periods and hyphens
-
GENDER
The gender of the student- must be one of the following:
M
(Male),F
(Female) orN
(Non-binary) - case-insensitive
- must be one of the following:
-
ADDRESS
The address of the student- should not be blank
-
FORM_CLASS
The form class that the student belongs to- should not be blank
- should be of the format
|LEVEL|STRING|[ALPHANUMERIC]|
-
LEVEL
must be a digit from 1 to 5 -
STRING
should not be blank and can only contain alphabets -
ALPHANUMERIC
is optional and can only contain alphanumeric characters - For example,
4E1
is allowed but42
is not allowed
-
INVOLVEMENT
The user’s main involvement with the student- should not be blank
-
EMERGENCY_CONTACT
The emergency contact number of the student- should only contain numbers, and it should be at least 3 digits long
-
TAG
A tag associated with the student- should only contain alphanumeric characters
- if the tag field is specified, it cannot be empty
t/cat t/cat
,
only one will be displayed as they are considered the same.
INVOLVEMENT
is intended to be used in the glossary.
FORM_CLASS
:
While the format allowed for FORM_CLASS
caters to most secondary schools in Singapore, we understand that some schools
have other naming conventions for their classes. We will work on this in future versions of NewAddressBook to allow for more flexibility.
Examples:
student n/James p/94629424 e/j77@example.com a/George street, block 123, #01-01 f/3A2 g/M i/Math class em/92696977
student n/Betsy Crowe p/83958294 e/bc33@example.com a/Adams road, block 8, #03-05 f/3C1 g/F i/Bio rep em/96122134 t/President t/exco
Clear student contacts : clearStudent
Clears all currently displayed students from NewAddressBook. If the currently displayed list is empty, the application warns the user that the list is empty and nothing is cleared.
Format: clearStudent
listStudent
command.
Example:
-
listStudent
followed byclearStudent
clears all students from NewAddressBook. -
filterStudent t/smart
followed byclearStudent
clears all students with the “smart” tag from NewAddressBook.
Copying fields from students : copyStudent
Copy specified data from all students in the currently displayed student list. The fields that can be copied are:
- phone numbers
- name
Format: copyStudent c/FIELD_TO_COPY
-
FIELD_TO_COPY
can only be one of the three:phone
,email
orname
. They are case sensitive.
Example:
-
listStudent
followed bycopyStudent c/email
copies the emails of all students in NewAddressBook to the user’s clipboard. -
findStudent Betsy
followed bycopyStudent c/phone
copies the phones of students whose name matches Betsy. The definition of “matches” here uses the definition in thefindStudent
command.
Delete a student : deleteStudent
Deletes the specified student from NewAddressBook.
Format: deleteStudent INDEX
- Deletes the student at the specified
INDEX
. -
INDEX
refers to the index number shown in the currently displayed student list. - The index must be a positive integer 1, 2, 3, … not exceeding the size of the currently displayed student list.
Examples:
-
listStudent
followed bydeleteStudent 2
deletes the 2nd student in NewAddressBook. -
findStudent Betsy
followed bydeleteStudent 1
deletes the 1st student in the results of thefindStudent
command.
Edit a student : editStudent
Edits an existing student in NewAddressBook.
Format: editStudent INDEX [n/NAME] [p/PHONE] [e/EMAIL] [g/GENDER] [i/INVOLVEMENT] [a/ADDRESS]
[f/FORM_CLASS] [em/EMERGENCY_CONTACT] [t/TAG]…
- Edits the student at the specified
INDEX
. -
INDEX
refers to the index number shown in the currently displayed student list. The index must be a positive integer 1, 2, 3, … not exceeding the size of the currently displayed student list. - 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 student will be removed i.e adding of tags is not cumulative.
t/
without specifying any tags after it.
Examples:
-
editStudent 1 f/4Donkey e/johndoe@example.com
Edits the form class and email address of the 1st student in the currently displayed student list to be4Donkey
andjohndoe@example.com
respectively. -
editStudent 2 em/901941341
Edits the emergency contact number of the 2nd student in the currently displayed student list to be 901941341.
Find students by name : findStudent
Finds students whose names contain any of the given keywords.
Format: findStudent KEYWORD [MORE_KEYWORDS]
- The search is case-insensitive. e.g
hans
will matchHans
- The order of the keywords does not matter. e.g.
Hans Bo
will matchBo Hans
- Only the name is searched.
- Only full words will be matched e.g.
Han
will not matchHans
- Students matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
Examples:
-
findStudent John
returnsjohn
andJohn Doe
-
findStudent alex Yu
returnsAlex Yeoh
,Bernice Yu
Filter students : filterStudent
The user can filter students by:
- tag(s)
- involvement
filterStudent
command differs from the findStudent
in that findStudent
only finds students by name, whereas the filterStudent
command allows the user to filter out students based on tag(s) and/or involvement.
Format:filterStudent [INVOLVEMENT] [t/TAG]…
- It allows filtering by either
TAG
orINVOLVEMENT
or both. - Either
INVOLVEMENT
orTAG
must be present. - The search for both tag and involvement is case-insensitive. e.g
hans
will matchHans
. - The search for both tag and involvement matches substrings, e.g
han
will matchHans
. - Involvement searches are broken up. That is, if the command was
filterStudent One Two
,One Two
be broken up into two stringsOne
andTwo
and it will search for involvement that contains bothOne
andTwo
. Similarly, if the user executesfilterStudent one one
, then the command treats it as though a singleone
was put in. Similarly, an input witht/tag1 t/tag1
is treated as though the user had put in a singlet/tag1
. - Students matching all of the search will be returned (i.e.
AND
search). For example, if the search wasfilterStudent chess club t/member
, only students whose involvement has bothchess
andclub
in it and has tags containingmember
will be returned. - Only alphanumeric tag parameters in the search are allowed.
- Involvement must come before tag. e.g.
filterStudent chess club t/member
is allowed butfilterStudent t/member chess club
is not.
Examples:
-
filterStudent class t/rep
- will return all students with the involvement containingclass
and has at least one tag containingrep
. -
filterStudent math class
- will return all students with the involvement containingmath class
. -
filterStudent t/banana t/phone
- will return all students with tags containing “banana” and “phone”.
List all students : listStudent
Shows a list of all students stored in NewAddressBook.
Format: listStudent
Modify medical history of a student : medical
Format: medical INDEX m/MEDICAL_HISTORY
- Adds the medical history to the student at the specified
INDEX
. -
INDEX
refers to the index number shown in the displayed student list. - The index must be a positive integer 1, 2, 3, … not exceeding the size of the displayed student list.
How this command works:
- Adds a medical history to an existing student if the student does not have any existing medical history.
- Overwrites the medical history of a student if the student already has an existing medical history.
- Removes the medical history of a student if the student already has an existing medical history and an empty
MEDICAL_HISTORY
is given. - The command does not allow the user to overwrite the current
MEDICAL_HISTORY
with an identicalMEDICAL_HISTORY
. In other words, the newMEDICAL_HISTORY
must be different from the existingMEDICAL_HISTORY
.
Examples:
-
medical 1 m/ADHD
adds ADHD to theMEDICAL_HISTORY
of student 1 in the displayed student list. -
medical 1 m/
removes theMEDICAL_HISTORY
from student 1 in the displayed student list.
View the full medical history of a student : showMedical
Displays a pop-up window for the user to view the full medical history of the student in NewAddressBook.
Format: showMedical INDEX
- View the full medical history of the student at the specified
INDEX
. -
INDEX
refers to the index number shown in the currently displayed student list. - The index must be a positive integer 1, 2, 3, … not exceeding the size of the displayed student list.
Examples:
showMedical 1
Managing Teacher Contacts
Add a teacher : teacher
Adds a teacher to NewAddressBook.
Format: teacher n/NAME p/PHONE e/EMAIL g/GENDER o/OFFICE_TABLE_NUMBER
i/INVOLVEMENT [t/TAG]…
Parameters:
-
NAME
The name of the teacher- should not be blank
- should only contain alphanumeric characters and spaces
-
PHONE
The phone number of the teacher- should only contain numbers, and it should be at least 3 digits long
-
EMAIL
The email of the teacher- should not be blank
- should be of the format
local-part@domain
-
local-part
should only contain alphanumeric characters and these special characters, excluding the parentheses, (+_.-) -
domain
should be at least 2 characters long, start and end with alphanumeric characters, and only contain alphanumeric characters, periods and hyphens
-
GENDER
The gender of the teacher- can only be one of the following:
M
(Male),F
(Female) orN
(Non-binary) - case-insensitive
- can only be one of the following:
-
OFFICE_TABLE_NUMBER
The teacher’s table number in the school office- should only contain numbers. It should have at least 1 digit and at most 5 digits.
- two office numbers are different if all their digits are the same, rather than just being the same number. For example,
001
is different from1
. This is to provide users with more flexibility.
-
INVOLVEMENT
The user’s involvement with the teacher- should not be blank
-
TAG
A tag associated with the teacher- should only contain alphanumeric characters
- if the tag field is specified, it cannot be empty
t/cat t/cat
,
only one will be displayed as they are considered the same.
INVOLVEMENT
is intended to be used in the glossary.
Examples:
teacher n/Messi p/94629424 e/j77@example.com o/12 g/M i/Math Department
teacher n/Eden p/83958294 e/bc33@example.com o/15 g/N i/Class 3D Co-form t/buddy t/colleague
Clear teacher contacts : clearTeacher
Clears all currently displayed teachers from NewAddressBook. If the currently displayed list is empty, the application warns the user that the list is empty and nothing is cleared.
Format: clearTeacher
listTeacher
command.
Example:
-
listTeacher
followed byclearTeacher
clears all teachers from NewAddressBook. -
filterTeacher t/good
followed byclearTeacher
clears all teachers with the “good” tag from NewAddressBook.
Copying fields from teachers : copyTeacher
Copy specified data from all teachers in the currently displayed teacher list. The fields that can be copied are:
- phone numbers
- name
Format: copyTeacher c/FIELD_TO_COPY
FIELD_TO_COPY
can only be one of three strings: phone
, email
or name
.
Example:
-
listTeacher
followed bycopyTeacher c/email
copies the emails of all teachers to the user’s clipboard. -
findTeacher Betsy
followed bycopyTeacher c/phone
copies the phones of teachers whose name matches Betsy. The definition of “matches” is as per the definition in thefindTeacher
command.
Delete a teacher : deleteTeacher
Deletes the specified teacher from NewAddressBook.
Format: deleteTeacher INDEX
- Deletes the teacher at the specified
INDEX
. -
INDEX
refers to the index number shown in the currently displayed teacher list. - The index must be a positive integer 1, 2, 3, … not exceeding the size of the currently displayed teacher list.
Examples:
-
listTeacher
followed bydeleteTeacher 2
deletes the 2nd teacher in NewAddressBook. -
findTeacher Betsy
followed bydeleteTeacher 1
deletes the 1st teacher in the results of thefindTeacher
command.
Edit a teacher : editTeacher
Edits an existing teacher in NewAddressBook.
Format: editTeacher INDEX [n/NAME] [p/PHONE] [e/EMAIL] [g/GENDER] [i/INVOLVEMENT] [o/OFFICE_TABLE_NUMBER] [t/TAG]…
- Edits the teacher at the specified
INDEX
. -
INDEX
refers to the index number shown in the currently displayed teacher list. The index must be a positive integer 1, 2, 3, … not exceeding the size of the currently displayed teacher list. - 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 teacher will be removed, ie. adding of tags is not cumulative.
t/
without specifying any tags after it.
Examples:
-
editTeacher 1 p/91234567 e/johndoe@example.com
Edits the phone number and email address of the 1st teacher to be91234567
andjohndoe@example.com
respectively. -
editTeacher 2 o/5 t/
Edits the office table number of the 2nd teacher to be 5 and clears all existing tags.
Find teachers by name : findTeacher
Finds teachers whose names contain any of the given keywords.
Format: findTeacher KEYWORD [MORE_KEYWORDS]
- The search is case-insensitive. e.g
hans
will matchHans
- The order of the keywords does not matter. e.g.
Hans Bo
will matchBo Hans
- Only the name is searched.
- Only full words will be matched e.g.
Han
will not matchHans
- Teachers matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
Examples:
-
findTeacher John
returnsjohn
andJohn Doe
-
findTeacher alex Yu
returnsAlex Yeoh
,Bernice Yu
Filter teachers : filterTeacher
The user can filter teachers by:
- tag(s)
- involvement
filterTeacher
command differs from the findTeacher
in that findTeacher
only finds teachers by name, whereas the filterTeacher
command allows the user to filter out teachers based on tags and involvement.
Format:filterTeacher [INVOLVEMENT] [t/TAG]…
- It allows filtering by either
TAG
orINVOLVEMENT
or both. - Either
INVOLVEMENT
orTAG
must be present. - The search for both tag and involvement is case-insensitive. e.g
hans
will matchHans
. - The search is for both tag and involvement matches substrings, e.g
han
will matchHans
. - Involvement searches are broken up. That is, if the command was
filterTeacher One Two
,One Two
be broken up into two stringsOne
andTwo
and it will search for involvement that contains bothOne
andTwo
. Similarly, if the user executesfilterTeacher one one
, then the command treats it as though a singleone
was put in. Similarly, an input witht/tag1 t/tag1
is treated as though the user had put in a singlet/tag1
. - Teachers matching all of the search will be returned (i.e.
AND
search). For example, if the search wasfilterTeacher chess club t/coordinator
, only teachers whose involvement has bothchess
andclub
in it and has tags containingcoordinator
will be returned. - Only alphanumeric tag parameters in the search are allowed.
- Involvement must come before tag. e.g.
filterTeacher chess club t/coordinator
is allowed butfilterTeacher t/coordinator chess club
is not.
Example:
-
filterTeacher class t/rep
- will return all teachers with the involvement containingclass
and has at least one tag containingrep
. -
filterTeacher math class
- will return all teachers with the involvement containingmath class
. -
filterTeacher t/banana t/phone
- will return all teachers with tags containingbanana
andphone
.
List all teachers : listTeacher
Shows a list of all teachers stored in NewAddressBook.
Format: listTeacher
Managing Meetings
NewAddressBook also allows you to keep track of upcoming meetings with parents, teachers or students.
Add a meeting : meet
Format: meet r/TITLE d/DATE_TIME v/VENUE w/ATTENDEE_TYPE
Parameters:
-
TITLE
A brief summary of the meeting.- should not be blank
-
DATE_TIME
A valid date and time of the meeting.- should be of the format
YYYY-MM-DD HH:mm
- should be a valid date in the future
- should pad the input with zeroes if the year, month or day is not two digits. For example, the date
2045-7-12
is invalid, but2045-07-12
is valid. - the year should be exactly 4 digits long, month 2 digits, and day 2 digits. Hence, while
12045-01-01
is a valid date, it will not be accepted. - the time should be a valid 24h time. Again, the user should pad the time such that the hour and minutes are both exactly 2 digits long. For example,
2:45
is invalid, but02:45
is valid.
- should be of the format
-
VENUE
: The venue of the meeting.- should not be blank
-
ATTENDEE_TYPE
: The type of person(s) you are meeting with.- must be one of the following:
S
(students),T
(teachers),P
(parents) - case-insensitive
- must be one of the following:
Example:
meet r/Meeting with Ms.Lee d/2040-07-12 14:08 v/Seminar room 3 w/P
Delete a meeting : deleteMeeting
Deletes the specified meeting from NewAddressBook.
Format: deleteMeeting INDEX
- Deletes the meeting at the specified
INDEX
. -
INDEX
refers to the index number shown in the displayed meeting list. - The index must be a positive integer 1, 2, 3, … not exceeding the size of the displayed meeting list.
Examples:
-
deleteMeeting 2
deletes the 2nd meeting in NewAddressBook. -
deleteMeeting 0
will return an error since the index is not positive.
Clear meetings : clearMeeting
Clears all meetings from NewAddressBook.
Format: clearMeeting
Show meetings window : showMeeting
Pops out the meeting window.
Format: showMeeting
Quit meetings window : quitMeeting
Closes the meeting window.
Format: quitMeeting
General
Exiting the program : exit
Exits the program.
Format: exit
Undo the latest change : undo
Undoes the last change. This command only works for operations that adds, deletes, or edits information.
This means that commands such as filterStudent/filterTeacher
and the copyStudent/copyTeacher
command cannot be undone. One can undo adding/deleting meetings as well.
Format: undo
undo
command works in both the main and meeting window.
undo
undoes the last action, no matter which window one executes it from. For example, if one edited a student in the main window, then added a meeting from the meeting window, executing the undo
command from the main window will undo the action of adding the meeting, rather than the action of editing the student. Another way of putting it is that the undo
command undoes the user’s last action, rather than the user’s last action in that window.
Viewing help : help
Shows a message explaining how to access the help page.
Format: help
NewAddressBook Data File
Saving the data
NewAddressBook data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Editing the data file
NewAddressBook data are saved as a JSON file [JAR file location]/data/newaddressbook.json
. Advanced users are welcome to update data directly by editing the data file.
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 NewAddressBook home folder.