Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

Description

A utility service that provides support for date and time operations.

Operations that may be performed by this service are proposed below. Some of these may be implemented solely as internal code, and have no web services or externally-facing components:

Basic Date and Time Operations

  • Date and time addition and subtraction, in part in support of such concepts as "last week," "this month", and "90 days from now."
  • Generating timestamps at the current instant.

Date and time ranges

  • Calculating the duration of date and time ranges, in support of time-bounded entities, such as loans, exhibits, and temporary access permissions.
  • Identifying whether a specific date and time falls before, within, or after a date and time range.

Formatting and validation

  • Formatting dates and times, and converting between formats.
  • Validating entered dates and times.

Time zones

  • Time zone handling.

Named time periods

  • Association of named time periods with calendar systems.
  • Identifying whether a specific named time period falls before, within, or after a date instant, or another named time period.

These operations provide support for the temporal attributes of other entities, such as:

  • Generating date-related parts of ID numbers.
  • Facilitating searches and reporting based, in part, on date and time ranges (e.g. "collection objects accessioned within the last week" or "collection objects scheduled for conservation activity during March 1-20 of the current year").
  • Providing notifications at significant time points related to time-bound events, such as loans, exhibitions, and temporarily-granted access permissions.
  • Supporting customization (including Internationalization) of displayed and entered dates and times.
  • Support for import of dates and times.
  • This service will not attempt to represent dates and times, or

Assumptions

Basic Date and Time Operations

  • Basic date and time operations will apply to system dates and times. These include, but are not limited to: the dates and times of meaningful collections management events modeled by the CollectionSpace system, such as the date and time that an object was accessioned, loaned, exhibited, moved, or covered by conservation activities; dates and times related to an insurance contract or shipping manifest; or a date and time range during which temporary access permissions might be granted to a Principal.

Calendar Systems

  • This service will default to using the Gregorian Calendar system.

    It may be possible, during implementation, to create an abstraction layer to more readily permit the use of other calendar systems (e.g. Islamic, Hebrew) for representing system dates and times, in the event that might be a future requirement for the CollectionSpace system.

Formatting and Validation

  • This service will inherently accept any of several widely-used input formats for dates and times.
  • This service will allow customization - based on regular expressions or similar patterns - that will permit the use of other custom date and time input formats.
  • For input date and time formats where years are represented with fewer than four digits (required to unambiguously designate years in the Gregorian Calendar), default assumptions about assigning these dates to a century will be used and documented.
  • This behavior generally confirms with Jon Postel's maxum, "Be liberal in what you accept, and conservative in what you send."

Time Zones

  • Deployments of the CollectionSpace service may be hosted in a different time zone than users of the service.
  • Users of a deployment may simultaneously be located in two or more time zones.
  • Date and time instants SHOULD be converted to, and stored in, then-current Universal Coordinated Time (UTC).
  • One or more date- and time-sensitive frameworks or libraries in the CollectionSpace system, such as the core date and time framework, will require occasional updates to time zone data.

Named Time Periods

  • Named time periods refer to named, time-bounded events and/or abstractions such as "World War I", the "European Renaissance," the "Han Dynasty," and the "Mesozoic Era."

Key Concepts

  • Especially things that become common sense, and so usually missed by new reviewers

Dependencies

Services with potential dependencies on this service include:

More generally, any entity services whose data models include temporal attributes may potentially have some dependencies on this service.

Background Documentation

  • If we have notes from community design meetings, link to them here.
  • If we have relevant sections in Spectrum or another such document, link to them here (or cite section numbers, etc.)

Named Time Periods

  • Ray Larson, faculty member, School of Information, UC Berkeley
  • Ryan Shaw, graduate student, School of Information, UC Berkeley

Key Team Members

  • (Name(s) of members) is/are the primary tech team member(s) for this service
  • Need to identify the community members acting as Domain Experts.
  • No labels