Extensible Help Project Plan

From Apache OpenOffice Wiki
Revision as of 12:46, 7 September 2007 by Ab@openoffice.org (Talk | contribs)

Jump to: navigation, search

This page describes project details for the Extensible Help project. Main page: Extensible_Help

General concept

Extension developers should be able to include help content into the extension just by including xhp files (the help file format also used by the OOo help) into a help folder inside the extension. Multiple languages should be supported. English should be the fallback language. It shouldn't be necessary for extension developers to compile the help files at creation time. This will be done automatically when the extension is deployed (shared extensions) or used for the first time (user extensions).

Planning

Although the main tasks are listed as milestones they should not be seen in a strict sequence as some parts of earlier milestones may depend on progress in others. Example: The new HelpContentProvider mechanisms (M1) can't be finally tested and finished without a running HelpLinker mechanism (M2).

M1 Extend help runtime system

Target: To be finished end of week 36

  • Extend HelpContentProvider to support help sources in extensions
    • For Extended tool tips (*.ht files), Done
    • For help content (*.db files), Done
    • For index content (*.key files), Done
    • Allow extention developer to choose target index/indices (swriter, scalc, ...), Done
    • For tree content? To be discussed..., Open
  • Multiple language support
    • Works automatically by name convention if language folder exists
      Done respectively compiler related problem
    • English as fallback, Open (can be done better with at least M2 finished)
  • Check performance
    • Performance analysis, Done, no problems, but uncovered:
    • Potential memory problem, Open (can be analyzed better with at least M2 finished)

M2 Access HelpCompiler/HelpLinker to compile extension help content

Target: To be finished in week 40

  • Make new C++ HelpLinker available as library in OOo, Done
  • Adapt HelpLinker to compile/link help content inside extensions,
    e.g. when called with a special option, In progress

M3 OOo integration

Target: To be finished end of week 41

  • Package registry backend, Open
    • Shared extensions: Compile help at deploy time
    • User extensions: Mark somehow that help needs to be compiled
    • Implement on demand compilation mechanism in HelpContentProvider
  • Dialog and menu bindings (if any changes are necessary), Open
  • Adapt help viewer (if any changes are necessary), Open

M4 Migrate to Lucene as indexer

Target: To be finished end of week 43

  • Add Lucene as project into OOo built environment, Open
  • Make HelpLinker use Lucene indexer functionality, Open
  • Make HelpContentProvider use Lucene search engine, Open

This is not really a precondition for extension help support, extensions could also use the old indexer. But then, after introducing Lucene later, a special handling will have to be provided for already installed extensions. Either the old indexer still has to be supported or the index will have to be rebuild with the new indexer.

M5: Finish project

Target: To be finished end of week 44 (11/02/2007)

  • Clean up code, Open
  • Optimization, Open
  • Prepare cws ab38 for QA, Open

M6: Documentation

Target: To be finished end of week 46

  • Create SDK example (containing new menu entry with help and a dialog with help), Open
  • Developers Guide Chapter, Open

Future planning, OOo 3.0

Already known issues that probably cannot be realized for OOo 2.4

M8

  • Images in help

M9

  • Overloading of existing help pages
  • Extending existing help pages
Personal tools