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