[[BackLinksMenu]] [[TicketQuery(summary=UNPLANNED_CREATE_SERVER_RESOURCE_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|)]] = Analysis = == Overview == * The goal of this task is to allow the users to create book on the server == Task requirements == * Create a prototype for this functionality * Ignore the security issues. * Fix the bug - crash when user tries to open already opened book from server. == Task result == * The result should be code == Implementation idea == * Add 'Save on Server' button inside the file menu under 'Save as' button * This button will evoke dialog window that contains * list of available accounts - that the user is currently connected to * users should be able to type the name of the book * file browser will NOT be available for this revision, but we must provide some way of navigating (browse) the server, and pick up a book location * The icon of the book in the tab bar will indicate that a book is opened from a server. == Related == [wiki:APP_CONNECTIVITY_REDESIGN][[BR]] [wiki:GROUP_APP_SERVER_RESOURCE_ACCESS_R0] == How to demo == * Run the author application * Create a new book * Insert some frames and pages * Upload the book to the server * Open the book from the server = Design = == Menu == * Create a !SaveBookOnServer menu item. It's text is "Save On Server..." and the hot key will be Ctrl+Alt+S. * It's logic operation def will be in !ServersTabLogic's constant !ON_SAVE_BOOK_ON_SERVER. * The logic is to open a server resource dialog choose a server and path and save the book creating an !AutoAction which changes the model of the server's top resyurce. == Server Resource Dialog == * A !BaseCustomModalDialog base abstract class is created * It's is the base class for non !JOptionPane custom modal dialogs. * This dialogs are !BaseVisualElement * They can access application visual elements hierarchy * They must be registered somewhere in that hierarchy * It has swingDialog, okButton, cancelButton, etc. * Abstract validation logic so when ok button is clicked a subclass have to provide validation method. if it returns ok (true) the dialog is closed, otherwise it can be closed only by cancel button and/or Esc key. * !ServerResourceDialog dialog class is created * Extends !Dialog * Defines three inner classes for dialog input and output, and for a concrete implementation of !BaseCustomModalDialog. == Icons == * Changes on !DocView hierarchy. = Implementation = ^(Describe and link the implementation results here (from the wiki or the repository).)^ = Testing = ^(Place the testing results here.)^ = Comments = ^(Write comments for this or later revisions here.)