By: CS2103-AY1819S1-F11-1
Since: Sep 2018
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 3.1. Viewing help :
help
- 3.2. Adding an event :
add
- 3.3. [Partial Implementation] Adding a tag :
addTag
[by v2.0] - 3.4. Listing all events :
list
- 3.5. Editing an event :
edit
- 3.6. Listing all events :
list
- 3.7. Locating events by event name:
find
- 3.8. Deleting an event :
delete
- 3.9. Select
- 3.10. Reminder Operations:
addReminder
deleteReminder
postponeReminder
- 3.11. Tag Operation:
add
'deleteTag' - 3.12. Remark Operation: 'remark'
- 3.13. Listing entered commands :
history
- 3.14. Undoing previous command :
undo
- 3.15. Redoing the previously undone command :
redo
- 3.16. Clearing all entries :
clear
- 3.17. Exiting the program :
exit
- 3.18. Saving the data
- 3.19. EnterGoogleCalendarMode :
EnterGoogleCalendarMode
- 3.20. Post Events to Google Calendar :
postGCEvents
[coming in v2.0]
- 3.21. Auto-Completion of Commands
- 3.22. Command Aliasing
- 3.23. Case-Insensitive Invoking of Commands
[coming in v2.0]
- 3.24. Encrypting data files
[coming in v2.0]
- 3.1. Viewing help :
- 4. FAQ
- 5. Command Summary
iScheduler Xs Max is for those who prefer to use a desktop app for scheduling personal events. More importantly, this version is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, we can get your event scheduling tasks done faster than traditional GUI apps. Interested? Jump to the Section 2, “Quick Start” to get started.
This product is targetting at University students who have many tasks to handle such as homework deadlines, weekly lectures and tutorials, anniversaries with families and more.
The postfix 'Xs Max' indicates a great improvement from the previous version of the product as it now supports Google Calendar!
Enjoy!
-
Ensure you have Java version
9
or later installed in your Computer. -
Download the latest
iScheduler Xs Max.jar
here. -
Copy the file to the folder you want to use as the home folder for your iScheduler Xs Max.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
Below is an screenshot of the GUI after logging in the Google Calendar. -
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
-
add
:add n/Interview at Jane Street
: adds an Event namedInterview at Jane Street
to the Event Scheduler. -
list
: lists all events -
delete
3
: deletes the 3rd event shown in the current event -
exit
: exits the app
-
-
Refer to Section 3, “Features” for details of each command.
Warning
|
As a normal user (new user who does not understand the implementation of the app), you should not modify the data files or tokens manually, such edits would lead to various errors and exceptions. |
Command Format
— Some commands have (an) alias(es), which you can also use to execute the command e.g. to add an event to the
scheduler, you can type either add n/Interview at Jane Street
or a n/Interview at Jane Street
.
— Words in UPPER_CASE
are the parameters to be supplied by the user e.g. in add n/EVENT_NAME
, EVENT_NAME
is a
parameter which can be used as add n/Interview at Jane Street
.
— Items in square brackets are optional e.g n/EVENT_NAME [t/TAG]
can be used as n/Interview at Jane Street
t/serious
or as n/Interview at Jane Street
.
— 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/priority.low
, t/fun t/serious
etc.
— Parameters can be in any order e.g. if the command specifies n/EVENT_NAME v/VENUE
, v/VENUE n/EVENT_NAME
is also
acceptable.
Format: help
Aliases: hel
OR he
OR h
Coming in V2.0: Command format can be typed case-insensitive
Adds an event to the scheduler.
Format: add event n/EVENT_NAME [s/START_DATETIME] [e/END_DATETIME] [d/DESCRIPTION] [v/VENUE] [r/REMARK] [rt/REPEAT_TYPE]
[ru/REPEAT_UNTIL_DATETIME] [t/TAG]… [re/REMINDER_TIME]… `
OR
Aliases: `ada
in place of add
Coming in V2.0: Command format can be typed case-insensitive
💡
|
An event can have any number of tags and reminders(including 0).
If you want multiple tags and reminders, we need to use [t/] and [re/ ] for multiple times
|
Warning
|
Except for tags(t/) and reminders(re/), all other fields will take in the latest field that is being input. |
-
DATETIME
is the natural language of date and time in English. -
REPEAT_TYPE
should be left empty or chosen from either daily, weekly or monthly. -
REMINDER_TIME
(inxxHxxMxxS
) represents the duration before theSTART_DATETIME
that you want a pop-up alert. -
Adding events with the exact values as another event is possible.
-
Only future reminders will be added. Please refer to [Pop Up Feature].
Examples:
-
add n/Study With Yoko s/tomorrow at 3pm d/Study again and again rt/MONTHLY ru/next friday 3pm t/adhoc re/30M
-
add n/CS2103 Lecture s/23 September 2018 6pm e/24 September 2018 rt/WEEKLY ru/next monday t/timetable re/1H30M
Below are the supported formats of date, time and reminder times:
- Formal dates
-
Formal dates are expressed in integer values month, day and year separated by / or -.
- Format
-
-
MM-DD-YYYY
-
MM/DD/YYYY
-
YYYY-MM-DD
-
YYYY/MM/DD
-
- Examples
Input |
Output |
10-15-2018 |
October 15 2018 |
10/15/2018 |
October 15 2018 |
2018-10-15 |
October 15 2018 |
2018/10/15 |
October 15 2018 |
- Relaxed dates
-
Relaxed dates are month, day and year expressed in a loose manner such as a combination of English and integers.
- Examples
Input |
Output |
The 15th of October in the year 2018 |
October 15 2018 |
Mon, 15 Oct 2018 |
October 15 2018 |
Oct 15, 2018 |
October 15 2018 |
Oct 15th |
October 15 of the current year |
October fifteen |
October 15 of the current year |
Relative date are dates relative to the current date.
- Examples
Input |
Output |
next thursday |
The Thursday after command execution date |
last wednesday |
The Wednesday before command execution date |
today |
The day of command execution |
tomorrow |
The day after command execution date |
yesterday |
The day before command execution date |
3 days from now |
3 days after command execution date |
three weeks ago |
3 weeks before command execution date |
Explicit times are expressed in integer values hours, minutes and seconds. If meridian is compulsory in 12-hour clock.
- Format
-
-
HH
[MM
][SS
][MERIDIAN
]
-
- Example
Input |
Output |
10 |
10:00:00am |
191215 |
17:12:15pm |
201311 pm |
8:13:11pm |
1900 |
7:00:00pm |
7am |
7:00:00am |
10:30 am |
10:30:00am |
- Examples
Input |
Output |
10 seconds ago |
10 seconds before command execution time |
in 5 minutes |
5 minutes after command execution time |
4 minutes from now |
4 minutes after command execution time |
3 hours later |
3 hours after command execution time |
6 seconds from 1030 |
6 seconds after 1030 |
This is the command format for adding tags.
Note: This feature has NOT been fully implemented yet. However, do feel free to play around with it and to report any bugs/problems as well :)
It will be FULLY implemented by v2.0.
Shows a list of all events in the scheduler.
Format: list
Aliases: lis
OR li
OR l
Coming in V2.0: Command format can be typed case-insensitive
Edits existing events in the scheduler.
Format: edit INDEX [n/EVENT_NAME] [s/START_DATETIME] [e/END_DATETIME] [d/DESCRIPTION] [v/VENUE] [rt/REPEAT_TYPE]
[ru/REPEAT_UNTIL_DAETIME] [t/TAG]… [re/REMINDER_TIME]… [-a | -u]
Aliases: edi
OR ed
in place of edit
Coming in V2.0: Command format can be typed case-insensitive
💡
|
Only one option can exists at any one time. Either -a or -u .
|
-
Edits the event at the specified
INDEX
. The index refers to the index number shown in the displayed event list. 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 event will be removed i.e adding of tags is not cumulative.
-
You can remove all the event’s tags by typing
t/
without specifying any tags after it. -
The logic for editing reminder times is the same as tags
-
Only future reminders will be edited. Please refer to [Pop Up Feature].
-
Repeating events can be edited together using a valid option.
-
REPEAT_TYPE
andREPEAT_UNTIL_DATETIME
cannot be edited for single events and events without a valid option.
The supported formats of date, time and reminder times are identical to that of
Adding an event.
Refer to Date and time formats and Reminder time format.
ℹ️
|
The current version does not auto-refresh the Google Calendar page on the right. Please right click and select 'Reload Page' to see the effects. Alternatively, you can select any Event using your keyboard (by using arrow keys) / mouse (by clicking on it), the page on the right will be refreshed. |
-a
Tell the command to select all the repeating events that are associated with the event selected.
-u
Tell the command to select the upcoming events that are associated with the event selected.
Examples:
-
edit 1 n/Study with John d/Study for Mathematics exam
Edits the event name and description of the 1st event to beStudy with John
andStudy for Mathematics exam
respectively. -
edit 2 n/Play t/ -a
Edits all the repeating event’s name of the 2nd event to bePlay
and clears all existing tags. -
edit 2 re/ -u
Clear all the upcoming event’s reminder times.
Warning
|
If your repeating events have different fields, using |
add n/Event v/NUS …
:
1. Name: Event |
Venue: NUS |
… |
2. Name: Event |
Venue: NUS |
… |
3. Name: Event |
Venue: NUS |
… |
You added a set of 3 recurring events
edit 1 n/CHANGE
:
1. Name: CHANGE |
Venue: NUS |
… |
2. Name: Event |
Venue: NUS |
… |
3. Name: Event |
Venue: NUS |
… |
You edited event 1 only. Now the set of recurring events have different fields.
edit 2 v/NTU -a
:
1. Name: Event |
Venue: NTU |
… |
2. Name: Event |
Venue: NTU |
… |
3. Name: Event |
Venue: NTU |
… |
Different fields of first event will be overwritten by fields of the second event as identified by the INDEX used in the command .
Shows a list of all events in the scheduler.
Format: list
Aliases: lis
OR li
OR l
Coming in V1.4: Command format can be typed case-insensitive
Finds events whose event names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
Aliases: fin
OR fi
OR f
in place of find
Coming in V2.0: Command format can be typed case-insensitive
-
The search is case insensitive. e.g
work
will matchWork
-
The order of the keywords does not matter. e.g.
Work Hard
will matchHard Work
-
Only the event name is searched.
-
Only full words will be matched e.g.
Work
will not matchWorks
-
Events matching at least one keyword will be returned (i.e.
OR
search). e.g.Hard Work
will returnWork Smart
,Play Hard
Examples:
-
find Study
Returnsstudy
andStudy Hard
-
find Study Hard
Returns any event having event namesStudy
orHard
Deletes the specified event from the scheduler.
Format: delete INDEX [-a | -u]
Aliases: delet
OR dele
OR del
OR de
or d
in place of delete
Coming in V2.0: Command format can be typed case-insensitive
ℹ️
|
The current version does not auto-refresh the Google Calendar page on the right. Please right click and select 'Reload Page' to see the effects. Alternatively, you can select any Event using your keyboard/mouse, the page on the right will be refreshed. |
💡
|
Only one option can exists at any one time. Either -a or -u .
|
-
Deletes the event at the specified
INDEX
. -
The index refers to the index number shown in the displayed event list.
-
The index must be a positive integer 1, 2, 3, …
-
Repeating events can be deleted together using a valid option.
Supported options are identical to those found in Editing an event.
Refer to Options.
Examples:
-
list
delete 2
Deletes the 2nd event in the scheduler. -
find Study
delete 1
Deletes the 1st event in the results of thefind
command. -
list
delete 3 -a
Deletes the 3rd event and its repeating events from the scheduler. -
list
delete 4 -u
Deletes the 4th event and its upcoming events from the scheduler.
Selects the event identified by the index number used in the displayed event list.
Format: select INDEX
Aliases: selec
OR sele
OR sel
OR se
OR s
in place of select
Coming in V2.0: Command format can be typed case-insensitive
Note that Select
command is partially depreciated in this version. Selecting an event will not have any useful result, but only refresh the right panel.
Customised commands to add, delete reminders incrementally, and postpone all reminders for the event.
If you have set reminder for an event, a window will pop up at the specified duration before event start time.
You can find event name, venue, start and end time information in the pop up window.
Eg: If you set 30min for an event that starts at 11:00, a window will pop up at 10:30 (+-1min) if the app is open.
General Format:
addReminder/ deleteReminder INDEX [re/REMINDER_TIME]… [-a | -u]
.
postponeReminder INDEX [re/REMINDER_TIME] [-a | -u]
. (multiple durations not allowed)
At most 1 option (either -a
or -u
) can exists at any one time.
For the correct format for time, please refer to Reminder time format.
You may choose to use add
or edit
command to set this field with prefix re
.
Please refer to Section 3.2, “Adding an event : add
” and Section 3.5, “Editing an event : edit
” command.
-
If you have not set any reminder for the event, the event card will display as "No Reminder".
-
When you open the app, it will NOT pop up past reminders since the last time you close the app.
Eg. If you open the app at 11am, the reminder at 10am will not pop up when you open the app. -
When you add/edit reminder times, past reminders will be displayed on the event card but will not pop up.
Eg. you add a reminder that is supposed to pop up an hour ago, the duration will still be displayed on the event card but will never pop up since the reminder time has already passed. -
When the reminder pops up, the reminder time displayed will not be deleted.
Warning
|
The reminder commands follow the same logic as |
Add new reminders to events incrementally
Format: addReminder INDEX [re/REMINDER_TIME]… [-a | -u]
. At most 1 option (either -a
or -u
) can exists at any one time.
Examples:
-
addReminder 1 re/30M
Add a reminder 30min before Event 1 start time -
addReminder 1 re/30M -a
Add a reminder 30min before start time for all repeating events of Event 1.
ℹ️
|
|
Delete reminders of events if it exists
Format: deleteReminder INDEX [re/REMINDER_TIME]… [-a | -u]
. At most 1 option (either -a
or -u
) can exists at any one time.
💡
|
To avoid unexpected behavior, please enter the exact duration displayed in the event card. |
Examples:
-
deleteReminder 1 re/30M
Delete a reminder 30min before Event 1 start time if the reminder exists. -
addReminder 1 re/30M re/1H -a
Delete reminders 30min and 1h before start time for all repeating events of Event 1 if the reminders exist.
ℹ️
|
|
Postpone all reminders for events. If the postpone duration is larger than the original duration, reminder duration will become 0S.
Format: postponeReminder INDEX [re/REMINDER_TIME] [-a | -u]
. At most 1 option (either -a
or -u
) can exists at any one time.
💡
|
Please enter only ONE duration to postpone here. |
Examples:
-
Event 1 has reminders 30min, 1H before the start time.
postponeReminder 1 re/5M
Reminders displayed become: 25min, 55min. -
Event 1 has reminders 30min, 1H before the start time.
postponeReminder 1 re/2H
Reminders displayed become: 0S. Reminders will pop up right at the start time.
ℹ️
|
|
Customised command to delete a tag from all events.
You may add any number of tags to an event by using 'add' command, or edit tags with 'edit' command.
Examples:
-
add n/SOC interview t/Interview t/School
Add an event with two tags Interview and School. -
edit 2 t/Work t/Deadline t/Important
Edit the event with new tags Work, Deadline and Important.
Note: When editing tags, the current tags of the event will be removed, i.e. new tags from edit command will overwrite current tags. You remove all tags in an event by using 't/' without any specific tag.
Delete a specific tag from all events in the schedular
Format: deleteTag tagName
.
Examples:
-
deleteTag work
Delete tag work from all events in the shedular.
Note: Current implementation of deleteTag is case sensitive. Future implementation will make tag name case-insensitive.
Customised command to add or edit remark for an event.
You may add remark to an event by using 'add' command at the beginning, but you cannot do so with 'edit' command. Instead 'remard' command is used to add or edit remark.
Add or edit remark for a event in the scheduler.
Format: remark INDEX r/[REMARK]
Examples:
-
remark 3 r/Dress code: Formal. Arrive half an hour earlier.
Add remark to the event with index 3.
Note: An event can only has one remark. 'remark' command will overwrite any exiting remark of the event.
Lists all the commands that you have entered in reverse chronological order.
Format: history
Aliases: histor
OR histo
OR hist
OR his
OR hi
Coming in V2.0: Command format can be typed case-insensitive
ℹ️
|
Pressing the ↑ and ↓ arrows will display the previous and next input respectively in the command box. |
ℹ️
|
Current version only supports the local changes, Google Calendar is NOT undoable. |
Restores the scheduler to the state before the previous undoable command was executed.
Format: undo
Aliases: und
OR un
OR u
Coming in V2.0: Command format can be typed case-insensitive
ℹ️
|
Undoable commands: those commands that modify the scheduler’s content ( |
Examples:
-
delete 1
list
undo
(reverses thedelete 1
command) -
select 1
list
undo
Theundo
command fails as there are no undoable commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
ℹ️
|
Current version only supports the local changes, Google Calendar is NOT redoable. |
Reverses the most recent undo
command.
Format: redo
Aliases: red
OR re
OR r
Coming in V2.0: Command format can be typed case-insensitive
Examples:
-
delete 1
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command) -
delete 1
redo
Theredo
command fails as there are noundo
commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command)
redo
(reapplies theclear
command)
Clears all entries from the scheduler.
Format: clear
Aliases: clea
OR cle
OR cl
OR c
Coming in V2.0: Command format can be typed case-insensitive
Exits the program.
Format: exit
Aliases: exi
OR ex
OR e
Coming in V2.0: Command format can be typed case-insensitive
Scheduler data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
Function of this command: This command initializes the app to enterGoogle Calendar mode. The followings are done: Pull events from your Google Calendar (login required), add them to local calendar and enable all feasures' real-time sycn feature with Google Calendar.
Format: EnterGoogleCalendarMode
Warning
|
Note that you shall NOT type any extra input after the command word EnterGoogleCalendarMode . Behaviour is not guaranteed.
|
ℹ️
|
For events downloaded from Google, commands on them only have local effects. No real-time effects on the original events on Google Calendar. They will be supported in v2.0. |
By default, that is, before initialization (before a normal user enters the EnterGoogleCalendarMode
), the app is in Offline Mode. All command effects are local.
When the user types the command EnterGoogleCalendarMode
, then a pop-up windows will appear in your default browser for you to log in your google account and establish the link between app and Google Server.
ℹ️
|
This command will have to access your Google Calendar data, Google authentication is required. |
ℹ️
|
Take note that you will be required to log in twice. |
-
First login: Establishing the link between the app and google calendar. This is done at the webpage pop-up in your default browser. This log-in credential is stored locally. If the credential has not expired, you can continue to use it and no further log-in is required.
-
Second login: log-in for viewing the Google Calendar on the right panel. This is log-in from the webpage on the right panel. Note that the cookies are not stored. You will be required to log in again if you close the app.
ℹ️
|
Note for Log-In Process |
After the pop-up window appears, you shall enter your account number and password.
You shall not close the login page.
If you have done so, the app is very like to become inactive and unable to accept any command.
Remedial action For any log-in problem:
- You should try to enter the command EnterGoogleCalendarMode
again.
If the problem persists, try the following:
-
Close the app.
-
Delete the
StoredCredential
file in yourtoken
folder found in the app home folder. -
Make sure the content of
mode.txt
file is 'Disabled'. Note that this file shall NOT be deleted at any time. If it is missing, the app is likely to have unexpected behaviour.
ℹ️
|
Note for two-factor authentication (2FA) of your Google Account |
The app might able / not able to support your 2FA log in method, depends on the security level set by you. If the internet is not good, the login page might not appear.
Step 1: If you have not successfully logged into our application using EnterGoogleCalendarMode
before, a pop-up login window will appear in your default browser.
Step 2: You will be required to log in your Google account, just like when you are using many other Google services. After successful authorization, the message
Received verification code. You may now close the window.
will appear.
Step 3: The application proceeds automatically after successful authorization. As instructed, you do not have to do anything else so please do feel free to close the browser tab.
Step 4: The application then proceeds with the pulling of Google Calendar events, and trying to add them to the local database. A success message appears after the completion of addition of supported events. If your google event is not supported, an error message is shown.
💡
|
Supported event types: - Single events - Repeated events with single weekly repeat day with a 'Repeat Until' date and with a Name. eg.Weekly On Monday Until 2018-12-12 (This is mainly to support for weekly lectures and tutorials) Event(s) above refer to those generated in Google natively and NOT generated from the app previously (from your current computer or any other computer using any accounts.) |
ℹ️
|
If Google service is not stable OR the limit of the IP address/account is reached OR there are too many events, the command might not able to retrieve any event. One of the third party libraries used in our app Natty has been noticed several times for unstable/incorrect behaviour in converting DateTimes. Repeated Events might not be able to fe fully downloaded. |
Now you are in the Google Calendar mode, the supported commands will have real-time effects on your log-in Google Calendar. The supported commands are:
add
/ edit
/delete
/clear
/addReminder
/ deleteReminder
/ postponeReminder
For those events in local before initialization, this feature does NOT push them to Google Calendar. Editing those events only in local database will have an error.
Warning
|
No concurrent usage of the same account |
Your Google Account used for this app should only be you. We do not support multiple people using the same account. Examples of possible problems:
-
If more than one person is using the account, more events might showed in the calendar panel compared to the left panel.
-
The real-time effect is only for local commands, commands entered from anywhere else (except the app you are using right now) are not captured in your app. However, they will affect your Google Calenar. When they type
clear
, the events on your Google Calendar will be cleared. Your local database is not affected.
Warning
|
No using of multiple accounts |
This is not supported. Switching of account is also not supported. For the advanced user, if you do want to switch, please close the app and delete the StoredCredential
file in the token
folder. However, the behaviour is not guaranteed. A more user-friendly command will be supported in v2.0.
Warning
|
No Commands Shall be executed on Event(s) already passed (before current time) |
Due to Google’s optimization, effect of commands on such events is not guaranteed. It may or may not be executed.
ℹ️
|
Possible different implementation of our app and Google |
Note that this version is still v1.4 and we are not able to fully understand the implementation of Google Calendar on their side.
Some failure/exception caused by Google Calendar will cause the local command to fail as well.
We can only guarantee the command sent from the app is the same as intended. However, we are not able to guarantee how Google interprets the command, and how they implement the behaviour of the command. It is expected to see different behaviours. That being said, we have tried as much as possible to ensure similar behaviour.
Below is an example of a different implementation.
- For interpretation on 'repeat until' date, various commands such as add
and edit
on repeated events might have different results on Google Calendar.
-
For an event across different days. Locally, it is shown as one item. Google’s way of showing it might seem like multiple items because the start time and end time is not shown.
Local Display:
Google Display:
ℹ️
|
Disclaimer |
-
Event Description feature is partially depreciated in this version. The description is not shown in the app.
-
Tag is not supported for syc with Google in this verion, will be supported in v2.0.
-
For auto-refreshing of the webpage on the right panel, its behaviour is not guaranteed because it much depends on your local set up. It may or may not auto-refresh. Also, When you do not see the expected outcome, please ensure your webpage is refreshed.
ℹ️
|
Poor internet condition |
No effects are on Google Calendar, only local effects. Depends on your internet quality, the command might not work as intended. Special locations such as school, dormitory and hotel, its firewall might affect our app. However, due to the complex Internet environment, we might not able to capture all internet connection problem.
For captured error, it is reported as “Internet Error/Status File Does Not Exist.” OR `"Only local changes`" OR “no effects on your Google Calendar” OR "Unable to retrieve" OR their combinations.
Please try your command again when the quality improves. or use postGCEvents
Command to post local effects to Google Calendar.
Posts the events from your local database and merge your local events with Google Calendar events (login is required).
This command is used to syc with Google Calendar, after your are offline and back online.
Note that when you are offline, commands will only have effects locally, no effect on Google Calendar online.
Format: postGCEvents
As you may have already noticed, our GUI supports auto-completion which suggests possible commands when you type certain (or certain combinations of) alphabetical characters.
Note: It even works for command aliases!
Commands can be invoked in case-insensitive format. For example, typing hElP
can invoke the help
command.
Only applicable to these commands: add
, clear
, delete
, edit
, exit
, find
, help
, history
, list
, redo
,
select
and undo
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 iScheduler folder.
-
Add event
add event n/EVENT_NAME [s/EVENT_START_DATE_TIME] [e/EVENT_END_DATE_TIME] [d/DESCRIPTION] [v/VENUE] [rt/REPEAT_TYPE] [ru/REPEAT_UNTIL_DATETIME] [t/TAG]…
e.g.add n/Study With Yoko s/tomorrow at 3pm d/Study again and again rt/monthly t/ad-hoc
-
Edit event
edit INDEX [n/EVENT_NAME] [s/START_DATETIME] [e/END_DATETIME] [d/DESCRIPTION] [v/VENUE] [rt/REPEAT_TYPE] [ru/REPEAT_UNTIL_DAETIME] [t/TAG] [-a | -u]…
e.g.edit 1 n/Study with John d/Study for Mathematics exam
-
Find event
add event KEYWORD [MORE_KEYWORDS]
e.g.Find exam
-
List event
list event [t/tag] or [d/date=today]
e.g.list exam
-
Add tag
add tag [TAG_NAME]
e.g.addtag exam
-
Delete tag
delete tag [TAG_NAME]
e.g.deletetag exam
-
List tag
list all tags stored in scheduler
e.g.listtag
-
Clear :
clear
-
Delete event :
delete INDEX [-a | -u]
e.g.delete 3 -a
-
Add reminders :
addReminder INDEX [re/REMINDER_TIME]… [-a | -u]
e.g.addReminder 1 re/30m re/1h -a
-
Delete reminders :
deleteReminder INDEX [re/REMINDER_TIME]… [-a | -u]
e.g.deleteReminder 2 re/30m re/1h
-
Postpone reminders :
postponeReminder INDEX [re/REMINDER_TIME] [-a | -u]
e.g.postponeReminder 3 re/30m -u
-
Help :
help
-
Select :
select INDEX
e.g.select 2
-
History :
history
-
Undo :
undo
-
Redo :
redo