| 1 | [[BackLinksMenu]] |
| 2 | |
| 3 | [[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|)]] |
| 4 | |
| 5 | |
| 6 | |
| 7 | = Analysis = |
| 8 | |
| 9 | == Overview == |
| 10 | |
| 11 | Embedded Book content connects a book resource (in other words, a book) to a frame |
| 12 | |
| 13 | * Embedded Book content is a content of a frame representing a book. |
| 14 | * Embedded Book resources are resources for books. |
| 15 | * Embedded Book resources have the same information as any other resources plus specific information about the book they are representing. |
| 16 | * Embedded Book content is responsible for returning the visual representation of the book |
| 17 | * 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. |
| 18 | * There should be support for creating a frame with an Embedded Book content by choosing an video file. |
| 19 | |
| 20 | == Task requirements == |
| 21 | |
| 22 | * Define basic Embedded Book content. |
| 23 | * Define basic Embedded Book resource. |
| 24 | * Define how content works with frames to find a renderer (is this a scene?) |
| 25 | |
| 26 | == Task result == |
| 27 | The result of this task should be source code. |
| 28 | |
| 29 | == Implementation idea == |
| 30 | * Create class !EmbeddedBookContent which is concrete implementation of org.sophie2.base.model.book.!FrameContent for a book. |
| 31 | * !EmbeddedBookContent should override mainResource() and return Prop<!EmbeddedBookResource>. |
| 32 | * Create class !EmbeddedBookResource which is concrete implementation of org.sophie2.base.model.book.resource.!BookResource for book resources. |
| 33 | * !EmbeddedBookResource should reflect methods we allow sent to a book, such as: |
| 34 | * pageCount |
| 35 | * currentPage |
| 36 | * bookFrameSize (size of the original book) |
| 37 | * posterFrame - a page of the book to use as a poser frame |
| 38 | |
| 39 | * EmbeddedBook |
| 40 | * EmbeddedBook is represented by an image, either the first page of the book, or the poster frame |
| 41 | * EmbeddedBook can have a controller, but unlike a video controller, it would be more like a page status bar (next page, previous page, back) |
| 42 | * 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? |
| 43 | * 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) |
| 44 | |
| 45 | |
| 46 | == Related == |
| 47 | * [wiki:UNPLANNED_BASE_MODEL_FRAME_CONTENT_R0][[BR]] |
| 48 | * [wiki:BASE_RESOURCE_COMMONS_R0] |
| 49 | * [wiki:IMAGE_CONTENT_R0] |
| 50 | * [wiki:AUDIO_CONTENT_R0] |
| 51 | * [wiki:VIDEO_CONTENT_R0] |
| 52 | |
| 53 | == How to demo == |
| 54 | * Create a frame with book resource. |
| 55 | * Check if the resource is set correctly and check if the information about the resource is correct. |
| 56 | * Try changing the resource and check again the same things. |
| 57 | |
| 58 | = Design = |
| 59 | |
| 60 | = Implementation = |
| 61 | ^(Implementation results should be described and linked here (from the wiki or the repository))^ |
| 62 | |
| 63 | = Testing = |
| 64 | |
| 65 | = Comments = |
| 66 | ^(Write comments for this or later revisions here.) |
| 67 | |