A release review must occur for Mylyn/Incubator/WikiText to come out of incubation. This page provides materials for discussion related to the release review.
WikiText provides the following UI components:
- Eclipse preferences page
- Context menu contributions
- File editor with outline
- TaskEditorExtension implementation
The WikiText editor is enabled for all files whose content type extends wikitext.
- fonts show how markup will render
- content assist
- markers for warnings and errors
- editor has outline view that shows headings
- outline selection follows caret position in the editor
- outline is always expanded
- editor content-assist suggestions are adjusted depending on cursor position
- editor has tabs at the bottom
- the Preview tab shows a rendered version of the markup using the browser
Editor And Markers
- editor uses markers
- markers of course are visible in navigator views, in the editor and in the problems view
Editor Context Menu
- editor uses context menu for setting markup language to a non-default value
- setting is persisted
- pressing 'F1' in the editor causes the cheat-sheet pop-up to be displayed
- cheat-sheet is specific to the markup language setting of the editor
- pressing the question mark help icon at the bottom of the pop-up causes WikiText help to be displayed
- workspace preferences are available for setting fonts/styles in the editor
- shown with context-help visible
- have the content-type 'wikitext'
- have an icon
- available for converting wikitext files to HTML, DocBook, Eclipse Help
- on wikitext files only
- for enabling wikitext validation
Task Editor Extension
WikiText provides a task editor extension for each markup language
- each option in the the 'editor' section is contributed by WikiText
- the task editor behaves much the same as the wikitext editor with the extension enabled
- editor preview is rendered by a StyledText
WikiText is organized into 14 plug-ins and 1 feature. Source code makes use of standard Java and Eclipse naming conventions. Package structure makes use of *.internal.* naming convention for indicating public versus internal APIs.
WikiText defines some extension points so that it can be extended both internally and by 3rd parties:
Core Extension Points
- markupLanguage a means of registering a markup language
- markupValidationRule a means of registering a validation rule against a specific markup language
UI Extension Points
- cheatSheet associate a 'cheat sheet' (help content) with a specific markup language
- contentAssist associate content assist with a specific markup language
A user guide and a developer guide are provided. The user guide is connected to the context help system.
WikIText provides the following via API
- an extensible parser framework
- an output framework following the Builder design pattern
- implementations for HTML, DocBook, DITA, Eclipse Help
- a validation framework
- a SourceViewer for viewing HTML and WikiText documents
- Ant tasks
- 5 markup language implementations
WikiText uses JUnit tests to verify correctness. Currently the test suite consists of aproximately 430 JUnits. All of these are passing.
Code coverage of core framework classes is excellent. Every notation and language construct implemented by markup languages has at least one JUnit test.
UI tests are lacking.
- note that many of the WikiText classes are usable without runtime or ant
- the ant plug-in is a build-time dependency only and is optional
The review was conducted Thursday January 8 2009. Review notes can be found here: Mylyn/Meetings#Thursday.2C_January_8th.2C_10-11am_PT