Vex

The project has been created.

Vex

The Vex project is a proposed open source project under the Mylyn Docs container project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Eclipse Proposals Forum.

Background

XML is being used more and more in document file formats. Such formats as DocBook, and DITA have been used to help provide a common format for document meta data. It helps separate the content from the presentation. As word processor formats move to XML like OpenOfficeXML and OpenDocument, it becomes more critical to have a WYSIWYM interface for these file formats. Most users that have to write books, articles, and other print related material don't want to deal with the tags for the files, but they want the convenience and separation of presentation that these formats provide.

Scope

The Visual Editor for XML is a set of plug-ins that provide WYSIWYM editing ability for XML files. This can be used regardless of the XML involved, and uses CSS stylesheets to provide the formatting for the presentation layer. All that is needed is a stylesheet and an appropriate XML file to edit. It hides the XML tags from the user, allow them to have a word processor like experience but store the information in the native XML format.

The Vex plug-ins will also provide an API to edit structured textual formats that are similar to XML (e.g. WikiText). Vex's editor widget can provide the same editing convenience for those lightweight formats. All that is needed is a mapping between the text format and the object model used by Vex, in conjunction with CSS stylesheets to define the presentation.

There is a long lasting demand in the community for a text entry widget that also allows simple formatting and semantic tagging of the entered text. Most previous solutions were based on the browser widget, Swing or other external (not native SWT) technologies. Vex will accommodate this demand with a solution natively implemented in SWT.

Description

Vex will be based off of a contribution from the Vex (Visual Editor for XML) project, originally created by John Krasnay and hosted at sourceforge.net. In the year 2008 this code was donated to Eclipse and has been an Eclipse Web Tools Incubator component. The goal of the project is to provide a WYSIWYM XML Editor primarily targeted for those using XML authoring file formats. It will be leverage existing XML support and frameworks from the Web Developers Tools project. Particularly, the Structure Source Editor, as well as the WTP validation frameworks. It will also make use of the DTD and XML schema support for the files as well. It provides a plug-in architecture that allows for the use with any arbitrary XML file, and creation of new CSS style sheets that can be used with existing known document formats.

Initial Contribution

All code is currently incubating with in the Web Tools Incubator project. The current committers are shooting for a spring graduation date. The code has consistent Hudson builds, and is using Git as version control system. Builds are using Maven 3 and Tycho. P2 update sites are available. The code supports DITA and DocBook formats out of the box.

Legal Issues

All code has been reviewed and approved through the Eclipse IP Process. There are no outstanding CQs that need to be completed or approved. All past contributors on the SourceForge project have approved the relicensing of the code under the Eclipse Public License.

Committers

The following individuals are proposed as initial committers to the project:

Florian Thienel
Florian Thienel, is a committer on the Web Tools Incubator Vex component. (proposed project lead)
David Carver, Intalio Inc.
David Carver, is a committer on the Web Tools Source Editing project, Orbit, and XQuery web tools incubator project. He is also a current member of the Eclipse Architecture Council.
Holger Voorman, Agilantis
Holger Voorman, is a committer on the Web Tools Incubator Vex component.
Igor Jacy Lino Campista
Igor Jacy Lino Campista, is a committer on the Web Tools Incubator Vex component.

We welcome additional committers and contributions.

Mentors

The following Architecture Council members will mentor this project:

  • David Carver
  • Mik Kersten

Interested Parties

The following individuals, organisations, companies and projects have expressed interest in this project:

Project Scheduling

The tentative plan is to get the existing code migrated and aligned with the Mylyn project's development process. This will include:

  • Migrate code to Mylyn and do package renaming.
  • Update and create documentation.
  • Provide base line Cookbook examples for creating appropriate stylesheets.
  • Integrate with WikiText to provide a sexier editor.
  • Continue working on support for XML Schema and XML Namespaces.
  • Continue working on support for displaying Images within the editor.