blob: f56cd0922dfa7c0508747bf947e8207ee0487bb0 [file] [log] [blame]
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<title>sse M9 milestone plan</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheets/images/default_style.css"/>
<script src="../../../../../popup.js" type="text/javascript">
// script is linked
</script>
</head>
<body>
<table border="0" width="100%" cellPadding="2" cellSpacing="5">
<tr>
<td>
<font class="indextop">sse M9</font>
<br/>
<font class="indexsub">Milestone planning for SSE Component</font>
</td>
<td>
<br/>
</td>
<td width="28%">
<img height="86" width="120" src="../../../stylesheets/images/Idea.jpe"/>
</td>
</tr>
</table>
<table border="0" width="100%" cellPadding="2" cellSpacing="5">
<tr>
<a name="Overall_Planning">
<td rowspan="3" colSpan="2" bgColor="#0080c0" width="100%" align="left" valign="top">
<b>
<font face="Arial,Helvetica">
<font color="#ffffff">1.0M9 Plan - updated 9/27/2005</font>
</font>
</b>
</td>
</a>
</tr>
</table>
<table width="100%" cellspacing="5">
<tr>
<td/>
</tr>
</table>
<tr>
<td>
<table>
<tr>
<td valign="top">
<img height="16" border="0" nosave="" src="../../../stylesheets/images/Adarrow.gif"/>
</td>
<td>
<b>Design for Platform Use</b>
<br/>
<i><detail>Provide API to embed source page editor in multipage editors and improve integration with the Eclipse platform</detail>
</i>
<ul>
<li>
<img width="13" height="5" src="../../../stylesheets/images/progress.gif"/>
<a name="Design-for-Platform-Use.Continue-refactoring-to-improve-separation-of-components"/>
<description>Continue refactoring to improve separation of components</description>
<font color="8080FF"> [medium]</font>
</li>
<li>
<a name="Design-for-Platform-Use.Transition-IModelManager-to-using-a-connect/disconnect-pattern-with-IPaths-and-InputStreams,-and-provide-an-I(Structured)DocumentManager-for-managing-structured-documents-in-the-absence-of-structured-models."/>
<description>Transition IModelManager to using a connect/disconnect pattern with IPaths and InputStreams, and provide an I(Structured)DocumentManager for managing structured documents in the absence of structured models.</description>
<font color="8080FF"> [medium]</font>
</li>
<li>
<a name="Design-for-Platform-Use.Declare-supported-API-for-StructuredDocument/TextRegions/Parsers"/>
<description>Declare supported API for StructuredDocument/TextRegions/Parsers</description>
<font color="8080FF"> [medium]</font>
</li>
<li>
<a name="Design-for-Platform-Use.Transition-ModelHandlers-to-ModelFactorys"/>
<description>Transition ModelHandlers to ModelFactorys</description>
<font color="8080FF"> [medium]</font>
</li>
<li>
<a name="Design-for-Platform-Use.Create-a-NodeAdapterFactoryManager-and-disable/remove-current-adapter-factory-extension-point"/>
<description>Create a NodeAdapterFactoryManager and disable/remove current adapter factory extension point</description>
<font color="8080FF"> [medium]</font>
</li>
<li>
<a name="Design-for-Platform-Use.Document-IEditorPart-adapter-handling-recommendations"/>
<description>Document IEditorPart adapter handling recommendations</description>
<font color="8080FF"> [medium]</font>
</li>
<li>
<a name="Design-for-Platform-Use.Code-folding"/>
<description>Code folding</description>
<font color="8080FF"> [medium]</font>
<img width="16" height="15" src="../../../stylesheets/images/detail.gif" onmouseout="hidePopup()" onmouseover="showPopup(&quot;<detail> Believed done except requires fix for document/model synchronization. </detail>&quot;)"/>
</li>
<li>
<a name="Design-for-Platform-Use.Remove-encoding-mementos-and-document-alternate-methods-using-content-describers"/>
<description>Remove encoding mementos and document alternate methods using content describers</description>
<font color="8080FF"> [low]</font>
</li>
<li>
<a name="Design-for-Platform-Use.Correct-partitioner-implementations-and-usages-by-StructuredDocument-implementations"/>
<description>Correct partitioner implementations and usages by StructuredDocument implementations</description>
<font color="8080FF"> [low]</font>
</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td valign="top">
<img height="16" border="0" nosave="" src="../../../stylesheets/images/Adarrow.gif"/>
</td>
<td>
<b>Provide APIs to extend our source editor</b>
<ul>
<li>
<img width="13" height="5" src="../../../stylesheets/images/progress.gif"/>
<a name="Provide-APIs-to-extend-our-source-editor.Document-and-finalize-PropertySheetConfiguration"/>
<description>Document and finalize PropertySheetConfiguration</description>
<font color="8080FF"> [high]</font>
</li>
<li>
<img width="13" height="5" src="../../../stylesheets/images/progress.gif"/>
<a name="Provide-APIs-to-extend-our-source-editor.Document-and-finalize-ContentOutlineConfiguration"/>
<description>Document and finalize ContentOutlineConfiguration</description>
<font color="8080FF"> [high]</font>
</li>
<li>
<img width="13" height="5" src="../../../stylesheets/images/progress.gif"/>
<a name="Provide-APIs-to-extend-our-source-editor.Plan-what-to-do-with-Text-Tools,-preference-page-IDs,-and-other-current-usages"/>
<description>Plan what to do with Text Tools, preference page IDs, and other current usages</description>
<font color="8080FF"> [medium]</font>
</li>
<li>
<img width="13" height="5" src="../../../stylesheets/images/progress.gif"/>
<a name="Provide-APIs-to-extend-our-source-editor.Eliminate-StructuredTextEditor-subclasses-and-switch-to-plugin-action-contributions"/>
<description>Eliminate StructuredTextEditor subclasses and switch to plugin action contributions</description>
<font color="8080FF"> [high]</font>
<img width="16" height="15" src="../../../stylesheets/images/detail.gif" onmouseout="hidePopup()" onmouseover="showPopup(&quot;<detail> The goal of eliminating the subclasses it is to push the StructuredTextEditor along a path where clients reuse it by configuring and reconfiguring it. This allows us to change editor behavior on-the-fly for different input content types while staying with a single editor class. The importance of having a single class is that you can more easliy 'drop it in' as a source page in a multi-page editor and immediately get most of the behavior you enjoy from a standalone editor regardless of the input content type, and when utilizing actions contributed through plugin extensions, it could be done without messing with editor contributor classes. </detail>&quot;)"/>
</li>
<li>
<a name="Provide-APIs-to-extend-our-source-editor.Document-APIs-for-Validation,-both-Source-and-Batch"/>
<description>Document APIs for Validation, both Source and Batch</description>
<font color="8080FF"> [high]</font>
</li>
<li>
<a name="Provide-APIs-to-extend-our-source-editor.Make-API-out-of-our-Highlighting-scheme,-after-investigating-avenues-with-TextPresentation-for-semantic-highlighting"/>
<description>Make API out of our Highlighting scheme, after investigating avenues with TextPresentation for semantic highlighting</description>
<font color="8080FF"> [medium]</font>
</li>
<li>
<a name="Provide-APIs-to-extend-our-source-editor.Clarify-and-define-Formatting-API"/>
<description>Clarify and define Formatting API</description>
<font color="8080FF"> [low]</font>
</li>
<li>
<a name="Provide-APIs-to-extend-our-source-editor.Provide-extensibility-in-Content-Assist"/>
<description>Provide extensibility in Content Assist</description>
<font color="8080FF"> [low]</font>
<img width="16" height="15" src="../../../stylesheets/images/detail.gif" onmouseout="hidePopup()" onmouseover="showPopup(&quot;<detail> Requires researching whether we'll be using participants, partition mappings, or extending the content models by namespace. </detail>&quot;)"/>
</li>
<li>
<a name="Provide-APIs-to-extend-our-source-editor.Clean-up-Preferences"/>
<description>Clean up Preferences</description>
<font color="8080FF"> [low]</font>
<img width="16" height="15" src="../../../stylesheets/images/detail.gif" onmouseout="hidePopup()" onmouseover="showPopup(&quot;<detail> Simplify and remove unnecessary redundancies </detail>&quot;)"/>
</li>
<li>
<a name="Provide-APIs-to-extend-our-source-editor.Find-where-we're-violating-our-own-APIs-and-clean-them-up"/>
<description>Find where we're violating our own APIs and clean them up</description>
<font color="8080FF"> [low]</font>
</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td valign="top">
<img height="16" border="0" nosave="" src="../../../stylesheets/images/Adarrow.gif"/>
</td>
<td>
<b>Performance</b>
<br/>
<i>
<detail>Improve memory usage, performance, and thread safety</detail>
</i>
<ul>
<li>
<a name="Performance.Improve-Thread-safety-by-abandoning-the-use-of-of-IStructuredDocumentRegion.getNextNode-for-iteration;-use-IStructuredDocument.getNodes(offset,-length)-instead"/>
<description>Improve Thread safety by abandoning the use of of IStructuredDocumentRegion.getNextNode for iteration; use IStructuredDocument.getNodes(offset, length) instead</description>
<font color="8080FF"> [medium]</font>
</li>
<li>
<img width="10" height="10" src="../../../stylesheets/images/glass.gif"/>
<a name="Performance.Investigate-numerous-model-and-document-implementation-improvements"/>
<description>Investigate numerous model and document implementation improvements</description>
<font color="8080FF"> [low]</font>
<img width="16" height="15" src="../../../stylesheets/images/detail.gif" onmouseout="hidePopup()" onmouseover="showPopup(&quot;<detail> <ul> <li> Add (transparent) model caching (not just sharing) </li> <li> Limit number of adapter notifications sent (and/or optimize 2000 peer children case). This may help speed up the formatter performance. </li> <li> Fix document to model thread (notification) synchronization </li> <li> Fix 'stop/resume' notifications (now rewrite modes) </li> <li> Investigate improved text store, better suited to DOM editing </li> <li> Investigate Add 'compare' methods, so less frequent 'gets' are needed </li> </ul> </detail>&quot;)"/>
</li>
<li>
<a name="Performance.Improve-&quot;adapt-on-create&quot;-design-and-implementation."/>
<description>Improve "adapt on create" design and implementation.</description>
<font color="8080FF"> [low]</font>
</li>
<li>
<a name="Performance.Improve-&quot;read-only&quot;-design"/>
<description>Improve "read-only" design</description>
<font color="8080FF"> [low]</font>
</li>
<li>
<a name="Performance.Improve-formatter-performance"/>
<description>Improve formatter performance</description>
<font color="8080FF"> [medium]</font>
<img width="16" height="15" src="../../../stylesheets/images/detail.gif" onmouseout="hidePopup()" onmouseover="showPopup(&quot;<detail> We believe the main problem to be excessive notifications when formatting large areas of text. We should be able to know that formatting is happening, and perform all edits at once with minimal notifications of elements changing, especially since it's 'only' whitespace being changed. </detail>&quot;)"/>
</li>
<li>
<a name="Performance.Investigate-&quot;sparse-model&quot;-design-for-memory-savings"/>
<description>Investigate "sparse model" design for memory savings</description>
<font color="8080FF"> [low]</font>
<img width="16" height="15" src="../../../stylesheets/images/detail.gif" onmouseout="hidePopup()" onmouseover="showPopup(&quot;<detail> A possible improvement may be to perform a 'coarse' parsing the first time though. That is, only parse StructurdDocumentRegions, then only provide finer details of those regions upon request. This is more along the lines of 'pay as you go', which seems to be the overall direction of Eclipse. </detail>&quot;)"/>
</li>
<li>
<a name="Performance.Redesign-StructuredDocument/TextRegions/Parsers-to-shrink-memory-usage"/>
<description>Redesign StructuredDocument/TextRegions/Parsers to shrink memory usage</description>
<font color="8080FF"> [medium]</font>
</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td valign="top">
<img height="16" border="0" nosave="" src="../../../stylesheets/images/Adarrow.gif"/>
</td>
<td>
<b>Other functionality</b>
<ul>
<li>
<a name="Other-functionality.Document-Drag-and-Drop-abilities"/>
<description>Document Drag and Drop abilities</description>
<font color="8080FF"> [medium]</font>
<img width="16" height="15" src="../../../stylesheets/images/detail.gif" onmouseout="hidePopup()" onmouseover="showPopup(&quot;<detail> This, however, won't be made API unless we're sure it won't be in platform 3.2 </detail>&quot;)"/>
</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td valign="top">
<img height="16" border="0" nosave="" src="../../../stylesheets/images/Adarrow.gif"/>
</td>
<td>
<b>Quality</b>
<ul>
<li>
<img width="13" height="5" src="../../../stylesheets/images/progress.gif"/>
<a name="Quality.Continue-to-Document-Designs-and-API,-create-JUnit-and-Performance-Tests"/>
<description>Continue to Document Designs and API, create JUnit and Performance Tests</description>
<font color="8080FF"> [medium]</font>
<img width="16" height="15" src="../../../stylesheets/images/detail.gif" onmouseout="hidePopup()" onmouseover="showPopup(&quot;<detail> Create more JUnit tests, verify performance runs. <ul> <li> Editor overview, primarily extended configuration, editor IDs, etc. </li> <li> Model overview, StructuredDocument vs. IDocument, ModelManager, etc. </li> <li> Content Type Describers, encoding. </li> </ul> </detail>&quot;)"/>
</li>
<li>
<img width="13" height="5" src="../../../stylesheets/images/progress.gif"/>
<a name="Quality.Define-and-enhance-JUnit-testcases."/>
<description>Define and enhance JUnit testcases.</description>
<font color="8080FF"> [medium]</font>
</li>
<li>
<img width="10" height="10" src="../../../stylesheets/images/glass.gif"/>
<a name="Quality.Write-on-line-documentation."/>
<description>Write on-line documentation.</description>
<font color="8080FF"> [medium]</font>
</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<table border="0" width="100%" cellpadding="2" cellspacing="5">
<tbody>
<tr>
<td colspan="4" bgcolor="#0080c0" width="100%" align="left" valign="top">
<b>
<font face="Arial,Helvetica">
<font color="#ffffff">Legend</font>
</font>
</b>
</td>
</tr>
<tr>
<td valign="top">
<img width="14" height="5" src="../../../stylesheets/images/progress.gif"/>
</td>
<td width="50%">item is under development.</td>
<td valign="top">
<img width="10" height="10" src="../../../stylesheets/images/glass.gif"/>
</td>
<td width="50%">item is under investigation.</td>
</tr>
<tr>
<td valign="top">
<img width="10" height="10" src="../../../stylesheets/images/ok.gif"/>
</td>
<td width="50%">item is finished.</td>
<td valign="top">
<img width="40" height="12" src="../../../stylesheets/images/help.gif"/>
</td>
<td width="50%">help wanted</td>
</tr>
<tr>
<td valign="top">
<img width="10" height="10" src="../../../stylesheets/images/defer.gif"/>
</td>
<td width="50%">item is deferred.</td>
<td valign="top">
<font class="indexsub">
<img src="../../../stylesheets/images/new.gif"/>
</font>
</td>
<td width="50%">new</td>
</tr>
</tbody>
</table>
<br/>
</body>
</html>