Skip to content
This repository has been archived by the owner on Dec 9, 2017. It is now read-only.

Latest commit

 

History

History
624 lines (473 loc) · 20.5 KB

UserGuide.adoc

File metadata and controls

624 lines (473 loc) · 20.5 KB

Intelli - 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 Intelli.jar here.

  3. Copy the file to the folder you want to use as the home folder for your Relationship Tracker.

  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/johnd@example.com a/John street, block 123, #01-01 : adds a contact named John Doe to Intelli.

    • 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. Autocompleting commands : Tab

Completes a command by filling the command box with the first suggestion shown in the result display.
Format: INPUT, then pressing Tab

CommandBoxPreAndPostAutocomplete
  • Only commands with the first few letters matching the current user input are considered as valid suggestions.

  • Excepting when the application is first started, not keying in any commands/ keying only blank spaces will cause all possible commands to be displayed.

  • By default, the first suggestion is the add command (e.g. keying in a blank space and then pressing Tab will cause add to appear in the command box).

Examples:

  • Type a followed by Tab

  • Type add followed by Tab

2.2. Clearing the command box : Control

Clears the command box instantaneously.
Format: Control

2.3. Viewing help : help

Format: help

2.4. Adding a person: add

Adds a person to Intelli.
Format: add n/NAME [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [r/REMARK] [t/TAG]…​

💡
A person can have any number of tags (including 0). A person can be added with just the name being specified. The order of name, phone number, email, address, remark and tags being added does not matter.

Examples:

  • add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01

  • add n/Betsy Crowe e/betsycrowe@example.com

  • add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 t/criminal

  • add n/Betsy Crowe a/Newgate Prison p/1234567 e/betsycrowe@example.com

  • add n/Betsy Crowe

2.5. Adding a relationship between two persons: addRelationship

Adds a relationship between two persons in Intelli.
Format: addRelationship FROM_INDEX TO_INDEX DIRECTION [n/NAME] [ce/CONFIDENCE_ESTIMATE]

  • The indexes of the persons are based on the most recent listing shown.

  • The direction of the relationship can only be directed or undirected. The direction is case-insensitive.

  • The order of the indexes matters only when the direction is directed, as the relationship points from the person with FROM_INDEX to the person with TO_INDEX.

  • At any point of time there will be at most 1 relationship between any two persons. If adding a different relationship from the existing one between two persons is attempted, upon the addition the previous relationship between these two persons will be removed.

  • NAME referring to the name of the relationship can only be alphanumeric.

  • CONFIDENCE_ESTIMATE refers to the confidence estimate the user gives to the relationship. CONFIDENCE_ESTIMATE can only be numbers from 0 to 100 inclusive.

Examples:

  • addRelationship 1 3 directed ce/12.32131 Adds a directed relationship from the 1st person to the 3rd person with the confidence estimate of 12.32131.

  • addRelationship 2 3 undirected n/husband and wife ce/100 Adds an undirected relationship between the 2nd and 2rd with the name being 'husband and wife' and confidence estimate of 100.

2.6. Editing a relationship between two persons: editRelationship

Edits a relationship between two persons in Intelli
Format: editRelationship INDEX_ONE INDEX_TWO [n/NAME] [ce/CONFIDENCE_ESTIMATE]

  • The indexes of the persons are based on the most recent listing shown.

  • The indexes provided does not have to be in a particular order since two persons can maximally have one relationship between them (e.g. editRelationship 1 2 is equivalent to editRelationship 2 1).

  • If only one attribute is updated (e.g. editRelationship 1 2 n/NAME), the other attribute will retain its original value in the pre-edited relationship.

  • NAME, which refers to the name of the relationship can only be alphanumeric.

  • CONFIDENCE_ESTIMATE refers to the confidence estimate the user gives to the relationship. CONFIDENCE_ESTIMATE can only be numbers from 0 to 100 inclusive.

  • The graph does not display confidence estimates that have the value 0.

Examples:

  • editRelationship 1 2

  • editRelationship 1 2 n/friends

  • editRelationship 1 2 ce/3.12082

  • editRelationship 1 2 n/friends ce/3.12082

2.7. Listing all persons : list

Shows a list of all persons in Intelli.
Format: list

2.8. Sorting all persons : sort

Only one type of sorting is permitted at a time. Input of multiple PREFIX will result in an error message. The format for PREFIX are the same as the format of the prefix for adding, editing and finding the respective fields ( [n/] [p/] [e/] [a/] [r/] ).

Shows a list of all persons in the address book sorted alphanumerically by name, phone, email, address or remark.
Format: sort PREFIX

Examples:

  • sort n/
    Sorts a person alphanumerically by name.

  • sort p/
    Sorts a person by phone number. Numbers are compared according to their respective ASCII values.

  • sort e/
    Sorts a person by email alphanumerically. Non-alphabetical characters are compared according to their respective ASCII values.

2.9. Editing a person : edit

Edits an existing person in Intelli.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [r/REMARK] [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 remark/tags, the existing remark/tags of the person will be removed i.e adding of remark/tags is not cumulative.

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

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.

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

  • edit 3 r/
    Clears the existing remark of the 3rd person.

2.10. Locating persons: find

Finds persons whose details 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.

  • The search works even in the presence of whitespaces.

  • All details, including names, addresses, emails, phones and tags are searched.

  • Partial words will also be matched e.g. Han will 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.

  • If a prefix is specified, the scope of the search will be narrowed to a particular detail set (see sections below).

  • If more than one type of prefix is specified, the search will be treated as an invalid search.

Examples:

  • find John
    Returns john and John Doe.

  • find Jo
    Returns john and John Doe.

  • find Betsy Tim John
    Returns any person having names or email addresses containing Betsy, Tim, or John.

  • find 92334266
    Returns any person having phone number/email address/address containing 92334266.

  • find Alice 92334266
    Returns any person having name Alice AND/OR having phone number/email address/address containing 92334266.

2.10.1. Locating persons by name: find n/

Finds persons whose names contain any of the given keywords.
Format: find n/[KEYWORDS]

Examples:

  • find n/John
    Returns john and John Doe.

  • find n/Jo
    Returns john and John Doe.

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

💡
You can find multiple persons with a single name search.

2.10.2. Locating persons by address: find a/

Finds persons whose addresses contain any of the given keywords.
Format: find a/[KEYWORDS]

Examples:

  • find a/Serangoon
    Returns any persons having addresses in Serangoon.

  • find a/seRangOOn
    Returns any persons having addresses in Serangoon.

  • find a/Ser
    Returns any persons having addresses containing the phrase Ser.

  • find a/Serangoon Gardens
    Returns any person having addresses containing the phrase Serangoon AND/OR Gardens.

2.10.3. Locating persons by email: find e/

Finds persons whose emails contain any of the given keywords.
Format: find e/[KEYWORDS]

Examples:

  • find e/alice@example.com
    Returns Alice.

  • find e/AliCE@ExaMPle.com
    Returns Alice.

  • find e/@example.com
    Returns any persons having email addresses containing the suffix @example.com.

  • find e/@example.com @yahoo.com
    Returns any person having email addresses containing the suffix @example.com or @yahoo.com.

2.10.4. Locating persons by phone: find p/

Finds persons whose phone numbers contain any of the given keywords.
Format: find p/[KEYWORDS]

Examples:

  • find p/97734225
    Returns any persons having phone numbers matching 97734225.

  • find p/9773
    Returns any persons having phone numbers containing the sequence 9773.

  • find p/97734225 90329038
    Returns any persons having phone numbers matching 97734225 OR 90329038.

2.10.5. Locating persons by tag: find t/

Finds persons whose tags contain any of the given keywords.
Format: find t/[KEYWORDS]

Examples:

  • find t/friends
    Returns any persons having tags matching friends.

  • find t/FriEndS
    Returns any persons having tags matching friends.

  • find t/frIe
    Returns any persons having tags containing the phrase frie.

  • find t/friends family
    Returns any persons having tags matching friends AND/OR family.

2.11. Deleting a person : delete

Deletes the specified person from Intelli.
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 Intelli.

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

2.12. Deleting a relationship between two persons : deleteRelationship

Deletes the relationship between two persons from Intelli.
Format: delete INDEX_FROM_PERSON INDEX_TO_PERSON

  • Deletes the relationship between two persons as specified using the indexes.

  • 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
    deleteRelationship 1 2
    Deletes the relationship from the first to the 2nd person in Intelli.

2.13. Removing a tag: removeTag

Removes the specific tag from Intelli.
Format: removeTag TAG

  • Removes the tag TAG.

  • TAG must be alphanumeric a-z, A-Z, 0-9.

Example:

  • removeTag friend
    Removes the tag friend from all the persons in Intelli.

2.14. Finding shortest relationship path between two people: relPath

Highlights the shortest relationship path between two people in Intelli in the graph display, if it exists.
Format: relPath FROM_INDEX TO_INDEX

  • Highlights the shortest relationship path between two people as specified by FROM_INDEX and TO_INDEX.

  • Paths with higher minimum confidence estimates are preferred.

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

  • The indices must be positive integers 1, 2, 3, …​

Example:

  • relPath 1 2
    Highlights the shortest path between the first and second person in Intelli, if it exists.

2.15. Setting a tag colour: colourTag

Sets a colour of a tag to a new colour.
Format: colourTag TAG COLOUR

  • Sets the colour of tag TAG to COLOUR.

  • TAG must be alphanumeric a-z, A-Z, 0-9.

  • COLOUR must be a CSS colour code.

  • Changes will only take effect on next program start.

Example:

  • colourTag friend red
    Sets the colour of the tag friend to red on next program start.

2.16. 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 Intelli.

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

2.17. 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.18. Undoing previous command : undo

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

ℹ️

Undoable commands: those commands that modify Intelli’s content (add, delete, edit, removeTag 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.19. 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.20. Clearing all entries : clear

Clears all entries from Intelli.
Format: clear

2.21. Clearing command history : clearHistory

Clears the command history.
Format: clearHistory

Warning

After the command history is cleared, you will not be able to undo any previous commands.

2.22. Backing up: backup

Backs up the current address book to a fixed location (intelli.xml.bak in the data directory).

Warning

Any existing backup at the same location will be overwritten after running this command.

2.23. Exiting the program : exit

Exits the program.
Format: exit

2.24. 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.

3. Features(Coming in v2.0)

3.1. Add a confidence estimate

Adds a confidence estimate for an attribute of a person.
Format: addConfidenceEstimate INDEX ATTRIBUTE_TYPE ESTIMATE

  • INDEX refers to the index of the person whose attribute the user wants to add a confidence estimate to as shown in the most recent listing.

  • ATTRIBUTE_TYPE refers to the type of attribute that the confidence estimate is added to (e.g. Address, Email, Name, Phone, Tags, Relationships).

  • ESTIMATE refers to the estimate the user gives to the attribute.

  • The estimate has to be non-negative and smaller or equal to 1.

Example:

  • list
    addConfidenceEstimate 2 Address 0.8
    Adds a confidence estimate of 0.8 to the Address of the 2nd person in the list.

3.2. Delete a confidence estimate

Deletes a confidence estimate for an attribute of a person.
Format: deleteConfidenceEstimate INDEX ATTRIBUTE_TYPE

  • INDEX refers to the index of the person whose attribute the user wants to delete the confidence estimate to as shown in the most recent listing.

  • ATTRIBUTE_TYPE refers to the type of attribute that the confidence estimate is added to (e.g. Address, Email, Name, Phone, Tags, Relationships).

Example:

  • list
    deleteConfidenceEstimate 2 Address
    Deletes a confidence estimate from the Address of the 2nd person in the list.

Shows a list of all persons in Intelli related to a given person.
Format: listRelated INDEX

3.4. User login

Enters a password to check if user is authorised to access information in Intelli.
Any data (i.e. the person list and the graph) will only be displayed after successful login.
Format: login PASSWORD

3.5. Set a password

Sets a password to protect Intelli from other users.
Format: set PASSWORD

ℹ️

To set a new password, a user must first be logged into Intelli with the previous password. The default password is i<3Intelli.

4. 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.

5. Command Summary

  • Add : add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​
    e.g. add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague
    e.g. add n/Jane

  • AddRelationship : addRelationship INDEX_FROM_PERSON INDEX_TO_PERSON DIRECTION [n/NAME] [ce/CONFIDENCE_ESTIMATE}
    e.g. addRelationship 2 3 directed ce/1212312.2 n/is cousin of

  • Back up : backup

  • Colour tags : colourTag TAG COLOUR
    e.g. colourTag friend red

  • Clear : clear

  • Clear history : clearHistory

  • Delete : delete INDEX
    e.g. delete 3

  • DeleteRelationship : deleteRelationship FROM_PERSON_INDEX TO_PERSON_INDEX
    e.g. deleteRelationship 2 3

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

  • Edit relationship: editRelationship INDEX_ONE INDEX_TWO [n/NAME] [ce/CONFIDENCE_ESTIMATE]
    e.g. editRelationship 1 2 n/friends ce/3

  • Exit : exit

  • Find : find KEYWORD [MORE_KEYWORDS]
    e.g. find James Jake

  • Find shortest relationship path : relPath FROM_INDEX TO_INDEX
    e.g. relPath 1 2

  • Help : help

  • History : history

  • List : list

  • Redo : redo

  • Remove tag : removeTag TAG
    e.g. removeTag friend

  • Find shortest relationship path : relPath FROM_INDEX TO_INDEX
    e.g. relPath 1 2

  • Sort : sort PREFIX
    e.g. sort n/

  • Select : select INDEX
    e.g.select 2

  • Undo : undo