Skip to content

Latest commit

 

History

History
623 lines (448 loc) · 19.2 KB

UserGuide.adoc

File metadata and controls

623 lines (448 loc) · 19.2 KB

Blast! - User Guide

1. Quick Start

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

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

  3. Copy the file to the folder you want to use as the home folder for Blast!.

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

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

  6. Some example commands you can try:

    • list : lists all contacts

    • addn/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01 : adds a contact named John Doe to the Address Book.

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

    • exit : exits the app

  7. Refer to the Features section below for details of each command.

2. Features

Command Format

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

  • Items in square brackets are optional e.g n/NAME [t/TAG] can be used as n/John Doe t/friend or as n/John Doe.

  • Items with ​ after them can be used multiple times including zero times e.g. [t/TAG]…​ can be used as   (i.e. 0 times), t/friend, t/friend t/family etc.

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

2.1. Viewing help : help

Format: help

2.2. Adding a person: add

Adds a person to the address book
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS i/AVATAR FILE PATH [t/TAG]…​

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

Examples:

2.3. Adding a person with an avatar: add i/

Adds a person to the address book with a custom avatar displayed
Default avatar folder: ./images/avatars
Format: add n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01 i/john_doe.png

2.4. Adding multiple persons: multiple

Adds multiple persons to the address book from a given file path of a .txt file.
Default avatar folder: ./images/avatars
Format: multiple FILE_PATH

Examples:

  • multiple ./data/personsToAdd.txt

  • multiple ./data/newStudentsToAdd.txt


TypeMultipleCommand

The message display box will display successful persons that are added.

MultipleCommandSuccess

Person format in .txt file: n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS i/AVATAR_FILE_PATH [t/TAG]…​

💡
The format in the .txt file is the same as add command except without the add

Example of .txt file:

n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01 i/john_doe.png
n/Betsy Crowe t/friend e/[email protected] a/Newgate Prison p/1234567 r/criminal
n/Mary Jane t/friend e/[email protected] a/Mary drive p/4567123 r/pretty

💡
Multiple command is an undoable/redoable command
UndoCommandSuccessAfterMultiple

2.5. Export: export

Exports the all contacts to a .txt file in a specified location.
Format: export [FILETYPE] [PATH]

Example:

  • export .txt C:/New Folder

2.6. Listing all persons : list

Shows a list of all persons in the address book.
Format: list

2.7. Editing a person : edit

Edits an existing person in the address book.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…​

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

  • At least one of the optional fields must be provided.

  • Existing values will be updated to the input values.

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

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

Examples:

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

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

2.8. Locating persons by keywords: find

Finds persons whose contain any of the given keywords.
Format: find PREFIX_PERSON_ATTRIBUTE/KEYWORD [MORE_KEYWORDS]…​ [MORE_PARAMETERS]…​

💡
Supported prefixes: n/, p/, e/, a/, ap/, r/, c/
  • The search is a OR search. e.g. finding n/alex r/friends will display all persons that name contain alex along with all persons that have friends tag

  • The OR rule applies to all other individual attribute except tags. (i.e. persons matching at least one keyword will be returned except for tags field.) e.g. Hans Bo will return Hans Gruber, Bo Yang

  • The AND rule for searching applies to tags field e.g. r/friends family will return persons with tags that match both friends and family

  • 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

  • When finding name, only full words will be matched e.g. Han will not match Hans

  • When finding email, any part of the email will be matched with the character sequence of the input e.g. mail will match @gmail.com and @hotmail.com

  • When finding phone, any part of the phone will be matched with the character sequence of the input e.g. 123 will match 91234567 and 81234567

  • When finding appointment, only date and time with correct format will be matched e.g. 10:30 will match all 10:30 appointments and 20/10/2017 will match all 20/10/2017 appointments

  • When finding comment, only full words will be matched e.g. swim will not match swims

  • When finding address, any part of the address will be matched


Searching for contacts with friends tag with the command find r/friends.

TypeFindCommandOne

The result of find r/friends will show all contacts with friends tag.

FindCommandSuccessListOne

Searching for contacts with colleagues and friends tags with the command find r/colleagues friends.

TypeFindCommandTwo

The result of find r/colleagues friends will show all contacts have both colleagues and friends tags.

FindCommandSuccessTwo

Examples:

  • find n/John
    Returns john and John Doe

  • find r/friends family
    Returns any person with friends tag and family tag

  • find e/@gmail.com
    Returns any person whose email contain @gmail.com

  • find n/Betsy Tim John
    Returns any person having names Betsy, Tim, or John

  • find n/Betsy Tim John r/friends
    Returns any person having names Betsy, Tim, or John or any person with friends tag

  • find n/Betsy Tim John r/friends e/@gmail.com
    Returns any person having names Betsy, Tim, or John, any person with friends tag and any person whose email contain @gmail.com

  • find n/Betsy r/friends e/@gmail.com c/funny ap/10:30 a/clementi p/9123
    Returns any person having names Betsy, any person with friends tag, any person whose email contain @gmail.com, any person whose comment have the word funny in it, any person who have 10:30 appointment, any person whose address contain clementi and any person whose phone number contain the sequence 9123

ℹ️
Find command currently support finding of name, email, phone, comment, address, appointment and tags.

2.9. Find a person without matching the whole keyword: find_contain

Finds all persons whose name / phone / address / email contains the given string
Format: find_contain PREFIX_PERSON_ATTRIBUTE/STRING [MORE_PARAMETERS]…​

  • The search is an "AND" search.

  • The characters that follow a prefix are treated as one string.

  • A match happens when a person’s details contain the given strings e.g. "David Li" contains "avid", "93463991" contains "99".

2.10. Deleting a person : delete

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

  • Deletes the person at the specified INDEX.

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

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

Examples:

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

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

2.11. Selecting a person : select

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

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

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

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

Examples:

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

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

2.12. Commenting about a person : comment

Adds a comment about a specific user.
Format: comment INDEX [c/COMMENT]

  • Comments on the person at the specified INDEX.

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

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

Example:

  • list
    comment 3 c/Likes to play computer games.
    Selects the 3rd person in the address book and adds "Likes to play computer games." as comment.

  • list
    comment 2 c/
    Selects the 2nd person in the address book and removes its comment.


Adding comment "Likes to play computer games." to 3rd contact.

01 2

The result of comment 3 c/Likes to play computer games. shows the following:

02 2

Removing comment from 4th contact.

03 1

The result of comment 4 c/ shows the following:

04 2

2.13. Making Appointment for a person : appoint

Adds an appointment time slot for a specific user.
Format: appoint INDEX [ap/APPOINT]

  • Makes an appointment for the person at the specified INDEX.

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

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

  • The default date format follows the following: DD/MM/YYYY HR:MN. However, this format is not enforced and the user has freedom to select his/her own format.

Example:

  • list
    appoint 2 ap/20/10/2017 14:45
    Selects the 2nd person in the address book and assigns the above appointment slot.

  • list
    appoint 4 ap/
    Removes the appointment from the 4th contact.


Adding appointment at December 28th, 2017 14:45 to 2nd contact.

05 1

The result of appoint 2 ap/28/12/2017 14:45 shows the following:

06 2

Removing the appointment from 3rd contact.

07 1

The result of appoint 3 ap/ shows the following:

08 2

2.14. Login using Gmail or Yahoo Account: email_login

Logs in with a Gmail or Yahoo account to allow sending emails
Format: email_login "[EMAIL]" "[PASSWORD]"

  • "[EMAIL]" is the email used to login. Example: "[email protected]"

  • "[PASSWORD]" is the passwor. Example: "testpass"

Example:

Note: The Login Button in the User Interface will not update automatically if an email is logged in through console. However, clicking on the Login / Logout button will update the login status accordingly.

2.15. Sending an email to a list of recipients: email_send

Sends an email to a list of recipients. Requires an logged in email using email_login
Format: email_send "[RECIPIENTS]" "[TITLE]" "[BODY]"

  • "[RECIPIENTS]" is the list of recipients, separated by ;. Example: "[email protected];[email protected]"

  • "[TITLE]" is the title of the email. Example: "Change of class schedule"

  • "[BODY]" is the body of the message. Example: "The class schedule is changed to 4 pm"

Example:

2.16. Listing entered commands : history

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

ℹ️

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

2.17. Undoing previous command : undo

Restores the address book to the state before the previous undoable command was executed.
Format: undo

ℹ️

Undoable commands: those commands that modify the address book’s content (add, delete, edit and clear).

Examples:

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

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

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

2.18. Redoing the previously undone command : redo

Reverses the most recent undo command.
Format: redo

Examples:

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

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

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

2.19. Merging given file to default storage file : merge

Merges the given .xml file to the default storage .xml file specified in preferences.json.
Format: merge NEW_FILE_PATH

Examples:

  • merge ./data/newFile.xml

  • merge ./data/otherClass.xml


TypeMergeCommand

Unique persons that are successfully merge into the address book will appear in the person card list.

MergeCommandSuccess

💡
Merge command is an undoable/redoable command
UndoCommandSuccessAfterMerge

2.20. Clearing all entries : clear

Clears all entries from the address book.
Format: clear

2.21. Exiting the program : exit

Exits the program.
Format: exit

2.22. Saving the data

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

The search bar above the person panel shows any person whose name / phone / email / address contains the string typed in the search boxes (case-insensitive).

Interface of the search bar

search bar

Examples


Typing "Li" in the name box returns any person whose name contains "li".

search bar li

Typing "david" in the name box and "9" in the phone box returns any person whose name contains "david" and phone number contains "9".

search bar david

2.24. Using the email login button

The login button is located under the search bar. Clicking on the login button opens a window for logging email.

The email login button

email login button

The email login window

email login window

Any feedback from an login activity will be displayed in the text area at the bottom of the login window, as well as in the console.

2.25. Using the email send button

The send button is located under the search bar, next to the login button. It will only be available after an email is logged in. Clicking on the send button opens a window for sending email.

The email send button

email send button

The email send window

email send window

Selecting the check box at the far left of a person card will include his email in the "recipients" field when the send button is clicked.

email checkbox

2.26. Selecting an application theme

From the top menu bar, select Themes, and then Select Themes.

Click on a theme, the left side label will indicate which theme is currently selected.

Important!
The application must be restarted before the newly selected theme is activated.

3. FAQ

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

4. Command Summary

  • Add add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​
    e.g. add n/James Ho p/22224444 e/[email protected] a/123, Clementi Rd, 1234665 t/friend t/colleague

  • Multiple multiple FILE_PATH
    e.g multiple data/personsToAdd.txt

  • Export export [FILETYPE] [EXPORT_PATH]
    e.g export .txt C:/Users/This User/Desktop

  • Clear : clear

  • Delete : delete INDEX
    e.g. delete 3

  • Edit : edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…​
    e.g. edit 2 n/James Lee e/[email protected]

  • Find : find KEYWORD [MORE_KEYWORDS]
    e.g. find n/James Jake r/friends e/@gmail.com p/9123

  • Comment : comment INDEX [c/COMMENT]
    e.g. comment 4 c/Likes to code

  • Appoint : appoint INDEX [c/APPOINTMENT]
    e.g. appoint 2 ap/20/10/2017 14:30

  • List : list

  • Help : help

  • Select : select INDEX
    e.g.select 2

  • Email Login: email_login "[EMAIL]" "PASSWORD"
    e.g. email_login "[email protected]" "testpass"

  • Email Send: email_send "[RECIPIENTS]" "[TITLE]" "[BODY]"
    e.g. email_send "[email protected];[email protected]" "Test title" "Test Body"

  • History : history

  • Undo : undo

  • Redo : redo

  • Merge : merge FILE_PATH
    e.g. merge data/newfile.xml