wiki:TIMELINES_REDESIGN_R0
Last modified 16 years ago Last modified on 07/24/09 17:53:09

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

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

The current model should be reworked to correspond to the new resource model. The current implementation of timelines lacks a couple of things and those need to be added:

  • Support for groups activation.
  • Intro, main and outro parts.
  • Properly manage the time values of each page.

Task requirements

Review the current model design and adapt it to the changes to the resource model.

As timelines don't use resources directly the impact of the change is low. Representation of timelines in the book model will be changed and this impacts user code. There should be means to operate with the new resource keys in a easy and transparent way.

Improvements:

  • Group activation should be made to work like frame activation - i.e. an inactive group's timeline should not be played.
  • Intro, main and outro sections should be added to the current timeline model.
  • In the current implementation the timeline for all pages was played at once and changing the page did not affect it. This should be changed by creating separate timers for each page and starting/stoping them when the page becomes current.

Task result

Prototype, UML class diagram, implementation schedule.

Implementation idea

  • Use the design draft posted by milo in http://pastebin.asteasolutions.net/f444cc8f1.
  • Implement new time values that are shifted by a large value like C = 1015 for the 3 different parts of the timeline, thus intro will be in the interval of [0, C), main - [C, 2C), outro - [2C, 3C).
  • Sample appearance design is shown on the picture below

GROUP_TIMELINES_R0

How to demo

Design

Subtasks:

  • Timeline for each page.
    • TimelineTopView (timeline for pages) should have a start/stop timeline method so each page's timeline will be played only when the page is opened.
  • Group activation.
    • Have TimelineMemberView activationTime property check ancestor activation and if ancestors are inactive return inactive state too.
    • Change GroupView renderFrame to return null if the frame is inactive.
  • Intro, main, outro.
    • The intro, main and outro sections will exist in each timeline, for instance initially the timeline for the first page is displayed and its channels will be divided into three parts (bearing different colors). When the timeline for a frame is opened the three sections will be displayed for that frame over all of its channels. There will be controls for setting the length of the intro and outro and those should not be allowed to be greater than 60 seconds.
    • The time values for activation time and local time will be separated by a large enough constant (C = 1015) to isolate the intro, main and outro parts of the timeline. Thus if the length of those sections is changed the corresponding section will retain its entries. Helper methods should be added to convert from real time to channel time and the other way around.
  • Palette - mostly compacting the view.
    • Use the new ResourceAccess to create changes that will modify the channels or timeline options of the Element with the current view.
    • The title of the timeline will be moved to the left of the controls
    • The palette slider will be removed and replaced by a drawn play head.
    • Channels will be shrunk to half size and expanded upon selection.
    • A time ruler will be drawn on the channel directly below the selected channel, for the last channel there will be an empty channel panel below.
    • Channels will be resized when the application is resized.

UML diagram:

Implementation

Prototype: http://sophie2.org/trac/attachment/wiki/TIMELINES_REDESIGN_R0/TimelinesDesignDraft.java
Schedule:

  • Timeline for each page - 2h
  • Group activation - 0.5h
  • Intro, main, outro - 1d
  • Palette - 3.5d

Testing

(Place the testing results here.)

Comments

(Write comments for this or later revisions here.)

Attachments