4 | | for storing most of the data from resources, along with their change history. |
5 | | |
6 | | In the longer term, it would be more appropriate to keep the change history in a dedicated system (a version control backend, even a [DistributedTrac distributed] one). |
7 | | In that picture, we could even provide a simple "dbvcs" backend, which would use the database for storing the change history much like we do now. |
8 | | |
9 | | The main benefits expected from the new model are: |
| 4 | for manipulating and storing most of the data from resources, |
| 5 | along with their change history. |
| 6 | |
| 7 | There are effectively two parts to this proposal: |
| 8 | - the API level, how resource data is presented to the program |
| 9 | - the storage level, how the resource data are stored on persistent memory |
| 10 | |
| 11 | The high level API is intended to unify and take the best aspects of the different model used so far (!WikiPage, Ticket, Milestone, etc.). Actually, only the Ticket is really flexible and nice, the others are just simpler and much more limited models, so it's rather an "embrace and extend" move from the Ticket model to the others... |
| 12 | |
| 13 | While the high level API tends to unify things, the low level API will be there to introduce some diversity in the storage, at best transparent to the "user" of the higher level API. Those different storage models could be different table layouts in the database, but also in the longer term, different or complementary storage backend. It would be more appropriate to keep the change history in a dedicated system, like a version control backend, even a [DistributedTrac distributed] one). |
| 14 | |
| 15 | The main benefits expected from the new API are: |