Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Mylyn/Incubator/WikiText/ReleaseReview
DRAFT
Contents
Release Review
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.
User Interface
This section is provided as the basis for discussion around the User Interface of Mylyn/Incubator/WikiText. The UI portion of the release review is tracked with bug 257593.
UI Summary
WikiText provides the following UI components:
- Eclipse preferences page
- Context menu contributions
- File editor with outline
- TaskEditorExtension implementation
WikiText Editor
The WikiText editor is enabled for all files whose content type extends wikitext.
Editor Overview
- fonts show how markup will render
- content assist
- markers for warnings and errors
Editor Outline
- editor has outline view that shows headings
- outline selection follows caret position in the editor
- outline is always expanded
Content Assist
- editor content-assist suggestions are adjusted depending on cursor position
Editor Preview
- 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
Cheat Sheet
- 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
- workspace preferences are available for setting fonts/styles in the editor
- shown with context-help visible
Workspace
WikiText Files
- have the content-type 'wikitext'
- have an icon
Context Menus
- available for converting wikitext files to HTML, DocBook, Eclipse Help
- on wikitext files only
Project Settings
- for enabling wikitext validation
Task Editor Extension
WikiText provides a task editor extension for each markup language
Repository Settings
- each option in the the 'editor' section is contributed by WikiText
Task Editor
- the task editor behaves much the same as the wikitext editor with the extension enabled
Preview
- editor preview is rendered by a StyledText
Architecture
Artefact Organization
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.
Extension Points
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
Help Content
A user guide and a developer guide are provided. The user guide is connected to the context help system.
API
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
Parser
Tests
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.
Dependencies
Core
- 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
UI
Tasks UI
Review Notes
The review was conducted Thursday January 8 2009. Review notes can be found here: Mylyn/Meetings#Thursday.2C_January_8th.2C_10-11am_PT