Changes between Version 5 and Version 6 of PRO_CHANGE_PRIMITIVES_R0


Ignore:
Timestamp:
01/11/09 13:28:00 (16 years ago)
Author:
peko
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PRO_CHANGE_PRIMITIVES_R0

    v5 v6  
    77== Overview == 
    88 
    9 This task is about the primitives that are needed to manage changes. These include primitive changes and primitive operations about changes. 
     9This task is about the primitives that are needed to manage changes. These include primitive operations about changes. 
    1010 
    1111== Task requirements == 
    1212 * Primitive operations about changes which include the following: 
    13   * 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. 
     13  * create - which should create a change which should have 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. 
    1414  * destroy - which should destroy a change by an id. 
    15   * set - should be able to set the change with an id for a property by its property id and a String representing its value. 
    16  * 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. 
     15  * set - should be able to set the change with an id for a property. This will be helpful if for example a change is to be altered so that consistency is kept. There will occur situation with changes on a server where some part of a composite change should be altered. Imagine for example several people managing a book at the same time. 
     16 * Changes types: 
     17  * Change - a simple change. 
     18  * !GroupChange - a composite change that is constructed of simple changes. 
     19  * !UnmanagedChange - a change that is not supposed to be skipped/unskipped, undone/redone, simply because there is no logical way of doing so or if we decide on changes that will not be managed. For example - save a book may be a unmanaged change. If the user creates a frame with a movie content (with a media file of over 700Mb), deletes the frame, deletes the media file and requests a undo - the change may become a unmanaged. If the user had not deleted the media file the change would have been a normal change that can be undone. 
     20  * '''Note''' - the primitive operations described above should be possible having in mind these types of changes. 
    1721 * A decent documentation should be created that explains the primitives - change types and operations with them. 
    1822