wiki:EMBEDDED_BOOKS_CONTENT_R0
Last modified 16 years ago Last modified on 12/22/08 21:24:46

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

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

Embedded Book content connects a book resource (in other words, a book) to a frame

  • Embedded Book content is a content of a frame representing a book.
  • Embedded Book resources are resources for books.
  • Embedded Book resources have the same information as any other resources plus specific information about the book they are representing.
  • Embedded Book content is responsible for returning the visual representation of the book
  • There should be drag and drop support, so a book can be dropped onto a frame and a Embedded Book content is created automatically from them. Books are scaled if they are bigger than the frame they are dropped onto.
  • There should be support for creating a frame with an Embedded Book content by choosing a book file.

Task requirements

  • Define basic Embedded Book content.
  • Define basic Embedded Book resource.
  • Define how content works with frames to find a renderer (is this a scene?)

Task result

The result of this task should be source code.

Implementation idea

  • Create class EmbeddedBookContent which is concrete implementation of org.sophie2.base.model.book.FrameContent for a book.
  • EmbeddedBookContent should override mainResource() and return Prop<EmbeddedBookResource>.
  • Create class EmbeddedBookResource which is concrete implementation of org.sophie2.base.model.book.resource.BookResource for book resources.
  • EmbeddedBookResource should reflect methods we allow sent to a book, such as:
    • pageCount
    • currentPage
    • bookFrameSize (size of the original book)
    • posterFrame - a page of the book to use as a poser frame
  • EmbeddedBookContent
    • EmbeddedBookContent is represented by an image, either the first page of the book, or the poster frame
    • EmbeddedBookContent can have a controller, but unlike a video controller, it would be more like a page status bar (next page, previous page, back)
    • Determine if any of this should be part of the content, or kept elsewhere, ie does the content have any say in how the resource is represented on screen?
    • If yes, maybe contents should have extension points that keep the list of renderers for this content (and similar for images and audio, ie any content)

How to demo

  • Create a frame with book resource.
  • Check if the resource is set correctly and check if the information about the resource is correct.
  • Try changing the resource and check again the same things.

Design

Implementation

(Implementation results should be described and linked here (from the wiki or the repository))

Testing

Comments

(Write comments for this or later revisions here.)