| 1 | [[BackLinksMenu]] |
| 2 | |
| 3 | [[TicketQuery(summary= GROUP_APP_RESOURCE_MANIPULATION_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|)]] |
| 4 | |
| 5 | = Analysis = |
| 6 | == Overview == |
| 7 | Resource manipulation is set of features that allow various operations with resources. Some of these include |
| 8 | * Import resources |
| 9 | * Copy resources |
| 10 | * Delete resources |
| 11 | * Edit resources - this is available for some resources |
| 12 | * Export resources |
| 13 | |
| 14 | The interactions will be the following |
| 15 | * Drag and drop (not part of this revision) |
| 16 | * Dragging file from the OS to the resources palette inserts the file as a resource |
| 17 | * Dragging file from the OS to a work area inserts the resource into the resources palette AND the work area. |
| 18 | * Dragging resource from the resources palette exports the resource as a file |
| 19 | * Buttons |
| 20 | * Following buttons are available when a list item is selected or not |
| 21 | * Import button allows importing of a resource by envoking file dialog |
| 22 | * Following buttons are available only when a list item is selected |
| 23 | * Export button allows exporting of a resource by envoking file dialog |
| 24 | * Edit button allows out-of-frame editing of a resource with appropriate plugin. Note that for 2.0 we plan only text editing that way, but there should be a way to know exactly what resource types are editable |
| 25 | * Duplicate button creates a copy of a selected resource |
| 26 | * Delete button deletes the selected resource. A dialog with a warning will be useful if the resource is used by frames as content. |
| 27 | == Task requirements == |
| 28 | * For this revision you should |
| 29 | * Ensure only the first level of resources is displayed (e.g without subresources as embeded books' resources) |
| 30 | * Ensure the other levels' resources can be easily implemented in future revisions of this task - if we decide to implement tree view for advanced users |
| 31 | * Implement the delete resource and duplicate resource functionalities |
| 32 | * Delete resource should delete resource and it's children. |
| 33 | * If the resource is content of a frame for example, the user should be warned. After deletion, this frames become empty (no content). |
| 34 | * Duplicate resource should duplicate resource and it's children. If a resource is a page element, it's duplicated with an offset on the same page. If the resource is page, it is inserted after the source page. |
| 35 | * Implement Import functionality (link it with the Import button). Note that Import should insert the resource into the book, not only into resources palette. |
| 36 | * Import should allow import of any kind of resources |
| 37 | * Implement the duplicate functionality |
| 38 | * Duplicate should copy the resource in the filesystem too |
| 39 | == Task result == |
| 40 | The result of this task is source code. |
| 41 | |
| 42 | == Implementation idea == |
| 43 | ^(Provide some rough implementation idea(s).)^ |
| 44 | |
| 45 | == Related == |
| 46 | ^(Add links to related tasks that could be useful or helpful.)^ |
| 47 | |
| 48 | == How to demo == |
| 49 | Prerequestuques |
| 50 | * Open Sophie |
| 51 | * Create a new book |
| 52 | Steps |
| 53 | * Import a resource using the Import button from the palette |
| 54 | * Select the resource from the list |
| 55 | * Duplicate the resource from the list. Show the copy in the list and on the page |
| 56 | * Delete the first resource |
| 57 | * Show that the second resource is still on place |
| 58 | * Reload the book |
| 59 | = Design = |
| 60 | ^(Describe your design here.)^ |
| 61 | |
| 62 | = Implementation = |
| 63 | ^(Describe and link the implementation results here (from the wiki or the repository).)^ |
| 64 | |
| 65 | = Testing = |
| 66 | ^(Place the testing results here.)^ |
| 67 | |
| 68 | = Comments = |
| 69 | ^(Write comments for this or later revisions here.) |