! Version 2 - ironwoodcall/TagTracker GitHub Wiki
Version 2 is intended to make tagtracker more usable by bike parking services that are not set up the same way as Victoria's.
- allow much more flexible tag labels (issue #427)
- allow re-use of tags (ie track visits, not tags) (issue #394)
- reduce device dependency (could it work in a py environment on an ipad?)
- improve ease of installation and configuration
- Consider whether a VTime might be a datetime, not just a time.
Reporting structures
I seem to have a lot of reporting classes floating around.
Operational
TrackerDay BikeTag BikeVisit
Reporting
NOT: DayDetail - I think I managed to get rid of this one
MultiDayTotals in tt_dbutil
In tt_daysummary:
- Is DaySummary necessary? If only used in TT client reporting or db_from_datafile then maybe not. Once the data is in the database, so nlonger need the Moments in order to build the blocks. And who uses the Moments? Maybe a rewrite the commands function would.
- DaySummary contains list of MomentDetail, list of PeriodDetail, one DayTotals
- MomentDetail (list of) <-- used to build blocks, don't know if needed beyond that. remove from DaySummary?
- PeriodDetail (list of) <-- this is basically a BLOCK row
- DayTotals (one of) <-- this matches a DAY row
SingleBlock - in web_common
BlocksSummary - in web_common
SingleDay - in web_common
- SingleBlock (list of)
OK FOR NOW: In web_ lock_report -- local and harmless enough for now.
- _OneBlock - in web_block_report
- _OneDay - in web_block_report
OK FOR NOW: Module web_daterange_summaries has these. They seem harmless enough, no change needed for now.
- _DateRangeGroup - in web_period_summaries
- _DateRangeRow - in web_period_summaries
Implementation notes
Freeform tags
- what is a valid tag? Anything that's in config
- fold all tags uc and compress out lead 0s in numeric sequences
- optional re in config file to test for a valid tag format
TagID:
.simple - label in its simplest form (uc & compressed)
.comparing - folded UC and all numeric sequences made long
__new__: return self if already defined(?)
Reserved words: Tags can not have these as label: