<!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>Administering licenses</title>
 </head>

 <body class="docs" onload="self.focus()">
  <div class="docs" id="domadminlicense">
   <h2><a id="DomAdminLicenseAdmin" name="domadminlicenseadmin">Administering Licenses</a></h2>

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

    <dl>
     <dt><a href="/nonav/docs/DomAdminOverview.html">Help for domain administration</a></dt>

     <dd>
      <ul>
       <li><a href="/nonav/docs/DomAdminAddUsers.html">Adding and editing user accounts</a></li>

       <li><a href="/nonav/docs/DomAdminRoles.html">Administering roles and permissions</a></li>

       <li><a href="/nonav/docs/DomAdminUserGroups.html">Creating and editing user groups</a></li>

       <li><a href="/nonav/docs/DomAdminProjectGroups.html">Creating and editing project groups</a></li>

       <li><a href="/nonav/docs/DomAdminProjectApproval.html">Approving, disapproving, or deferring projects</a></li>

       <li><a href="/nonav/docs/DomAdminAuditLogs.html">Using administrative utilities</a></li>

       <li>Administering Licenses</li>

       <li>
        <ul>
         <li><a href="#overview">Overview of licenses</a></li>

         <li><a href="#add">Creating a new license</a></li>

         <li><a href="#detail">Viewing a license</a></li>

         <li><a href="#edit">Editing a license</a></li>

         <li><a href="#delete">Deleting a license</a></li>
        </ul>
       </li>
      </ul>
     </dd>
    </dl>
   </div>

   <h3><a id="overview" name="overview"></a>Overview of licenses</h3>

   <p>Licensing a project is an important component of controlling how your project output is used. It is critical to consider all the components in any license you choose to associate with your project. When considering your project license you can choose from a list of popular, preconfigured licenses or create your own.</p>

   <p>Licenses are orignially associated during the project creation process (see <a href="/nonav/docs/ProjectAdd.html">Create a New Project</a>), but can be altered by users with the proper permissions. Users with the "Project - Edit" permission (by default the Project Owner and all Administrator roles have this permission) can change the license associated with the project in which they have the proper permission. New licenses can be created, edited or deleted by users with the "Licenses - Administer" permission (by default the domain and host admin roles).</p>

   <h3><a id="detail" name="detail">Viewing licenses</a></h3>

   <p>Selecting any item from the <b>Admin Options</b> items will direct you to the <b>Admin Options</b> function. At this point you can select <b>Licenses</b> from the <b>Admin Options</b> menu. A page with a list of all currently available licenses and add, edit and delete links will appear.</p>

   <p>If you need the text of a specific license, you can click on the name of the license. You will find yourself on a new screen with the text of the license. To return, click your browsers back button.</p>

   <h3><a id="add" name="add">Creating a new license</a></h3>

   <p>Clicking on the <b>Add New License</b> link will present you with two fields to describe your new license. On this page, you will need to give your license a name. The name can be up to 65 characters in length. You must also provide information in the description field. This text can have one of the following characteristics:</p>

   <ul>
    <li>A url that links to the text of the license</li>

    <li>A description of the license. You may include a url to the full text of the license as well.</li>

    <li>The complete text of the license. You can use HTML formatting to enhance your layout.</li>
   </ul>

   <p>After you have completed your description, click on the <b>Submit</b> button.</p>

   <h3><a id="edit" name="edit">Editing a license</a></h3>

   <p>From the list of licenses, clicking on the name of a license will give you access to editing the name and the description of the license. The name of the license cannot exceed 65 characters in length. The <b>Description</b> field has no limits in character length, but you should use this field to provide one of the following characteristics:</p>

   <ul>
    <li>A url that links to the text of the license</li>

    <li>A description of the license. You may include a url to the full text of the license as well.</li>

    <li>The complete text of the license. You can use HTML formatting to enhance your layout.</li>
   </ul>

   <p>After you have completed your description, click on the <b>Submit Changes</b> button.</p>

   <h3><a id="delete" name="delete">Deleting a license</a></h3>

   <p>You can delete licenses that are no longer required in your domain. Any license that is associated with one or more projects cannot be deleted. On the page listing the licenses are all the licenses currently available in the domain; any license that is currently not associated with any project will have a <b>Delete</b> link next to the name. Those without the <b>Delete</b> link have at least one associated project.</p>

   <p>To delete a license find the name of the license and click on the <b>Delete</b> link next to the name. You must approve the deletion on the next page by clicking on the <b>Confirm Delete</b> button. If you do not want to delete the license, use your browser's back button to return to the previous page. Once a license has been deleted you will no longer see it in your list of available licenses.</p>

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


