Changes between Version 16 and Version 17 of TracTicketsCustomTimeFields
- Timestamp:
- Apr 15, 2010, 11:57:22 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracTicketsCustomTimeFields
v16 v17 10 10 Praise to the flexible, modularized software design of Trac developers! 11 11 12 But now at least basic knowledge on how ticket data is handled inside Trac is needed.[[BR]] 13 (I found not much hints so had to study the code and initially did most things wrong. A multiple dozen not working or buggy local code revisions later, after discussion in #python, etc. I decided on the implementation detailed below. Please discuss, if you know better, I'm still a Python beginner.) 14 12 15 * extend ''ticket.model'', ''ticket.web_ui'', ''util.datefmt'' and ''ticket/templates/ticket.html'' to 13 * allow for reading unix time stamp values from db table ''ticket_custom'' 14 * convert unix time stamp values to localized time string 16 * allow for reading POSIX microsecond time stamps from db table ''ticket_custom'' 17 * stored there as string for full compatibility with current custom fields implementation 18 * convert to datetime.datetime values and go on using that values internally like is done for core time values ''time'' and ''changetime'' 19 * prepare time field display in ticket view (ticket.html) 20 * convert datetime.datetime time stamps to localized time strings 21 * add single quote arround strings read from db, i.e. left from former string based date field definitions 22 * add time format hint for input form fields 15 23 * parse user input and consolidate different flavors of time stamps 16 * write back unix time stamp to db 17 * send out properly formatted notification 24 * initially done with help of ''mxDateTime.Parser'' 25 * prepared for internal fall back to datetime based parser logic (still to be done) like is done for pytz with some basic internal logic 26 * write back POSIX microsecond time stamps to db 27 * take care for data used to send out properly formatted notification 28 * patched version of [th:wiki:AnnouncerPlugin AnnouncerPlugin] for now 29 * still unsure on patching Trac Ticket Notifications itself, since it looks like almost dead code (sorry, but Announcer is years ahead) and Announcer is already officially attempting to replace Trac Ticket Notifications (see below) 18 30 19 31 === Related Trac Plugins === … … 23 35 24 36 === Status of Development === 25 Currently doing bug-fixes on my own. Assume to come out with some cleanpatches soon. I've setup [http://bitbucket.org/hasienda/shelf/ my place at bitbucket.org] recently, that'll make collaboration via a Mercurial repository easier than via Sourceforge.net.37 No longer bug-fixing here and there, but doing a fresh and hopefully clean new implementation as detailed above. Assume to come out with some patches soon. I've setup [http://bitbucket.org/hasienda/shelf/ my place at bitbucket.org] recently, that'll make collaboration via a Mercurial repository easier than via Sourceforge.net. 26 38 27 Code was published but removed later from Mercurial repository (see ''custom-time'' branch) at39 Code of former implementation was published but removed later from Mercurial repository (see ''custom-time'' branch) at 28 40 http://traccustom-time.hg.sourceforge.net:8000/hgroot/traccustom-time/traccustom-time 29 41 because I re-based on a clone of rblank's Mercurial repository with SVN changes up to trac SVN changeset r9443 and moved changes to Mercurial patch queue, and there is no sane way to push to repository (just volatile changesets), will not dare to push again before substantial clearing with core developers is reached, however patch files will get published somehow (starting with #9209) … … 40 52 * fixed: Server internal exception turned out to be caused by different versions of trac installed in /usr and /usr/local on my test system interfering on build time 41 53 Problems on ticket change/preview 42 * move to microsecond timestamp causes invalid dates because of faulty calculations54 * fixed: move to microsecond timestamp caused a mess with calculations (added '* 10E07' instead of '* 10E06' and the like) 43 55 44 56 ==== Making ''mxDateTime.Parser'' an option ====