Calendar package
No edit summary |
(Adding page to Category:TOC because it contains a TOC.) |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
==== What is | ==== What is This? ==== | ||
The Calendar package is a model that implements classes, making aggregation (for statistics, for example) easy. | |||
It follows a common pattern with dimensions from data analysis. By prepopulating the database with days, months, years, weeks etc, you can easily (and efficiently) find data to present in a diagram or table. | It follows a common pattern with dimensions from data analysis. By prepopulating the database with days, months, years, weeks, etc, you can easily (and efficiently) find data to present in a diagram or table. | ||
This model is cross-linked between all entities making the "conversion" between different calendar objects easy. | |||
This package also contains views for creating, viewing, and maintaining the model content.[[File:Calender model diagram.png|none|thumb|776x776px|link=https://wiki.mdriven.net/index.php/File:Calender_model_diagram.png]]Download it here: [[Special:Redirect/file/CalendarPackage.modlr|CalendarPackage.modlr]] | |||
==== ''' | ==== '''Notes on Usage''' ==== | ||
# The Calendar "main class" is a Singleton. Use Calendar.SO as a short way to access the singleton object. | |||
#* For example in OCL: <code>Calendar.SO.Today</code> will return a Day object for today. | |||
# Use the methods in Calendar to quickly find the Day for a given date when you link new or existing data to the structure. | |||
# There are also several helper functions to find the next/previous day, week, or month or calculate the time between them. | |||
#* For example in OCL: <code>Day.GetDayForDate()</code> returns a Day object by building a dictionary first for quick lookups. | |||
# Integers called '''Ordinals''' are used to have a stable way to calculate how far apart objects are in time. | |||
Then with that, | ==== '''Starting Up''' ==== | ||
* To create the data structure, start by using an action to create the years you want. | |||
* Then with that, call FixupCalendar to create months and days of the calendar. You can call FixupCalendar many times without losing any data. It will simply update or correct problems. | |||
* Weeks are a bit special. Week definitions vary in different parts of the world. Therefore, the WeekDefinition class sets the first day of the week, and weeks are then generated based on that. | |||
* You can also define Saturday and Sunday (for example) as the "days off" every week. | |||
* Use the country setting to define the default week definition for your users. | |||
[[Category:Packages]] | |||
{{Edited|July|12|2024}} | |||
[[Category:TOC]] | |||
Latest revision as of 13:16, 26 March 2024
What is This?
The Calendar package is a model that implements classes, making aggregation (for statistics, for example) easy.
It follows a common pattern with dimensions from data analysis. By prepopulating the database with days, months, years, weeks, etc, you can easily (and efficiently) find data to present in a diagram or table.
This model is cross-linked between all entities making the "conversion" between different calendar objects easy.
This package also contains views for creating, viewing, and maintaining the model content.
Download it here: CalendarPackage.modlr
Notes on Usage
- The Calendar "main class" is a Singleton. Use Calendar.SO as a short way to access the singleton object.
- For example in OCL:
Calendar.SO.Today
will return a Day object for today.
- For example in OCL:
- Use the methods in Calendar to quickly find the Day for a given date when you link new or existing data to the structure.
- There are also several helper functions to find the next/previous day, week, or month or calculate the time between them.
- For example in OCL:
Day.GetDayForDate()
returns a Day object by building a dictionary first for quick lookups.
- For example in OCL:
- Integers called Ordinals are used to have a stable way to calculate how far apart objects are in time.
Starting Up
- To create the data structure, start by using an action to create the years you want.
- Then with that, call FixupCalendar to create months and days of the calendar. You can call FixupCalendar many times without losing any data. It will simply update or correct problems.
- Weeks are a bit special. Week definitions vary in different parts of the world. Therefore, the WeekDefinition class sets the first day of the week, and weeks are then generated based on that.
- You can also define Saturday and Sunday (for example) as the "days off" every week.
- Use the country setting to define the default week definition for your users.
This page was edited more than 9 months ago on 03/26/2024. What links here