wiki:GROUP_EMBEDDED_BOOKS_R0

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

--

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

Error: Macro TicketQuery(summary=GROUP_EMBEDDED_BOOKS_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 embedded books support. A user should be able to:

  • Insert a book into a frame (either by dragging and dropping or by using the Insert menu).
  • Choose whether the inserted book should be fully embedded or just linked.
  • Choose how to display the embedded book - in a frame or in its own window.
  • Manage the resources in the embedded book (via the Resources palette).
  • Navigate through the embedded book (change pages, interact with resources (play audio, video, etc.)).
  • Modify some basic properties of the embedded book (rename, scale, delete, etc.)

At this revision only a basic version of some of these features will be implemented.

Task requirements

At this iteration the following should be achieved:

  • Provide basic support for embedded books:
    • Define and implement embedded book frame content.
    • Define and implement embedded book resource.
    • Allow inserting of a Sophie book through the menu.
  • Resolve issues related to embedded book resources:
    • See if cyclic referencies cause problems and resolve them.
    • Make sure that when the embedded book is on focus, only its resources are shown in the Resource palette.
    • Think of other possible smells and resolve or document them.
  • Define interaction with the embedded books:
    • Add a panel for controlling the embedded books or use the existing book's bottom panel.
    • Allow navigating through pages in the embedded book.
  • Define how embedded books will be managed:
    • Add an embedded books palette or use the existing books palette.
    • Allow renaming and deleting of embedded books.
  • (Optional) Document things related to embedded books in a wiki page: EMBEDDED_BOOKS?

Task result

  • Source code
  • (Optional) Wiki page

Implementation idea

  • Create classes EmbeddedBookContent and EmbeddedBookResource (similar to other frame contents and resources).
  • You may display the first page of a book as a starting point and change that later.
  • Have a look at the Resource library and see how it handles cyclic dependencies.
  • See similar tasks in the Related section to get an idea of how things can be done.

EMBEDDED_BOOKS_CONTENT_R0
EMBEDDED_BOOKS_RESOURCE_SUPPORT_R0
EMBEDDED_BOOKS_MANAGING_R0
GROUP_PDF_R0

How to demo

  • Insert a Sophie2 book.
  • Navigate through its pages.
  • Show that resources are displayed correctly in the resource palette.
  • (Optional) Show the created wiki page.

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.)