This tutorial will focus on building custom editors based on WTP's XML editor. The first part of the tutorial will cover extending the source editor itself, while the second part will cover various approaches for adding a form-based "design view" for a specific schema.
The tutorial will start by giving an overview of the basic organization of text editors and then give an in-depth look at editors built using the Structured Source Editing (SSE) framework from the Web Tools Platform. Topics covered will include usage of provisional APIs for the SSE XML DOM and structured source models. Much of this information is also relevant when building upon WTP's HTML and JSP editing. Coverage will also include APIs and extension points allowing for complete customization of the outline view, properties view, contributing to as-you-type validation, adding your own Content Assist proposals, and using the provided debugging dialog. This tutorial will include coding examples that involve the XML and SSE components of the Source Editing subproject, but that apply equally well to the HTML, JSP, CSS, and DTD components of WTP, as well as commercial products that include them.
The second part of the tutorial will focus on adding a form-based design view to an XML editor. The presenter will discuss various challenges that are encountered in such a project (such as handling synchronization with the source view and treatment of invalid input) and ways to solve these challenges. An overview of different approaches will be given and functional tradeoffs between them will be discussed. After the overview, the bulk of this section will focus on showing how to use a custom framework that the presenter has developed as part of building several form-based editors for very large and complex schemas. The framework allows one to relatively quickly add high quality form-based design views to XML editors. The source code for this framework will be made available as part of this tutorial under the EPL license.
This tutorial targets developers who are familiar with writing Eclipse plug-ins and who are interested in extending the provided SSE editors (especially the XML editor). The slides and the demo project will be provided beforehand for attendes to review. This should leave time for low-level discussion and specific implementation questions.
Konstantin is an engineering team lead at Oracle working on a product with close ties to Eclipse and has been a committer on the Web Tools Platform since before its first release. He has designed and implemented the Faceted Project Framework which made it possible for people to easily extend capabilities of WTP projects. He is also on the Technology Project's PMC as a reflection of his interest in making it easier to start small projects at Eclipse. In his prior life, he has worked on compilers, custom servers and network protocol design. He graduated from the University of Washington with BS in Computer Science.
Nick is an Eclipse Committer from IBM Rational for the Source Editing subproject of the Eclipse Web Tools Platform. He graduated from Virginia Tech with a B.S. in Computer Engineering.