By: Team AY1920S2-CS2103T-F10-4 Since: Jan 2020 Licence: MIT

1. Introduction

Welcome to Mod Manager!

Mod Manager is a desktop application that assists students in managing tasks, schedules, and contacts for their modules in a semester.

More importantly, Mod Manager 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, Mod Manager can get your management of tasks, schedules and contacts done faster than traditional GUI apps.

Interested? Jump to the Section 3, “Quick Start” to get started. Enjoy!

2. About

This user guide helps you to master how to use Mod Manager. It explains the features and commands supported by Mod Manager, with examples to illustrate how the application works.

Note the following symbols used in this document:

Table 1. Symbols used in this User Guide

Symbol

Meaning

Enter

The enter button on the keyboard.

InfoIcon

Information that you need to know.

3. Quick Start

3.1. Installing Mod Manager

Here are the steps to get you started with using Mod Manager:

  1. Ensure you have Java 11 or above installed in your Computer.

  2. Download the latest ModManager.jar here.

  3. Copy the file to the folder you want to use as the home folder for your Mod Manager.

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

    Gui
    Figure 1. GUI for Mod Manager
  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.

    Here are some example commands that you can try:

    • cmd all : lists all available commands in our Mod Manager.

    • mod add /code CS3233 /desc Competitive Programming : adds the module CS3233 to the module list.

    • class add /code CS3233 /type LEC /at TUESDAY 14:00 16:00 /venue i3-Aud : adds a lecture class to the module CS3233.

    • task add /code CS3233 /desc Complete Pset 10 /on 30/04/2020 /at 23:59: adds a task to the module CS3233.

    • facil add /name Steven Halim /email stevenha@comp.nus.edu.sg /code CS3233: adds a facilitator to the module CS3233. If you are rushing to write an email to your lecturer, you can refer to this conveniently.

    • cal view /week this : views your schedules for the current week. You should see the CS3233 lecture group that you added above.

    • exit : exits the application.

  6. Refer to Section 4, “Features” for details of each command.

3.2. Using Mod Manager

This section offers an overview of Mod Manager’s layout so that you can find what you need easily.

There are two main areas in Mod Manager:

  1. A result display box and command box at the bottom of the screen.

  2. A main viewing area that occupies most of the screen.

The command box is the area for you to enter commands. The result of each command will be shown in the result display box, immediately above the command box.

commandAndResultBox
Figure 2. The result display box and command box

The main viewing area shows all the contents for one of the four tabs at any point in time. The four tabs are Module, Facilitators, Tasks and Calendar

  • Module tab contains information about lessons, tasks and facilitators for a particular module. It also shows the list of modules you currently have.

    Ui
    Figure 3. Module tab
  • Facilitators tab contains information about all the facilitators you currently have.

    Facil
    Figure 4. Facilitators tab
  • Tasks tab contains information about all the tasks you currently have. Completed tasks are shown in green, whereas the rest are uncompleted tasks.

    Task
    Figure 5. Tasks tab
  • Calendar tab shows tasks and lessons in a week.

    Calendar
    Figure 6. Calendar tab

4. Features

This section describes the main features of Mod Manager and how to use them.

The features are grouped into six categories:

  1. General features

  2. Module feature

  3. Class feature

  4. Facilitator feature

  5. Task feature

  6. Calendar feature

Additionally, the upcoming features section offers a preview of what you can expect in Mod Manager v2.0.

Command Format

This document uses the following notation to describe command formats:

  • Words in UPPER_CASE are the parameters to be supplied by the user.
    e.g. In the command format mod add /code MOD_CODE, MOD_CODE is a parameter which can be used as mod add /code CS2103T.

  • Items in square brackets are optional.
    e.g /code MOD_CODE [/desc DESCRIPTION] can be used as /code CS2103T /desc Software Engineering or as /code CS2103T.

  • Items with …​​ after them can be used multiple times, including 0 times.
    e.g. [MORE_DESCRIPTIONS]…​ can be used as   (i.e. 0 times), Software (once), Software Engineering (twice), SWE AI Algorithms etc.

  • Parameters can be used in any order unless otherwise specified. e.g. if the command specifies /code MOD_CODE /desc DESCRIPTION, /desc DESCRIPTION /code MOD_CODE is also acceptable.

4.1. General features

This section is about some general operations in Mod Manager.

4.1.1. Viewing help : help

You can open the help window that displays a link to our user guide.

Format:

  • help

4.1.2. Undoing previous commands : undo (Nhat)

During a usage session with Mod Manager, you may make mistakes while adding/editing/deleting an entry. It would be nice if you can reverse the effect in a neat way. The undo command is here to give you that convenience.

All of your commands are recorded, so with undo, you can reverse the effect of previous add/edit/delete commands one by one, starting with the most previous command.

As of the current version, you can only use undo to reverse the effects of add/edit/delete commands.

Format:

  • undo

Example:

Let’s say you are editing a task of module ST2334 with ID number 401. It is the task highlighted with the red box. Don’t bother with the command if you haven’t read the section on Task feature yet. This is just a quick demonstration.

undo 1
Figure 7. Editing a task as per usual

After that, you realize you didn’t mean to make this change, so you type undo.

undo 2
Figure 8. Before undo

After you press Enter, the effect will be reverted and the change is undone. The task is back to before your editing.

undo 3
Figure 9. After undo

4.1.3. Redoing previously undone commands : redo (Nhat)

We understand that you can change your mind right after undo-ing, so we give have the redo command to assist you.

You can reverse the effect of the most previous undo command with redo.

Format:

  • redo

Example:

Let’s say you have just used undo to a task edit command.

redo 1
Figure 10. Before redo

After you press Enter, the previously undone effect will come back.

redo 2
Figure 11. After redo

4.1.4. Listing commands : cmd (Nhat)

Listing all commands:

Sometimes, you might forget what commands are available in Mod Manager. To give you a quick reminder of all the command groups provided, we have the cmd all command.

The command groups available in Mod Manager are the words in bold you have seen throughout this document.

These include: facil, mod, task, …​

Format:

  • cmd all

Example:

Type cmd all into the Command Box.

cmdAll1
Figure 12. Before executing cmd all

Press Enter and you will be able to see all the command groups listed.

cmdAll2
Figure 13. After executing cmd all

Listing commands for a specific feature:

Seeing all the command groups might not be sufficient to remind you of the specific command formats. That’s why there is cmd group. It will list all valid command formats of a group for you, so you can get back to work.

You can use cmd all first to get a glimpse of all the command groups we have.

Format:

  • cmd group COMMAND_GROUP

Example: cmd group class

You want to know what commands there are in command group class. Type cmd group class into the Command Box.

cmdGroup1
Figure 14. Before executing cmd group class

Hit Enter and you will see the commands associated in the command group class. Since there are quite a few commands there, you might want to scroll down through the list.

cmdGroup2
Figure 15. After executing cmd group class

During a Mod Manager usage session, you may want to repeat some commands but you feel quite lazy to type again. Therefore, we bring you the ability to use the up/down arrow key on your keyboard to find the past command that you need.

Example:

Let’s say you want to use command "mod view CS2103T" again, but you have already executed 5 more commands ever since. Just simply press the up key on your keyboard a few times and you will see it in the command box.

If you have been pressing up and accidentally bypassed the command you need, just press down until you see it again.

For this feature, you can try out very quickly. Just open Mod Manager, type in a few commands and press up/down like you mean it. That’s the best and only way to truly feel the convenience of Mod Manager.

4.1.6. Clearing all entries : clear (Lu Shing)

You can clear all entries from Mod Manager. All the lists of modules, classes, facilitators and tasks that you have will be cleared. Please use this command cautiously, you cannot undo after it!

Format:

  • clear

Example:

Suppose your semester has ended and you do not want to see any information related to those modules you have taken in that semester anymore. You can type clear as shown below.

BeforeClear
Figure 16. Before clear

After pressing Enter, Mod Manager is empty. All the entries you have are cleared.

AfterClear
Figure 17. After clear

4.1.7. Exiting the program : exit

You can exit the program. Upon closing the application, the Mod Manager data will be saved automatically in your hard disk.

Format:

  • exit

4.2. Module feature : mod

The commands in this section carry out operations on the module list in Mod Manager. Executing these commands will bring you to the Module tab.

4.2.1. Adding a module (Zi Xin)

You can add a module to Mod Manager.

Format:

  • mod add /code MOD_CODE [/desc DESCRIPTION]

Command properties:

  • MOD_CODE should be 2-3 letters followed by 4 numbers (and a possible trailing letter) with no spaces.

  • DESCRIPTION should not exceed 64 characters.

Examples:

You can add a module to the module list. To add a module with the module code CS2103T and description Software Engineering, you can type the following command:

mod add /code CS2103T /desc Software Engineering

ModAddBefore1
Figure 18. Before mod add /code CS2103T /desc Software Engineering
ModAddAfter1
Figure 19. After mod add /code CS2103T /desc Software Engineering

You can also add a module without description. To add a module with the module code CS2101, you can type the following command:

mod add /code CS2101

ModAddBefore2
Figure 20. Before mod add /code CS2101
ModAddAfter2
Figure 21. After mod add /code CS2101

4.2.2. Viewing all modules (Zi Xin)

You can view a list of all modules.

Format:

  • mod list

Example:

You can view all modules in Mod Manager. To see a list of all modules, you can type the following command:

mod list

ModListAfter1
Figure 22. After mod list

4.2.3. Viewing information of a module (Zi Xin)

You can view all classes, tasks and facilitators for a module.

Format:

  • mod view INDEX

  • mod view MOD_CODE

Command properties:

  • Views the module at the specified INDEX or with the specified MOD_CODE. The index refers to the index number shown in the displayed module list. The index must be a positive integer 1, 2, 3, …​

Examples:

You can view a module using the index in the module list. To view all classes, tasks and facilitators for the second module in the module list, you can type the following command:

mod view 2

ModViewBefore1
Figure 23. Before mod view 2
ModViewAfter1
Figure 24. After mod view 2

Alternatively, you can view a module using the module code. To view all classes, tasks and facilitators for the module CS2103T, you can type the following command:

mod view CS2103T

ModViewBefore2
Figure 25. Before mod view CS2103T
ModViewAfter2
Figure 26. After mod view CS2103T

4.2.4. Editing a module (Zi Xin)

You can edit the information of a module.

Format:

  • mod edit INDEX [/code NEW_MODE_CODE] [/desc DESCRIPTION]

  • mod edit MOD_CODE [/code NEW_MODE_CODE] [/desc DESCRIPTION]

Command properties:

  • Edits the module at the specified INDEX or with the specified MOD_CODE. The index refers to the index number shown in the displayed module 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.

  • MOD_CODE should be 2-3 letters followed by 4 numbers (and a possible trailing letter) with no spaces.

  • DESCRIPTION should not exceed 64 characters.

  • You can remove the description linked to the module by typing /desc without specifying any input after it.

Examples:

You can edit a module using the index in the module list. To update the module code of the first module in the module list to CS2113T, you can type the following command:

mod edit 1 /code CS2113T

ModEditBefore1
Figure 27. Before mod edit 1 /code CS2113T
ModEditAfter1
Figure 28. After mod edit 1 /code CS2113T

Alternatively, you can edit a module using the module code. To update the description of the module CS2101 to Effective Communication for Computing Professionals, you can type the following command:

mod edit CS2101 /desc Effective Communication for Computing Professionals

ModEditBefore2
Figure 29. Before mod edit CS2101 /desc Effective Communication for Computing Professionals
ModEditAfter2
Figure 30. After mod edit CS2101 /desc Effective Communication for Computing Professionals

You can also remove the description of a module without specifying any input after the prefix /desc. To remove the description of the third module in the module list, you can type the following command:

mod edit 3 /desc

ModEditBefore3
Figure 31. Before mod edit 3 /desc
ModEditAfter3
Figure 32. After mod edit 3 /desc

4.2.5. Deleting a module (Zi Xin)

You can delete a module from Mod Manager. All classes, tasks and facilitators for that module will also be deleted.

Format:

  • mod delete INDEX

  • mod delete MOD_CODE

Command properties:

  • Deletes the module at the specified INDEX or with the specified MOD_CODE. The index refers to the index number shown in the displayed module list. The index must be a positive integer 1, 2, 3, …​

Examples:

You can delete a module using the index in the module list. To delete the second module in the module list, you can type the following command:

mod delete 2

ModDeleteBefore1
Figure 33. Before mod delete 2
ModDeleteAfter1
Figure 34. After mod delete 2

Alternatively, you can delete a module using the module code. To delete the module with the module code CS2103T, you can type the following command:

mod delete CS2103T

ModDeleteBefore2
Figure 35. Before mod delete CS2103T
ModDeleteAfter2
Figure 36. After mod delete CS2103T

4.3. Class feature : class

You can add, find, edit or delete classes within Mod Manager.
When managing your classes, you should take note of the following areas in the main viewing area. To find the main viewing area, you can refer to section 3.1.

ClassExplain
Figure 37. Explanation of how to look at classes

4.3.1. Adding a class (Heidi)

You can add a class to a module.

Format:

  • class add /code MOD_CODE /type CLASS_TYPE /at DAY START_TIME END_TIME [/venue VENUE]

Command properties:

  • MOD_CODE must be an existing and valid module code in the list of modules.

  • CLASS_TYPE available for use are LEC, TUT, SEC, REC and LAB.

  • DAY available for use are MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY and SUNDAY.

  • START_TIME and END_TIME should be in 24 hour HH:mm format.

  • VENUE is optional.

Example:

You have a CS2103T lecture on Friday from 14:00 to 16:00 at i3-Aud. Before adding that class, Mod Manager looks like what you see in the figure below.

ClassAddBefore
Figure 38. Before adding a class

To add that class, you can type:
class add /code CS2103T /type LEC /at FRIDAY 14:00 16:00 /venue i3-Aud.
You will see a new class added to the module CS2103T as shown in the figure below.

ClassAddAfter
Figure 39. After adding a class

4.3.2. Finding classes by day (Heidi)

You can find classes occurring on a particular day.

Format:

  • class find /at DAY

Command properties:

  • DAY available for use are MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY and SUNDAY.

Example:

To know what classes you have on Friday, you can type class find /at friday and you will be able to see the classes in the result display box as shown in the figure below.

ClassFindDay
Figure 40. After finding class by day

4.3.3. Finding next class (Heidi)

You can find the next class that will start soon.

Format:

  • class find /next

Example:

After typing class find /next, you will be directed to the module’s page and you will see the class as shown in the figure below.

ClassFindNext
Figure 41. After finding next class

4.3.4. Editing a class (Heidi)

You can edit the information of the class. The class to be edited is selected by its index in the displayed module’s class list. You can view the module’s class list by using mod view MOD_CODE as stated in section 3.2.3.

Format:

  • class edit INDEX /code MOD_CODE [/code NEW_MOD_CODE] [/type CLASS_TYPE] [/at DAY START_TIME END_TIME] [/venue VENUE]

Command properties:

  • The index refers to the index number shown in the displayed module list. The index must be a positive integer 1, 2, 3, …​

  • MOD_CODE must be an existing and valid module code in the list of modules.

  • CLASS_TYPE available for use are LEC, TUT, SEC, REC and LAB.

  • DAY available for use are MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY and SUNDAY.

  • START_TIME and END_TIME should be in 24 hour HH:mm format.

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

Example:

Let’s say that the venue of the CS2103T lecture you just added changed to Home. You can edit the class by typing class edit 1 /code CS2103T /venue Home. Mod Manager will direct you to the module’s page and it will reflect the updated venue as seen below.

ClassEdit
Figure 42. After editing a class

4.3.5. Deleting a class (Heidi)

You can delete the class from the module. The class to be deleted is selected by its index in the displayed module’s class list. You can view the module’s class list by using mod view MOD_CODE as stated in section 3.2.3.

Format:

  • class delete INDEX /code MOD_CODE

Command properties:

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

Example:

You can delete the CS2103T lecture by typing class delete 1 /code CS2103T. The class will not appear in the class list under the module CS2103T as seen below.

ClassDelete
Figure 43. After deleting a class

4.4. Task feature : task

The commands in this section carry out operations on the task list in Mod Manager. Executing these commands will bring you to the Tasks tab.

4.4.1. Adding a task (Nhat, Bao)

You can add a task to a module.

Format:

  • task add /code MOD_CODE /desc DESCRIPTION [/on DATE] [/at TIME]

Example: task add /code CS3230 /desc Programming Assignment 2 /on 20/02/2020 /at 23:59

Command properties:

  • MOD_CODE must be an existing and valid module code in the list of modules.

  • A module can be linked to any number of tasks (including 0).

  • DATE and TIME are optional fields, however, there can only be a TIME field if a DATE field is provided. For example, /at 23:59 without /on DATE is not allowed.

  • DATE follows dd/MM/yyyy format. It should be a valid date, e.g. Day 32 or Month 13 is not allowed. A special date is reserved in Mod Manager for a special functional purpose: 01/01/1970. If you choose to use this date as your input, Mod Manager won’t (for now) show an error message, but is not guaranteed to exhibit a normal behaviour.

  • TIME follows HH:mm format. It should be a valid time between 00:01 and 23:59, e.g. 00:00 and 24:00 are not allowed - if you input these values, they will be ignored.

  • Similar tasks across modules are allowed. However, tasks within a same module must have different descriptions. They can occupy the same time.

4.4.2. Editing a task (Nhat)

From here on, you will be introduced to Mod Manager’s task ID system.

  • A task can be uniquely identified in the system by two things: its associated module and a 3-digit number (from 100-999).

  • A complete task ID will consist of two elements: MOD_CODE and ID_NUMBER.

  • Examples of valid task ID: CS2103T 848, CS4231 132.

  • You can find out a task’s ID by looking at the general task list - can be viewed with task list, or the task list of a specific module - can be viewed with mod view.

You can edit a task’s description, its date and time details, or both by providing the correct task ID and the updated information.

Format:

  • task edit MOD_CODE ID_NUMBER [/desc DESCRIPTION] [/on DATE] [/at TIME]

Mod Manager will find the task associated with the module code and task ID number provided and update the information correspondingly. The properties of DESCRIPTION, DATE and TIME are described in the task add command above.

Example: task edit CS2101 344 /desc OP2 /on 08/04/2020

Type the command into the command box. The task to edit in this example is marked by the red rectangle.

task edit 1
Figure 44. Before task edit

After pressing Enter, you will see that the task has been edited.

task edit 2
Figure 45. After task edit

Since you may want to remove the date and time of a task, Mod Manager provides you a way to do so. Note that if you try to remove the date and time from a task without these values,

Format:

  • task edit MOD_CODE ID_NUMBER [/desc DESCRIPTION] /on non

Example: task edit ST2334 401 /on non

task edit 3
Figure 46. A task whose date and time that you want to remove

Again, press Enter and you will see its date and time has been removed. Its order in the list may be changed due to the sorting property of the task list.

task edit 4
Figure 47. The task’s date and time removed

4.4.3. Deleting a task (Nhat)

You can delete a task from Mod Manager’s system.

Format:

  • task delete MOD_CODE ID_NUMBER

Example: task delete CS2101 344

task delete 1
Figure 48. The task to delete

Press Enter and the task will be gone from the list.

task delete 2
Figure 49. Task deleted from the list

4.4.4. Marking a task as done (Bao)

You can mark the task as done in the module in Mod Manager.

A newly added task will be not done by default.
Editing a task will not change the done/not done status of the task.
Tasks that are already marked as done cannot be re-marked as done.

Format:

  • task done /code MOD_CODE /id ID_NUMBER

Command properties:

  • MOD_CODE should belong to a valid and existing module in Mod Manager.

  • ID_NUMBER should belong to a valid task for the module above.

Example:

You can mark a task as done in the module. To mark the task with task ID ID_NUMBER in module MOD_CODE to be done, you can type in the following command:

task done /code CS2105 /id 224 and hit Enter

TaskDoneBeforeCloseUp
Figure 50. Before task done /code CS2105 /id 224
TaskDoneAfterCloseUp
Figure 51. After task done /code CS2105 /id 224

The task card has changed to green; which means our task has been marked as done. Hooray! We just completed a task.

4.4.5. Viewing all tasks across all modules in Mod Manager (Bao)

You can view a list of all tasks across all modules in Mod Manager. This is great when you need an overview of all tasks that you need to complete at present.

Format:

  • task list

Example:

By typing the command above, you should see a list of tasks, such as the following:

TaskList
Figure 52. task list shows a list of all tasks in Mod Manager

4.4.6. Viewing tasks for a specific module (Bao)

If you want to find tasks for a specific module in Mod Manager, this is the command for you to use!

Format:

  • task module /code CS2103T

Command properties:

  • MOD_CODE should belong to a valid and existing module in Mod Manager.

Alternatively, you can also view the tasks for a specific module in the Module tab (the dashboard).

Example:

If you want a list of current tasks for the module CS3230, you can type in the following command:

task module /code CS3230 and hit Enter

It is not compulsory for you to be at the Tasks tab before typing in this command. Mod Manager will automatically redirect you to the Tasks tab if you are currently at another tab.

TaskListModule
Figure 53. All tasks belonging to the module CS3230 are listed

4.4.7. Viewing all tasks not done/finished (Bao)

Previously, we know that we can mark a task as done, so as to organise, manage, and plan our tasks better. Now, with this command, you can see all the tasks that have not yet been finished.

Format: task undone

TaskListNotDoneBefore
Figure 54. Before task undone, all tasks are listed

By typing the command above and hit Enter, you should only see uncompleted tasks, which are in dark red color:

TaskListNotDoneAfter
Figure 55. Only uncompleted tasks are shown

4.4.8. Finding tasks by description (Bao)

You are browsing through the task list. But there are too many tasks! You suddenly remember a specific task that you want to do, but you can only vaguely remember its description, e.g. something related to assignment.

This command is exactly what you need. In your case, you can find all tasks that contain the word assignment, which may include Programming Assignment, written assignment, Take-home Lab Assignment (note that it can be case-insensitive). If you remember multiple words in your wanted tasks, you may also type in multiple words as you want. Tasks that meet at least one of the keywords you provided will be shown to you.

Format:

  • task find DESCRIPTION [MORE_DESCRIPTIONS]…​

Command properties:

  • The find works across modules, so no /code command are required. For example, you may want to find all the assignment currently due.

  • Searching for description is case insensitive. e.g programming will match Programming.

  • The order of the descriptions does not matter. e.g. Programming Assignment will match Assignment Programming.

  • Tasks are only searched in the description.

  • Words can be partially matched e.g. assign will match assignment.

  • Tasks matching at least one description will be returned (i.e. OR search). e.g. assign home will return both Programming Assignment 2 and Homework 3.

Examples:

To find tasks that contain the word oral, assign, or tut in their description, you can type in the following command:

task find oral assign tut and press Enter

TaskFindAfter
Figure 56. After task find oral assign tut, all matching tasks are displayed

Explanation:
- Oral Presentation 2 contains Oral which matches oral (case-insensitive).
- Programming Assignment 2 contains Assignment which matches assign (case-insensitive, and words can be partial match)
- Similarly, Assignment 3 will match assign, and Tutorial will match tut
- As long as a task’s description matches one of the keywords provided, it will be shown.

You can try typing in task find assign tut oral and press Enter. This will return the same list of tasks, since the ordering of the keywords does not matter.

Other examples:

  • task find homework
    Finds all tasks that contain the word homework in their description

  • task find math coding
    Finds all tasks that contain the word math or coding in their description

4.4.9. Searching tasks by date (Bao)

With this command, you can search for all tasks that occur on your specified date, month, or year.

Tasks are only searched for its date. Tasks that do not have dates or times will not be found in this list.

Format:

  • task search [/date DATE] [/month MONTH] [/year YEAR]

Command properties:

  • The search works across modules, so no /code commands are required.

  • If no optional fields are provided, Mod Manager will output all tasks that have a specified time.

  • Invalid inputs such as /date monday, /month December, /year this year are not allowed. Please use numbers for /date, /month, and /year instead.

  • Invalid date, month, or year is not allowed. For example:

    • /date 32, /date 0: date can only range from 1 to 31.

    • /month 13, /month 0: month can only range from 1 to 12.

    • /year 0, /year 99999: the search only accept year ranging from 1 to 9999

    • /date 30 /month 2: there is no 30/2 in any year

    • /date 29 /month 2 /year 2019: this is not possible since 2019 is not a leap year. However, /date 29 /month 2 (year is not provided) is okay.

  • Tasks matching all conditions will be returned (i.e. AND search). e.g. /month 5 /year 2020 will only match tasks that are in May 2020.

Example:

You can search for tasks that are due on the submission date of CS2103T for AY19/20 S2 (13 April). To find tasks happening on 13 April, you can type task search /date 13 /month 4 and press Enter. This will return all tasks that are happening on 13 April.

TaskSearchBefore
Figure 57. Before task search /date 13 /month 4, all tasks are listed
TaskSearchAfter
Figure 58. After task search /date 13 /month 4, only matching tasks are listed

Explanation: the two tasks both have date as 13 and month as 4.

Other examples:

  • task search /date 1
    Searches for all tasks happening on the first day of the month, in any year. Who wants to study on New Year’s Day really?

  • task search /month 4 /year 2020
    Searches for all tasks in the current month (at the time of writing, April 2020).

  • task search /year 2020
    Searches for all tasks in this year (at the time of writing). This will be useful if Mod Manager is used over a long period of time.

  • task search /date 14 /month 2 /year 2021
    Searches for all tasks happening on 14/02/2021.

4.5. Facilitator feature : facil

The commands in this section carry out operations on the facilitator list in Mod Manager. Executing these commands will bring you to the Facilitators tab.

4.5.1. Adding a facilitator (Zi Xin)

You can add a facilitator to Mod Manager.

Format:

  • facil add /name FACILITATOR_NAME [/phone PHONE] [/email EMAIL] [/office OFFICE] /code MOD_CODE [MORE_MOD_CODES]…​

  • facil add /name FACILITATOR_NAME [/phone PHONE] [/email EMAIL] [/office OFFICE] /code MOD_CODE [/code MORE_MOD_CODES]…​

Command properties:

  • At least one of the optional fields (phone, email, office) must be provided.

  • A facilitator can be linked to one or more modules. A module with the module code provided must exist in Mod Manager.

  • To add multiple module codes, you can include the prefix /code once before all module codes (e.g. /code CS2103T CS3243) or multiple times once before each module code (e.g. /code CS2103T /code CS3243).

Examples:

You can add a facilitator to the facilitator list. To add a facilitator with the name Akshay Narayan, phone 98765432 and email dcsaksh@nus.edu.sg to the modules CS2103T and CS3243, you can type the following command:

facil add /name Akshay Narayan /phone 98765432 /email dcsaksh@nus.edu.sg /code CS2103T CS3243

FacilAddBefore1
Figure 59. Before facil add /name Akshay Narayan /phone 98765432 /email dcsaksh@nus.edu.sg /code CS2103T CS3243
FacilAddAfter1
Figure 60. After facil add /name Akshay Narayan /phone 98765432 /email dcsaksh@nus.edu.sg /code CS2103T CS3243

You can also add a facilitator to multiple modules by typing the prefix /code multiple times. To add a facilitator with the name Aaron Tan, email tantc@comp.nus.edu.sg and office COM1-0312 to the modules CS1231 and CS2100, you can type the following command:

facil add /name Aaron Tan /email tantc@comp.nus.edu.sg /office COM1-0312 /code CS1231 /code CS2100

FacilAddBefore2
Figure 61. Before facil add /name Aaron Tan /email tantc@comp.nus.edu.sg /office COM1-0312 /code CS1231 /code CS2100
FacilAddAfter2
Figure 62. After facil add /name Aaron Tan /email tantc@comp.nus.edu.sg /office COM1-0312 /code CS1231 /code CS2100

4.5.2. Viewing all facilitators (Zi Xin)

You can view a list of all facilitators sorted in alphabetical order.

Format:

  • facil list

Example:

You can view all facilitators in Mod Manager. To see a list of all facilitators sorted in alphabetical order, you can type the following command:

facil list

FacilListAfter1
Figure 63. After facil list

4.5.3. Finding a facilitator by name (Zi Xin)

You can find facilitators by name.

Format:

  • facil find FACILITATOR_NAME [MORE_FACILITATOR_NAMES]…​

Command properties:

  • The search is case insensitive. e.g hans will match Hans.

  • The order of the name does not matter. e.g. Hans Bo will match Bo Hans.

  • Only the name is searched.

  • Partial words will be matched e.g. Han will match Hans.

  • Facilitators matching at least one name will be returned (i.e. OR search). e.g. Hans Bo will return Hans Gruber, Bo Yang.

Examples:

You can search for facilitators by name. To view all facilitators whose name contains Akshay, you can type the following command:

facil find Akshay

FacilFindBefore1
Figure 64. Before facil find Akshay
FacilFindAfter1
Figure 65. After facil find Akshay

You can also search for multiple facilitators or search with partial names. To view a list of facilitators whose name contains yan or tan, you can type the following command:

facil find yan tan

FacilFindBefore2
Figure 66. Before facil find yan tan
FacilFindAfter2
Figure 67. After facil find yan tan

4.5.4. Editing a facilitator (Zi Xin)

You can edit the information of a facilitator.

Format:

  • facil edit INDEX [/name FACILITATOR_NAME] [/phone PHONE] [/email EMAIL] [/office OFFICE] [/code MOD_CODE…​]

  • facil edit FACILITATOR_NAME [/name FACILITATOR_NAME] [/phone PHONE] [/email EMAIL] [/office OFFICE] [/code MOD_CODE…​]

Command properties:

  • Edits the facilitator at the specified INDEX. The index refers to the index number shown in the last displayed facilitator list in the Facilitators tab. 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 module codes, the existing module codes of the facilitator will be removed i.e adding of module code is not cumulative.

  • A module with the module code provided must exist in Mod Manager.

  • You can remove the phone, email or office linked to the facilitator by typing /phone, /email or /office respectively without specifying any input after it.

Examples:

You can edit the information of a facilitator using the index in the last shown facilitator list. To update the name and email of the first facilitator in the last shown facilitator list in the Facilitators tab to Akshay and hisnewemail@nus.edu.sg respectively, you can type the following command:

facil edit 1 /name Akshay /email hisnewemail@nus.edu.sg

FacilEditBefore1
Figure 68. Before facil edit 1 /name Akshay /email hisnewemail@nus.edu.sg
FacilEditAfter1
Figure 69. After facil edit 1 /name Akshay /email hisnewemail@nus.edu.sg

Alternatively, you can edit the information of a facilitator using the name of the facilitator. To update the office of the facilitator with the name Akshay Narayan to COM2-0203, you can type the following command:

facil edit Akshay Narayan /office COM2-0203

FacilEditBefore2
Figure 70. Before facil edit Akshay Narayan /office COM2-0203
FacilEditAfter2
Figure 71. After facil edit Akshay Narayan /office COM2-0203

You can also remove the information of a facilitator without specifying any input after the prefix /phone, /email or /office. To remove the phone of the second facilitator in the last shown facilitator list in the Facilitators tab, type the following command:

facil edit 2 /phone

FacilEditBefore3
Figure 72. Before facil edit 2 /phone
FacilEditAfter3
Figure 73. After facil edit 2 /phone

4.5.5. Deleting a facilitator (Zi Xin)

You can delete a facilitator from Mod Manager.

Format:

  • facil delete INDEX

  • facil delete FACILITATOR_NAME

Command properties:

  • Deletes the facilitator at the specified INDEX. The index refers to the index number shown in the last displayed facilitator list in the Facilitators tab. The index must be a positive integer 1, 2, 3, …​

Examples:

You can delete a facilitator using the index in the last shown facilitator list. To delete the first facilitator in the last shown facilitator list in the Facilitators tab, you can type the following command:

facil delete 1

FacilDeleteBefore1
Figure 74. Before facil delete 1
FacilDeleteAfter1
Figure 75. After facil delete 1

Alternatively, you can delete a facilitator using the name of the facilitator. To delete the facilitator with the name Akshay Narayan, you can type the following command:

facil delete Akshay Narayan

FacilDeleteBefore2
Figure 76. Before facil delete Akshay Narayan
FacilDeleteAfter2
Figure 77. After facil delete Akshay Narayan

4.6. Calendar feature : cal

The commands in this section carry out operations related to the calendar in Mod Manager. Executing these commands will bring you to the Calendar tab.

4.6.1. Viewing calendar for current week (Lu Shing)

You can view the calendar for the current week. It displays the tasks and classes you have in the current week.

Format:

  • cal view /week this

Example:

After typing cal view /week this, the calendar for the current week will be displayed to you as shown below. The red cards represent the tasks you have not done, the green cards represent the tasks you have already done and the blue cards represent the classes you have in the current week.

CalView1
Figure 78. Outcome of cal view /week this

4.6.2. Viewing calendar for next week (Lu Shing)

You can view the calendar for next week. It displays the tasks and classes you have in the next week.

Format:

  • cal view /week next

Example:

After typing cal view /week next, the calendar for the next week will be displayed to you as shown below. The red cards represent the tasks you have not done, the green cards represent the tasks you have already done and the blue cards represent the classes you have in next week.

CalView2
Figure 79. Outcome of cal view /week next

4.6.3. Finding empty slots (Lu Shing)

You can find the empty slots from current day to end of the week of the current day. The empty slots are time periods where you do not have classes or tasks.

Format:

  • cal find empty

Example:

You can get the list of empty slots after typing cal find empty. The list will be displayed in the result display box as seen below. The command will not change the week of the calendar you are viewing.

CalFind1
Figure 80. Outcome of cal find empty

The full message in the result display box in the above figure is:

Here’s the list of empty slots from today to Sunday:
THURSDAY:
00:00-08:00 12:00-16:00 18:00-23:59
FRIDAY:
00:00-10:00 13:00-14:00 16:00-23:59
SATURDAY:
00:00-23:59
SUNDAY:
00:00-23:59

4.7. Upcoming features [coming in v2.0]

These features will be available in the next version of Mod Manager.

4.7.1. Categorising tasks [coming in v2.0]

You can add tags to a task.

4.7.2. Adding a priority level to a task [coming in v2.0]

You can add a priority level to a task.

4.7.3. Receiving reminders [coming in v2.0]

You can receive reminders for deadlines and events the next day.

4.7.4. Finding upcoming tasks [coming in v2.0]

You can find upcoming tasks, such as assignment submissions and final exams in Mod Manager.

4.7.5. Viewing of the recently edited item after an add, edit or delete command [coming in v2.0]

After an add, edit or delete operation, the view will be scrolled to that recently created or modified item, so that you can refer to the information easily. The newly created or modified details will be highlighted and focused so that you know what has been changed. == FAQ

4.8. How do I transfer my data to another computer?

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 Mod Manager folder.

5. Glossary

This glossary aims to provide a definition for the special vocabulary used in this user guide.

Dashboard

The default tab in view when the application starts (i.e. the Module tab).

Task card

A task card represents a task with details such as the module it belongs to, description, and time (if provided upon creation).

A dark red card represents a task that is not done.

TaskCardNotDone

A green card represents a done task.

TaskCardDone

6. Command Summary

Table 2. Summary of command formats
Category Commands

Calendar

cal find empty

cal view /week next

cal view /week this

Class

class add /code MOD_CODE /type CLASS_TYPE /at DAY START_TIME END_TIME [/venue VENUE]

class delete INDEX /code MOD_CODE

class edit INDEX /code MOD_CODE [/code NEW_MOD_CODE] [/type CLASS_TYPE] [/at DAY START_TIME END_TIME] [/venue VENUE]

class find /at DAY

class find /next

Facilitator

facil add /name FACILITATOR_NAME [/phone PHONE] [/email EMAIL] [/office OFFICE] /code MOD_CODE [MORE_MOD_CODES]…​
facil add /name FACILITATOR_NAME [/email EMAIL] [/phone PHONE] [/office OFFICE] /code MOD_CODE [/code MORE_MOD_CODES]…​

facil delete FACILITATOR_NAME
facil delete INDEX

facil edit FACILITATOR_NAME [/name FACILITATOR_NAME] [/email EMAIL] [/phone PHONE] [/office OFFICE] [/code MOD_CODE…​]
facil edit INDEX [/name FACILITATOR_NAME] [/email EMAIL] [/phone PHONE] [/office OFFICE] [/code MOD_CODE…​]

facil find FACILITATOR_NAME [MORE_FACILITATOR_NAMES]…​

facil list

General

clear

cmd all

cmd group COMMAND_WORD

exit

help

redo

undo

Module

mod add /code MOD_CODE [/desc DESCRIPTION]

mod delete INDEX
mod delete MOD_CODE

mod edit INDEX [/code NEW_MODE_CODE] [/desc DESCRIPTION]
mod edit MOD_CODE [/code NEW_MODE_CODE] [/desc DESCRIPTION]

mod list

mod view INDEX
mod view MOD_CODE

Task

task add /code MOD_CODE /desc DESCRIPTION [/on DATE] [/at TIME]

task delete MOD_CODE ID_NUMBER

task done /code MOD_CODE /id ID_NUMBER

task edit MOD_CODE ID_NUMBER [/desc DESCRIPTION] [/on DATE] [/at TIME]
task edit MOD_CODE ID_NUMBER [/desc DESCRIPTION] /on non

task find DESCRIPTION [MORE_DESCRIPTIONS]…​

task list

task module /code MOD_CODE

task search [/date DATE] [/month MONTH] [/year YEAR]

task undone

Table 3. Summary of common command parameters

Parameter

Constraints

DESCRIPTION

DESCRIPTION should not exceed 64 characters. This includes Module 's and Task 's description.

MOD_CODE

MOD_CODE should be 2-3 letters followed by 4 digits (and a possible trailing letter) with no spaces.