Index: openacs-4/packages/acs-datetime/www/doc/design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-datetime/www/doc/design.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-datetime/www/doc/design.adp 27 Oct 2014 16:39:32 -0000 1.2 +++ openacs-4/packages/acs-datetime/www/doc/design.adp 7 Aug 2017 23:47:55 -0000 1.3 @@ -1,29 +1,45 @@ -{/doc/acs-datetime {Date and Time Utilities}} {ACS DateTime} +{/doc/acs-datetime {ACS Date and Time Utilities}} {ACS DateTime} ACS DateTime - -

ACS DateTime

+ by Ron Henderson -

I. Essentials

This document describes the design of the ACS DateTime service -package.

II. Introduction

The ACS DateTime service is a collection of HTML widget +

I. Essentials

+

This document describes the design of the ACS DateTime service +package.

+

II. Introduction

+

The ACS DateTime service is a collection of HTML widget generation procedures and date/time processing functions. The latter are built largely on top of the Tcl clock routines, although there are a small number of procedures that connect to the database for services like Julian date -conversions.

Most the procedures defined within the ACS DateTime service take +conversions.

+

Most the procedures defined within the ACS DateTime service take date/time information as input and return date/time strings to the caller. Rather than standardize on a low-level representation of time (like seconds since 00:00:00 UTC, January 1 1970) all of these procedures accept general date specfications. For example, the default date for dt_widget_datetime can be specified -as "2001-01-05", "2000-01-05 09:57 pm", "2000-01-05 21:57", etc. -Internally these are parsed by the standard Tcl procedure -clock scan for processing and then converted back to a -formatted string for output. This makes it easy to pass dates -between the Tcl layer and the database.

III. Historical Considerations

This package was written largely to consolidate and improve the -date, time, and calendar functionality existing in ACS 3.

IV. Competitive Analysis

None.

VI. Data Model Discussion

The ACS DateTime package does not have a data model.

VII. Legal Transactions

None.

VIII. API

Date and Time functions

See examples.

    +as "2001-01-05", "2000-01-05 09:57 pm", +"2000-01-05 21:57", etc. Internally these are parsed by +the standard Tcl procedure clock scan for processing +and then converted back to a formatted string for output. This +makes it easy to pass dates between the Tcl layer and the +database.

    +

    III. Historical Considerations

    +

    This package was written largely to consolidate and improve the +date, time, and calendar functionality existing in ACS 3.

    +

    IV. Competitive Analysis

    +

    None.

    +

    VI. Data Model Discussion

    +

    The ACS DateTime package does not have a data model.

    +

    VII. Legal Transactions

    +

    None.

    +

    VIII. API

    +

    Date and Time functions

    +

    See examples.

    +
    1. dt_systime generates current system time (local or GMT)
    2. @@ -36,16 +52,19 @@ abbreviations
    3. dt_julian_to_ansi converts Julian time to ANSI time (yyyy-mm-dd)
    4. -dt_ansi_to_pretty converts ANSI time to "pretty -ANSI time" (yyyy-mm-dd to Month day, year)
    5. +dt_ansi_to_pretty converts ANSI time to +"pretty ANSI time" (yyyy-mm-dd to Month day, year)
    6. dt_ansi_to_list generates a Tcl list of date-time elements (year, month, day, hour, minute, second)
    7. dt_valid_time_p checks the validity of a time specification
    8. dt_interval_check checks the validity of a time interval by comparing start and end times and determining if they represent a positive, empty, or negative time range
    9. -

    Date and Time widgets

    See examples.

      +
    +

    Date and Time widgets

    +

    See examples.

    +
    1. dt_widget_datetime generate HTML select widgets of varying granularity for collecting date and time information from @@ -54,9 +73,13 @@ for months of the year
    2. dt_widget_numeric_range generates an HTML select widget for general numeric ranges
    3. -

    Calendar widgets

    See examples.

    Each of the following allow the programmer to supply calendar +

+

Calendar widgets

+

See examples.

+

Each of the following allow the programmer to supply calendar details in an ns_set keyed on Julian date and returns -an HTML table.

    +an HTML table.

    +
    1. dt_widget_month generates a basic monthly calendar
    2. @@ -73,9 +96,14 @@ dt_widget_calendar_navigation generates a calendar navigation widget with viewing options for day, week, month and year
    3. -

    XII. Future Improvements/Areas of Likely Change

    Many of the calendar widgets generate extensive HTML from within +

+

XII. Future Improvements/Areas of Likely Change

+

Many of the calendar widgets generate extensive HTML from within Tcl procedures. This will eventually be converted to a template-based system so that the display properties are more -easily customized.

XIII. Authors

Implemented by Ron Henderson (ron@arsdigita.com), based on the -previous work of gregh@arsdigita.com and smeeks@arsdigita.com.


ron@arsdigita.com - +easily customized.

+

XIII. Authors

+

Implemented by Ron Henderson (ron\@arsdigita.com), based on the +previous work of gregh\@arsdigita.com and smeeks\@arsdigita.com.

+
+ron\@arsdigita.com