wiki:BASE_PERSISTENCE_PROPERTY_FORMAT_R0
Last modified 16 years ago Last modified on 02/20/09 15:43:41

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=BASE_PERSISTENCE_PROPERTY_FORMAT_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

This 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.

Task requirements

  • ProObjects should be persisted and the following should be taken into consideration when designing how this will be done:
    • 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:
      • saving and especially loading shouldn't be affected by the order of traversal.
      • usage of SharedSaver and SharedLoader should be explained in the context of persisting ProObjects/Properties.
        • sample use case with explanations should be provided.
        • explanations on why the proposed design won't be affected by the loading order.
      • 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.
    • Think of scenarios and define the way properties save/load.
  • Create a wiki page with the design of the format that will handle the things stated above.
    • provide scenarios to show that this format is really needed.
    • create diagrams.
    • give concrete explanations.
  • All important wiki content should be put in the corresponding section of a wiki page => BASE_PERSISTENCE

Task result

  • wiki page.

Implementation idea

How to demo

  • show the wiki page and explain the things described there.

Design

(Describe your design here.)

Implementation

(Describe and link the implementation results here (from the wiki or the repository).)

Testing

(Place the testing results here.)

Comments

(Write comments for this or later revisions here.)