Extending Trac to add hardware tracking.

2 views
Skip to first unread message

Schmiedlin, Joshua

unread,
Mar 5, 2007, 2:29:34 PM3/5/07
to trac...@googlegroups.com

Hello everyone,

I'm still fairly new to Trac, but so far I quite like it.  It has come to my attention that some of my co-workers who deal with hardware, could also benefit from Trac.  Obviously they don't necessarily have code to deal with, but they do run into hardware bugs and need a means of tracking them.  Additionally they have to perform another level of tracking, which brings me to my question/request.

The next level of tracking they perform is in keeping track of modifications they have done to a set of development hardware.  For those that don't deal with hardware on a regular basis, it is typical to build up a small number of boards/devices/etc.  With these devices problems are found and fixed by modifying the physical boards.  It is typical that the engineer may modify the board he is working on, but there may be 10 or 100 other boards "out there" that don't have the mod, so they start to track a cross reference of serial numbers with modifications.  What I'm hoping for is to create a plugin that would add this functionality to Trac, so that our hardware guys can start to use the same bug tracking system we do as software people.

Disclaimer: I'm a c++ programmer, and have only started looking at python code since getting Trac up and running about 2 weeks ago, so please don't assume I know much about what is going on behind the scenes.  Also my database experience is pretty limited.

To this end I have been looking at some of the plugins out there, as well as the code for the ticket system.  I've come to the conclusion that the easiest approach to getting the largest level of functionality the soonest, would be to grab the code for the ticket system and modify it so that it become a hardware modification tracking system.  The translation I believe would look like the following:

    • A ticket would become a mod
    • A Milestone would become a HardwareRevision (i.e. a version of the physical hardware)

With these translations, much of the other code would remain the same… I think. There would, however, be some additional features I would need to add:

       

    • Both a ticket and a Mod could be assigned to a HardwareRevision.
    • A HardwareRev must also be able to have serial numbers assigned to it.  In other words HardwareRev must be able to keep track of the physical boards that were created at this version of hardware. 
    • Either the Serial numbered boards or the mods need to keep track of which mods or boards they are associated with. 
    • For each intersection between a serial numbered board and a mod there needs to be a boolean or enum value to keep track if the mod has been completed on this particular board or not.
    • Also it would be nice if the links for mods would look like %<modNumber> (or some other leading character) as apposed to tickets which are #<ticketNumber>.

I'm confident that I could do the ticket to mod and milestone to hardwareRev translation, but I'm not sure how to approach the additional features I have listed above.

Any advice/ideas would be appreciated.

Thanks,

Joshua L. Schmiedlin
Firmware Engineer
Harris RF Communications
jsch...@harris.com
(585) 242-4719

Reply all
Reply to author
Forward
0 new messages