Difference between revisions of "Extensible Help Project Plan"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 16: Line 16:
  
 
=== M1 Extend help runtime system ===
 
=== M1 Extend help runtime system ===
Target: To be finished end of week 36
+
Finished end of week 36
 
* Extend HelpContentProvider to support help sources in extensions
 
* Extend HelpContentProvider to support help sources in extensions
 
** For Extended tool tips (*.ht files), <font color='green'><b>Done</b></font>
 
** For Extended tool tips (*.ht files), <font color='green'><b>Done</b></font>
Line 22: Line 22:
 
** For index content (*.key files), <font color='green'><b>Done</b></font>
 
** For index content (*.key files), <font color='green'><b>Done</b></font>
 
** Allow extention developer to choose target index/indices (swriter, scalc, ...), <font color='green'><b>Done</b></font>
 
** Allow extention developer to choose target index/indices (swriter, scalc, ...), <font color='green'><b>Done</b></font>
** For tree content? To be discussed..., <font color='red'><b>Open</b></font>
 
 
* Multiple language support
 
* Multiple language support
 
** Works automatically by name convention if language folder exists<br/><font color='green'><b>Done</b></font> respectively compiler related problem
 
** Works automatically by name convention if language folder exists<br/><font color='green'><b>Done</b></font> respectively compiler related problem
** English as fallback, <font color='red'><b>Open</b></font> (can be done better with at least M2 finished)
 
 
* Check performance
 
* Check performance
 
** Performance analysis, <font color='green'><b>Done</b></font>, no problems, but uncovered:
 
** Performance analysis, <font color='green'><b>Done</b></font>, no problems, but uncovered:
** Potential memory problem, <font color='red'><b>Open</b></font> (can be analyzed better with at least M2 finished)
+
** Potential memory problem (will be handled in M5)
  
 
=== M2 Access HelpCompiler/HelpLinker to compile extension help content ===
 
=== M2 Access HelpCompiler/HelpLinker to compile extension help content ===
Target: To be finished in week 40
+
Finished in week 40
 
* Make new C++ HelpLinker available as library, <font color='green'><b>Done</b></font>
 
* Make new C++ HelpLinker available as library, <font color='green'><b>Done</b></font>
* Deploy HelpLinker library with OOo, <font color='red'><b>Open</b></font>
+
* Adapt HelpLinker to compile/link help content inside extensions, <font color='green'><b>Done</b></font>
* Adapt HelpLinker to compile/link help content inside extensions,
+
 
*:e.g. when called with a special option, '''In progress'''
+
=== M3 Change HelpCompiler/HelpLinker error handling ===
 +
Finished in week 43
 +
* Remove exit(1) calls from HelpCompiler/HelpLinker for extension case, <font color='green'><b>Done</b></font>
 +
* Register error handler at libxml2 to get xml parsing error info, <font color='green'><b>Done</b></font>
 +
* Return error info to caller, <font color='green'><b>"Done"</b></font>
  
=== M3 OOo integration ===
+
=== M4 OOo integration ===
Target: To be finished end of week 41
+
Target: To be finished in week 44
* Package registry backend, <font color='red'><b>Open</b></font>
+
* Package registry backend, '''In progress'''
 
** Shared extensions: Compile help at deploy time
 
** Shared extensions: Compile help at deploy time
** User extensions: Mark somehow that help needs to be compiled
+
** User extensions: Compile help at deploy time, at least for now. Optimization can be done later:
** Implement on demand compilation mechanism in HelpContentProvider
+
*** Mark somehow that help needs to be compiled
* Dialog and menu bindings (if any changes are necessary), <font color='red'><b>Open</b></font>
+
*** Implement on demand compilation mechanism in HelpContentProvider
* Adapt help viewer (if any changes are necessary), <font color='red'><b>Open</b></font>
+
* Resources for HelpCompiler/HelpLinker error classes, <font color='red'><b>Open</b></font>
 
+
* Dialog and menu bindings, <font color='green'><b>Done</b></font>
=== M4 Migrate to Lucene as indexer ===
+
* (Adapt help viewer) it seems no changes are necessary, <font color='green'><b>"Done"</b></font>
Target: To be finished end of week 43
+
 
+
* Add Lucene as project into OOo built environment, <font color='red'><b>Open</b></font>
+
* Make HelpLinker use Lucene indexer functionality, <font color='red'><b>Open</b></font>
+
* Make HelpContentProvider use Lucene search engine, <font color='red'><b>Open</b></font>
+
 
+
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 ===
 
=== M5: Finish project ===
Target: To be finished end of week 44 (11/02/2007)
+
Target: To be finished at the beginning of week 45 (11/05/2007)
 +
* English as fallback, <font color='red'><b>Open</b></font> (can be done better with at least M2 finished)
 +
* Analyze/fix memory problem, <font color='red'><b>Open</b></font>
 +
* Deploy HelpLinker library with OOo, <font color='red'><b>Open</b></font>
 
* Clean up code, <font color='red'><b>Open</b></font>
 
* Clean up code, <font color='red'><b>Open</b></font>
* Optimization, <font color='red'><b>Open</b></font>
 
 
* Prepare cws ab38 for QA, <font color='red'><b>Open</b></font>
 
* Prepare cws ab38 for QA, <font color='red'><b>Open</b></font>
  
Line 71: Line 65:
 
== Future planning, OOo 3.0 ==
 
== Future planning, OOo 3.0 ==
 
Already known issues that probably cannot be realized for OOo 2.4
 
Already known issues that probably cannot be realized for OOo 2.4
 +
 +
=== M7 Migrate to Lucene as indexer ===
 +
* Add Lucene as project into OOo built environment
 +
* Make HelpLinker use Lucene indexer functionality
 +
* Make HelpContentProvider use Lucene search engine
 +
* Support Lucene for extens help content
  
 
=== M8 ===
 
=== M8 ===
 
* Images in help
 
* Images in help
 +
* Support adding tree content
  
 
=== M9 ===
 
=== M9 ===
 
* Overloading of existing help pages
 
* Overloading of existing help pages
 
* Extending existing help pages
 
* Extending existing help pages
 +
 +
=== Status Changes ===
 +
 +
10/26/2007
 +
* Updated status
 +
* Moved Lucene/Indexing to Future planning

Revision as of 10:40, 26 October 2007

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

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
  • Multiple language support
    • Works automatically by name convention if language folder exists
      Done respectively compiler related problem
  • Check performance
    • Performance analysis, Done, no problems, but uncovered:
    • Potential memory problem (will be handled in M5)

M2 Access HelpCompiler/HelpLinker to compile extension help content

Finished in week 40

  • Make new C++ HelpLinker available as library, Done
  • Adapt HelpLinker to compile/link help content inside extensions, Done

M3 Change HelpCompiler/HelpLinker error handling

Finished in week 43

  • Remove exit(1) calls from HelpCompiler/HelpLinker for extension case, Done
  • Register error handler at libxml2 to get xml parsing error info, Done
  • Return error info to caller, "Done"

M4 OOo integration

Target: To be finished in week 44

  • Package registry backend, In progress
    • Shared extensions: Compile help at deploy time
    • User extensions: Compile help at deploy time, at least for now. Optimization can be done later:
      • Mark somehow that help needs to be compiled
      • Implement on demand compilation mechanism in HelpContentProvider
  • Resources for HelpCompiler/HelpLinker error classes, Open
  • Dialog and menu bindings, Done
  • (Adapt help viewer) it seems no changes are necessary, "Done"

M5: Finish project

Target: To be finished at the beginning of week 45 (11/05/2007)

  • English as fallback, Open (can be done better with at least M2 finished)
  • Analyze/fix memory problem, Open
  • Deploy HelpLinker library with OOo, Open
  • Clean up code, 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

M7 Migrate to Lucene as indexer

  • Add Lucene as project into OOo built environment
  • Make HelpLinker use Lucene indexer functionality
  • Make HelpContentProvider use Lucene search engine
  • Support Lucene for extens help content

M8

  • Images in help
  • Support adding tree content

M9

  • Overloading of existing help pages
  • Extending existing help pages

Status Changes

10/26/2007

  • Updated status
  • Moved Lucene/Indexing to Future planning
Personal tools