| <?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 = "Eclipse Development Process"; |
| $pageKeywords = "development process"; |
| $pageAuthor = "Bjorn Freeman-Benson Jan 2006"; |
| |
| ob_start(); |
| ?> |
| <div id="maincontent"> |
| <div id="midcolumn"> |
| |
| <h2>Project Info Directory</h2> |
| |
| <p>The project status information is stored and used in a number of places:</p> |
| |
| <ol> |
| <li>The Eclipse Foundation's internal database of projects. (<a href="project-status-infrastructure-page1.php">see |
| "how to" page 1</a>)</li> |
| <li>The project's own <code>project-info/</code> directory. (the topic of this |
| page)</li> |
| <li>The project's own <code> index.php</code> home page. (<a href="project-status-infrastructure-page3.php">see |
| "how to" page 3</a>)</li> |
| <li>Other project pages (<a href="project-status-infrastructure-page4.php">see |
| "how to" page 4</a>)</li> |
| </ol> |
| |
| <h3>2. Project-Info Directory</h3> |
| <p>Most of the project description, status, and meta-data is maintained by the |
| project Committers themselves in sub-directory of their web sub-site named: <code><b>project-info/</b></code>. |
| This directory contains a number of files:</p> |
| |
| <ul> |
| <li><b>project-page-paragraph.html</b> - short project description for the |
| project's parent's page</li> |
| <li><b>home-page-one-liner.html</b> - short project name for the project's |
| parent's left nav</li> |
| <li><b>project-info.xml</b> - description and status information</li> |
| <li><b>newsgroup</b> - short descriptions of the project's newsgroups</li> |
| <li><b>maillist</b> - short descriptions of the projects mailing lists |
| </ul> |
| <h4>2.1 Project Paragraph and One Liner</h4> |
| <p>Top-level projects are listed on the /projects/ page.</p> |
| <ol> |
| <li>The text in the descriptive "What are the top-level projects?" |
| is taken from the <code><b>project-info/project-page-paragraph.html</b></code> file. Changing |
| the descriptive text is as simple as changing the contents of that file on |
| the project's web sub-site. Because the real estate on this page is shared |
| amongst all the top-level projects (and other process information) it is |
| important to keep this descriptive text short and concise. Please leave the |
| longer description of the project to the project's home page.</li> |
| <li>The text in the left nav is taken from the <code><b>project-info/home-page-one-liner.html</b></code> |
| file. Because this is a left nav, brevity is even more important. This it |
| the primary navigation path to the projects for most developers and thus we |
| need to keep the menu functional.</li> |
| </ol> |
| <p align="center"><img border="0" src="images/html-fragment-locations.gif"></p> |
| <p>Technology sub-projects are listed on the <code> /technology/</code> page.</p> |
| |
| <ol> |
| <li>The text in the list of projects is taken from the <code><b>project-info/project-page-paragraph.html</b></code> file. The real estate on this page |
| is not as tightly constrained as on the /<code>projects/ </code> home page, thus each |
| Technology sub-project is permitted a larger description.</li> |
| <li>Technology sub-projects without a <code>project-info/project-page-paragraph.html</code> |
| file are just listed by name.</li> |
| <li>The <code>project-info/home-page-one-liner.html</code> is not currently used for |
| Technology sub-projects.</li> |
| </ol> |
| <p align="center"><img border="0" src="images/html-fragment-locations-2.gif"></p> |
| |
| <p>Sub-projects in other top-level projects (Tools, Web Tools, BIRT, etc.) |
| should consult their PMC about how the sub-projects appear on the top-level |
| project's home page.</p> |
| |
| <h4>2.2 Project-info XML File</h4> |
| |
| <p>The <code>project-info/project-info.xml</code> file is, well, an XML file containing |
| various bits and pieces of project description, status, and information. The |
| information from the project-info.xml file can be used in the project's web |
| pages through the ProjectInfo PHP object. The ProjectInfo information is |
| used to generate the project's standard left nav items (see below), Roadmap |
| contribution, dashboard, and other pages. The following is an |
| annotated example.</p> |
| |
| |
| <table><tr><td style="border: 1px dashed black; background-color: ivory; |
| padding-top: 2px; |
| padding-left: 2px; |
| padding-right: 2px; |
| padding-bottom: 2px"><pre> |
| <project> |
| <font color="blue"> <!-- |
| - This example is annotated to be instructive. In order to be instructive, the |
| - example is a mish-mash of information from a variety of projects. Obviously, |
| - when you write the project-info.xml file for your project, the file will |
| - contain information only about your one project. |
| --></font> |
| <font color="blue"> <!-- |
| - Unless otherwise specified, all URLs are to be specified using rooted relative |
| - paths. In other words: |
| - CORRECT: "/webtools/foo/bar.php" |
| - INCORRECT: "foo/bar.php" |
| - INCORRECT: "http://www.eclipse.org/webtools/foo/bar.php" |
| --></font> |
| |
| <font color="blue"> <!-- |
| - Each Eclipse project as an official name, e.g., |
| - "AJDT - AspectJ Development Tools Project" and a foundation database |
| - key, e.g., "technology.ajdt". These are stored in an Eclipse Foundation |
| - database; to change them, contact emo@eclipse.org. Each project can |
| - also have a short name to be used in HTML lists and other horizontally |
| - challenged places. |
| --></font> |
| <short-name><b>AJDT</b></short-name> |
| |
| <font color="blue"> <!-- |
| - Each Eclipse project has one or more Bugzilla products and components. |
| - Some projects also have a separate web page describing how to submit |
| - a bug, how bugs are prioritized, and other useful information. |
| - The <bugzilla> collects this information. |
| - |
| - <bugzilla url="..."> <product name="..."/> ... </bugzilla> |
| - The url is optional; if absent, the url will default to the Bugzilla |
| - page of the first product. Multiple <product>s are allowed. |
| --></font> |
| <bugzilla> |
| <product name="<b>Mylar</b>"/> |
| </bugzilla> |
| |
| <font color="blue"> <!-- |
| - Committers and non-committer Contributors are the raison d'etre of |
| - an Eclipse project, thus each project should list and acknowledge these |
| - developers. Some of the Committers are 'special' in the sense that |
| - they are the project leaders. The <team> element contains the |
| - URL of the project's pages listing these important people. |
| --></font> |
| <team url="<b>/webtools/people/contributors.html</b>"/> |
| |
| <font color="blue"> <!-- |
| - The source code of each Eclipse project is stored in CVS. Eclipse maintains |
| - a number of CVS repositories, thus the <cvs> element specifies which |
| - CVS repository and (if applicable) which root path stores this project's |
| - source code. |
| - |
| - A top-level project typically specifies only the repository: |
| - <cvs repository="/cvsroot/tptp"/> |
| - A sub-project includes the root path as well: |
| - <cvs repository="/cvsroot/technology/"> |
| - <module path="org.eclipse.higgins" /> |
| - </cvs> |
| --></font> |
| <cvs repository="<b>/cvsroot/tools/</b>"> |
| <module path="<b>org.eclipse.cdt-build</b>" /> |
| <module path="<b>org.eclipse.cdt-contrib</b>" /> |
| <module path="<b>org.eclipse.cdt-core</b>" /> |
| <module path="<b>org.eclipse.cdt-cppunit</b>" /> |
| <module path="<b>org.eclipse.cdt-debug</b>" /> |
| <module path="<b>org.eclipse.cdt-doc</b>" /> |
| <module path="<b>org.eclipse.cdt-build</b>" /> |
| <module path="<b>org.eclipse.cdt-build</b>" /> |
| <module path="<b>org.eclipse.cdt-build</b>" /> |
| </cvs> |
| |
| <font color="blue"> <!-- |
| - The description of an Eclipse project shows up in many places: the |
| - project's home page, perhaps the /projects/ page listing all the |
| - top-level projects, in the Roadmap, and so on. Some of the descriptions |
| - are separate HTML files (such as those described in |
| - http://phoenix.eclipse.org/projects/dev_process/project-status-infrastructure.php). |
| - It would be nice |
| - This <description> element contains two additional descriptions. |
| - 1. The optional <description url="..."> points to a web page with a larger |
| - description of the entire project. |
| - 2. The required <description paragraph-url="..."> points to a file |
| - containing a couple of simple HTML paragraphs describing the project. |
| - This file is often stored in the /project-info/ directory, thus the |
| - url would be something like "/tptp/project-info/description.html". |
| --></font> |
| <description url="<b>/tptp/home/project_info/general/whatisTPTP.html</b>" |
| paragraph-url="<b>/webtools/project-page-paragraph.html</b>"/> |
| |
| <font color="blue"> <!-- |
| - In addition to the description, each Eclipse project is also required to |
| - provide an up-to-date status summary. "Up to date" means revised at least |
| - quarterly. |
| - The required <summary paragraph-url="..."> points to a file |
| - containing a number of simple HTML paragraphs with an executive summary |
| - of the project status. |
| - This file is often stored in the /project-info/ directory, thus the |
| - url would be something like "/technology/project-info/executive-summary.html". |
| --></font> |
| <summary paragraph-url="<b>/technology/project-info/executive-summary.html</b>"/> |
| |
| <font color="blue"> <!-- |
| - It is important to help new users get started with an Eclipse project |
| - because most Eclipse projects are solving some difficult technical |
| - problem and thus are somewhat complex. The <getting-started> element |
| - points to a web page on the project's site that describes how to |
| - get started using and extending the project's tools and frameworks. |
| --></font> |
| <getting-started url="<b>/webtools/community/communityresources.html#tutorials</b>"/> |
| |
| <font color="blue"> <!-- |
| - It is also important to help new contributors get started with an Eclipse project. |
| - Most Eclipse projects have interesting/complex development environment |
| - setups or to-do lists. The <contributing> element |
| - points to a web page on the project's site that describes how to |
| - get started developing on, and contributing to, the project. |
| --></font> |
| <contributing url="<b>/webtools/adopters/</b>"/> |
| |
| <font color="blue"> <!-- |
| - Each Eclipse project is required to maintain a current Project IP Log. |
| - See http://www.eclipse.org/projects/dev_process/project-log.php |
| - The <ip-log> contains the URL of that log. If the project has |
| - other legal information as well, it can use the <legal> element |
| - instead and then include the IP Log information on the Legal web page. |
| --></font> |
| <ip-log url="<b>/projects/slides/Web%20Tools%20Platform%201.0%20Project%20IP%20Log.pdf</b>"/> |
| <legal url="<b>/projects/slides/Web%20Tools%20Platform%201.0%20Project%20IP%20Log.pdf</b>"/> |
| |
| <font color="blue"> <!-- |
| - Each Eclipse project has one or more mailing lists. |
| - Some projects also have a separate web page describing these lists |
| - while others rely on the main Eclipse mailing lists page. |
| - |
| - <mailing-lists url="..."> <list name="..."/> ... </mailing-lists> |
| - The url is optional; if absent, the url will default to the Eclipse |
| - mailing lists page. Multiple <lists>s are allowed. |
| - |
| - Note that currently mailing lists must be redundantly listed in |
| - the separate project-info/maillist file as well. |
| --></font> |
| <mailing-lists url="<b>/birt/index.php?page=community.html</b>"> |
| <list name="<b>birt-news</b>"/> |
| <list name="<b>birt-pmc</b>"/> |
| <list name="<b>birt-dev</b>"/> |
| <list name="<b>birt-charting-dev</b>"/> |
| <list name="<b>birt-report-engine-dev</b>"/> |
| <list name="<b>birt-report-designer-dev</b>"/> |
| </mailing-lists> |
| |
| <font color="blue"> <!-- |
| - Each Eclipse project has one or more newsgroups. |
| - Some projects also have a separate web page describing these lists |
| - while others rely on the main Eclipse newsgroups page. |
| - |
| - <newsgroups url="..."> <newsgroup name="..."/> ... </newsgroups> |
| - The url is optional; if absent, the url will default to the Eclipse |
| - newsgroups page. Multiple <newsgroups>s are allowed. |
| --></font> |
| <newsgroups> |
| <newsgroup name="<b>eclipse.platform.rcp</b>"/> |
| <newsgroup name="<b>eclipse.platform.swt</b>"/> |
| </newsgroups> |
| |
| <font color="blue"> <!-- |
| - The dashboard attempts to measure the liveness of a project in many |
| - ways including the traffic on the mailing lists and newsgroups. There |
| - are other places where significant project-related traffic can occur |
| - including blogs and articles. When listed here, the dashboard incorporates |
| - them into the liveness measure (or rather, "will incorporate"). |
| --></font> |
| <articles> |
| <article url="<b>/articles/Article-Forms/article.html</b>"/> |
| <article url="<b>http://www.onjava.com/pub/a/onjava/2002/12/11/eclipse.html</b>"/> |
| </articles> |
| |
| <blogs> |
| <blog rss="<b>http://eclipse-projects.blogspot.com/atom.xml</b>"/> |
| </blogs> |
| |
| <font color="blue"> <!-- |
| - Each Eclipse project needs to have a plan both for its internal purposes |
| - (to guide development and resource allocation) and for the larger Eclipse |
| - community and ecosystem to understand what will be delivered and when |
| - it will be delivered. |
| --></font> |
| <project-plan url="<b>/birt/index.php?page=project/project_plan_R2_0_0_Draft.html</b>"/> |
| |
| <font color="blue"> <!-- |
| - Each Eclipse project creates (optional) nightly builds and milestone builds, |
| - but the important builds of a project are the releases. This section of the |
| - status file records the completed (past) and scheduled (future) releases of |
| - the project. |
| - The status, name, and date are required attributes. The download is optional |
| - and only valid for completed releases; the plan is optional and valid for |
| - all releases. The three valid types of releases are, in order of ascending |
| - uncertainity: "completed", "scheduled", and "tentative". Dates can be |
| - specified as particular day DD/MM/YYYY (e.g., 22/03/2005) or a particular |
| - month MM/YYYY (e.g., 10/2005), or a quarter NQYYYY (e.g., 3Q2005). Obviously |
| - completed releases should include the exact day the release was completed. |
| - |
| - In the following example, we have three completed, two scheduled, and one |
| - tentative release. |
| --></font> |
| <releases> |
| <release |
| status="<b>completed</b>" |
| name="<b>3.0.2</b>" |
| date="<b>02/2005</b>" |
| download="<b>/tptp/home/downloads/drops/3.0.2.html</b>" /> |
| <release |
| status="<b>completed</b>" |
| name="<b>3.3</b>" |
| date="<b>06/2005</b>" |
| download="<b>/tptp/home/downloads/drops/3.3.0.html</b>" /> |
| <release |
| status="<b>completed</b>" |
| name="<b>4.0</b>" |
| date="<b>30/07/2005</b>" |
| download="<b>/tptp/home/downloads/drops/TPTP-4.0.0-200507181519.html</b>" /> |
| <release |
| status="<b>scheduled</b>" |
| name="<b>4.1</b>" |
| date="<b>14/01/2006</b>" |
| plan="<b>/tptp/home/project_info/featureplans/features.php?source= |
| All&amp;project=All&amp;release=4.1&amp;file=TPTPFeatures_4.1.xml</b>" /> |
| <release |
| status="<b>scheduled</b>" |
| name="<b>4.2</b>" |
| date="<b>06/2006</b>" /> |
| <release |
| status="<b>tentative</b>" |
| name="<b>4.3</b>" |
| date="<b>4Q2006</b>" /> |
| </releases> |
| </project> |
| </pre></tr></table> |
| |
| <p>To use the ProjectInfo PHP object in your own PHP pages, instantiate it using |
| this code fragment:</p> |
| |
| <pre>require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php"); |
| $projectInfo = new ProjectInfo("<i>the project's Foundation database key</i>");</pre> |
| |
| See <a href="project-status-infrastructure-page1.php">page 1</a> to learn how to |
| determine your project's Foundation database key. |
| <h4>2.3 Newsgroup File</h4> |
| |
| <p>The list of newsgroups for a project is currently stored in two places: the |
| project-info.xml <newsgroups> tag and the project-info/newsgroup file.<sup>1</sup> |
| The <code><b>project-info/newsgroup</b></code> file identifies the project's |
| newsgroup and provides a descriptive paragraph for each. The file format is:</p> |
| |
| <p style="border: thin 1px dashed; background-color: ivory; |
| padding-top: 2px; |
| padding-left: 2px; |
| padding-right: 2px; |
| padding-bottom: 2px"><code><b>::news.group.name::</b>multi-line text<br> |
| that describes the news group<br> |
| and all sorts of interesting conversations therein<br> |
| <b>::news.group.anothername::</b>another multi-line text describing the second<br> |
| newsgroup and how exciting that group is</code></p> |
| |
| <p>The website newsgroups page and the project dashboard are dynamically generated from these |
| two files. For example, the newsgroup file for TPTP contains:</p> |
| |
| <p><code>::eclipse.tptp::Come here to participate in discussions relating to the |
| TPTP Project. Questions and discussions ... Want to |
| know more? See the Test & Performance Tools Platform Project home page and |
| get involved!</code></p> |
| |
| <p>Which generates this one newsgroup portion of the <a href="/newsgroups/">newsgroups</a> |
| webpage:</p> |
| |
| <p><img border="0" src="images/newsgroup-fragment.gif"></p> |
| |
| <h4>2.4 Maillist File</h4> |
| |
| <p>The list of mailing lists for a project is currently stored in two places: the |
| project-info.xml <mailing-lists> tag and the project-info/maillist file.<sup>1</sup> |
| The <code><b>project-info/maillist</b></code> file identifies the project's |
| mailing lists and provides a descriptive paragraph for each. The file format is:</p> |
| |
| <p style="border: thin 1px dashed; background-color: ivory; |
| padding-top: 2px; |
| padding-left: 2px; |
| padding-right: 2px; |
| padding-bottom: 2px"><code><b>::mailing-list-name::</b>multi-line text<br> |
| that describes the mailing list<br> |
| and all sorts of interesting conversations therein<br> |
| <b>::mailing-list-another::</b>another multi-line text describing the second<br> |
| mailing list and how exciting and active that list is</code></p> |
| |
| <p>The website mailing lists page and the project dashboard are dynamically generated from these |
| two files. For example, the maillist file for Web Tools contains:</p> |
| |
| <p><code>::wtp-dev::General discussion of project-wide or architectural |
| issues. <br> |
| ::wtp-releng::Discussions of WTP release engineering. <br> |
| ::wtp-requirements::Discussions of project-wide requirements. <br> |
| ::wtp-pmc::WTP PMC communications (including coordination, announcements, and |
| Group discussions)</code></p> |
| |
| <p>Which generates this four lists portion of the <a href="/mail/">mailing lists</a> |
| webpage:</p> |
| |
| <p><img border="0" src="images/mailinglist-fragment.gif"></p> |
| |
| <h4>2.5 Roadmap</h4> |
| <p>You can test/examine/verify the project-info files for your project by examining |
| the generated Roadmap pages for your project. There is an <a href="http://www.eclipse.org/projects/roadmap/projects.php">all projects page</a> |
| and a separate individual page for each project: |
| <a href="http://www.eclipse.org/projects/roadmap/project.php?project=PROJECT_ID">http://www.eclipse.org/projects/roadmap/project.php?project=PROJECT_ID</a> |
| </p> |
| |
| <p align="right"><a href="project-status-infrastructure-page1.php"><img border="0" src="images/prior_step_button.jpg"></a> |
| <a href="project-status-infrastructure-page3.php"><img border="0" src="images/next_step_button.jpg"></a></p> |
| |
| <p><sup>1</sup> I'd like to claim that having the newsgroups and the mailing lists |
| redundantly stored is a good deliberate design decision - perhaps for <a href="http://en.wikipedia.org/wiki/Write_Only_Memory">post-nuclear-holocaust</a> |
| <a href="http://academics.vmi.edu/ee_js/Research/IC_Datasheets/digital_cmos/Write%20Only%20Memory.pdf">data |
| storage</a>. But, in fact, it's not. </p> |
| |
| </div> |
| </div> |
| |
| |
| <?php |
| # Paste your HTML content between the EOHTML markers! |
| $html = ob_get_contents(); |
| ob_end_clean(); |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |