django-edumetadata v0.1 documentation

Time Periods

Goals

  • Add date or range fields on model
  • Link to one or more pre-defined periods

Historical Model Fields

  • Single date or date range
  • Different granularities: year, month or date.
  • 2 date fields: (start and end)
  • Internally store as integers since datetime only can handle back to 4713 BC
    • BC: -YYYYMMDD
    • AD: YYYYMMDD
    • Granularity is defined by 00 for month and/or day fields. Examples:
      • Birth of Jesus: 00000000 (Unusual case but since year is required, its value is defined as 0)
      • Stonehenge built: -31000000 (3100 BC)
      • JFK shot: 19631122 (Nov 22, 1963)
    • One-time events have a end date equal to start date
    • An unbound end date (to present) is 99999999 (must be ready for they Y10K issue)
  • compound date widgets:
    • Event date: [__] [__] [____]
    • Event Period: [__] [__] [____] to [__] [__] [____] or [x] Present
    • Help text: Enter in at least a year; month and date are optional.
  • Have a method to convert to “years ago”.
  • Have a method to convert to datetime (if possible)

Geologic Eras