| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head><title>eclipse.org page</title><meta name="author" content="" /> |
| <meta name="keywords" content="" /><link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/small.css" title="small" /><link rel="alternate stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/large.css" title="large" /><link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/visual.css" media="screen" /><link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/layout.css" media="screen" /> |
| <!--[if IE]> <link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/ie_style.css" media="screen"/> <![endif]--> |
| <!--[if IE 6]> <link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/ie6_style.css" media="screen"/> <![endif]--> |
| <link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/print.css" media="print" /> |
| <link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Phoenix/css/header.css" media="screen" /> |
| <script type="text/javascript" src="/eclipse.org-common/themes/Phoenix/styleswitcher.js"></script> |
| <style> |
| body { |
| background-image: url('/proposals/proposal.gif'); |
| background-repeat: repeat-y |
| } |
| </style> |
| </head> |
| <body> |
| <div id="header"> |
| <div id="header-graphic" class="eclipse-main"> |
| <a href="/"><img src="/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg" alt="" /></a><h1>Eclipse</h1> |
| </div> |
| <div id="header-global-holder" class="eclipse-main-global"> |
| <div id="header-global-links"><ul> |
| <li><a href="/org/foundation/contact.php" class="first_one">Contact</a></li><li><a href="/legal/">Legal</a></li> |
| </ul> |
| </div> |
| <div id="header-icons"> |
| <a href="http://live.eclipse.org"><img src="/eclipse.org-common/themes/Phoenix/images/Icon_Live.png" width="28" height="28" alt="Eclipse Live" title="Eclipse Live" /></a> |
| <a href="http://www.eclipseplugincentral.com"><img src="/eclipse.org-common/themes/Phoenix/images/Icon_plugin.png" width="28" height="28" alt="Eclipse Plugin Central" title="Eclipse Plugin Central" /></a> |
| <a href="http://www.planeteclipse.org"><img src="/eclipse.org-common/themes/Phoenix/images/Icon_planet.png" width="28" height="28" alt="Planet Eclipse" title="Planet Eclipse" /></a> |
| </div> |
| </div></div><div id="header-menu"><div id="header-nav"> |
| <ul> |
| <li><a class="first_one" href="/" target="_self">Home</a></li> |
| <li><a href="/users/" target="_self">Users</a></li> |
| <li><a href="/membership/" target="_self">Members</a></li> |
| <li><a href="/committers/" target="_self">Committers</a></li> |
| <li><a href="/downloads/" target="_self">Downloads</a></li> |
| <li><a href="/resources/" target="_self">Resources</a></li> |
| <li><a href="/projects/" target="_self">Projects</a></li> |
| <li><a href="/org/" target="_self">About Us</a></li> |
| </ul> |
| </div> |
| <div id="header-utils"> |
| <form action="http://www.google.com/cse" id="searchbox_017941334893793413703:sqfrdtd112s"> |
| <input type="hidden" name="cx" value="017941334893793413703:sqfrdtd112s" /> |
| <input type="text" name="q" size="25" /> |
| <input type="submit" name="sa" value="Search" /> |
| </form> |
| <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_017941334893793413703%3Asqfrdtd112s&lang=en"></script> <ul> |
| <li class="text_size"><a class="smallText" title="Small Text" href="#" onclick="setActiveStyleSheet('small');return false;">A</a> <a class="largeText" title="Large Text" href="#" onclick="setActiveStyleSheet('large');return false;">A</a></li> |
| </ul> |
| </div></div><div id="leftcol"> |
| <ul id="leftnav"> |
| <li class="separator"><a class="separator">Links   <img src="/eclipse.org-common/themes/Phoenix/images/leftnav_bullet_down.gif" border="0" alt="" /></a></li> |
| <li><a href="/proposals/">Proposals</a></li> |
| <li style="background-image: url(/eclipse.org-common/themes/Phoenix/images/leftnav_fade.jpg); background-repeat: repeat-x; border-style: none;"><br /><br /><br /><br /><br /><br /><br /><br /> |
| </li> |
| </ul> |
| |
| </div> |
| <div id="container"> <div id="maincontent">
|
| <div id="midcolumn">
|
|
|
| <h1>Faceted Project Framework</h1>
|
| </p>
|
| <p align="center"><font size="+1"><a href="/projects/">Creation Review</a> is potentially scheduled for |
| <a href="http://www.timeanddate.com/worldclock/fixedtime.html?month=12&day=10&year=2008&hour=16&min=00&sec=0&p1=0">Wed, 10 Dec 2008 at 1600 UTC</a></font><br> |
| Please note that this call will only be held if a member requests that it be held; if nobody<br> |
| requests that the call be held, the proposal will be approved by default.<br> |
| If the call is requested, the call-in information is available on |
| the <a href="http://portal.eclipse.org/">portal</a>.</p> |
|
|
| <h2>Introduction</h2>
|
|
|
| <p>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.</p>
|
|
|
| <p>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 |
| <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.fproj">eclipse.fproj</a> newsgroup.</p> |
|
|
| <h2>Creation Review</h2>
|
|
|
| <ul>
|
| <li>The projection creation review has been scheduled for <b>December 10th, 2008</b>.</li>
|
| <li>The communication channel for the review is the <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.fproj">newsgroup</a>. Use the newsgroup to post
|
| any comments or to request the review to be held on a conference call.</li>
|
| </ul>
|
|
|
| <h2>Scope</h2>
|
|
|
| <p>The Faceted Project Framework project would be chartered with making it possible for
|
| developers to build modular projects where functionality can be easily added and removed by
|
| the user in a standard way. It will further be charted with providing the integration story
|
| between Faceted Project Framework and other technologies at Eclipse in situations where
|
| doing so would substantially broaden the applicability of the framework.</p>
|
|
|
| <p>Here are some of the key requirements:</p>
|
|
|
| <ul>
|
| <li>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.</li>
|
| <li>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.</li>
|
| <li>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.</li>
|
| </ul>
|
|
|
| <h2>Initial Components</h2>
|
|
|
| <p>The project would be initially composed of two components:</p>
|
|
|
| <ol>
|
| <li>Core Framework
|
| <ol>
|
| <li>API for building facets and manipulating faceted projects.</li>
|
| <li>UI for manipulating faceted projects. Includes a project properties page for adding
|
| and removing facets and a base wizard implementation for creating new faceted projects.</li>
|
| <li>Documentation for writing facets.</li>
|
| </ol>
|
| </li>
|
| <li>JDT Enablement
|
| <ol>
|
| <li>Java facet that's built around JDT's Java Project Nature.</li>
|
| <li>Modeling of runtimes that are JVM-based.</li>
|
| <li>Tools for making it easier to build facets for Java-based technologies. Includes tools
|
| for helping facets manage libraries.</li>
|
| </ol>
|
| </li>
|
| </ol>
|
|
|
| <h2>Relationship with Other Eclipse Projects</h2>
|
|
|
| <p>Faceted Project Framework leverages Resources and UI frameworks from Eclipse Platform. Facets
|
| provide a functional superset over Project Natures (part of the Eclipse Platform Resources). Projects
|
| taking advantage of the Faceted Project Framework can choose to rely solely on it or mix facets
|
| and natures. The mixing scenario is particularly important in cases where an existing code base
|
| already uses natures and backwards compatibility needs to be maintained. In those situation facets
|
| can serve as wrappers around natures.</p>
|
|
|
| <p>There is a possibility that a deeper integration with Eclipse Platform will happen as there has
|
| been some interest from the E4 project.</p>
|
|
|
| <p>JDT Enablement component leverages various API provided by the JDT project.</p>
|
|
|
| <p>WTP would be the main consumer of artifacts produced by this project for immediate future. </p>
|
|
|
| <h2>Organization</h2>
|
|
|
| <h3>Initial Committers</h3>
|
|
|
| The initial committers for this component would be:
|
| <ul>
|
| <li><b>Konstantin Komissarchik, Oracle, proposed project lead:</b>
|
| Konstantin works on Oracle Enterprise Pack for Eclipse commercial product and has been a committer on
|
| Eclipse Web Tools Platform since the first release. At WTP, his biggest contribution has been
|
| the design and implementation of the Faceted Project Framework (subject of this proposal), but he
|
| is also involved in several other areas. He leads WTP Common Tools project and is a member of
|
| the Technology Project PMC.</li>
|
| </ul>
|
|
|
| <h3>Project Mentors (from Architecture Council)</h3>
|
|
|
| <ul>
|
| <li>Neil Hauge, Oracle, leads Dali JPA Tools project</li>
|
| <li>Oisin Hurley, Progress Software, leads SOA Tools project</li>
|
| </ul>
|
|
|
| <h3>Code Contributions</h3>
|
|
|
| <p>The initial code contribution will come from Eclipse Web Tools Platform project.</p>
|
|
|
| <h3>Interested Parties</h3>
|
|
|
| <p>WTP, Eclipse IAM, STP, PDT</p>
|
|
|
| <h3>Developer Community</h3>
|
|
|
| <p>Developers who start out leveraging this framework might eventually contribute bug fixes and features.</p>
|
|
|
| <h3>User Community</h3>
|
|
|
| <p>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.</p>
|
|
|
| <h3>Project Plan</h3>
|
|
|
| <p>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.</p>
|
|
|
| <p>Concurrently with the above work, a change will be prepared to alter the version of the Faceted Project
|
| Framework in WTP to become a shell that delegates to the new framework. It is absolute requirement that the
|
| existing API is not broken and continues to behave as before. This will be verified both via automated tests
|
| as well as via in-depth manual tests. Any interested adopters will be given this patch if they wish to test
|
| in the context of their products. The precise details and time of adoption of this project by WTP will be
|
| worked out by WTP. Note that adoption can only happen once this project has exited incubation.</p>
|
|
|
| <br/><br/>
|
| <center><p>Copyright (c) 2008 Oracle<br/>Made available under Eclipse Public License v1.0</p></center>
|
|
|
| </div>
|
| </div>
|
| <script type="text/javascript"> |
| var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); |
| document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); |
| </script> |
| <script type="text/javascript"> |
| var pageTracker = _gat._getTracker("UA-910670-2"); |
| pageTracker._initData(); |
| pageTracker._trackPageview(); |
| </script></div><div id="footer"> |
| <ul id="footernav"> |
| <li class="first"><a href="/">Home</a></li> |
| <li><a href="/legal/privacy.php">Privacy Policy</a></li> |
| <li><a href="/legal/termsofuse.php">Terms of Use</a><a href="/org/press-release/20081112_termsofuse.php"><img src="/images/updated.png" align="absmiddle" /></a></li> |
| </ul> |
| <p>Copyright © 2008 The Eclipse Foundation. All Rights Reserved</p> |
| </div></body></html> |