wiki:HOT_TEXT_REDESIGN_R4
Last modified 15 years ago Last modified on 10/13/09 18:49:52

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

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

The purpose of this task is to clarify text internals related to indexing of positions and the text history.

Overview

  • Problems and difficulties of the current implementation of text
    • Indexing
      • Calculation of the indexes of HotPoses takes place in ImmHotText.
      • This makes ImmHotText responsible for too many functionality.
    • Text History (needed again for indexing)
      • Each ImmHotText refers to its previous and holds the last operation by which it has be created.
      • This is too complex and makes the history hard to save.
      • The history is not persisted at the moment, but it would be needed for tasks including server interactions and real-time collaboration.
    • The text classes are not well separated into packages (useless packages, etc.).

Task requirements

  • Extraction of most of the responsibities for indexing calculations from ImmHotText.
  • History representation simplifications.
  • History persistence (optional).
  • Appropriate package split of text classes.

Task result

  • The result of this task is source code.

Implementation idea

  • Move indexing responsibility to HotPos.
  • Represent text history as a list of operations.
    • This will make history persistence easier.
  • Remove useless packages (such as the smart package).

How to demo

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