| <?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 = "Status and Planning Reporting"; |
| $pageKeywords = "development process"; |
| $pageAuthor = "Bjorn Freeman-Benson Nov 20/05"; |
| |
| ob_start(); |
| ?> |
| <div id="maincontent"> |
| <div id="midcolumn"> |
| |
| <h1>Status and Planning Reporting</h1> |
| <p><i>version 019 - August 8, 2005</i></p> |
| <p><a href="index.php">[This is one page of the larger document.]</a></p> |
| <h2>Status and Planning Reporting</h2> |
| |
| <p>The goal is to have a mostly-automated planning and reporting system for Eclipse |
| projects that:</p> |
| <ul> |
| <li>Replaces the static HTML quarterly status reports with an machine-processed |
| XML file</li> |
| <li>Reduces each project's overhead of keeping this information up-to-date</li> |
| <li>Automatically reminds project leaders when the information needs refreshing</li> |
| <li>Publishes information on eclipse.org web pages. <br> |
| For example, |
| the <a href="/projects/timeline/">prototype |
| master timeline</a> has been useful - we can imagine other useful reports |
| like that.</li> |
| </ul> |
| <h2>File Format</h2> |
| <p>Each project will have an <code>eclipse-project-status.xml</code> file in its |
| root web directory.</p> |
| <p><code><project><br> |
| <name></code><i>project name</i><code></name><br> |
| <short-name></code><i>project short name</i><code></short-name><br> |
| </code>The project name is the long name (Test and Performance Tools Platform) |
| and the short name is the abbreviation (TPTP).<code><br> |
| <br> |
| <url></code><i>project home url</i><code></url><br> |
| </code>Obviously, the home page for the project.</p> |
| <p><code> <summary></code><i>executive summary of current status</i><code></summary><br> |
| </code>This is one of the more important items: the project status summary for |
| the membership-at-large. A couple of honest paragraphs about what is happening |
| in the project, the challenges and the plans.</p> |
| <p><code> <description url="</code><i>url of project description</i><code>"/><br> |
| <description></code><i>description of project</i><code></description><br> |
| </code>The project description might already exist on the project website, and |
| thus it can be referenced by url or included directly here.</p> |
| <p><code> <shipping><br> |
| <release url="</code><i>download url 1</i><code>"></code><i>description |
| 1</i><code></release><br> |
| <release url="</code><i>download url 2</i><code>"></code><i>description |
| 2</i><code></release><br> |
| ...<br> |
| </shipping><br> |
| <shipping url="</code><i>download page url</i><code>" aname="Latest |
| Releases"/><br> |
| </code>The latest releases that are currently shipping.</p> |
| <p>The first format is an XML version of the "Latest Releases" section |
| of download pages like <a href="http://download.eclipse.org/eclipse/downloads/index.php">this |
| one</a>; the second is a direct reference to the download pages. In the second |
| format, the tools will use this algorithm to automatically extract the shipping |
| information:</p> |
| <ol> |
| <li>read the download page url</li> |
| <li>search for the matching <code><a name="..."></code></li> |
| <li>from there, search for <code><a href></code>s and extract |
| description and download urls. The <a href>s will only match if the |
| description matches the Perl regular expression .*\d+\.\d+.* - in other |
| words, there has to be at least a digit-dot-digit version number in the |
| description. It will ignore descriptions that match \d+\.\d+M\d+ and \d+\.\d+RC\d |
| (milestone and release candidate builds).</li> |
| <li>the search will end at the first <code></table></code>, <code></ul></code>, |
| or <code></ol></code></li> |
| </ol> |
| <p>This second format should work with these download page formats:</p> |
| <ul> |
| <li><a href="http://download.eclipse.org/birt/downloads/">BIRT</a></li> |
| <li><a href="http://download.eclipse.org/tools/emf/scripts/downloads.php">EMF</a></li> |
| <li><a href="http://download.eclipse.org/tools/gef/downloads/index.php">GEF</a></li> |
| <li><a href="http://download.eclipse.org/eclipse/downloads/index.php">Platform</a></li> |
| <li><a href="http://download.eclipse.org/tools/ve/downloads/index.php">VE</a></li> |
| <li><a href="http://www.eclipse.org/webtools/downloads.html">WebTools</a></li> |
| </ul> |
| <p>It will sort-of work with these download page formats:</p> |
| <ul> |
| <li><a href="http://download.eclipse.org/tools/uml2/scripts/downloads.php">UML2</a> |
| - the maintenance builds are not numbered 1.1.1 in the <a href> |
| description, thus the maintenance builds will not show up in the list.</li> |
| </ul> |
| <p>It does not appear to work with these download page formats:</p> |
| <ul> |
| <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/cdt-home/downloads/main.html?cvsroot=Tools_Project">CDT</a> |
| - cannot determine which are releases and which are development builds</li> |
| <li><a href="http://www.eclipse.org/tptp/home/downloads/downloads.html">TPTP</a> |
| - no version numbers</li> |
| </ul> |
| <p><code> <releases include-in-parent="true"><br> |
| <milestone status="tentative|scheduled|completed"><br> |
| <date></code><i>date</i><code></date><br> |
| <plan format="defacto1"></code><i>optional planning or status url</i><code></plan><br> |
| <download></code><i>optional download url</i><code></download><br> |
| <name></code><i>name</i><code></name><br> |
| </milestone><br> |
| ...<br> |
| <release |
| status="tentative|scheduled|completed"><br> |
| <date></code><i>date</i><code></date><br> |
| <plan format="defacto1"></code><i>optional planning or status url</i><code></plan><br> |
| <download></code><i>optional download url</i><code></download><br> |
| <name></code><i>name</i><code></name><br> |
| </release><br> |
| ...<br> |
| </releases><br> |
| </code>The releases being planned and worked on. Obviously there should be a |
| <shipping> entry for all <completed> releases. If this project does |
| not ship separately (e.g., the JDT ships as part of the Platform), then there |
| should be a <releases include-in-parent="true"> tag; otherwise |
| include-in-parent should be excluded or set to "false".</p> |
| <p> The date can be any of these levels of |
| precision (It is not possible to be more specific than a day nor vaguer than a |
| quarter):</p> |
| <ul> |
| <li>DD/MM/YYYY - for a specific day, e.g., 22/03/2005</li> |
| <li>MM/YYYY - for a specific month, e.g., 10/2005</li> |
| <li>NQYYYY - for a quarter, e.g., 3Q2005</li> |
| </ul> |
| <p>If the optional planning document URL is in one of the supported formats and |
| the plan format is declared, the tools can extract the themes and priorities and |
| bug numbers for summary in the Roadmap Summary (see below).</p> |
| <ul> |
| <li><code>plan format="defacto1"</code> - the defacto Eclipse |
| project planning format as specificed-by-example by the Platform team (e.g., |
| <a href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_1.html">the |
| Platform 3.1 plan</a>)</li> |
| </ul> |
| <p><code> <project-ip-log url="</code><i>url</i><code>"/><br> |
| </code>URL to the <a href="project-log.php"> project's IP log</a>. This is an |
| absolutely required component, although it could reference it's parent's log.</p> |
| <p><code> <community><br> |
| <mailing-list></code><i>list name</i><code></mailing-list><br> |
| ...<br> |
| <newsgroup></code><i>newsgroup name</i><code></newsgroup><br> |
| ...<br> |
| <bugzilla></code><i>product</i><code></bugzilla><br> |
| <bugzilla></code><i>product:component</i><code></bugzilla><br> |
| ...<br> |
| <blog></code><i>blog url</i><code></blog><br> |
| ...<br> |
| <cvs></code><i>cvs repository path</i><code></cvs><br> |
| ...<br> |
| </community><br> |
| </code>List of the project's community communication and information artifacts. |
| Mailing lists such as ptp-dev@eclipse.org, newsgroups such as |
| eclipse.technology.alf, bugzilla categories such as <code>AspectJ</code> or <code>AspectJ:Compiler</code>, |
| blogs, and the Eclipse CVS repository paths. In the future we might add other |
| artifacts like wikis, forums, del.icio.us tags, and so on. This list should be |
| as complete as possible, thus if the project has multiple mailing lists (e.g., |
| birt-dev@eclipse.org and birt-pmc@eclipse.org), both should be listed (in |
| separate <mailing-list> lines). CVS repository paths can be singular |
| (e.g., <code>dev.eclipse.org:/home/tools/gef-home</code>) or wild-card (e.g., <code>dev.eclipse.org/home/tools/org.eclipse.gef*</code>).</p> |
| <p><code></project></code></p> |
| <h2>Other Information</h2> |
| <p>Other information that is considered part of the project status and planning |
| reports, but which is stored in other places includes:</p> |
| <ul> |
| <li>The project leaders and their contact information - stored in the |
| Foundation's database.</li> |
| <li>The project committers - stored in the Foundation database.</li> |
| <li>Non-EPL licensed software included in a release - to be stored in a |
| separate project log file.</li> |
| </ul> |
| <h3>Web Services Interface</h3> |
| <p>In the future, there will be a web services interface to the Eclipse project |
| information. We envision a simple interface that returns an XML response which |
| is the merger of the <code>eclipse-project-status.xml</code> file and the other |
| project information listed above. Tools will be able to use the web service |
| interface for consistent access to the information regardless of where it is |
| stored.</p> |
| <h2>Reports</h2> |
| <p>Here are a number of initial reports to be generated from this information:</p> |
| <ol> |
| <li> |
| <p align="left"><b>Release Timeline. </b>Like the <a href="/projects/timeline/">prototype |
| master timeline</a>. The master timeline will not include Technology |
| projects (or, in the future, Research projects) on the theory that |
| Technology projects are not "major Eclipse projects".</li> |
| <li> |
| <p align="left"><b>Milestone Timeline.</b> Same thing, but showing all the |
| milestones as well. It will be big and probably fairly cluttered.</li> |
| <li> |
| <p align="left"><b>Quick Reference. </b>A one-page per project summary of |
| all the projects. Useful for printing and flipping through on an airplane |
| trip.</li> |
| <li><b>Validity.</b> A report showing the "up-to-dateness" status of |
| each project's eclipse-project-status.xml file. Green for up-to-date. Yellow |
| for up to 30 days out of date. Red for 30-90 days out of date. Red with |
| underlines and bold for more than 90 days out of date. Black |
| "MISSING" if the file does not exist.</li> |
| <li><b>Atom Feed.</b> Change notifications.</li> |
| <li><b><a name="Roadmap Summary">Roadmap Summary</a>.</b> A report that shows |
| the Themes and Priorities from the Roadmap and summarizes the collective |
| projects' contributions to those Themes; in other words, collections of bug |
| numbers and their status, sorted by Theme.</li> |
| </ol> |
| <h2>Updating</h2> |
| <p>The Eclipse Development Process requires this information to be current each quarter. Current |
| is defined as:</p> |
| <ol> |
| <li>modified within the last three weeks of the quarter</li> |
| <li>has an executive summary that is different than last quarter's executive summary</li> |
| <li>has all the required sections and proper formatting of dates, etc.</li> |
| </ol> |
| <p>There will be an automated reminder email. The email will include why the |
| automated program is sending you this email, e.g., "hasn't been |
| updated" or "date field '27-Jan-2006' is not in DD/MM/YYYY or MM/YYYY |
| or NQYYYY date format", etc.</p> |
| <ul> |
| <li>At T-3 weeks, an email will be sent to each project leader reminding them to update |
| the eclipse-project-status.xml file.</li> |
| <li>At T-2 weeks, if the file has not been modified, a second reminder will be |
| sent.</li> |
| <li>At T-1 week, if the file has not been modified, a third reminder will be |
| sent and it will be cc'd to the EMO.</li> |
| <li>At T-0 weeks, if the file has not been modified, two weeks worth of every |
| other day reminders will be sent.</li> |
| <li>At T+2 weeks, a final email will be sent to the project leader and to the |
| EMO saying something like "robo-emailer is giving up".</li> |
| </ul> |
| |
| <?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); |
| ?> |