| <?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop' | |
| $pageTitle = ""; | |
| $pageKeywords = ""; | |
| $pageAuthor = ""; | |
| ob_start(); | |
| ?> | |
| <div id="maincontent"> | |
| <div id="midcolumn"> | |
| <h1>Eclipse Examples Project</h1> | |
| </p> | |
| <?php | |
| $project_header = $_SERVER['DOCUMENT_ROOT'] . "/projects/fragments/proposal-page-header.php"; | |
| if (file_exists($project_header)) { | |
| include_once($project_header); | |
| generate_header("EEP"); | |
| } else { | |
| $theme = "Phoenix"; | |
| } | |
| ?> <!-- Proposal content starts here. --> | |
| <h2>Introduction</h2> | |
| <p>The Eclipse Examples Project (EEP) provides a location for adopters | |
| of Eclipse technology to find well-documented example applications, | |
| platforms, and features/plug-ins/bundles that demonstrate the use of | |
| Eclipse technology. The idea behind the project is to provide a home for | |
| examples of applications and plug-ins that use Eclipse technology. As a | |
| general rule, examples utilize technologies from multiple Eclipse | |
| projects, though this is not rigorously enforced to avoid excluding | |
| examples that might otherwise be useful and interesting.</p> | |
| <p>We believe that a collection of well-documented and compelling | |
| examples demonstrating the use of Eclipse technology is of great benefit | |
| to the projects and the adopter community. First, these examples provide | |
| increased visibility for the projects. Further, they provide a vehicle | |
| for demonstrating and testing interactions between projects that might | |
| otherwise be difficult or impossible provide in the context of any one | |
| project. Perhaps most important, these examples provide much-needed | |
| documentation for adopters of Eclipse Technology.</p> | |
| 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.technology.eep">http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.eep</a> newsgroup.</p> | |
| <h2>Values</h2> | |
| <p>The following values guide the development of EEP components.</p> | |
| <p><em>Examples use Eclipse runtime technology.</em> Eclipse <a | |
| href="/equinox">Equinox</a> is the delivery platform for all examples | |
| except when non-Java technology is required, or it is otherwise | |
| inappropriate. Eclipse technology is also used to to create the | |
| examples. Where Eclipse tools are used in a novel or non-obvious manner | |
| to create the example code, processes employed are documented.</p> | |
| <p><em>Only public APIs are used in the examples.</em> Examples use the | |
| most recent APIs when a choice is available.</p> | |
| <p><em>The most recent releases of Eclipse projects are supported.</em> | |
| As the Eclipse projects the examples are built upon are updated, so are | |
| the examples. Examples support the most recent "general | |
| availability"(GA) release (n) and (possibly) the previous GA | |
| release (n-1) of the projects they use. Examples clearly | |
| indicate—on both the website and, when possible, within the | |
| example itself—the projects and releases they are built upon. | |
| Examples that cannot be maintained, or support Eclipse project releases | |
| older than n-1, are archived.</p> | |
| <p><em>All examples are thoroughly documented.</em> More specifically, | |
| all classes, interfaces, and non-trivial fields and | |
| methods—irrespective of any visibility modifiers—have | |
| comments that describe their utility. All comments are as descriptive as | |
| they need to be, including sensible cross-referencing links where | |
| appropriate. Comments are not long-winded or unnecessarily long.</p> | |
| <p><em>Examples are as small as possible.</em> Unnecessary or unused | |
| files, types, constructors, fields, methods, etc. are removed.</p> | |
| <p><em>Examples are implemented in as simple a manner as possible</em> | |
| (but no simpler). Implementations are not simplistic. They are | |
| sophisticated enough to demonstrate how the technology is used.</p> | |
| <p><em>Where possible, examples are extensible.</em> Eclipse Rich Client | |
| Platform (<a href="/rcp">RCP</a>) applications are built as extensible | |
| platforms. Examples that manifest as bundles are, where sensible, | |
| extendable by other bundles.</p> | |
| <p><em>Examples are test-infected.</em> That is, they are thoroughly | |
| covered with JUnit tests (using the most recent version of JUnit). In | |
| keeping spirit with the other values, test code is also well-documented, | |
| and are implemented as small and simple as possible.</p> | |
| <p><em>Examples are easily downloaded and buildable.</em> Examples that | |
| require extra artifacts (like bundles from <a href="/orbit">Orbit</a>, | |
| or custom RCP targets) include scripts and/or instructions for building | |
| the custom environment. Where possible, Eclipse technology such as <a | |
| href="/buckminster">Buckminster</a> is used to define these scripts | |
| (further increasing the utility of the example).</p> | |
| <p><em>Examples are translatable into multiple languages where | |
| appropriate and sensible.</em> All strings are externalized. Examples | |
| leverage the most recent version ICU4J in providing this support.</p> | |
| <p><em>Examples are IP reviewed.</em> All intellectual property (IP) | |
| contributions to the project pass IP review within nine months of | |
| submission. Contributions which cannot be reviewed within that time are | |
| removed from the repository.</p> | |
| <h2>Initial Contributions</h2> | |
| <p>Each of the following applications is a separate component in the | |
| project.</p> | |
| <h3>Sudoku</h3> | |
| <p>The Eclipse Sudoku is well known within the community. It is | |
| implemented as an Eclipse RCP application and has already been enhanced | |
| with multiple-user support by Eclipse Communication Framework (<a | |
| href="/ecf">ECF</a>) committers. Further, it has been adapted to run on | |
| embedded devices using the Embedded RCP (<a href="/dsdp/ercp">eRCP</a>) | |
| and there is interest in developing a version of it that will run on the | |
| Rich Ajax Platform (<a href="/rap">RAP</a>).</p> | |
| <p>Sudoku is implemented as an extensible platform that can be enhanced | |
| with additional puzzle generators and solvers (which, incidentally, is | |
| the reason that the example was originally created).</p> | |
| <h3>Organizer</h3> | |
| <p>The Eclipse Organizer provides task management and e-mail | |
| functionality. It is implemented as an extensible platform that can be | |
| extended to provide other types of functionality including such things | |
| as contact and calendar management.</p> | |
| <p>The current implementation is very much a proof of concept that will | |
| change architecturally in the coming months. We envision that this | |
| example will make use of technology provided by the <a | |
| href="/eclipselink">EclipseLink</a> project for data connectivity, and | |
| the <a href="/higgins">Higgins project</a> for identity management. We | |
| believe that there is also potential for the use of technology from the | |
| ECF, <a href="/riena">Riena</a>, and <a href="/swordfish">Swordfish</a> | |
| projects in this example.</p> | |
| <p>We recognize that some of the functionality provided by this example, | |
| specifically task management, is already provided by the <a | |
| href="/mylyn">Mylyn</a> project. It is not our intention to complete | |
| with that project or any similar products. The task management in this | |
| example functionality is very rudimentary and our plan for moving | |
| forward with this example will include consideration for possible | |
| incorporation of Mylyn technology.</p> | |
| <h3>Image Preview View</h3> | |
| <p>The Image Preview is a feature that includes a small number of | |
| bundles that contribute a view that provides a preview of the image | |
| associated with the current selection in the workbench window. The | |
| example shows how views that are tightly integrated with the workbench | |
| can be loosely coupled from much of the framework using the workbench | |
| selection service, and the adapter framework. The implementation | |
| currently provides a preview for selected files, but can be extended by | |
| providing adapters for other types of objects.</p> | |
| <h2>Organization</h2> | |
| <h3>Mentors</h3> | |
| <ul> | |
| <li>Wayne Beaton (wayne@eclipse.org)</li> | |
| <li>Thomas Hallgren (thomas@tada.se)</li> | |
| </ul> | |
| <h3>Initial committers</h3> | |
| <p>The initial committers will focus on getting the aforementioned | |
| examples into the code repository, filling in missing functionality and | |
| ensuring that the project values have been applied. They will further | |
| focus on identifying other examples that are appropriate for inclusion | |
| in the project; we will activity encourage contributions both of code | |
| and development resources. Our agile development process will follow | |
| eclipse.org's standards for openness and transparency.</p> | |
| <p>The initial committers and contributors are:</p> | |
| <ul> | |
| <li>Wayne Beaton (wayne@eclipse.org) : Project Lead, Committer</li> | |
| <li>Scott Lewis (slewis@composent.com) : Committer</li> | |
| <li>Remy Suen (remy.suen@gmail.com) : Committer</li> | |
| <li>Heiko Seeberger (heiko.seeberger@metafinanz.de) : Committer</li> | |
| <li>Benjamin Muskalla (bmuskalla@innoopract.com) : Committer</li> | |
| <li>Ha Li (halizhangyu@sina.com) : Commmitter</li> | |
| </ul> | |
| <h3>Code Contribution</h3> | |
| <p>The Eclipse Foundation offers an initial code contribution for all of | |
| the aforementioned examples.</p> | |
| <h3>Interested parties</h3> | |
| <ul> | |
| <li>Tom Schindl (tom.schindl@bestsolution.at)</li> | |
| <li>Doug Clarke (douglas.clarke@oracle.com)</li> | |
| <li>Peter Krogh (peter.krogh@oracle.com)</li> | |
| <li>Channing Walton (channing.walton@casualmiracles.com)</li> | |
| <li>Chris Aniszczyk (zx@ibm.com)</li> | |
| <li>Thomas Hallgren (thomas@tada.se)</li> | |
| </ul> | |
| <h3>User community</h3> | |
| <p>The intended user community is developers who are building | |
| applications, products, tools, IDEs, plug-ins and more using Eclipse | |
| technology.</p> | |
| <h3>Tentative Plan</h3> | |
| <p>The EEP will retrain incubator status for the foreseeable future. No | |
| components of this project are intended to be ever become official | |
| Eclipse API.</p> | |
| <p>The Eclipse Examples Project will make use of the Eclipse CVS | |
| repository to ensure that the barriers to entry are low. The first step | |
| will be to establish the incubation status of the project and then move | |
| the aforementioned initial contributions through the IP due diligence | |
| process and into the source code repository and establish Eclipse | |
| Bugzilla components for each of them.</p> | |
| <p>Once the project is established, we will start the process of merging | |
| the Sudoku currently present in the DSDP CVS repository into EEP. We | |
| will then engage in revising the architecture of the Sudoku example with | |
| the intent of generalizing it to make a better fit for a RAP-based | |
| version.</p> | |
| <p>The architecture of the Eclipse Organizer application will be | |
| revisited with consideration for inclusion of Higgins to provide | |
| identity management for the e-mail client and EclipseLink for local | |
| persistence of artifacts.</p> | |
| <p>Development of a detailed plan for this development is targeted to | |
| coincide with the Ganymede 'M5' release, with availability of the | |
| completed examples coinciding with the Ganymede 'GA' release. Subsequent | |
| updates will be coordinated with the release schedules of prerequisite | |
| projects. The EEP does not intend to formally join the Ganymede release | |
| train.</p> | |
| <p>The plan will include an automated build process that itself will | |
| serve as an example (ideally building on existing automation provided by | |
| Eclipse projects). The build process builds against the most recent | |
| "I-builds" from prerequisite projects, runs tests, and informs | |
| (via the developer mailing list) project committers of problems. Where | |
| possible, examples that fail to meet with project values will be flagged | |
| appropriately on the project website and marked for archival as part of | |
| this automated process.</p> | |
| <h3>Changes in this document</h3> | |
| <p>2008-01-06: Added Thomas Hallgren as a mentor.</p> | |
| <p>2008-01-05: Added Benjamin Muskalla as a committer.</p> | |
| <!-- Proposal content ends here. --></div> | |
| </div> | |
| <?php | |
| $html = ob_get_contents(); | |
| ob_end_clean(); | |
| # Generate the web page | |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); | |
| ?> |