Changes between Version 2 and Version 3 of GROUP_CHANGES_R0


Ignore:
Timestamp:
05/21/09 14:51:09 (16 years ago)
Author:
meddle
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GROUP_CHANGES_R0

    v2 v3  
    66 
    77== Overview == 
    8  * Changes should be split into significant and non-significant. Significant means that the change will be shown to the user as one change. For example - resizing of frame by mouse should be shown to the user as one change on mouse drop.  
    9  * Changes should allow undo/redo/skip and unskip 
    10   * Undo/Redo/Skip.. should undo/redo/skip... significant changes, for later revisions 
    11  * Changes should be split into primitive and complex changes.  Complex changes are groups of primitive changes. Groups are defined by developers. 
     8The changes to the pro object have to be tracked and use for undoing and redoing actions, skipping and unskipping actions, synchronizing with the server, getting different revisions, and user visualization of the history of an pro object. The user actions are significant changes to a pro object and they should be visible to for the user and editable by him or her. The insignificant changes will be not. Every change should be composed of a set of primitive changes or should be a primitive change. This primitive changes should be serializable and defined. 
     9== Task requirements == 
     10 * Define the primitive changes and list them in the design section.  
     11 * Provide interfaces for storing and synchronizing the changes of a Resource. 
     12 * Provide a functionality for grouping of primitive changes to the developers. 
     13 * Provide a logic that can group changes from different resources to something that can be shown to the user as one significant change. 
     14 * Provide interface for redo/undo/skip/unskip (implementation in later revisions). 
     15 * Refactor the old code to work for the requirements above.  
     16 * Provide a palette the shows the changes to the currently selected book. 
    1217 
    13 == Task requirements == 
    14  * Create a list with common significant changes, what is present to the user as one change on mouse drop, after timeout, etc. 
    15  * In Design section create a table with primitive changes  
    16  * Define basic complex changes and what primitive changes do they contain.  
    1718== Task result == 
    18 ^(List the end product of the task (for example "Source code", "Wiki page", etc.))^ 
     19 The task result will be source code and palette with the changes to the currently selected book. 
    1920 
    2021== Implementation idea == 
    21 ^(Provide some rough implementation idea(s).)^ 
     22 * Use some of the code of the old UndoManager. 
     23 * Create special ChangeManager for the Resources, and for the pro object that are in their space. 
     24 * Think of an algorithm for global grouping for the user. 
     25 * Think of the primitive changes connected to Resource creation and destruction, also entering of a pro object into a ResourceSpace and leaving from it. 
     26 * Think of use cases connected to server communication and persistence. 
    2227 
    2328== Related == 
    24 ^(Add links to related tasks that could be useful or helpful.)^ 
     29[wiki:GROUP_RESOURCES_R0] 
     30[wiki:GROUP_PERSISTENCE_R0] 
    2531 
    2632== How to demo == 
    27 ^(Provide instructions for demonstration of the task.)^ 
     33 * Unit tests. 
     34 * Demonstration: 
     35  * Run the Sophie 2 author application. 
     36  * Create a new book. 
     37  * Insert a text frame. 
     38  * See in the changes palette the change to this actions for the book...  
    2839 
    2940= Design =