Skip to content

Latest commit

 

History

History
406 lines (274 loc) · 13.8 KB

UserGuide.adoc

File metadata and controls

406 lines (274 loc) · 13.8 KB

CLIndar - User Guide

1. Introduction

CLIndar is a desktop application that helps university computing students manage their tasks and events, such as:

  • Keeping track of tasks and events and be reminded of their due dates.

  • Recording all completed tasks and finished events, so that the student knows what he has done.

CLIndar is Command-Line Interface (CLI) based and uses Linux-style commands, which computing students are familiar with. Thus, compared to traditional Graphical User Interface (GUI) applications, CLIndar is faster and provides more convenience for computing students.

The current version of CLIndar is 1.5 and is available on Windows and Linux.

2. Get Started

To start using CLIndar, follow the instructions below:

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

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

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

    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.

Some example commands you can try:

  • task n/Software Engineering Milestone 1 d/16/03/2018 17:00 r/Enhance major component: adds Software Engineering task to Desk Board.

  • event n/Software Project s/01/05/2018 8:00 e/01/08/2018 8:00 l/School of Computing: adds Software Project event to Desk Board.

  • ls task : lists all uncompleted tasks.

  • exit : exits the app.

Refer to Section 3, “Features” for details of commands in CLIndar.

3. Features

The following describes the command format in CLIndar:

  • Words in UPPER_CASE are the parameters to be supplied by the user.
    For example, in the following format task n/NAME, NAME must be supplied by the user as the task name. The following is an example of the command to be keyed in by user: task n/Software Engineering Milestone 1.

  • Items in square brackets are optional.
    For example, n/NAME [r/REMARK] can be used as n/Software Engineering Milestone 1 r/urgent or as n/Software Engineering Milestone 1.

  • Parameters can be in any order.
    For example, if the command specifies n/NAME d/DATETIME, d/DATETIME n/NAME is also acceptable.

3.1. Viewing help : help or man [As of v1.1]

Shows the help menu for all of the commands or only the COMMAND_WORD requested.

Format: help, help COMMAND_WORD, man or man COMMAND_WORD

Examples:

  • help

  • man

  • help task

  • man task

  • help man === Adding a task: task [As of v1.2]

Adds a task to Desk Board.

Format: task n/NAME d/DUE_DATE_TIME [r/REMARK] [t/TAGS]

ℹ️
DUE_DATE_TIME parameter can be in d/m/y h:m or dd/mm/yy hh:mm

Examples:

  • task n/Software Engineering Milestone 1 d/16/03/2018 17:00 r/urgent

  • task n/Programming Methodology Assignment 2 d/16/3/2018 23:59

3.2. Adding an event: event [As of v1.3]

Adds an event to Desk Board.

Format: event n/NAME s/START_TIME e/END_TIME [l/LOCATION] [r/REMARK]

ℹ️
Both START_TIME and END_TIME parameters can be in d/m/y h:m or dd/mm/yy hh:mm

Examples:

  • event n/Software Project s/1/5/2018 8:00 e/01/08/2018 8:00 l/School of Computing r/remember to bring laptop charger

  • event n/Blockchain Talk s/16/3/2018 16:00 e/16/03/2018 18:00

3.3. Edit a task: edit task [As of v1.5]

Editing attributes of a task identified by its index in the task list.

Format: edit task INDEX [n/NAME] [d/DUE_DATE_TIME] [r/REMARK] [t/TAGS]

Examples:

  • edit task 1 n/Project 1
    Rename the 1st task displayed to 'Project 1'

  • edit task 2 n/edited name d/01/01/2018 23:59 r/new remark t/edited
    Edit the 2nd task in the list.

  • edit task 3 r/
    Removes all the tags of task 3

ℹ️

edit command would simply replace the whole list of tags with the list of `tags provided by the inputs rather than adding the tags to the tag list. As such edit task INDEX r/ would remove all the tags of the identified task.

3.4. Edit an event: edit event [As of v1.5]

Editing attributes of a event identified by its index in the event list.

Format: edit event INDEX [n/NAME] [s/START_TIME] [e/END_TIME] [l/LOCATION] [r/REMARK]

Examples:

  • edit event 1 n/Project 1
    Rename the 1st event displayed to 'Project 1'

  • edit event 2 n/edited name s/01/01/2018 23:59 e/02/01/2018 23:59 l/new location r/new remark t/edited
    Edit the 2nd event in the list.

  • edit task 3 r/
    Removes all the tags of event 3

ℹ️

edit command would simply replace the whole list of tags with the list of tags provided by the inputs rather than adding the tags to the tag list. As such edit event INDEX r/ would remove all the tags of the identified event.

3.5. Listing tasks and events: ls [As of v1.4]

Shows one or two lists of tasks and events in Desk Board as described below.

Format:

  • ls task: shows only uncompleted tasks.

  • ls event: shows only upcoming events.

  • ls: shows both uncompleted tasks and upcoming events in 2 separate lists.

3.6. Removing a task or event: rm [As of v1.4]

Removes a task or event from Desk Board according to the following conditions:

  • Removes the task or event at the specified INDEX.

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

  • The index must be a positive integer e.g. 1, 2, 3.

Format:

  • rm task INDEX: removes a task.

  • rm event INDEX: removes an event.

Example:

  • ls task
    rm task 2
    Removes the 2nd task in Desk Board.

3.7. Completing a task: complete task [As of v1.5]

Completes the task at the specified INDEX based on the most recent listing.

Format: complete task INDEX

Examples:

  • ls task
    complete task 3
    Completes the 3rd task in Desk Board.

3.8. Finding task by name: find task [As of v1.5]

Shows a list of all tasks and/or event which contains any given keyword in its name.

Format: find task LIST_OF_KEYWORDS or find event LIST_OF_KEYWORDS or find LIST_OF_KEYWORDS

Examples:

  • find task CS2101
    Finds all tasks with name containing CS2101.

  • find event exam
    Finds all events with name containing exam.

  • find CS2101
    Finds all tasks and event with name containing CS2101.

  • find CS2101 exam
    Finds all tasks and event with name containing either CS2101 or exam.

ℹ️
  • find command is case sensitive and will returns result that even part of the name matches the keywords.

  • list command can be used to retrieve the full list of event and task after this command.

  • find command is not undoable or redoable,

3.9. Shows overdue tasks: overdue [As of v1.5]

Shows a list of tasks that remain uncompleted after their respective due dates.

Format: overdue

3.10. Selecting a task or event: select task or select event [As of v1.5]

Select the task or event at the specified INDEX based on the most recent listing.

Format: select task INDEX or select event INDEX

3.11. Listing entered commands : history [Coming Soon in v1.5]

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, just like in Linux.

3.12. Undoing previous command : undo or u

Restores Desk Board to the state before the previous undoable command was executed.

Format: undo or u

ℹ️

Undoable commands are commands that modify Desk Board’s content (e.g. task, rm task).

Examples:

  • rm task 1
    ls task
    undo (reverses the rm task 1 command)

  • rm event 1
    clear
    u (reverses the clear command)
    u (reverses the rm event 1 command)

3.13. Redoing previously undone command : redo or r

Reverses the most recent undo command.

Format: redo or r

Examples:

  • rm task 1
    undo (reverses the rm task 1 command)
    redo (reapplies the rm task 1 command)

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

  • rm task 1
    clear
    u (reverses the clear command)
    u (reverses the rm task 1 command)
    r (reapplies the rm task 1 command)
    r (reapplies the clear command)

3.14. Clearing all entries : clear or c [Coming Soon in v1.5]

Clears all entries from Desk Board.

Format: clear or c

3.15. Exporting data : export [As of v1.5]

Exports Desk Board data into an xml file in the specified directory.

ℹ️
This command does not allow overwriting of existing file. If a file with the same name exists in the same directory as FILE_PATH, then this command will not be executed.

Format: export f/FILE_PATH

Example:

  • export f/C:\data\deskBoard.xml

3.16. Importing data : import [As of v1.5rc]

Imports all entries from another Desk Board file in the specified file path.

Format: import f/FILE_PATH

Example:

  • import f/C:\data\deskBoard.xml

3.17. Exiting the program : exit [As of v1.4.1]

Exits the program.

Format: exit

3.18. Listing all completed tasks: ls complete task or ls com task [Coming Soon in v1.5]

Shows a list of all completed tasks in Desk Board.

Format: ls complete task or ls com task

3.19. Listing all past events: ls past event [Coming Soon in v2.0]

3.20. Saving the data

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

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 CLIndar folder.

5. Command Summary

Command Word Alias Format Example Function

clear

c

clear

Clears all entries

complete task

com task

complete task INDEX

complete task 1

Completes task at index 1

edit event

edit event INDEX [n/NAME] [s/START_TIME] [e/END_TIME] [l/LOCATION] [r/REMARK]

edit event n/Software Project s/1/5/2018 8:00 e/01/08/2018 8:00 l/School of Computing r/remember to bring laptop charger

Edit event with index 1 in the deskboard

edit task

edit task INDEX [n/NAME] [d/DUE_DATE_TIME] [r/REMARK] [t/TAGS]

edit task 3 n/Software Engineering Milestone 1 d/16/03/2018 17:00 r/urgent

Edit the task with index 3 in the Desk Board

event

event n/NAME s/START_TIME e/END_TIME [l/LOCATION] [r/REMARK]

event n/Software Project s/1/5/2018 8:00 e/01/08/2018 8:00 l/School of Computing r/remember to bring laptop charger

Adds an event to Desk Board

exit

exit

Exits the program

export

export f/FILE_PATH

export f/C:\data\deskBoard.xml

Exports Desk Board data into an xml file in specified directory

find

find KEYWORD

find CS2101

Finds events and tasks with name containing the given keyword

find event

find event KEYWORD

find event cS2101

Finds events with name containing the given keyword

find task

find task KEYWORD

find task cS2101

Finds tasks with name containing the given keyword

history

history

Lists all entered commands

import

import f/FILE_PATH

import f/C:\data\deskBoard.xml

Imports Desk Board data from specified xml file

list

ls

list

Lists all uncompleted tasks and upcoming events

list event

ls event

list event

Lists all upcoming events only

list task

ls task

list task

Lists all uncompleted tasks only

ls complete task

ls com task

ls complete task

Lists all completed tasks

ls past event

ls past event

Lists all past events

overdue

overdue

Lists all overdue tasks

redo

r

redo

Reverses the most recent undo command

remove event

rm event

remove event INDEX

remove event 1

Removes event at index 1

remove task

rm task

remove task INDEX

remove task 1

Removes task at index 1

select event

select event INDEX

select event 1

Select event at index 1

select task

select task INDEX

select task 1

Select task at index 1

task

task n/NAME d/DUE_DATE_TIME [r/REMARK] [t/TAGS]

task n/Software Engineering Milestone 1 d/16/03/2018 17:00 r/urgent

Adds a task to Desk Board

undo

u

undo

Reverses the most recent undoable command