wiki:BASE_PERSISTENCE_PROPERTY_FORMAT_R0

Version 5 (modified by peko, 16 years ago) (diff)

--

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

Task requirements

  • ProObjects should be persisted and the following should be taken into consideration when designing how this will be done:
    • ProObjects usually contain properties containing ProObjects:
      • the implementor should consider that most ProObjects are dependent on other ProObjects:
        • Saving and Loading should be consistent in terms of dependencies so that properties are initialized properly.
        • The order of loading things should be designed so that no exceptions are thrown because of property availability.
        • 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.
          • This can be implemented by dependency listing for every ProObject.
    • 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.

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