<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
<style type="text/css">
/* <![CDATA[ */ @import "/branding/css/tigris.css"; /* ]]> */
</style>
  <script src="/branding/scripts/sc.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="/branding/css/print.css" media="print" />

  <title>Create a new project</title>
 </head>

 <body class="docs" onload="self.focus()">
  <div class="docs" id="projectadd">
   <h2><a id="ProjectAddFields1" name="ProjectAddFields1">Create a New Project</a></h2>

   <div id="toc">
    <ul>
     <li><strong><a href="/nonav/servlets/HelpTOC">Help index</a></strong></li>
    </ul>

    <ul>
     <li><a href="/nonav/docs/Learning.html">Learning about projects</a></li>

     <li><a href="/nonav/docs/ProjectMemberResources.html">Project resources for members</a></li>

     <li><a href="/nonav/docs/hostedtools.html">Hosted tools</a></li>

     <li>
      Creating a new project 

      <ul>
       <li><a href="/nonav/docs/ProjectAdd.html">Naming and configuring your project</a></li>
      </ul>
     </li>
    </ul>
   </div>

   <p>The project creation process guides you through setting up and configuring your new project. In this document you will find descriptions of each of the fields in the project creation process.</p>

   <p><a id="ProjectNameField" name="ProjectNameField"><strong>Project Name</strong></a></p>

   <p>The project name appears on all pages relating to the project. Choose a name that will help project members and potential members to quickly identify your project. Any name you select must comply with the naming conventions listed below:</p>

   <ul>
    <li>project name can only be one word</li>

    <li>characters a-z (mixed case okay), 0-9, and dash (though not as first or last character) can be used</li>

    <li>no punctuation, spaces, underscoring or capitalization</li>
   </ul>

   <p>Once a project has been created, the name cannot be changed. An example of an appropriate name for a project involving porting a sophisticated chess game to the telephone is "chessphone".</p>

   <p><a id="ProjectParentField" name="ProjectParentField"><strong>Parent Project</strong></a></p>

   <p>If you have permissions that allow you to create subprojects, you can makeyour project a child of another project. Creating a child relationship will help you and potential project members to quickly identify projects of interest to them and to follow the requirements of larger projects.</p>

   <p><a id="SummaryField" name="SummaryField"><strong>Summary</strong></a></p>

   <p>Enter a one-line description of your project, no longer than 60 characters. The description should be in plain text; HTML and formatted text are not supported. The description will be adjacent to the name of the project and be what registered users see first when they view the list of available projects. It should therefore be descriptive and concise. For instance, in the case of the chess game, you might write: "Porting an advanced chess game to the phone". Unlike the project name, you can edit this field at any time.</p>

   <p><a id="DescriptionField" name="DescriptionField"><strong>Description</strong></a></p>

   <p>Making up the bulk of your project's home page, the description should present the project in as interesting a light as possible. You can include HTML, and formatted text, though you may find simple, unformatted text to have a faster loading time, and, therefore, to be of more interest to your potential members. Good information to include in this section include your project's mission, background, methodology, tasks available, and other information that a developer might need to begin working on your project. This field can be edited at any time by clicking on the "Edit Project" link once you have finished creating the project.</p>

   <p><a id="ProjectCategoriesField" name="ProjectCategoriesField"><strong>Project Categories</strong></a></p>

   <p>Assigning your project to a project category will allow users of the domain to find and identify your project quickly. You can choose one or more categories, or not to assign a category at all.</p>

   <p><a id="PublicProjectField" name="PublicProjectField"><strong>Public Project</strong></a></p>

   <p>If you would like to have your project viewable by anyone in your domain, check this box. Leaving the box empty will require you to send invitations to potential members.</p>

   <p><a id="UseProjectHomeField" name="UseProjectHomeField"><strong>Use Project index.html</strong></a></p>

   <p>Check this box to use your project's www/index.html file as the project's description. This is useful if you plan to have a complex home page. This setting can be changed at any time.</p>

   <p><a id="ProjectOwnerField" name="ProjectOwnerField"><strong>Project Owner</strong></a></p>

   <p>While this field defaults to your username, you can add or edit project owners based on your needs. The project owner is repsonsible for maintaining and administering the project. Project owner responsibilities include inviting and approving new project members and member roles, assigning mail list monitors, approving news items and project documentation, monitoring disk space usage and keeping project news up to date.</p>

   <p>Click on the <b>Create Project</b> button.</p>

   <div class="courtesylinks">
    <p><a href="#toc">Top</a> | <a href="/nonav/servlets/HelpTOC">Help index</a></p>
   </div>
  </div>
 </body>
</html>


