By: T12-04
Since: Sep 2018
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 3.1. Viewing help :
(h)help
- 3.2. Selecting an issue/solution :
(s)select
- 3.3. Adding:
(a)add
- 3.4. Choosing one primary solution:
(sp)setprimary
- 3.5. Resetting the primary solution:
(rp)resetprimary
- 3.6. Editing:
(e)edit
- 3.7. Refactoring tag:
(rt)refactortag
- 3.8. Adding tag:
(at)addtag
- 3.9. Retrieving a solution link:
(rv)retrieve
- 3.10. Deleting a statement :
(d)delete
- 3.11. Locating issues by statement:
(f)find
- 3.12. Locating issues by tags:
(ft)findtag
- 3.13. Listing all issues :
(l)list
- 3.14. Sorting the list of issues:
(sr)sort
- 3.15. Returning to home directory :
(hm)home
- 3.16. Undoing previous command :
(u)undo
- 3.17. Redoing the previously undone command:
(r)redo
- 3.18. Clearing all entries :
(c)clear
- 3.19. Listing entered commands :
(his)history
- 3.20. Exiting the program :
(x)exit
- 3.21. Autosuggesting existing issue in find command
- 3.22. Autosuggesting existing tags in findByTag command
- 3.23. Suggesting to copy existing values
- 3.24. Highlighting command parameters
- 3.25. Team based - Creating / Switching projects [coming in v2.0]
- 3.26. Team based - Data access from cloud [coming in v2.0]
- 3.27. Highlighting the page :
highlight
[coming in v2.0]
- 3.1. Viewing help :
- 4. FAQ
- 5. Command Summary
1. Introduction
Developers usually search google to find solutions to technical problems. However, bookmarking a certain web-page does not tell developers much about for which problem they searched. If developers encounter the same problem again, instead of searching through their bookmarks, it is likely for them to search on google again.
SaveIt is geared at keeping track of the issues that users find and linking it with solution web-page found on google. More importantly, SaveIt is optimized for those who prefer to work with a Command Line Interface (CLI) while still has the benefits of a Graphical User Interface (GUI). If you can type fast, SaveIt can help you search the entry saved previously faster than traditional GUI apps.
2. Quick Start
To get started with SaveIt, please follow the instructions below:
-
Ensure that Java version
9
or later is installed in your Computer. -
Download the latest
saveit.jar
here. -
Copy the file to a folder as the home folder for your SaveIt.
-
Double-click the file to start the app. The GUI should appear in a few seconds, as shown below.
Figure 1. Application Interface -
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Try some example commands:
-
list
: lists all issues -
add
i/map_function d/How to use map function in python t/python
: records a issue of map function with description "How to use map function in python" tagged as "python" -
delete
3
: deletes the 3rd issue shown in the current list -
exit
: exits the app
-
3. Features
The following is a list of commands that you can use in the application.
Command Format
-
Words in
UPPER_CASE
are the parameters to be provided by the user e.g. inadd i/ISSUE_STATEMENT d/DESCRIPTION
,ISSUE_STATEMENT
andDESCRIPTION
are parameters which can be used asadd i/Segment_Fault d/java
. -
Items in square brackets are optional e.g
i/ISSUE_STATEMENT d/DESCRIPTION [t/TAG]
can be used asi/map_function d/how to use map in python t/python
or asi/map_function d/how to use in python
. -
Items with
…
after them can be used multiple times including zero times e.g.[t/TAG]…
can be used ast/python
,t/python t/java
etc. -
Parameters can be in any order e.g. if the command specifies
t/TAG, d/DESCRIPTION i/ISSUE_STATEMENT
is also acceptable. -
Command alias can be used instead of lengthy command words.
3.2. Selecting an issue/solution : (s)select
If the user is at the home directory, the command selects an issue identified by the index number used in the issue panel. The command also displays the solutions of the selected issue in the solution panel. Now the edit directory is changed to issue level.
|
Format: select INDEX
Example:
If the user is at the issue directory, the command load the web link of the indexed solution in the built-in browser.
Example:
|
3.3. Adding: (a)add
Adds an issue to the SaveIt App.
Format: add i/ISSUE_STATEMENT d/DESCRIPTION [t/TAG]…
Adds a solution to an existing issue in SaveIt App.
Format: add s/SOLUTION_LINK r/REMARK
|
Examples:
|
3.4. Choosing one primary solution: (sp)setprimary
Chooses one solution of the issue and make it the primary solution.
If there is an existing primary solution, setprimary
will reset the primary solution to the latest one.
The primary solution is shown on the top of the solution list and is highlighted in white.
Format: setprimary INDEX
|
3.5. Resetting the primary solution: (rp)resetprimary
Resets the primary solution and make all solutions normal and not highlighted.
Even if there is no primary solution, this command can still be executed, but no change will be shown.
Format: resetprimary
|
3.6. Editing: (e)edit
Edits an issue in the SaveIt App.
Format: edit INDEX [i/NEW_ISSUE] [d/NEW_DESCRIPTION] [t/TAG]…
Edits a solution in an exit solution in the issue.
Format: edit INDEX s/NEW_SOLUTION_LINK r/NEW_SOLUTION_REMARK
|
Examples:
|
3.7. Refactoring tag: (rt)refactortag
Renames or removes a specific tag for all entries with that tag.
Format: refactortag t/OLD_TAG [n/NEW_TAG]
|
Examples:
|
3.8. Adding tag: (at)addtag
Adds tags for issue(s).
Format: addtag INDEX t/TAG1 [t/TAG2]…
Examples:
|
3.9. Retrieving a solution link: (rv)retrieve
Retrieves the solution link so that the link is copied to the system clipboard
Format: retrieve INDEX
|
Examples:
|
3.10. Deleting a statement : (d)delete
Deletes the specified issue from SaveIt App.
Format: delete INDEX
Examples:
|
3.11. Locating issues by statement: (f)find
Finds issues whose statement contain any of the given search queries.
Format: find [KEYWORDS…]
|
Examples:
|
3.12. Locating issues by tags: (ft)findtag
Finds issues that contain the tags entered in the search queries.
|
Examples:
|
3.13. Listing all issues : (l)list
Shows a list of all issues.
|
3.14. Sorting the list of issues: (sr)sort
Sorts the list of issues according to a specified sort type.
The list always follows the specified sort type until another sort command is executed.
Format: sort
|
Format: sort chro
|
Format: sort freq
|
Format: sort tag
|
|
Examples:
3.15. Returning to home directory : (hm)home
Changes the current editing directory to the home directory. Besides, Shows a list of all issues in the list panel by index.
Format: home
Examples:
|
3.16. Undoing previous command : (u)undo
Restores the SaveIt App to the state before the previous undoable command was executed.
Format: undo
|
Examples:
|
3.17. Redoing the previously undone command: (r)redo
Reverses the most recent undo
command.
Format: redo
Examples:
3.18. Clearing all entries : (c)clear
Clears all issues and their solutions from SaveIt.
Format: clear
Example:
|
3.19. Listing entered commands : (his)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. |
3.21. Autosuggesting existing issue in find command
To prevent the issue list is so large such that user can hardly remember all the issues, whenever user types in any keyword in find command, SaveIt will auto suggest any related issue name according to the keyword entered.
Example:
3.22. Autosuggesting existing tags in findByTag command
To prevent the user from creating many similar tags / duplicates, whenever the user creates a record with a tag, or modifies a record’s tag, the application searches for similar tags in the system and prompts the user with a list of similar tags.
Example:
3.23. Suggesting to copy existing values
When editing fields in an issue (e.g. Editing an issue statement), if only slight modifications are required, the user will have to copy paste the existing issue statement and modify it, or type it out again. To make things more convenient, after the application prompts the user if they want to copy the existing value onto the command line.
Example:
3.24. Highlighting command parameters
When the user types the command in the command line, it is difficult for user to distinguish his inputs and parameters. Hence highlighted command is essential to help user to differentiate the parameters and values that he inputs.
Examples:
|
3.25. Team based - Creating / Switching projects [coming in v2.0]
Records are organized into projects, that way, each project only stores information (bugs/issues) relevant to that project.
3.26. Team based - Data access from cloud [coming in v2.0]
Developers usually work in teams, and since they are working on the same code base, it is likely that they will encounter the same issues. Developers can be added into projects (mentioned in 3.16), and have access to the same recorded issues that others have added. The data will be hosted on a cloud server so that any updates are accessible by other developers straight away.
-
Creating projects: new cs2103project
-
Viewing projects: projects
-
1. cs2103project
-
2. cs1010sproject
-
-
Switching projects: switch 1 OR switch cs2103project
3.27. Highlighting the page : highlight
[coming in v2.0]
Highlights the certain part of the page that shows on the window, use an annotation box.
Format: highlight
4. FAQ
Due to the immaturity of our product, There may be some minor problems when you use SaveIt in unintended situations. Here are questions that may arise during your usage.
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 SaveIt folder.
Q: Can I use the app without Internet Connection?
A: For our current version of SaveIt, you will need to store all the web-page locally if there is not the Internet connection.
Otherwise, the web-page will not be displayed correctly.
5. Command Summary
Here is a summary of all command formats for your reference. Please note that some commands may implement more than one format.
-
Help :
help
-
Select :
select INDEX
e.g.select 2
-
Add
For issues:add i/[ISSUE_STATEMENT] d/[DESCRIPTION] t/[Tag]
e.g.add i/Bug d/exception thrown not handled t/java
For solutions:add s/[SOLUTION_LINK] r/[REMARK]
e.g.add s/www.github.com r/A git website
-
Set Primary :
setprimary [INDEX]
-
Reset Primary :
resetprimary
-
Edit
For issues:edit INDEX i/[ISSUE_STATEMENT] d/[DESCRIPTION]
e.g.edit 2 i/exception thrown not handled d/statement solved
For solutions:edit INDEX s/[SOLUTION_LINK] r/[REMARK]
e.g.edit 3 s/www.google.com r/add a catch block
-
Refactor Tag :
refactortag t/OLDTAG [n/NEWTAG]
e.g.refactortag t/java n/C++
-
Add Tag :
addtag INDEX t/TAG1 [t/TAG2]…
e.g.addtag 2 t/python t/java t/TIL
-
Retrieve :
retrieve INDEX
For solutions:retrieve SOLUTION_INDEX
e.g.retrieve 3
-
Delete :
delete INDEX
e.g.delete 3
-
Find :
find KEYWORD [MORE_KEYWORDS]
e.g.find BST
-
Find Tag :
findtag KEYWORD [MORE_KEYWORDS]
e.g.findtag python
-
List :
list
-
Home :
home
-
Undo :
undo
-
Redo :
redo
-
List :
list
-
Clear :
clear
-
History :
history
-
Exit :
exit
-
Sort :
sort TYPE
e.g.sort chro