Jump to: navigation, search

Difference between revisions of "Mylyn/Incubator/WikiText/ReleaseReview"

m (Task Editor)
(Tasks UI)
 
(12 intermediate revisions by the same user not shown)
Line 64: Line 64:
 
* editor uses context menu for setting markup language to a non-default value
 
* editor uses context menu for setting markup language to a non-default value
 
** setting is persisted
 
** setting is persisted
 +
 +
=== Cheat Sheet ===
 +
 +
[[image:Cheat-sheet.png]]
 +
 +
* 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 ==
Line 112: Line 120:
 
==== Preview ====
 
==== Preview ====
  
[[image:????.png]]
+
[[image:Tee-editor-preview.png]]
  
 
* editor preview is rendered by a StyledText
 
* editor preview is rendered by a StyledText
Line 118: Line 126:
 
= Architecture =
 
= Architecture =
  
todo
+
 
 +
== 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 ===
 +
 
 +
[[image:Parser-architecture.png]]
 +
 
 +
== 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 ===
 +
 
 +
[[image:Wikitext-core-dependencies.png]]
 +
 
 +
* 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 ===
 +
 
 +
[[image:Wikitext-ui-dependencies.png]]
 +
 
 +
=== Tasks UI ===
 +
 
 +
[[image:Wikitext-tasks-ui-dependencies.png]]
 +
 
 +
= 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]]

Latest revision as of 17:02, 8 January 2009

DRAFT

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

Editor-showing-highlighting-fonts-contentassist-markers.png

  • fonts show how markup will render
  • content assist
  • markers for warnings and errors

Editor Outline

Editor-outline.png

  • editor has outline view that shows headings
  • outline selection follows caret position in the editor
  • outline is always expanded

Content Assist

Editor-contentassist2.png

  • editor content-assist suggestions are adjusted depending on cursor position

Editor Preview

Editor-preview.png

  • editor has tabs at the bottom
  • the Preview tab shows a rendered version of the markup using the browser

Editor And Markers

Editor-markers2.png

  • editor uses markers
  • markers of course are visible in navigator views, in the editor and in the problems view

Editor Context Menu

Editor-markuplanguage.png

  • editor uses context menu for setting markup language to a non-default value
    • setting is persisted

Cheat Sheet

Cheat-sheet.png

  • 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

Editor-preferences-context-help.png

  • workspace preferences are available for setting fonts/styles in the editor
  • shown with context-help visible

Workspace

WikiText Files

Wikitext-files.png

  • have the content-type 'wikitext'
  • have an icon

Context Menus

Wikitext-file-context-menu.png

  • available for converting wikitext files to HTML, DocBook, Eclipse Help
  • on wikitext files only

Project Settings

Project-settings.png

  • for enabling wikitext validation

Task Editor Extension

WikiText provides a task editor extension for each markup language

Repository Settings

Tee-settings.png

  • each option in the the 'editor' section is contributed by WikiText

Task Editor

Tee-editor.png

  • the task editor behaves much the same as the wikitext editor with the extension enabled

Preview

Tee-editor-preview.png

  • 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

Parser-architecture.png

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

Wikitext-core-dependencies.png

  • 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

Wikitext-ui-dependencies.png

Tasks UI

Wikitext-tasks-ui-dependencies.png

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