From 45bfb2844594f246da5d43f9acf7e5390f7012c0 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Fri, 12 Apr 2024 08:56:07 +0800 Subject: [PATCH 01/13] indicate phone number descriptor workaround --- docs/UserGuide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index e1f7c604c7d..e1001d7a20b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -449,6 +449,7 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa ## Known issues 1. **When using multiple screens**, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the `preferences.json` file created by the application before running the application again. +2. **When adding phone number descriptors**, If you try to add a number with a descriptor such as 98731094 (home), the application rejects this input and prompts the user to only provide phone numbers with numerical values only. The phone number descriptor is not intended to be stored but users can consider using tags such as t/homePhone as a workaround phone number descriptor. 2. **Restrictions on the valid user input of `Faculty` values**: For the current version, a valid user input for `Faculty` with prefix `f/` can only match exactly the same string as suggested below. Cases can be ignored though. - Faculty of Arts of Social Sciences; Arts and Social Sciences; FASS - Business School; Business; Biz School; Biz From 7ae9b8155105508bced8db09f6f9204df22bb08f Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 13:41:13 +0800 Subject: [PATCH 02/13] add known issue for name with special character --- docs/UserGuide.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 0f975d08dc2..bf7b174356b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -475,7 +475,8 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa ## Known issues 1. **When using multiple screens**, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the `preferences.json` file created by the application before running the application again. -2. **When adding phone number descriptors**, If you try to add a number with a descriptor such as 98731094 (home), the application rejects this input and prompts the user to only provide phone numbers with numerical values only. The phone number descriptor is not intended to be stored but users can consider using tags such as t/homePhone as a workaround phone number descriptor. +2. **When adding phone number descriptors**, If you try to add a number with a descriptor such as `98731094 (home)`, the application rejects this input and advise the user to only provide phone numbers with numerical values only. The phone number is not intended to store phone number descriptor but users can consider using tags such as t/homePhone as a workaround. +3. **When adding name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. -------------------------------------------------------------------------------------------------------------------- From 64131e32dbd5fee01dee0818e01f86ef64d2719c Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 16:57:36 +0800 Subject: [PATCH 03/13] update edit command for allowance of duplicate or unique attributes --- docs/UserGuide.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index bf7b174356b..3dc2380412b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -133,6 +133,10 @@ Adds a person to the contacts. Format: `add n/NAME p/PHONE_NUMBER e/EMAIL m/MODULE f/FACULTY v/VENUE [t/TAG]…​ [a/AVAILABILITY]…​` +* `NAME` has to be unique among contacts. +* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. +* `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. +
:bulb: **Tip:** A person can have any number of tags and availabilities (including 0)
@@ -169,11 +173,12 @@ Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE * 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 all the person’s tags by typing `t/` without - specifying any tags after it. +* You can remove all the person’s tags by typing `t/` without specifying any tags after it. * When editing availabilities, the existing availabilities of the person will be removed i.e adding of availabilities is not cumulative. -* You can remove all the person’s availabilities by typing `a/` without - specifying any availabilities after it. +* You can remove all the person’s availabilities by typing `a/` without specifying any availabilities after it. +* `NAME` has to be unique among contacts. +* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. +* `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. Examples: * `edit 1 p/91234567 e/johndoe@example.com` Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. @@ -282,6 +287,7 @@ Format: `meeting-add INDEX d/DESCRIPTION s/DATETIME` 2. `H:mm` 3. `HHmm` * Duplicate meetings with the same `DESCRIPTION` and `DATETIME` in the same person is not allowed. +* Meetings with the same `DESCRIPTION` and `DATETIME` does not need to be unique among contacts. Examples: * `meeting-add 1 d/Meet for finals preparation s/12/04/2024 18:00` adds a meeting to the first person with the description of `Meet for finals preparation` and the date and time of `12/04/2024 18:00` From 21e66ca6b8aa1279690a4e5b4cd5bd890d21f668 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 17:04:38 +0800 Subject: [PATCH 04/13] respecify case sensitivity --- docs/UserGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 3dc2380412b..7b6abb56475 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -133,7 +133,7 @@ Adds a person to the contacts. Format: `add n/NAME p/PHONE_NUMBER e/EMAIL m/MODULE f/FACULTY v/VENUE [t/TAG]…​ [a/AVAILABILITY]…​` -* `NAME` has to be unique among contacts. +* `NAME` is case-sensitive and has to be unique among contacts. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. * `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. @@ -176,7 +176,7 @@ Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE * You can remove all the person’s tags by typing `t/` without specifying any tags after it. * When editing availabilities, the existing availabilities of the person will be removed i.e adding of availabilities is not cumulative. * You can remove all the person’s availabilities by typing `a/` without specifying any availabilities after it. -* `NAME` has to be unique among contacts. +* `NAME` is case-sensitive and has to be unique among contacts. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. * `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. From b0c2bc447e1dc3f1ab0be0a21f663a6eb2046b2a Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 17:52:52 +0800 Subject: [PATCH 05/13] add known issue for ambiguility with venues containing prefix --- docs/UserGuide.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 7b6abb56475..01842338a7f 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -481,8 +481,9 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa ## Known issues 1. **When using multiple screens**, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the `preferences.json` file created by the application before running the application again. -2. **When adding phone number descriptors**, If you try to add a number with a descriptor such as `98731094 (home)`, the application rejects this input and advise the user to only provide phone numbers with numerical values only. The phone number is not intended to store phone number descriptor but users can consider using tags such as t/homePhone as a workaround. -3. **When adding name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. +2. **When adding/editing phone number with a descriptor**, If you try to add a number with a descriptor such as `98731094 (home)`, the application rejects this input and advise the user to only provide phone numbers with numerical values only. The phone number is not intended to store phone number descriptor but users can consider using tags such as t/homePhone as a workaround. +3. **When adding/editing name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. +4. **When adding/editing venues containing space with an attribute prefix**, If you try to add a venue such as `Room 12 t/r`, the application will add a contact with a venue `Room 12` and a tag `r` instead of the intended venue `Room 12 t/r`. The venue is not intended to store venues that contains a space followed by an attribute prefix but users can consider omitting the space or replace with a hyphen such as `Room 12t/r` or `Room 12-t/r` as a workaround. -------------------------------------------------------------------------------------------------------------------- From a5e9db1fda5c0da3c0de084e7050eecf643016da Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 19:24:45 +0800 Subject: [PATCH 06/13] remove attribute in sort user guide to reduce confusion --- docs/UserGuide.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 01842338a7f..e124f599e46 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -190,6 +190,25 @@ Examples:
**After editing the second person:**
![After editing the second person](images/AfterEditCommand.png) +### Locating persons by name: `find` + +Finds persons whose names contain any of the given keywords. + +Format: `find KEYWORD [MORE_KEYWORDS]` + +* The search is case-insensitive. e.g `hans` will match `Hans` +* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans` +* Only the name is searched. +* Only full words will be matched e.g. `Han` will not match `Hans` +* Persons matching at least one keyword will be returned (i.e. `OR` search). + e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang` + +Examples: +* `find John` returns `john` and `John Doe` +* `find li` returns `David Li` +* `find alex david` returns `Alex Yeoh`, `David Li`
+ ![result for 'find alex david'](images/findAlexDavidResult.png) + ### Filtering persons: `filter` Filters persons whose module, faculty, tags or availabilities match the given filtering criteria. @@ -214,37 +233,18 @@ Examples: * `filter t/tutor` returns `Bernice Yu`, `Irfan Ibrahim`
![result for 'filter t/tutor'](images/filterTutorTagResult.png) -### Locating persons by name: `find` - -Finds persons whose names contain any of the given keywords. - -Format: `find KEYWORD [MORE_KEYWORDS]` - -* The search is case-insensitive. e.g `hans` will match `Hans` -* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans` -* Only the name is searched. -* Only full words will be matched e.g. `Han` will not match `Hans` -* Persons matching at least one keyword will be returned (i.e. `OR` search). - e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang` - -Examples: -* `find John` returns `john` and `John Doe` -* `find li` returns `David Li` -* `find alex david` returns `Alex Yeoh`, `David Li`
- ![result for 'find alex david'](images/findAlexDavidResult.png) -### Sorting persons by attribute: `sort` +### Sorting persons: `sort` Sorts the list of persons based on specified attribute. -Format: `sort [ATTRIBUTE]` +Format: `sort [n/] [p/] [m/] [f/] [v/]` * By default, sorting is done in alphanumeric order. * The order of character priority would be letters (A-Z), numbers (0-9), special characters (!@#$%^&*). * The capitalisation of the letters do not affect their priority such that `Aaron` will have same priority as `aaron`. * For attribute with exact same values, the tie-breaker is determined by their added order. * For sorting of multiple attributes, the weightage will be determined by the order in which it was entered. E.g `sort m/ p/ v/` will sort by contact by their module, among those with equal modules would then be sorted by their phone number and similarly for venue. -* `[ATTRIBUTE]` is to be noted by their prefix. e.g `name` will be `n/`. * `s/` sorts contacts by person with the earliest meeting * `meet/` sorts contacts by person with the earliest meeting, followed by alphanumeric order of meeting description From 2522808d1937e4bb8f44cddf98ade5cee92c6b9c Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 21:48:06 +0800 Subject: [PATCH 07/13] include missing attributes to sort --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index e124f599e46..0b92c2b0538 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -238,7 +238,7 @@ Examples: Sorts the list of persons based on specified attribute. -Format: `sort [n/] [p/] [m/] [f/] [v/]` +Format: `sort [n/] [p/] [m/] [f/] [v/] [s/] [meet/]` * By default, sorting is done in alphanumeric order. * The order of character priority would be letters (A-Z), numbers (0-9), special characters (!@#$%^&*). From b5fff27ef878b317cf7e2f5f067a9e76620c18da Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 21:53:06 +0800 Subject: [PATCH 08/13] remove unappropriate info in help message --- src/main/java/staffconnect/logic/commands/SortCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/staffconnect/logic/commands/SortCommand.java b/src/main/java/staffconnect/logic/commands/SortCommand.java index 98bb5089fa9..4c79dbfd019 100644 --- a/src/main/java/staffconnect/logic/commands/SortCommand.java +++ b/src/main/java/staffconnect/logic/commands/SortCommand.java @@ -26,7 +26,7 @@ public class SortCommand extends Command { public static final String MESSAGE_USAGE = COMMAND_WORD + ": Sort all persons by the attribute specified " + "and displays them as a list with index numbers.\n" - + "Parameters: [ATTRIBUTE]\n" + + "Parameters: " + "[" + PREFIX_NAME + "] " + "[" + PREFIX_PHONE + "] " + "[" + PREFIX_MODULE + "] " From cc6798c5b1869135c9abf5dae9908ea2aae0041c Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 03:02:46 +0800 Subject: [PATCH 09/13] update unexpected behaviour of exit button not generating the json file --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 0b92c2b0538..a9a0246f9f3 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -484,7 +484,7 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa 2. **When adding/editing phone number with a descriptor**, If you try to add a number with a descriptor such as `98731094 (home)`, the application rejects this input and advise the user to only provide phone numbers with numerical values only. The phone number is not intended to store phone number descriptor but users can consider using tags such as t/homePhone as a workaround. 3. **When adding/editing name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. 4. **When adding/editing venues containing space with an attribute prefix**, If you try to add a venue such as `Room 12 t/r`, the application will add a contact with a venue `Room 12` and a tag `r` instead of the intended venue `Room 12 t/r`. The venue is not intended to store venues that contains a space followed by an attribute prefix but users can consider omitting the space or replace with a hyphen such as `Room 12t/r` or `Room 12-t/r` as a workaround. - +5. **When generating the default file and exiting via the `Exit` button**, If you try to generate the default JSON file `[JAR file location]/data/staffconnect.json` by running the JAR file, without manipulating any data and exiting via the `Exit` button, the JSON file would not be generated. You may consider using the `exit` command via the command line interface to generate the default JSON file instead. -------------------------------------------------------------------------------------------------------------------- ## Attribute summary From ce0fc9e68ce3d5a9493c6b66d2e1c6b1bf9bd66f Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 03:34:17 +0800 Subject: [PATCH 10/13] Replace contact with persons or staff book to reduce confusion and improve clarity edit wording of format for clarity --- docs/UserGuide.md | 70 +++++++++++++++++++++++------------------------ 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index a9a0246f9f3..3a4ae7a602a 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -3,7 +3,7 @@ layout: page title: User Guide --- -StaffConnect (SC) is a **desktop app for managing contacts of Professors and Tutors, optimized for use via a Command Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, SC can get your contact management tasks done faster than traditional GUI apps. +StaffConnect (SC) is a **desktop app for managing Professors' and Tutors' contact information and associated meetings, optimized for use via a Command Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, SC can get your contact management tasks done faster than traditional GUI apps. * Table of Contents {:toc} @@ -25,13 +25,13 @@ StaffConnect (SC) is a **desktop app for managing contacts of Professors and Tut 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.
Some example commands you can try: - * `list` : Lists all contacts. + * `list` : Lists all persons. - * `add n/John Doe p/98765432 e/johnd@example.com m/CS2103 f/Computing v/John street, block 123, #01-01` : Adds a contact named `John Doe` to the contacts list. + * `add n/John Doe p/98765432 e/johnd@example.com m/CS2103 f/Computing v/John street, block 123, #01-01` : Adds a person named `John Doe` to the persons list. - * `delete 3` : Deletes the 3rd contact shown in the current list. + * `delete 3` : Deletes the 3rd person shown in the current list. - * `clear` : Deletes all contacts. + * `clear` : Deletes all persons. * `exit` : Exits the app. @@ -50,7 +50,7 @@ StaffConnect (SC) is a **desktop app for managing contacts of Professors and Tut Before we get started StaffConnect offers a unique suite of UI controls for users to customise their own unique experience! -1. Clicking any items on the left contacts panel will allow you to select the person contact to display. +1. Clicking any items on the left contacts panel will allow you to select the person whose attributes and meeting list are to be display.
Alternatively, clicking anywhere in the contacts panel then using your arrow keys to navigate and hitting enter to select would give the same result.
**Intended Behaviour:**
Hovering the selection with mouse or arrow keys would not cause the details panel to switch to the selected person. This is to allow users to browse the contacts panel without switching. @@ -129,13 +129,13 @@ Format: `help` ### Adding a person: `add` -Adds a person to the contacts. +Adds a person to the staff book. Format: `add n/NAME p/PHONE_NUMBER e/EMAIL m/MODULE f/FACULTY v/VENUE [t/TAG]…​ [a/AVAILABILITY]…​` -* `NAME` is case-sensitive and has to be unique among contacts. -* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. -* `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. +* `NAME` is case-sensitive and has to be unique among persons in staff book. +* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons to staff book. +* `TAG` and `AVAILABILITY` has to be unique within a single person but can be duplicated among persons in staff book.
:bulb: **Tip:** A person can have any number of tags and availabilities (including 0) @@ -150,13 +150,13 @@ Examples: ### Listing all persons : `list` -Shows a list of all persons in the contacts. +Shows a list of all persons in the staff book. Format: `list` ### Editing a person : `edit` -Edits an existing person in the contacts. +Edits an existing person in the staff book.
@@ -176,9 +176,9 @@ Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE * You can remove all the person’s tags by typing `t/` without specifying any tags after it. * When editing availabilities, the existing availabilities of the person will be removed i.e adding of availabilities is not cumulative. * You can remove all the person’s availabilities by typing `a/` without specifying any availabilities after it. -* `NAME` is case-sensitive and has to be unique among contacts. -* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. -* `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. +* `NAME` is case-sensitive and has to be unique among persons in staff book. +* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons in staff book. +* `TAG` and `AVAILABILITY` has to be unique within a single person but can be duplicated among persons in staff book. Examples: * `edit 1 p/91234567 e/johndoe@example.com` Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. @@ -244,9 +244,9 @@ Format: `sort [n/] [p/] [m/] [f/] [v/] [s/] [meet/]` * The order of character priority would be letters (A-Z), numbers (0-9), special characters (!@#$%^&*). * The capitalisation of the letters do not affect their priority such that `Aaron` will have same priority as `aaron`. * For attribute with exact same values, the tie-breaker is determined by their added order. -* For sorting of multiple attributes, the weightage will be determined by the order in which it was entered. E.g `sort m/ p/ v/` will sort by contact by their module, among those with equal modules would then be sorted by their phone number and similarly for venue. -* `s/` sorts contacts by person with the earliest meeting -* `meet/` sorts contacts by person with the earliest meeting, followed by alphanumeric order of meeting description +* For sorting of multiple attributes, the weightage will be determined by the order in which it was entered. E.g `sort m/ p/ v/` will sort persons by their module, among those with equal modules would then be sorted by their phone number and similarly for venue. +* `s/` sorts the list by person with the earliest meeting +* `meet/` sorts the list by person with the earliest meeting, followed by alphanumeric order of meeting description Examples: * `sort m/ p/` returns person by ascending module codes followed by ascending phone numbers `CS2000 80000000`, `CS2000 90000000`, `CS3000 80000000`followed by `CS3000 90000000` @@ -287,7 +287,7 @@ Format: `meeting-add INDEX d/DESCRIPTION s/DATETIME` 2. `H:mm` 3. `HHmm` * Duplicate meetings with the same `DESCRIPTION` and `DATETIME` in the same person is not allowed. -* Meetings with the same `DESCRIPTION` and `DATETIME` does not need to be unique among contacts. +* Meetings with the same `DESCRIPTION` and `DATETIME` does not need to be unique among persons in staff book. Examples: * `meeting-add 1 d/Meet for finals preparation s/12/04/2024 18:00` adds a meeting to the first person with the description of `Meet for finals preparation` and the date and time of `12/04/2024 18:00` @@ -311,16 +311,16 @@ Format: `meeting-delete INDEX i/MEETING-INDEX ` * The index refers to the index number shown in the displayed person list. * The index **must be a positive integer** 1, 2, 3,…​ and tally within range index of the displayed person list. * The meeting-index refers to the index number shown in the displayed meeting list. -* The index **must be a positive integer** 1, 2, 3,…​ and tally within range index of the displayed meeting list. +* The meeting-index **must be a positive integer** 1, 2, 3,…​ and tally within range index of the displayed meeting list. * The meeting from the person must exist before it can be deleted otherwise an error will be displayed. Examples: * The following commands assumes that meetings have been added prior to the command. Otherwise, an error will be thrown.
**(Refer to the section above on how to add a meeting)** - * `list` followed by `meeting-delete 1 i/1` deletes the 1st meeting from the 1st person in the contacts. + * `list` followed by `meeting-delete 1 i/1` deletes the 1st meeting from the 1st person in the list. * `find Bernice Yu` followed by `meeting-delete 1 i/2` deletes the 1st meeting form the 1st person in the results of the `find` command.
**Results for delete meeting:**
The following command was applied: `find Bernice Yu` followed by `meeting-delete 1 i/2`. -
__(Disclaimer: The content shown in the examples may not match what you have added to your own meetings within the contact book).__ +
__(Disclaimer: The content shown in the examples may not match what you have added to your own meetings within the staff book).__

**After `find Bernice Yu`:**
![result for before `find Bernice Yu` followed by `meeting-delete 1 i/2`](images/meetingDeleteResultBefore.png)

**After `meeting-delete 1 i/2`:**
@@ -334,7 +334,7 @@ The following command was applied: `find Bernice Yu` followed by `meeting-delet There will be no further prompt after entering the command to delete a person in the staff book. This action is irreversible and the person to be deleted cannot be retrieved afterwards.
-Deletes the specified person from the contacts. +Deletes the specified person from the staff book. Format: `delete INDEX` @@ -343,8 +343,8 @@ Format: `delete INDEX` * The index **must be a positive integer** 1, 2, 3, …​ Examples: -* `list` followed by `delete 2` deletes the 2nd person in the contacts. -* `sort p/` followed by `delete 1` deletes the 1st person in the contacts in the results of the `sort` command, which should be the person with the smallest phone number. +* `list` followed by `delete 2` deletes the 2nd person in the list. +* `sort p/` followed by `delete 1` deletes the 1st person in the list in the results of the `sort` command, which should be the person with the smallest phone number. * `find Bernice Yu` followed by `delete 1` deletes the 1st person in the results of the `find` command.
**Before deletion:**
![All persons listed](images/BeforeDeleteCommand1.png) @@ -357,7 +357,7 @@ Examples: ### Setting a person as favourite: `fav` -Sets the specified person from the contacts as favourite. +Sets the specified person from the list as favourite.
:information_source: **Note:** The displayed view in StaffConnect will reset to the default view after the `fav` command is called. @@ -370,15 +370,15 @@ Format: `fav INDEX` * The index **must be a positive integer** 1, 2, 3, …​ Examples: -* `list` followed by `fav 2` sets the 2nd person as favourite in the contacts. -* `sort p/` followed by `fav 1` sets the 1st person as favourite in the contacts in the results of the `sort` command, which should be the person with the smallest phone number. +* `list` followed by `fav 2` sets the 2nd person as favourite in the staff book. +* `sort p/` followed by `fav 1` sets the 1st person as favourite in the staff book in the results of the `sort` command, which should be the person with the smallest phone number. * `find Betsy` followed by `fav 1` sets the 1st person as favourite in the results of the `find` command. ![Result of fav command](images/AfterFavCommand.png) ### Removes a person as favourite: `unfav` -Removes the specified person from the contacts as favourite. +Removes the specified person from the staff book as favourite.
:information_source: **Note:** The displayed view in StaffConnect will reset to the default view after the `unfav` command is called. @@ -391,8 +391,8 @@ Format: `unfav INDEX` * The index **must be a positive integer** 1, 2, 3, …​ Examples: -* `list` followed by `unfav 2` removes the 2nd person as favourite in the contacts. -* `sort p/` followed by `fav 1` removes the 1st person as favourite in the contacts in the results of the `sort` command, which should be the person with the smallest phone number. +* `list` followed by `unfav 2` removes the 2nd person as favourite in the staff book. +* `sort p/` followed by `fav 1` removes the 1st person as favourite in the staff book in the results of the `sort` command, which should be the person with the smallest phone number. * `find Betsy` followed by `unfav 1` removes the 1st person as favourite in the results of the `find` command. ### Refresh and clear all outdated meetings: `refresh` @@ -423,13 +423,13 @@ Examples: Refresh is only used when the user decides to remove clutter in the staff book, and wants to remove outdated meetings. This process is not done automatically as sometimes the user would like to retain old meetings for bookkeeping purposes. -### Selecting the detailed contact to display: `select` +### Selecting the person to display: `select` -Selects the person identified by the index number used in the displayed person list for display. +Selects the person identified by their current displayed index number to display their attributes and meeting list. Format: `select INDEX` -* Select the person and loads its contact with meeting details for display at the specified **INDEX** +* Select the person and loads its staff book with meeting details for display 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, …​ @@ -483,7 +483,7 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa 1. **When using multiple screens**, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the `preferences.json` file created by the application before running the application again. 2. **When adding/editing phone number with a descriptor**, If you try to add a number with a descriptor such as `98731094 (home)`, the application rejects this input and advise the user to only provide phone numbers with numerical values only. The phone number is not intended to store phone number descriptor but users can consider using tags such as t/homePhone as a workaround. 3. **When adding/editing name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. -4. **When adding/editing venues containing space with an attribute prefix**, If you try to add a venue such as `Room 12 t/r`, the application will add a contact with a venue `Room 12` and a tag `r` instead of the intended venue `Room 12 t/r`. The venue is not intended to store venues that contains a space followed by an attribute prefix but users can consider omitting the space or replace with a hyphen such as `Room 12t/r` or `Room 12-t/r` as a workaround. +4. **When adding/editing venues containing space with an attribute prefix**, If you try to add a venue such as `Room 12 t/r`, the application will add a person with a venue `Room 12` and a tag `r` instead of the intended venue `Room 12 t/r`. The venue is not intended to store venues that contains a space followed by an attribute prefix but users can consider omitting the space or replace with a hyphen such as `Room 12t/r` or `Room 12-t/r` as a workaround. 5. **When generating the default file and exiting via the `Exit` button**, If you try to generate the default JSON file `[JAR file location]/data/staffconnect.json` by running the JAR file, without manipulating any data and exiting via the `Exit` button, the JSON file would not be generated. You may consider using the `exit` command via the command line interface to generate the default JSON file instead. -------------------------------------------------------------------------------------------------------------------- From 5aff9bab74bd8eefb54a0986c93e9c7486a23f08 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 04:00:47 +0800 Subject: [PATCH 11/13] change has to have for multiple --- docs/UserGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 3a4ae7a602a..c768a159abd 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -135,7 +135,7 @@ Format: `add n/NAME p/PHONE_NUMBER e/EMAIL m/MODULE f/FACULTY v/VENUE [t/TAG]… * `NAME` is case-sensitive and has to be unique among persons in staff book. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons to staff book. -* `TAG` and `AVAILABILITY` has to be unique within a single person but can be duplicated among persons in staff book. +* `TAG` and `AVAILABILITY` have to be unique within a single person but can be duplicated among persons in staff book.
:bulb: **Tip:** A person can have any number of tags and availabilities (including 0) @@ -178,7 +178,7 @@ Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE * You can remove all the person’s availabilities by typing `a/` without specifying any availabilities after it. * `NAME` is case-sensitive and has to be unique among persons in staff book. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons in staff book. -* `TAG` and `AVAILABILITY` has to be unique within a single person but can be duplicated among persons in staff book. +* `TAG` and `AVAILABILITY` have to be unique within a single person but can be duplicated among persons in staff book. Examples: * `edit 1 p/91234567 e/johndoe@example.com` Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. From 38c03df8adbbb0cf7e5ee80dd0d36b66db79caf7 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 04:07:59 +0800 Subject: [PATCH 12/13] specify for clarity --- docs/UserGuide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index c768a159abd..2e6bd14f973 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -135,7 +135,7 @@ Format: `add n/NAME p/PHONE_NUMBER e/EMAIL m/MODULE f/FACULTY v/VENUE [t/TAG]… * `NAME` is case-sensitive and has to be unique among persons in staff book. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons to staff book. -* `TAG` and `AVAILABILITY` have to be unique within a single person but can be duplicated among persons in staff book. +* `TAG` and `AVAILABILITY` have to be unique for a person but can be duplicated among persons in staff book.
:bulb: **Tip:** A person can have any number of tags and availabilities (including 0) @@ -178,7 +178,7 @@ Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE * You can remove all the person’s availabilities by typing `a/` without specifying any availabilities after it. * `NAME` is case-sensitive and has to be unique among persons in staff book. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons in staff book. -* `TAG` and `AVAILABILITY` have to be unique within a single person but can be duplicated among persons in staff book. +* `TAG` and `AVAILABILITY` have to be unique for a person but can be duplicated among persons in staff book. Examples: * `edit 1 p/91234567 e/johndoe@example.com` Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. @@ -429,8 +429,8 @@ Selects the person identified by their current displayed index number to display Format: `select INDEX` -* Select the person and loads its staff book with meeting details for display at the specified **INDEX** -* The index refers to the index number shown in the displayed person list. +* Select the person at the specified **INDEX** to display its attribute and meeting list. +* The index refers to the index number shown in the current displayed person list. * The index **must be a positive integer** 1, 2, 3, …​ Examples: From 45f3d5202e2d46aa064c8a7c61042103d17a47c9 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 04:22:21 +0800 Subject: [PATCH 13/13] add missing plurality --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 2e6bd14f973..77eea33b72a 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -429,7 +429,7 @@ Selects the person identified by their current displayed index number to display Format: `select INDEX` -* Select the person at the specified **INDEX** to display its attribute and meeting list. +* Select the person at the specified **INDEX** to display its attributes and meeting list. * The index refers to the index number shown in the current displayed person list. * The index **must be a positive integer** 1, 2, 3, …​