Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[wtp-dev] FW: Project Proposal: Faceted Project Framework



Also, in case you didn’t catch it on Planet Eclipse, I managed to talk myself onto Technology Project’s PMC, so I guess I will have to now be part of the solution instead of just complaining about the problem. :)


Those who are interested in following the saga of the Nexus project proposal should tune into the technology-pmc@xxxxxxxxxxx mailing list or at least read the archives.


Let me know if there are any questions.


Konstantin Komissarchik | Consulting Member of Technical Staff
Phone: +1 425 201 1795 | Mobile: +1 206 898 0611
Oracle Eclipse Tooling
411 108th Ave NE, Suite 2100 | Bellevue, WA 98004


From: Konstantin Komissarchik [mailto:konstantin.komissarchik@xxxxxxxxxx]
Sent: Monday, October 13, 2008 3:12 PM
To: 'Technology PMC'
Subject: Project Proposal: Faceted Project Framework


Technology PMC,


Attached is a project proposal for the Faceted Project Framework that was mentioned in various recent threads on this mailing list. Please give it a read and post any questions. Indicate with +1/-1 if you are ready to move forward with official project declaration.


We will use this project as one of the test subjects for learning how Technology PMC can effectively manage and facilitate micro-projects.


Konstantin Komissarchik | Consulting Member of Technical Staff
Phone: +1 425 201 1795 | Mobile: +1 206 898 0611
Oracle Eclipse Tooling
411 108th Ave NE, Suite 2100 | Bellevue, WA 98004



Faceted Project Framework


Faceted Project Framework is a mature component of Eclipse Web Tools Platform (WTP) that facilitates treating Eclipse projects as composed of units of functionality (called facets) that can be easily added or removed by users. This is a proposal to move this framework from WTP to a standalone project so that it can be accessed by Eclipse Projects that do not have a natural dependency on WTP.

The Faceted Project Framework is a proposed open-source project under the Eclipse Development Process, and will incubate under the top-level Technology project. This proposal is posted here to solicit community feedback and additional project participation. You are invited to comment on and/or join the project. Please send all feedback to the eclipse.fproj newsgroup.

Core Framework Requirements

  • Reduce the need for creation of specialized project wizards for different variants of what is essentially the same project type by facilitating creation of flexible wizards that allow user to select among various optional project components.
  • Reduce the need for creation of adhoc "Enable X functionality" project actions by providing a centralized facility for managing functionality that's enabled in a project.
  • Provide a way to accurately model tooling capabilities as they map to capabilities of a target platform. Prevent user from accidentally using techology that's incompatible with user's target platform.


The project would be composed of at least two components:

  1. Core Framework
    1. API for building facets and manipulating faceted projects.
    2. UI for manipulate faceted projects. Includes a project properties page for adding and removing facets and a base wizard implementation for creating new faceted projects.
    3. Documentation for writing facets.
  2. JDT Enablement
    1. Java facet that's built around JDT's Java Project Nature.
    2. Modeling of runtimes that are JVM-based.
    3. Tools for making it easier to build facets for Java-based technologies. Includes tools for helping facets manage libraries.
  3. Other Enablement (future)
    1. Integration with other Eclipse Projects. This is an area for possible future work.

Relationship with Other Eclipse Projects

Faceted Project Framework leverages Resources and UI frameworks from Eclipse Platform. Facets can co-exist in the same project with Natures (from Eclipse Platform Resources).

JDT Enablement component leverages various API provided by the JDT project.

WTP will be the main consumer of artifacts produced by this project for immediate future. This project will not have any dependencies on WTP.


Initial Committers

The initial committers for this component would be:
  • Konstantin Komissarchik (Oracle), proposed project lead

Code Contributions

The initial code contribution will come from Eclipse Web Tools Platform project.

Interested Parties


Developer Community

Developers who start out leveraging this framework might eventually contribute bug fixes and features.

User Community

This project will not provide functionality that can be directly consumed by end-users. Users of this project will be developers at other Eclipse Projects as well as developers in the broader Eclipse Community.

Project Plan

The first release of this project will be aggressively scheduled to line up with Galileo Simultaneous Release (June 2009). The primary goals of the first release will be to (a) refactor code contribution from WTP into project's namespace, (b) eliminate several years worth of deprecated API from the code base, and (c) other work necessary to get established as an independent project.

Simultaneously to the above, the version of the framework in WTP would be modified to become a backwards-compatibility shell that delegates to the new framework. The goal would be for WTP 3.1 (the version that will ship for Galileo) to use the new framework. This assumes that this project will be able to exit incubation in time for Galileo, so it's an agressive schedule.

Back to the top