blob: 8411140ae99ea660cc7d46e4e67a30ac188074ec [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../../../stylesheets/milestone-bulletList.xsl"?>
<plan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../milestonePlan.xsd">
<component name="sse" subproject="wst">
<description>Milestone planning for SSE Component</description>
<milestone name="M9">
<title>1.0M9 Plan - updated 9/27/2005</title>
<!-- <description></description>-->
<category name="Design for Platform Use">
<detail>Provide API to embed source page editor in multipage editors and improve integration with the Eclipse platform</detail>
<item priority="medium" status="in-progress">
<description>Continue refactoring to improve separation of components</description>
</item>
<item priority="medium" status="new">
<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>
<developer name="DMW" />
</item>
<item priority="medium" status="new">
<description>Declare supported API for StructuredDocument/TextRegions/Parsers</description>
<developer name="DMW" time="2" />
</item>
<item priority="medium" status="new">
<description>Transition ModelHandlers to ModelFactorys</description>
<developer name="DMW" time="1" />
</item>
<item priority="medium" status="new">
<description>Create a NodeAdapterFactoryManager and disable/remove current adapter factory extension point</description>
<developer name="DMW" time="1" />
</item>
<item priority="medium" status="new">
<description>Document IEditorPart adapter handling recommendations</description>
<developer name="NSD" time="1" />
</item>
<item priority="medium" status="new">
<description>Code folding</description>
<detail>Believed done except requires fix for document/model synchronization.</detail>
</item>
<item priority="low" status="new">
<description>Remove encoding mementos and document alternate methods using content describers</description>
<developer name="DMW" time="1" />
</item>
<item priority="low" status="new">
<description>Correct partitioner implementations and usages by StructuredDocument implementations</description>
<developer name="DMW" time="1" />
</item>
</category>
<category name="Provide APIs to extend our source editor">
<item priority="high" status="in-progress">
<description>Document and finalize PropertySheetConfiguration</description>
<developer name="NSD" time="1" />
</item>
<item priority="high" status="in-progress">
<description>Document and finalize ContentOutlineConfiguration</description>
<developer name="NSD" time="1" />
</item>
<item priority="medium" status="in-progress">
<description>Plan what to do with Text Tools, preference page IDs, and other current usages</description>
<developer name="AFW" time="1" />
<developer name="NSD" time="1" />
</item>
<item priority="high" status="in-progress">
<description>Eliminate StructuredTextEditor subclasses and switch to plugin action contributions</description>
<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>
<developer name="AFW" time="1" />
</item>
<item priority="high" status="new">
<description>Document APIs for Validation, both Source and Batch</description>
<developer name="PA" time="1" />
</item>
<item priority="medium" status="new">
<description>Make API out of our Highlighting scheme, after investigating avenues with TextPresentation for semantic highlighting</description>
<developer name="AFW" time="1" />
</item>
<item priority="low" status="new">
<description>Clarify and define Formatting API</description>
</item>
<item priority="low" status="new">
<description>Provide extensibility in Content Assist</description>
<detail>Requires researching whether we'll be using participants, partition mappings, or extending the content models by namespace.</detail>
<developer name="PA" time="4" />
</item>
<item priority="low" status="new">
<description>Clean up Preferences</description>
<detail>Simplify and remove unnecessary redundancies</detail>
</item>
<item priority="low" status="new">
<description>Find where we're violating our own APIs and clean them up</description>
</item>
</category>
<category name="Performance">
<detail>Improve memory usage, performance, and thread safety</detail>
<item priority="medium" status="new">
<description>Improve Thread safety by abandoning the use of of IStructuredDocumentRegion.getNextNode for iteration; use IStructuredDocument.getNodes(offset, length) instead</description>
</item>
<item priority="low" status="investigate">
<description>Investigate numerous model and document implementation improvements</description>
<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>
</item>
<item priority="low">
<description>Improve "adapt on create" design and implementation.</description>
</item>
<item priority="low">
<description>Improve "read-only" design</description>
</item>
<item priority="medium">
<description>Improve formatter performance</description>
<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>
</item>
<item priority="low">
<description>Investigate "sparse model" design for memory savings</description>
<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>
</item>
<item priority="medium" status="new">
<description>Redesign StructuredDocument/TextRegions/Parsers to shrink memory usage</description>
<developer name="DMW" time="2" />
</item>
</category>
<category name="Other functionality">
<item priority="medium" status="new">
<description>Document Drag and Drop abilities</description>
<detail>This, however, won't be made API unless we're sure it won't be in platform 3.2</detail>
<developer name="NSD" time="1" />
</item>
</category>
<category name="Quality">
<item priority="medium" status="in-progress">
<description>Continue to Document Designs and API, create JUnit and Performance Tests</description>
<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>
<developer name="DMW" />
<developer name="NSD" />
</item>
<item priority="medium" status="in-progress">
<description>Define and enhance JUnit testcases.</description>
<developer name="DMW" />
</item>
<item priority="medium" status="investigate">
<description>Write on-line documentation.</description>
<developer name="DMW" />
<developer name="NSD" />
<developer name="AFW" />
<developer name="PA" />
</item>
</category>
</milestone>
</component>
</plan>