wiki:PRO_CHANGE_PRIMITIVES_R0

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

--

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

Error: Macro TicketQuery(summary=PRO_CHANGE_COMMONS_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 the primitives that are needed to manage changes. These include primitive changes and primitive operations about changes.

Task requirements

  • Primitive operations about changes which include the following:
    • create - which should create a change by class and an id. The design section should decide on the uniqueness of the id of a change. This is needed to manage changes on a server for example.
    • destroy - which should destroy a change by an id.
    • set - should be able to set the change with an id for a property by its property id and a String representing its value.
  • One more change should be added so that the set of changes fully satisfies our needs and this is the so called UnmanagedChange. It should represent a change that cannot be managed in a logical way. For Sophie2 this could be saving or opening books.
  • A decent documentation should be created that explains the primitives - change types and operations with them.

Task result

  • Source code
  • wiki page somewhere - may be only a wiki content in the design section.

Implementation idea

PRO_CHANGE_PRIMITIVES_R0
PRO_CHANGE_TRANSACTION_SAFETY_R0
PRO_CHANGE_COMPOSING_R0
PRO_CHANGE_MANAGER_R0

How to demo

Design

Implementation

Testing

Comments