Changes between Version 11 and Version 12 of PRO_CHANGE_PRIMITIVES_R0
- Timestamp:
- 03/16/09 17:24:40 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PRO_CHANGE_PRIMITIVES_R0
v11 v12 17 17 * Changes form the type of information that will be stored in the Histories responsible for logging Changes in ResourceSpaces 18 18 19 This task is to develop a set of primitives which fulfil s the requirements above.19 This task is to develop a set of primitives which fulfills the requirements above. 20 20 21 21 == Task requirements == 22 22 * The set of primitives should look like this: 23 * <id> probj-create <class-name>23 * <id> '''probj-create''' ''<class-name>'' 24 24 * creates a new ProObject given its class name and returns the id of the newly created ProObject 25 * probj-destroy proobj-id25 * '''probj-destroy''' ''<proobj-id>'' 26 26 * destroys an existing ProObject given its id 27 * probj-set<probj-id> <prop-name> <value>27 * '''probj-set''' <probj-id> <prop-name> <value> 28 28 * sets a new value to a Property by its name of a ProObject given its id 29 * prolist-add <proobj-id> <prolist-name> <pos> <object>29 * '''prolist-add''' ''<proobj-id>'' ''<prolist-name>'' ''<pos>'' ''<object>'' 30 30 * adds a new object at a given position to a given ListProperty of a given ProObject 31 * prolist-remove <proobj-id> <prolist-name> <pos>31 * '''prolist-remove''' ''<proobj-id>'' ''<prolist-name>'' ''<pos>'' 32 32 * remove the object at a given position of a given ListProperty of a given ProObject 33 * prolist-set <proobj-id> <prolist-name> <pos> <object>33 * '''prolist-set''' ''<proobj-id>'' ''<prolist-name>'' ''<pos>'' ''<object>'' 34 34 * sets a new object as a value of a given position to a given ListProperty of a given ProObject 35 * undo35 * '''undo''' 36 36 * undoes the last Change in the History 37 * redo37 * '''redo''' 38 38 * cancels the last Change in the History, if it is an UndoChange 39 * skip <change-id>39 * '''skip''' ''<change-id>'' 40 40 * skips a Change in the History given its id 41 41 42 42 * All ids used should be unique 43 * Maybe UUIDs could used 43 44 44 45 * Synchronization problems with list operations should be considered 45 46 * An idea for solving those problems should be proposed 47 * For instance the problem with positions and merging. Some sort of smart positions could be implemented 48 49 * Each primitive should correspond to a Change in the History 46 50 47 51 == Task result == … … 51 55 52 56 == Implementation idea == 53 * For the use case describe what happens when a Sophie client is connected to a Sophie server and how the ChangeManagers running on both sides work together57 * For the use case describe what happens when a Sophie client is connected to a Sophie server and how the Histories running on both sides work together 54 58 55 59 == Related == 60 61 [wiki:GROUP_PRO_CHANGE_R0] 56 62 57 63 [wiki:PRO_CHANGE_COMMONS_R0] [[BR]]