Edgewall Software

Changes between Version 8 and Version 9 of TracTicketsCustomTimeFields


Ignore:
Timestamp:
Apr 3, 2010, 10:15:13 PM (14 years ago)
Author:
hoff.st@…
Comment:

comment on current development, discuss notification stuff

Legend:

Unmodified
Added
Removed
Modified
  • TracTicketsCustomTimeFields

    v8 v9  
    11= Custom Ticket Time Fields  =
    22
    3 This page presents information on adding a new type 'time' the list of all currently available [wiki:TracTicketsCustomFields custom ticket fields].
     3This page presents information on adding a new type 'time' to the list of all currently available [wiki:TracTicketsCustomFields custom ticket fields].
    44
    55== Proposed Implementation ==
     
    1919
    2020=== Related Trac Plugins ===
    21  * provide a patch for [th:wiki:CustomFieldAdminPlugin CustomFieldAdminPlugin] to ease the setup for new field type
     21 * [th:wiki:CustomFieldAdminPlugin CustomFieldAdminPlugin], modified version to ease the setup for new field type, private patch done
    2222 * [th:wiki:DateFieldPlugin DateFieldPlugin] working like a charm with new time field, since it's still simple text input form field
     23 * [th:wiki:AnnouncerPlugin AnnouncerPlugin], modified version produces reports with pretty date/time strings, private patch done
    2324
    2425=== Discussion ===
     
    2627Amongst the few new dependencies use of ''eGenix.com'' time string parser ''mxDateTime.Parser'' for Python is the most notable one ![2]. We need to add such a powerful tool to provide a mature parser right from the start. If handled with care, similar but incompatible classes ''datetime.datetime'' and ''mxDateTime.!DateTime'' are not much of an issue. In fact it doesn't matter at all, as long as we stick to unix time stamp format for saving times in the db for other (good) reasons as well.
    2728
     29==== Handling ticket changed notification ====
     30I plan to let the notification system handle the conversion of unix time stamp values to date/time strings on it's own. I tested with a patched version of [th:wiki:AnnouncerPlugin AnnouncerPlugin] that worked. This is a good start for the [wiki:TracDev/Proposals/Announcer proposed replacement] of current Trac Notification System by Code from [th:wiki:AnnouncerPlugin AnnouncerPlugin]. This might even make per-user preference-based date/time formatting possible in the future.
     31
    2832=== Status of Development ===
    29 There is working code for all but the notification stuff (only plain unix time stamp values in change notes). Sure, this will be fixed soon too.
     33There is working code for all intended functions. I recognized a glitch on creation of new tickets that needs to be fixed.
    3034
    3135Happen to have access to !SourceForge, so I choose to go there and push code into a Mercurial repository there to enable further collaboration based on a distributed VCS as per suggestion from IRC channel #trac at freenode.net:
     
    4145  (cboos): that's way too old to base new development upon, especially for timestamp related development, as r9210 introduced a big change here (time are now stored as microseconds elapsed since epoch, as bigints).
    4246    Ah, well, thanks for the hint. We're at r9420 right now, any recommendation where to start from other than HEAD? I'll have to reinstall my test platform here and re-base changes then. However starting with standard unix time seconds was easier to debug for me (i.e. comparing to date +%s). And to_timestamp() messed up the date values converted from mxDatetime for some reason. I went for the included mxDatetime.Datetime.ticks() function to get good unix time seconds. So I may still need an own function to calculate unix time microseconds from unix time seconds.
     47      Checked changes between r9115 and r9420, preparing a merge this weekend.
    4348== Related tickets ==
    4449 #710 asking for basic time tracking in Trac, especially missing native ''due_date'' and custom field type 'numeric'[[BR]]