wiki:GROUP_APP_SERVER_RESOURCE_ACCESS_R0

Version 5 (modified by boyan, 16 years ago) (diff)

--

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro 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|) failed
current transaction is aborted, commands ignored until end of transaction block

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.

GROUP_BASE_SECURITY_R0
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