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

From Eclipsepedia

Jump to: navigation, search
(New page: DRAFT = Release Review: UI = This page is provided as the basis for discussion around the User Interface of Mylyn/Incubator/WikiText. The UI portion of the release review is tracked...)
 
(Tasks UI)
 
(33 intermediate revisions by one user not shown)
Line 1: Line 1:
 
DRAFT
 
DRAFT
  
= Release Review: UI =
+
= Release Review =
  
This page 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=257593 bug 257593].
+
A release review must occur for [[Mylyn/Incubator/WikiText]] to come out of incubationThis page provides materials for discussion related to the release review.
  
= UI Summary =
+
= 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=257593 bug 257593].
 +
 
 +
== UI Summary ==
  
 
WikiText provides the following UI components:
 
WikiText provides the following UI components:
Line 13: Line 17:
 
* File editor with outline
 
* File editor with outline
 
* TaskEditorExtension implementation
 
* TaskEditorExtension implementation
 +
 +
== WikiText Editor ==
 +
 +
The WikiText editor is enabled for all files whose content type extends wikitext.
 +
 +
=== Editor Overview ===
 +
 +
[[image:Editor-showing-highlighting-fonts-contentassist-markers.png]]
 +
 +
* fonts show how markup will render
 +
* content assist
 +
* markers for warnings and errors
 +
 +
=== Editor Outline ===
 +
 +
[[image:Editor-outline.png]]
 +
 +
* editor has outline view that shows headings
 +
* outline selection follows caret position in the editor
 +
* outline is always expanded
 +
 +
=== Content Assist ===
 +
 +
[[image:Editor-contentassist2.png]]
 +
 +
* editor content-assist suggestions are adjusted depending on cursor position
 +
 +
=== Editor Preview ===
 +
 +
[[image: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 ===
 +
 +
[[image: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 ===
 +
 +
[[image:Editor-markuplanguage.png]]
 +
 +
* editor uses context menu for setting markup language to a non-default value
 +
** 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 ==
 +
 +
[[image:Editor-preferences-context-help.png]]
 +
 +
* workspace preferences are available for setting fonts/styles in the editor
 +
* shown with context-help visible
 +
 +
== Workspace ==
 +
 +
=== WikiText Files ===
 +
 +
[[image:Wikitext-files.png]]
 +
 +
* have the content-type 'wikitext'
 +
* have an icon
 +
 +
=== Context Menus ===
 +
 +
[[image:Wikitext-file-context-menu.png]]
 +
 +
* available for converting wikitext files to HTML, DocBook, Eclipse Help
 +
* on wikitext files only
 +
 +
=== Project Settings ===
 +
 +
[[image:Project-settings.png]]
 +
 +
* for enabling wikitext validation
 +
 +
== Task Editor Extension ==
 +
 +
WikiText provides a task editor extension for each markup language
 +
 +
=== Repository Settings ===
 +
 +
[[image:Tee-settings.png]]
 +
 +
* each option in the the 'editor' section is contributed by WikiText
 +
 +
=== Task Editor ===
 +
 +
[[image:Tee-editor.png]]
 +
 +
* the task editor behaves much the same as the wikitext editor with the extension enabled
 +
 +
==== Preview ====
 +
 +
[[image: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 ===
 +
 +
[[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

Contents

[edit] 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.

[edit] 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.

[edit] UI Summary

WikiText provides the following UI components:

  • Eclipse preferences page
  • Context menu contributions
  • File editor with outline
  • TaskEditorExtension implementation

[edit] WikiText Editor

The WikiText editor is enabled for all files whose content type extends wikitext.

[edit] Editor Overview

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

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

[edit] Editor Outline

Editor-outline.png

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

[edit] Content Assist

Editor-contentassist2.png

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

[edit] Editor Preview

Editor-preview.png

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

[edit] 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

[edit] Editor Context Menu

Editor-markuplanguage.png

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

[edit] 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

[edit] Workspace Preferences

Editor-preferences-context-help.png

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

[edit] Workspace

[edit] WikiText Files

Wikitext-files.png

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

[edit] Context Menus

Wikitext-file-context-menu.png

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

[edit] Project Settings

Project-settings.png

  • for enabling wikitext validation

[edit] Task Editor Extension

WikiText provides a task editor extension for each markup language

[edit] Repository Settings

Tee-settings.png

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

[edit] Task Editor

Tee-editor.png

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

[edit] Preview

Tee-editor-preview.png

  • editor preview is rendered by a StyledText

[edit] Architecture

[edit] 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.

[edit] Extension Points

WikiText defines some extension points so that it can be extended both internally and by 3rd parties:

[edit] Core Extension Points

  • markupLanguage a means of registering a markup language
  • markupValidationRule a means of registering a validation rule against a specific markup language

[edit] UI Extension Points

  • cheatSheet associate a 'cheat sheet' (help content) with a specific markup language
  • contentAssist associate content assist with a specific markup language

[edit] Help Content

A user guide and a developer guide are provided. The user guide is connected to the context help system.


[edit] 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

[edit] Parser

Parser-architecture.png

[edit] 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.

[edit] Dependencies

[edit] 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

[edit] UI

Wikitext-ui-dependencies.png

[edit] Tasks UI

Wikitext-tasks-ui-dependencies.png

[edit] 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