[[BackLinksMenu]] [[TicketQuery(summary=GROUP_APP_SERVER_RESOURCE_ACCESS_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 == This group of tasks is about accessing resources on the server from the client application. Sophie2 Author and Reader should provide a palette that lists the resources on a given server and allows actions to be taken on them. The server, on the other hand, should provide a facade and web services for resource access. At this iteration, a prototype of this will be created, allowing users to remotely open a book that resides on the Sophie 2 Server. == Task requirements == * Decompose the server in appropriate modules with well-defined functionality (and do the refactoring needed): * The core and the persistence should remain in separate modules. * Persistence at this iteration is not a requirement. It can be fake (dumping everything to memory) for ease of implementation. * S2S Core module should use the base resource model of Sophie2 (that includes book, users and groups at this iteration). * S2S Core should be accessible from the web UI, the web services or the client only through the facade. * Facade will expose the core functionality to the WS, DC and Web UI. It will have direct access only to the core. * See the Implementation idea for a draft diagram of the modules decomposition. * Add resource access support to the facade (it currently only provides access to user and group managers): * Implement both the server-side and the client-side of the facade. The former will provide resource access to the web services and the web UI, while the latter will be used by the new palette created. * Provide ability for the web services to serialize resources in order to pass them to the client. * Create a palette for listing server resources and make it work synchronously with the existing Connections palette (i.e. display the resources of the server we are connected to): * It should be in the Servers tab in the left flap. * At this iteration it should list all the resources on the server (users, groups, books). No resource list filtering is required. * It should support opening a book on a double-click (other actions will be implemented at a next iteration). * It should be consistent with the Resources palette. == Task result == * Source code: * New Server module structure. * Ability to open a book from the server. == Implementation idea == Here's a draft diagram, showing the new module decomposition. ^Put a diagram for the new module decomposition here. == Related == [wiki:GROUP_BASE_SECURITY_R0] [[BR]] [wiki:S2S_WS_CONNECTOR_R0] == How to demo == * Start Sophie2 Server and Author. * Connect to a server from the Left Flap -> Servers Tab -> Connections palette. * Double-click on a book from the list below. * Show the new module structure. * Run the test and briefly describe the changes made. = Design = ^Describe your design here. = Implementation = ^Describe and link the implementation results here (from the wiki or the repository). = Testing = ^Place the testing results here. = Comments = * Implement the resource list filtering at the next iteration of this task or of [wiki:APP_SERVER_RESOURCE_BROWSER_FILTER_R0] ([ticket:512]) --boyan@2009-06-09