|  | <?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); | 
|  | ?> |