Edgewall Software

Changes between Version 39 and Version 40 of GenericTrac


Ignore:
Timestamp:
Jun 12, 2011, 1:23:51 PM (13 years ago)
Author:
Christian Boos
Comment:

minor clean-ups for the first part

Legend:

Unmodified
Added
Removed
Modified
  • GenericTrac

    v39 v40  
    1818 - solve a few design problems with the current data model (like #1890, #4582)
    1919 - allow better code reuse and share of the base features
    20    among different kinds of resources (like #695, #1113, etc.
    21    see [#RelatedTickets] for more)
     20   among different kinds of resources (like #695, #1113, and a lot more,
     21   see [#RelatedTickets] below)
    2222
    2323== Related Proposals ==
     
    4040
    4141Requirements for the new model:
    42  1. it has to be ''simple'';
    43  2. it must be ''flexible'', in order to accommodate different kinds of resources and   
    44     allow for dynamic evolution, like addition or removal of fields by plugin or via the web admin;
     42 1. it has to be ''simple'' (//easy to understand, easy to code with, when looking at the raw data in the database one should be able to intuitively understand what it means//)
     43 2. it must be ''flexible'' ((//accommodate different kinds of resources, allow for dynamic evolution like addition or removal of fields by plugin or via the web admin//)
    4544 3. it should remain ''fast'', if not become faster than what we currently have;
    4645 4. it should lead to a more ''compact'' representation of data
     
    6261
    6362==== Properties
    64 Let's examine the advantages and disadvantages of each different kind of storage, for the properties:
     63Let's examine the advantages and disadvantages of each different styles of properties storage:
    6564 1. properties stored in columns of a main table:
    6665   - (-) only flexibility is to not use some fields (e.g. 'severity', 'url')
     
    8281
    8382In order to reduce the overall complexity, the idea is to pick only one approach, instead of having to support both.
    84 By using the second style, we could also have our "fixed" set of properties,
    85 while obviously the first style can't support the second.
    86 
    87 It remains to be seen whether the second approach is really less efficient than the first, but this doesn't really matter as we anyway have already to pay the
    88 price for that flexibility.
    89 Note also that by an appropriate use of indexes, we might eventually get
    90 ''better'' performance compared to what we have today.
     83The main argument in favor of a change is that currently (for the `ticket` resources) we //already// implement both styles. The point is that by using //only// the second style (but maybe in a more efficient way), we could also have our "fixed" set of properties, while obviously the opposite is not true, the first style can't provide the flexibility provided by the second style.
     84
     85And it remains to be seen whether the second approach is really less efficient than the first, as by an appropriate use of indexes we might eventually get ''better'' performance than what we have today.
    9186
    9287The second style (prop/value) can be implemented in several ways: