Changes between Version 8 and Version 9 of BASE_PERSISTENCE_PROPERTY_FORMAT_R0

02/20/09 15:43:41 (14 years ago)




    v8 v9  
    66== Overview == 
    7  This task is about persisting property things. Generally we have immutable things and properties with pro objects that have to be persisted. This task is responsible for persisting the property part. In this revision the following will be quite enough. 
     7This task is about persisting ProObjects/Properties. Generally the idea is that in Sophie 2 we have immutables and ProObjects/Properties and they have to be persisted. This task is responsible for persisting the property part. 
    99== Task requirements == 
    1010 * !ProObjects should be persisted and the following should be taken into consideration when designing how this will be done: 
    11   * !ProObjects usually contain properties containing !ProObjects: 
    12    * the implementor should consider that most !ProObjects are dependent on other !ProObjects: 
    13     * Saving and Loading should be consistent in terms of dependencies so that properties are initialized properly. 
    14     * The order of loading things should be designed so that no exceptions are thrown because of property availability. 
    15     * Example: If for example a book has a page, persisting the book should explicitly state that it is dependent on that page and page should be loaded first. 
    16      * This can be implemented by dependency listing for every !ProObject. 
    17   * Properties are also dependent on immutable things as being the bottom-most part of the persisted things. 
    18   * While considering the format, have in mind that there are also extensions defined for some !ProObjects which may also need to be properly constructed before the initializing of the !ProObject itself. 
     11  * ProObjects and immutables form an acyclic graph of dependencies in Sophie 2. Having this in mind, persisting should be designed in such a way that: 
     12   * saving and especially loading shouldn't be affected by the order of traversal. 
     13   * usage of SharedSaver and SharedLoader should be explained in the context of persisting ProObjects/Properties. 
     14    * sample use case with explanations should be provided. 
     15    * explanations on why the proposed design won't be affected by the loading order. 
     16   * immutables are the leaves in this graph of dependencies. Explain how persisting ProObject/Properties should collaborate with persisting of immutables to achieve a working scheme for persisting the whole graph. 
    1917  * Think of scenarios and define the way properties save/load. 
    2018 * Create a wiki page with the design of the format that will handle the things stated above.