wiki:PAGE_TEMPLATE_BEHAVIOUR_R0
Last modified 16 years ago Last modified on 01/05/09 10:12:01

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

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

Page templates provide the ability to use previously created pages as templates for newly created or existing pages. This is connected with frame templating and frame property locking.

  • Creating a page template is done by dragging a page from the page view to the page template palette or other ways (file -> save page as template). In further revisions a template editor should be present.
  • Overwriting a page template changes all the pages created with this template.
    • If the template is global, this changes all of the books created with this template.
  • Page template remembers page style and list of frame templates plus frame z-order. Internally z-order is implemented with the list of frame templates.
  • Page templates can be used for creating new books
  • Page HUD gives "Use template" and "Lock" checkboxes that allow a property to be reset to the template default or to be locked to prevent accident change. Use template and Lock are described further in FRAME_TEMPLATES_R0 and FRAME_PROPERTY_LOCKING_R0.

Task requirements

Page templates include:

  • Page properties
    • frames' templates
    • frames' z-order (result of position in the frame list)
    • background style
      • image
      • color
      • opacity
    • border style
      • color
      • opacity
      • thickness
  • Frame list - List of frames in current page. In this revision deleting a frame from a page with template applied may not be possible. List should be like
    <template list> + <modifications>
    

Modifications are +frame, -frame, etc, but removing a frame from the template and messing with z-order should be done in later stage. Currently, the template being background of other object will be enough

  • In page HUD a checkbox "Use template" should be present for background style and border style.
    • Background style
    • Border style

Huds

  • "Use template" checkbox When a property is changed, it's "Use template" checkbox is unchecked from the page hud. In a later stage template editor should be present.
  • "Property locking" checked denies modifying properties by accident. - This is related to FRAME_PROPERTY_LOCKING_R0
  • "Use template" and "Property locking" should be present for:
    • background style
    • border style
    • frame list
  • Templates should have way to be saved. Dragging a frame from the page to the templates palette is a good idea, but if it is not implementable now, create a testing way, see implementation idea

Task result

The result of this task must be code.

Implementation idea

Implement this task in parallel with PAGE_TEMPLATES_LISTING_R0

FRAME_PROPERTY_LOCKING_R0
FRAME_TEMPLATES_R0
PAGE_TEMPLATES_LISTING

How to demo

Present applying a template via PAGE_TEMPLATES_LISTING_R0 How to Demo. Present a simple modifications of a page template.

Design

Implementation

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

Testing

Comments

From the user point of view it would be cool to allow image borders, probably hard to implement.