Concepts
Zmanim
The organization and calculation of Zmanim are arranged via 3 distinct objects.
- Sets
- Zmanim (singular: zman)
- Calculations
Sets
A set is a collection of Zmanim that are displayed together. You can add or remove zmanim from a set, and you can change options that apply to the set as a whole.
Zmanim
A zman describes a specific time of day that has some significance. The exact time of day for each zman is calculated according to its associated calculation. A zman describes how and when it should appear within sets that include it.
Calculations
A calculation describes how a moment of time is to be calculated. You write the code and give the calculation a name so that it can be referred to by zmanim.
Relationships
A set contains zero or more zmanim. A set may be empty, though this is not a particularly useful state.
Zmanim may belong to zero or more sets.
Each zman uses exactly one calculation, but more than one Zman may use the same calculation.
Technical: ERD
erDiagram
direction LR
Set ||--o{ Zman : contains
Zman ||--o{ Set : "belongs to"
Zman ||--|| Calculation : uses
Calculation ||--o{ Zman : "used by"
The five W's
| who | You! In Zmanim Advanced, the user has (nearly) complete control over the presentaation of zmanim. |
| what | Calculations determine what time is displayed for a given zman in a given location on a given date. |
| where | Sets determine where zmanim appear. |
| when | Zmanim determine when they are visible. |
| why | Because! |