- Calendar view
- Displays elements inside a monthly, weekly or daily calendar
You want to:
See your planned Changes on a calendar view?
Get a quick overview of contracts ending next month?
Visualize Physical Devices reaching End of warranty on a timeline view?
Then this extension is for you.
This extension brings a new Calendar Dashlet which can be added to any Dashboard
From a user perspective
Objects are displayed on a calendar view, as meetings in a google calendar,
Objects can have a different color depending on a field value (status for eg.),
User can switch between Day, Week, Month or List display modes,
User can navigate to the next or the previous day/week/month,
User can choose to hide some groups of objects, within the displayed ones,
|2019-06-20||2.0.1||- Rename dictionnaries files
- Fix script loader when more than one calendar is displayed
- Security hardening
|2018-08-13||2.0.0||New version generic version of the extension, fully customizable without any code.|
It's not possible to display FunctionalCIs at the date of a Change they are linked to. The date field must be an attribute of the displayed object.
iTop 2.4 or later
Use the Standard installation process for this extension.
Some configuration parameters are available for this extension:
|default_scope_count||Default number of scopes when creating a new dashlet||3|
|max_scope_count||Maximum number of scopes a dashlet can have. This parameter is for all calendar view dashlets.||10|
|default_event_duration||Default duration in minutes for events that have only a start or end date.||30|
|first_day||First day of week. This parameter is for all calendar view dashlets, no matter the user language. Value can be 0 (sunday), 1 (monday), …||1|
|business_hours||Highlighted period of the week in dashlets (events can be created outside this period). A PHP array containing the days_of_week (same pattern as the first_day parameter, default is array(1,2,3,4,5)), start hour (default is 09:00), end hour||18:00|
Designing a Calendar Dashlet
The Dashlet designer specifies
the objects displayed in the Dashlet as scopes
sub-groups of object based on a field (groups per status for example)
the colors to use per group of object,
the default display mode,….
|Title||Title is displayed on the top banner of the calendar, it can be a dictionary entry eg. UI:RequestMgmtMenuOverview:Title|
|Default display||This is the default display mode, which is used when the dashboard is displayed, the user can still change the display mode, but it is not recorded. Next refresh of the page will restore the default display|
|Scope count||Change this number if you want to define more than 3 groups of objects to display in the same dashlet. It will expend the form with more scopes. When saving empty scopes are ignored|
|Name||Label of the scopes as displayed in the selection bar|
|OQL||An OQL query which must return a single class of objects to display|
|Start date||A mandatory date or date-time field of the above class, which is used as the start time for displaying the object in the calendar.|
|End date||An optional date or date-time field of the above class, which is used as the end time for displaying the object in the calendar.|
|Description||An optional field which value will be displayed in a tooltip while moving your mouse above an object|
|Group by||An optional field to divide your scopes in groups.|
|Items color||A fixed selection of predefined colors, plus an extra “Rainbow (multicolors)”|
dateattribute (without time) is used either the Start date or the End date, the objects are displayed as full-day event in Daily and Weekly display mode.
Group byfield values will displayed under the scope name, hidden by default.
If “Rainbow (multicolors)” is selected then each group will get a different plain color, instead of a different shade of a unique color.
Group byfield is selected, then
Colors modeis useless and “Rainbow (multicolors)” is equivalent to “Orange”.
Here is an example with 2 scopes, both with groups.
User Request uses a purple “shades” grouping by “priority”
Bug uses a “Rainbow” grouping by “status”
Bug is not a class defined in the standard datamodel.
Using a Dashlet Calendar
Here the display of the same example as below.
User Request uses a date-time Start date and no End date, so object are displayed with a duration defined in the Extension configuration parameter
Bug uses a date Start date, which means object are displayed as “all day” events in Daily and Weekly display modes
The default display mode of our example is a Week
User can decide to hide some of the groups by opening the criteria and un-selecting some groups
User can switch to a different display mode, such as List for a month:
or Month displayed as a table with one row per week and one cell per day:
Full day object have a colored background behind their name
Object with a starting hour, have a colored bullet in front of its name
When there are too many objects in a cell, a number of not-yet-displayed objects is provided and you can click on it to display the complete list of objects for that day.
On any object displayed, moving the mouse over it display a tooltip with
the Start date,
The scope name and the group value in parentheses