wiki:BASE_MODEL_TEMPLATING_R0
Last modified 9 years ago Last modified on 01/29/09 14:26:58

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

Error: Macro TicketQuery(summary=BASE_MODEL_TEMPLATING_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 task is about all the common things of templates and templating. Generally we have templates for books, pages and frames and the model should be able to manage them.

Task requirements

  • Common things about templates should be extracted in a class hierarchy.
    • This includes base classes.
    • Helper classes.
    • Storage of templates.
    • Template resources.
  • A mechanism for template manipulation should be designed:
    • creating templates.
    • deleting templates.
    • loading templates.
    • storing templates.
    • changing templates.
    • Consider creating a TemplateManager if needed. This is somethings that is analogous to the BookResourceManager but is quite different on the other hand:
      • It is global and is defined for every App (not Book as is the BookResourceManager).
      • It should be able to manage all kinds of templates.
  • Provide diagrams of the class hierarchy and utilities to manage templates.
  • Since this is a one day effort task, a thorough design with diagrams should be enough to start with.
  • If there is time left, implement what has been decided and write unit tests.

Task result

  • wiki content.
  • diagrams.
  • (source code with integration tests if there is time to do it.)

Implementation idea

  • Review the related tasks.
  • Design the way templates are going to be managed by the model.
  • Create diagrams and give explanations of the things that are decided.
  • (Implement and test if there is time left.)

How to demo

  • Show the wiki and explain in general the idea.
  • (run unit tests if such have resulted).

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