#44 Dates category and date ranges

Under Discussion

Personal date ranges are pretty cool, it is a tool to make announcements to all other TAB users. Intended for sickdays and vacation.

The magic interface should be replaced with something better ...

Modify the dates to do the following:

1. Own Dates fieldset in edit interface (avoids dates placed in other category and not show up)

1. label
2. Event (start)date [?|date]; fieldname = value
3. Event end [empty|?|date]; fieldname = end | endDate | endValue
4. Repeat: once|weekly|monthly|yearly
5. visibility (should we have visibility here at all? How should hidden dates be hadhled?)

event('big festival','?','2007-11-01',once);

Assigned to gzm0 because you asked for it :-D
No pressure here ...


  • katzlbt

    katzlbt - 2007-02-11

    Logged In: YES
    Originator: YES

    REUSABILITY: Extract all date functionality described here to an EventGroup Object. This object could operate independent of Contact/User, but I would not replace the valueGroup store and retrieve interfaces in Contact & User.

    Two applications:
    One contact -> many events (what we do now, id is owner)
    One event -> many contacts (id is unique, requires extra table for assoc)

    $e = new EventGroup(db_table); // operate on subset of eventtable by id
    // creates in DB, no explicit save
    $e->clean(); // remove expired
    $e->deleteAll(); //delete all events in this group

  • Tobias

    Tobias - 2007-02-12
    • labels: 871488 --> New Functionality
  • Tobias

    Tobias - 2007-02-12

    Logged In: YES
    Originator: NO

    I have commited a first test-version to the svn. Please try it out and tell me if you like it. I have modified the database scheme to save two dates.

    I agree with no replacing the value-group system. The contact class can do the date operations where necessary. Handling of several rows of dates is done by the DateContactList.

  • katzlbt

    katzlbt - 2007-02-19

    Logged In: YES
    Originator: YES

    DB Scheme:

    value1 value2
    single day date 0000-00-00
    open end date null
    open start null date
    range date1 date2

    value1 may be null (not like in the DB update) otherwise a DB error will occur if ? is entered.

    Should we introduce a relation that allows one date to be attached to multiple contacts. This would make sense right now and avoid further future DB changes.

    CREATE TABLE eventRelation (dateId INT NOT NULL, contactId INT NOT NULL)

    date would change to:
    eventId, v1, v2, label, ...

    then date should be renamed to event and maybe also the value type to datetime.

    After that nothing should surprise the DB scheme anymore. Even if someone wants to adapt TABR into a personal calendar/organizer or meeting scheduler for groups.

  • katzlbt

    katzlbt - 2007-03-04
    • status: open --> closed

Log in to post a comment.