Figure Cal.04 - Detailed Structure

Header Image
Project:
Figure Cal.04 - Detailed Structure : Class diagram
Created: 3/28/2022 3:51:09 PM
Modified: 8/24/2023 7:51:41 AM
Project:
Advanced:
The following Figure shows the structure in more detail. Note that the Event and EventType entities should only be considered as placeholders until the SID has modeled this area in detail. <br/>We will allow Calendars to be grouped, allowing for all of the Calendars for a workgroup to be combined into a workgroup overview Calendar. Note, however, that only simple Calendars can have CalendarEntries.<br/><i>Note that CalendarEntries are specific to each calendar, they aren’t shared. This gives the CalendarOwner complete control over the entries in their Calendar.</i><br/>We have defined three basic types of CalendarEntry; Journal Entries, Events and ToDos. The CalendarEntry entity is an abstract concept that we use to group common attributes and common associations to other entities.<br/>Since both Event and ToDo entries can have Alarms attached, we have introduced an abstract entity “ActionEntry” to hold the common concepts.<br/>A CalendarEntry has a related Temporal Expression, which contains the TimePeriod or collection of repeating TimePeriods. Note that when we create a recurring CalendarEntry that the Recurrence Rule will create a set of subsidiary Calendar Entries. We need to keep track of these as we may need to update or remove them if the recurrence rule is modified, or the recurring CalendarEntry is removed. Rather than have a main and subsidiary set of CalendarEntries, all the entries are made equal and there is a both-way reference between the Entries and the associated RecurrenceRule.<br/>The recurrence rule could be specified using a frequency like weekly, monthly, yearly. This means that the duration between repetitions may vary (e.g. for a monthly frequency the duration will vary from 28 to 31 days)<br/><i>Note that there may be many ways to implement the Recurrence Temporal Expression; these may include Templates, Rules or Policy Engines or hard coded algorithms.</i><br/>