Hi,
while hacking on further extensions to
http://trac-hacks.org/wiki/SimpleMultiProjectPlugin, and as we came across the relations between milestone<->project and version<->project, I wondered what actually the difference is between milestone and version in the architecture model. It looks to me, both are just 2 types of events on a timeline, or even there is a 1:1 relationship between milestone and version. Though there is ISO 9001 (SW quality management standards) defining 5 standard milestones, and some here say those should be timeline events 'milestones', and all other ones are just 'version' events.
Thinking about that now my opinion is a Trac milestone actually is a simple 'date' (or event or deadline). Furthermore 'version' and 'milestone' are just special subsets inheriting 'date', while 'milestone' probably is a subset of 'version'. Using Trac in other environments than software development may define other subsets of 'date'.
After all I want to ask why you don't merge the database tables 'milestone' and 'version' to a new table 'date' where version number is just another property.
This would also solve the problem that on ticket creation people often ask what they should type in ticket fields 'version' and 'milestone', and what the difference is. Since every Trac milestone has a version here, I explain it as version="seen in version" and milestone="scheduled to be closed with version". But that doesn't explain why both ticket fields offer different sets of choices.
For our needs I'm thinking about reflecting the 'version' table also on the roadmap page, either handling them as own dates or as properties of dates.
Maybe there is a good wiki page explaining the backgrounds of why the data model is as it is today.
CU, F@lk
----
Falk Brettschneider
R&D Software
Baumer Optronic GmbH
www.baumer.com
Gesch?ftsf?hrer: Marcel Seeber * Dr. Oliver Vietze
Sitz der Gesellschaft: Radeberg
Amtsgericht Dresden: HRB 15379
Ust. ID: DE 189714583