<?xml version='1.0' encoding='iso-8859-1'?>
<project>
  <!--
     - This example is annotated to be instructive. 
    -->
  <!--
     - 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"
    -->
  
  <!--
     - 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.
     -
     - Set it to your short name.
    -->
  <short-name>Photran</short-name>
  
  <!--
     - 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.
     -
     -
     - Please add all your Bugzilla Products
    -->
    
   
    <bugzilla><product name="Photran"></bugzilla>

  <!--
     - 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.
     -
     - Please add the relative URL 
    -->
    <team url="/photran/contributors.php"/>
  
  <!--
     - 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>
	 -
     - Please add the relative URL to your repository, and all your CVS modules 
	 -     
    -->
    <cvs repository="/cvsroot/technology">
        <module path="org.eclipse.photran" />
    </cvs>

  <!--
     - 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".
     -
     - Please provide the URL of the project description paragraph in paragraph-url, optionally provide the URL
     - page with a larger description. Remember, use relative paths
    -->
    <!--description url=""-->
  <description
	  paragraph-url="/photran/project-info/project-page-paragraph.html"/>
  
  <!--
     - 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".
     -
     -
     - Please provide the URL of the project summary paragraph
    -->
    <!--summary paragraph-url="/photran/project-info/project-plan.php"/-->

  <!--
     - 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.
     -
     -
     - Please provide the URL of the project getting started guide     
    -->
  <getting-started url="/photran/documentation.php"/>
  
  <!--
     - 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.
     -
     - Please provide the URL of the project getting started guide     
    -->
    <contributing url="/photran/contributor-info.php"/>
  
  <!--
     - 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.
    -->
    <!--ip-log url="/photran/project-info/ip-log.php"/--> 
    <ip-log url="/projects/ip_log.php?projectid=technology.photran"/>
  <!--legal url=""/--> 

  <!--
     - 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.
     -
    -->
    <mailing-lists url="/photran/mailinglists.php">
	    <list name="photran"/>
	    <list name="photran-announce"/>
    </mailing-lists>
  
  <!--
     - 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.
    -->
  <newsgroups url="" />
  
  <!--
     - 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").
    -->
  <articles/>
  
  <blogs/>
  
  <!--
     - 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.
    -->
    <!--project-plan url="/photran/project-info/project-plan.php"/-->
    <project-plan url="/projects/project-plan.php?projectid=technology.photran"/>

  <!--
     - 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.
    -->
    <!--releases info="">
	  <release status="tentative" name="2008" date="09/2008"/> <!-- download="/tptp/home/downloads/drops/3.0.2.html" /-->
     </releases-->
   <source></source>
</project>
			
