wiki:COMMENT_FRAMES_R0

Version 13 (modified by kyli, 16 years ago) (diff)

--

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

Error: Macro TicketQuery(summary=COMMENT_FRAMES_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

Comment frames allow a book to have an interactive space for dialoging between readers that have the same book open.

Comment frames live on the server and thus require a Sophie Server to function, although a Sophie book that uses comment frames does not need to be on a Sophie Server. When a book has comment frames, users can add comments. These comments are uploaded to the Sophie Server and are made available for reading to everyone with an open copy of the book.

A comment frame is added to a book the same way as every other frame type. Comment frames have a the same HUDs as do all frame types. Comment frames do not have link Halos or Anchor Halos.

A comment frame includes an Add Comment function to allow adding a comment. There is a form inside the frame, allowing a commentator's comment to be entered. Comments can be added to a comment frame in Test mode or in Sophie Reader, but not in Author mode.

Once a comment has been added, a Reply function is displayed to allow the user to reply. Replies are indented. Replies to replies are further indented. If there are enough comments to fill the comment frame, the comment frame must generate scroll bars.

Comments can be added to any open copy of a Sophie book.

There should be ability for the owner do manage comments.

Task requirements

  • Model
    • Create model for "comment stream" - the resource which lives on the server.
    • Create model for the frame content which refers the server resource. It must Hold enough information for referring a concrete stream, for changing it and for updating.
  • Persistence
    • The server stream must be persistable in order to be sent to the book
    • The frame content resource must be persistable in order to save the stream reference along with the book.
  • Manipulation
    • It must be decided who will have rights to do what
    • Decide how will a stream be created / destroyed - from client, from web UI ot both.
    • Decide about the relation between frame content resource and server stream - one to one or many to one.
    • Decide whether it will be possible to forbid comment rights on particular readers, e.g. whether the comment frame will use the base.security model.
  • Client <-> Server communication
    • The server web services must allow communication related to comment streams.
    • decide whether the facade will include comment manager.
  • View
    • The comment content must be able to auto-refresh itself.
    • The comment frame must be editable only in preview mode / reader mode. Comment frame interactions must be defined.
    • The location of the input form must be defined - whether it will appear as a dialog or inside the frame. It must be editable only in preview mode, must have Post button (and probably Cancel).
    • The comment frame must have scroll bar.
      • For revision scroll bar could include only up and down arrow.
    • The text in comment frame must be properly formatted - indent, header style. Consider using the current hot text model.
      • Visibly the comment should include
        • User ID or name
        • Date and time in ISO format
        • Text content

Task result

  • The result should be source code

Implementation idea

  • Scroll bars should appear only if they are needed.
  • There should be some text formatting for the comments in order to increase the readability of this frame. Adding empty line between different comments could do the job.
  • Also different color for the user ID(name) could increase the readability too.

  • If the user is not authenticated should appear as anonymous

GROUP_APP_SERVER_RESOURCE_ACCESS_R0
S2S_WS_CONNECTOR_R0
GROUP_BASE_SECURITY_R0

How to demo

  • Create new book and new server comment stream.
  • Place comment frame inside of it, pointing to the stream.
  • Go to preview mode add some comments
  • Update the comment frame content.
  • Open the book again in reader and type some comments again.

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

(Write comments for this or later revisions here.)

Attachments