<html>
<head>

<title>Create New Project (Step 3)</title>


<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>

<span class="PlainText"> 
<p> <a name="ProjectAddStep3"></a><span class="Header"><b>Create New Project 
  (Step 3): Inviting people to join your project</b></span><br>
<ul>
  
  <dl> 
    <dt><a href="ProjectAdd.html">Creating a New Project: Index</a>
    <dd> 
      <li><A href="ProjectAddStep1.html">Create a New Project (Step One): "Project Add" fields explained</A> </li>
    <dd> 
      <li><A href="ProjectAddStep2.html">Create a New Project 
        (Step Two): Choosing your project's license and profile </A></li>
    <dd> 
      <li><b>You are here: Create a New project 
        (Step Three): Inviting people to join your project</b></li>
    <dd> 
      <li><A href="ProjectAddConfirm.html">Project Creation Confirmation</A></li></dd>
  </dl>
</ul>


<blockquote><b>People To Invite</b><br>
Invite as many people as you wish by listing their email addresses, one email 
  address per line, or multiple addresses if each address is separated by a comma, 
  colon, or semicolon. Automatically generated invitations to each invitee will 
  be sent; you can use the field below to include a personal message, perhaps 
  a brief explanation of your project's purpose, why you think he or she might 
  find it worthwhile to join in, and a link providing direct access to your project 
  home page.</P>
<p>Recipients of your invitation who are already registered with this site 
  log in to view your project home page. To join your project, they click the "Join This Project" link.</p>
<p>If the person you're inviting is <i>not</i> registered with this site, 
  the email invitation asks her to register first to obtain a login and password by email. Then this person is able to log in and view your project home page.</p>
<P> 
<a name="InvitationMessageField"></a><B>Invitation Message</B><BR>
  <span class="PlainText"> 
 This message should be brief, but clear and informative. You can include 
    hyperlinks, and any other information that you think would promote your project. 
    Formatting and HTML are not, however, supported--the message, that is, stands 
    on what it says not on how it looks. Hint: write out what you want to say 
    beforehand. That way, you won't be lost for words. Finally, all the other 
    project information is automatically generated, so you don't have to worry 
    about including it again.</P>
  </blockquote>
<p>

The next step in the process is rather simple: it entails little more than acknowledging the project's creation.  We explain the process in <A href="ProjectAddConfirm.html">Project Creation Confirmation.</A>
<p>

<HR noShade SIZE=1>
<A href="/servlets/HelpTOC">Back to main Help index</A>
</span>
</body>
</html>
