Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix bugs related to documentation and slot management #177

Merged
merged 101 commits into from
Apr 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
84edbcd
v1.1
seanieyap Mar 3, 2019
7715c8d
fix some errors and typos
seanieyap Mar 3, 2019
2b79726
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 3, 2019
a59a7db
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 10, 2019
e94d3a2
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 17, 2019
984e459
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 17, 2019
3dc81e8
Refactor entire project, remove all traces of Addressbook
seanieyap Mar 17, 2019
474d1d4
Update developer guide for ExportCommandP (#80)
macchazuki Mar 17, 2019
219cd79
Update documentation for view command (#81)
dingheng4448 Mar 17, 2019
669099d
Remove remaining Addressbook classes
seanieyap Mar 17, 2019
262e12c
Refactor some classes
seanieyap Mar 17, 2019
02322e1
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 17, 2019
db66222
fix missing files issue
seanieyap Mar 17, 2019
a73e964
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 17, 2019
3eb2fe4
Add test cases for add function, Utils and other code enhancements
seanieyap Mar 18, 2019
7913f99
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 18, 2019
348b702
fix codacy issues
seanieyap Mar 18, 2019
461da9e
fix codacy issues
seanieyap Mar 18, 2019
16f2c7e
Add tests for Utils
seanieyap Mar 18, 2019
5add3ce
Update Ui.png
seanieyap Mar 18, 2019
586fd41
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 18, 2019
edf9da0
Add diagrams
seanieyap Mar 18, 2019
fca2e67
Update Ui.png
seanieyap Mar 18, 2019
4fb7462
fix issue with Ui.png
seanieyap Mar 18, 2019
30b9285
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 18, 2019
1b69c0e
Update Codacy Badge link due to reinitialization.
seanieyap Mar 18, 2019
c6d307d
Enhance ordering of slots printed
seanieyap Mar 19, 2019
9f58e44
Update UserGuide.adoc
seanieyap Mar 19, 2019
cc03c36
Update UserGuide.adoc
seanieyap Mar 19, 2019
0c808b0
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 19, 2019
320e5ae
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 19, 2019
4c5b129
Merge (#18)
marcus-pzj Mar 19, 2019
266f244
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 20, 2019
387aa71
Update UserGuide.adoc with feedback from peers
seanieyap Mar 20, 2019
8784d69
Update UserGuide.adoc with nicer tables
seanieyap Mar 20, 2019
1cbf2c6
Update UserGuide.adoc: fix formatting issues
seanieyap Mar 20, 2019
078b3c0
UserGuide.adoc Remove potential Netlify breaking code
seanieyap Mar 21, 2019
58d11e4
Resolve conflicts
marcus-pzj Mar 22, 2019
3ed1b50
Merge (#19)
marcus-pzj Mar 22, 2019
76c32b2
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 23, 2019
800ea8a
Merge (#21)
marcus-pzj Mar 23, 2019
b718d23
Resolve merge conflicts
marcus-pzj Mar 23, 2019
39d58cb
Merge (#24)
marcus-pzj Mar 23, 2019
4dca755
Merge codacy
marcus-pzj Mar 24, 2019
a2e7955
Resolve conflicts
marcus-pzj Mar 24, 2019
0fb1aa7
resolve whitesapce
marcus-pzj Mar 24, 2019
f4e41a8
Merge (#27)
marcus-pzj Mar 24, 2019
50c1f97
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 24, 2019
7d1c30e
Testing (#29)
marcus-pzj Mar 25, 2019
9ebefc6
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 25, 2019
300b5c9
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 26, 2019
2b7d999
Update
marcus-pzj Mar 29, 2019
5834aeb
Merge (#30)
marcus-pzj Mar 29, 2019
024762e
Resolve merge conflict
marcus-pzj Mar 30, 2019
3466536
Merge (#32)
marcus-pzj Mar 30, 2019
5c7b86a
Enhance FindCommand to use Levenshtein Distance (#31)
marcus-pzj Mar 30, 2019
8b97443
Fix codacy issues
marcus-pzj Mar 30, 2019
fa52f01
Merge branch 'master' into master
marcus-pzj Mar 30, 2019
74cdb3e
resolve merge conflict
marcus-pzj Mar 30, 2019
63ceb82
Merge (#33)
marcus-pzj Mar 30, 2019
d7a1cb4
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 30, 2019
f1ee71a
Merge (#36)
marcus-pzj Mar 31, 2019
cd47865
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/mai…
marcus-pzj Mar 31, 2019
2fa7a70
Add UndoRedo Command
marcus-pzj Mar 31, 2019
870d23c
ERROR:parsing file format
marcus-pzj Mar 31, 2019
3935d7e
Merge branch 'hist' of https://github.com/marcus-pzj/main
seanieyap Mar 31, 2019
544f5b9
Fix storage bug
seanieyap Mar 31, 2019
64f1d70
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 31, 2019
900bc31
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 31, 2019
7e0b2b3
Fix checkstyle errors unused imports
seanieyap Mar 31, 2019
f58f622
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 31, 2019
e7dce71
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Mar 31, 2019
48b07bd
Update DeveloperGuide.adoc with Slot management details
seanieyap Mar 31, 2019
e8fc2f4
Update DeveloperGuide.adoc added whitespace between sections
seanieyap Apr 1, 2019
57d1a35
Update help messages and test cases
seanieyap Apr 1, 2019
0564cc3
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Apr 1, 2019
bee5f7a
Refined test cases
seanieyap Apr 1, 2019
4e7101e
Update Ui.png
seanieyap Apr 1, 2019
fde402e
Add tests for Model classes
seanieyap Apr 1, 2019
e96eb72
Update LogicManager.java with more tests
seanieyap Apr 1, 2019
68af741
Update StorageFile test and misc tests
seanieyap Apr 1, 2019
e69e40a
v1.3
seanieyap Apr 1, 2019
b4d9556
Update some test cases and fix StorageFile errors
seanieyap Apr 1, 2019
84f6c71
Revert test cases that fail under Appveyor
seanieyap Apr 1, 2019
625d519
Update DeveloperGuide.adoc typos
seanieyap Apr 1, 2019
718b922
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Apr 2, 2019
d44d7d6
Update README.adoc fix bolding test issue
seanieyap Apr 2, 2019
8bcb057
update README.adoc fix spacing issue
seanieyap Apr 2, 2019
51bece6
update README.adoc fix additional spacing issue
seanieyap Apr 2, 2019
b35c5f8
Update seanyap.adoc with new overview
seanieyap Apr 2, 2019
34fe983
Update README.adoc typo
seanieyap Apr 2, 2019
9d3fea7
Update seanieyap.adoc with contributions
seanieyap Apr 2, 2019
eeb9f3e
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Apr 2, 2019
d5161ed
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Apr 2, 2019
1dab504
Fix typo in examples of add command
seanieyap Apr 2, 2019
7909e51
Enable Encryption
seanieyap Apr 2, 2019
87e126b
Update seanieyap.adoc remove duplicated text
seanieyap Apr 3, 2019
cca05ad
Update seanieyap.adoc and documentation examples
seanieyap Apr 4, 2019
b6ed6ad
Merge branch 'master' of https://github.com/CS2113-AY1819S2-T08-3/main
seanieyap Apr 4, 2019
b8d8b82
Fix bugs related to documentation and slot management
seanieyap Apr 4, 2019
e84b84e
Update Messages.java with new comparator
seanieyap Apr 4, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions docs/DeveloperGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,8 @@ image::ModelClassDiagram.png[width="400"]
{zwsp}

*API* : link:{repoURL}/src/planmysem/model/Model.java[`Model.java`]

`Model` holds the data involved with the application.
{zwsp}

{zwsp}
Expand Down Expand Up @@ -496,6 +498,12 @@ Additional keywords are purposefully *not* handled to provide ease of use and ca

==== Design Considerations

Here are the considerations that led to the new parsing system.
The choices made were largely due to the fact that they provide a better user experience and ease of use.
{zwsp}

{zwsp}

===== Aspect: Handling repeated parameters

* *Alternative 1 (current choice):* Accept and ignore repeated parameters when possible.
Expand All @@ -518,6 +526,9 @@ Additional keywords are purposefully *not* handled to provide ease of use and ca
* *Alternative 2:* Accept only a specific ordering of parameters.
** Pros: Less computationally expensive and short development process, able to use existing regex solutions in AB3.
** Cons: Greatly hinder user experience as order of parameters have no relation to meaning of commands.

Alternative 1 was chosen due to the team's priority in providing a better user experience and allow ease of use.

{zwsp}

{zwsp}
Expand Down Expand Up @@ -567,6 +578,12 @@ The `Edit` and `Delete` command then makes use of the _tagging_ system to then s

==== Design Considerations

Here are the considerations regarding slot management.
The choices made were largely due to computation effectiveness.
{zwsp}

{zwsp}

===== Aspect: Wrapping of primitive data types in `Slot`

* *Alternative 1 (current choice):* Use of "primitive" data types instead of creating and utilising wrapped objects. +
Expand All @@ -578,10 +595,9 @@ E.g. `name`, `location` amd `description` are not wrapped but "primitive".
** Pros: Less errors in handling invalid values.
** Cons: May cause inflexibility in writing code to account for flexible parsing.

In summary, in this cause of *PlanMySem*, there is a need to achieve varied and flexible commands and as such,
Alternative 1 was chosen as, in this case of *PlanMySem*, there is a need to achieve varied and flexible commands and as such,
it is not necessary to handle invalid values with the innate `Model` objects as these are taken care of when parsing.

Additionally, doing these actions when parsing, though bloats code, allows for more varied responses to the user and improves user experience.
{zwsp}

{zwsp}
Expand All @@ -595,6 +611,10 @@ Additionally, doing these actions when parsing, though bloats code, allows for m
* *Alternative 2:* Store `Slots` in a huge list.
** Pros: Allows for easier access by "index" and offers flexibility, for example, in the time of slots.
** Cons: Expensive to access, add and remove items. Furthermore, it is extremely expensive to collect slots that occur in a day, a very important and most likely to be a commonly used feature.

Alternative 1 was chosen as the benefits of quick and easy access to days outweigh the disadvantages involve with forbidding slots than span over a day.
After all, there are few cases of slots crossing the boundaries of a day, over midnight.

{zwsp}

{zwsp}
Expand Down
63 changes: 33 additions & 30 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -197,18 +197,19 @@ Format: `add n/NAME d/DATE_OR_DAY_OF_WEEK st/START_TIME et/END_TIME_OR_DURATION

Examples:

* `add n/CS2113T Tutorial d/mon st/8:00 am et/9:00 am des/Topic: Sequence Diagram t/CS2113T t/Tutorial` +
Add a single _slot_, named "CS2113T Tutorial" on the coming monday, from 0800hrs to 0900hrs with the tags "CS2113T" and "Tutorial".
* `add n/CS2113T Lecture d/mon st/8:00 am et/9:00 am des/Topic: Software Engineering t/CS2113T t/Lecture r/normal r/past` +
Add a single _slot_, named "CS2113T Lecture" with description "Software Engineering" on all mondays, from 0800hrs to 0900hrs with the tags "CS2113T" and "Tutorial".
Here, the recursion parameters enable a single command to place 13 slots on all "normal" weeks that lectures take place on.

[#img-add]
.[.underline]#Output after entering `add n/CS2113T Tutorial d/mon st/08:00 et/09:00 des/Topic: Sequence Diagram t/CS2113T t/Tutorial`#
.[.underline]#Output after entering `add n/CS2113T Lecture d/mon st/8:00 am et/9:00 am des/Topic: Software Engineering t/CS2113T t/Lecture r/normal r/past`#
image::Add_Command_Output_1.png[width="790"]

* `add n/CS2113T Tutorial d/mon st/08:00 et/09:00 des/Topic: Sequence Diagram t/CS2113T t/Tutorial r/recess r/reading` +
Do the same but additionally, recurse the _slot_ on both recess and reading week.
* `add n/CS2113T Lecture d/mon st/8:00 am et/9:00 am des/Topic: Software Engineering t/CS2113T t/Lecture r/recess r/reading r/past` +
Do the same but instead of "normal" weeks, do the opposite of the norm and recurse the _slot_ on both recess and reading week.

* `add n/CS2113T Tutorial d/mon st/08:00 et/09:00 des/Topic: Sequence Diagram t/CS2113T t/Tutorial r/normal` +
Do the same but recurse the _slot_ on "normal", instructional, weeks.
* `add n/CS2113T Lecture d/mon st/8:00 am et/9:00 am des/Topic: Software Engineering t/CS2113T t/Lecture` +
Do the same but without any recursion, instead place the _slot_ the coming monday.

[TIP]
You may add single _slots_ by omitting the `r/` identifiers and its parameters.
Expand All @@ -221,25 +222,25 @@ You may add single _slots_ by omitting the `r/` identifiers and its parameters.
Edit _slot(s)_.

1. Edit _slot(s)_ which contains certain _tag_(s). +
Format: `edit t/TAG... [nn/NEW_NAME] [nst/NEW_START_TIME] [net/NEW_END_TIME|DURATION] [nl/NEW_LOCATION] [nd/NEW_DESCRIPTION] [nt/NEW_TAG]...`
Format: `edit t/TAG... [nn/NEW_NAME] [nst/NEW_START_TIME] [net/NEW_END_TIME|DURATION] [nl/NEW_LOCATION] [ndes/NEW_DESCRIPTION] [nt/NEW_TAG]...`
2. Edit specific _slot_ via the `list` command. +
Format: `edit INDEX [nn/NEW_NAME] [nd/NEW_DATE] [nst/NEW_START_TIME] [net/NEW_END_TIME|DURATION] [nl/NEW_LOCATION] [nd/NEW_DESCRIPTION] [nt/NEW_TAG]...`
Format: `edit INDEX [nn/NEW_NAME] [nd/NEW_DATE] [nst/NEW_START_TIME] [net/NEW_END_TIME|DURATION] [nl/NEW_LOCATION] [ndes/NEW_DESCRIPTION] [nt/NEW_TAG]...`

[NOTE]
You will not be able to edit a _slot_'s date when editing via _tags_. +
To edit a _slot_'s date, you may use the `list` or `find` command and edit specific _slot(s)_ via index.

Examples:

* `edit t/CS2113T t/Tutorial nl/COM2 04-01` +
Edit _slots_ that contain tags "CS2113T" and "Tutorial", set these _slot's_ location to "COM2 04-01".
* `edit t/CS2113T t/Lecture nl/COM2 04-01` +
Edit _slots_ that contain tags "Lecture" and "Tutorial", set these _slot's_ location to "COM2 04-01".

[#img-edit]
.[.underline]#Output after entering `edit t/CS2113T t/Tutorial nl/COM2 04-01`#
.[.underline]#Output after entering `edit t/CS2113T t/Lecture nl/COM2 04-01`#
image::Edit_Command_Output_1.png[width="790"]

* `edit 1 des/Topic: Sequence Diagram` +
Edit the first item from the previous result of the `list` or `find` command.
* `edit 1 nl/ICube` +
Edit the first item from the previous result of the `list` or `find` command, replace it's location with "ICube".
{zwsp}

{zwsp}
Expand All @@ -256,12 +257,15 @@ You may delete a specific _slot_ by using the `list` or `find` command and selec

Examples:

* `delete t/CS2113T t/Tutorial` +
Delete _slots_ that contain tags "CS2113T" and "Tutorial".
* `delete t/CS2113T t/Lecture` +
Delete _slots_ that contain both tags "CS2113T" and "Lecture".

[#img-delete]
.[.underline]#Output after entering `delete t/CS2113T t/Tutorial`#
image::Delete_Command_Output.png[width="790"]
.[.underline]#Output after entering `delete t/CS2113T t/Lecture`#
image::Delete_Command_Output_1.png[width="790"]

* `delete t/Lecture` +
Delete _slots_ that contain the tag "Lecture".

* `delete 2` +
Delete the second _slot_ shown via the `list` command.
Expand All @@ -276,14 +280,14 @@ Format: `list n/NAME`

Examples:

* `list n/CS2113T` +
List all _slots_ that is named `CS2113T` in the planner.
* `list n/CS2113T Lecture` +
List all _slots_ that is named `CS2113T Lecture`.

* `list t/Tutorial` +
List all _slots_ that contains tags named `Tutorial` in the planner.
* `list t/Lecture` +
List all _slots_ that contains the tag `Lecture`.

[#img-list]
.[.underline]#Output after entering `list n/CS2113T`#
.[.underline]#Output after entering `list t/Lecture`#
image::List_Command_Output_1.png[width="790"]
{zwsp}

Expand All @@ -303,9 +307,10 @@ Example:
* `find n/CS` +
Find all _slots_ whose name closely matches `CS` (eg. CS2101, CS2113T, SOCSMeet)

* `find t/Tut` +
Find all _slots_ that contains tags whose names closely matches `Tut` (eg. Tutorial, Tutorship)
* `find t/2113T` +
Find all _slots_ that contain tags that closely matches `2113T`.

// TODO: need to change picture
[#img-find]
.[.underline]#Output after entering `find n/CS`#
image::Find_Command_Output_1.png[width="790"]
Expand Down Expand Up @@ -420,16 +425,14 @@ image::Export_Command_Output_1.png[width="420"]
====
The exported file is named "PlanMySem.ics" and is saved in the main directory.
The .ics file can be imported into other calendar apps that support .ics files such as Google Calendar. +

====
[WARNING]
Exporting will REMOVE all tags in the planner.

[#img-exportFile]
.[.underline]#Location of PlanMySem.ics file#
image::Export_Command_Directory_1.png[width="790"]
====

[WARNING]
Exporting will REMOVE all tags in the planner.

[TIP]
A file with the ICS file extension is an iCalendar file.
These are plain text files that include calendar event details like a description, beginning and ending times, location, etc.
Expand Down
Binary file modified docs/images/Add_Command_Output_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/Delete_Command_Output.png
Binary file not shown.
Binary file added docs/images/Delete_Command_Output_!.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/Edit_Command_Output_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/Help_Command_Output.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/List_Command_Output_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading