<!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>Help for domain administration</title>
 </head>

 <body class="docs" onload="self.focus()">
  <div class="docs" id="domainprojectdatabase">
   <h2>Help for domain administration</h2>

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

    <ul>
     <li>
      <a href="/nonav/docs/DomAdminOverview.html">Domain administration overview</a> 

      <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 domain administration tools</a></li>

       <li><a href="/nonav/docs/ProjectQuotas.html">Administering project quotas</a></li>

       <li>
        Using a project database 

        <ul>
         <li><a href="#adding">Adding a database to your project</a></li>

         <li><a href="#granting">Granting users access and permissions</a></li>
        </ul>
       </li>
      </ul>
     </li>
    </ul>
   </div>

   <h3>Using a project database</h3>

   <p>Often, during the development process developers need to test their code. Project owners have the ability to connect a MySQL database to their project. This feature allows the Project Owner to administer a test database for use by project members. Using the MySQL interface, the project owner can give access permissions to users per their needs. Project developers may use this feature for creating applications and as a test bed. The project database is a feature available for the convenience of project members. The schema for the database is secured and cannot be altered. Project members can add and remove data from the tables, but the tables cannot be manipulated. Further, since this is not a central feature to the core project, the project database is not a supported function.</p>

   <h4><a id="adding" name="adding">Adding a database to your project</a></h4>

   <p>To attach a database to your project you must activate the servlet to create the database. The resulting database will have the same name as your project; a project named gamemaster will have a database named gamemaster. You will be prompted to supply a password for this database. The database password is not related to your project password and, since you may wish to share it with others, should not be the same as any of your other passwords.</p>

   <h4><a id="granting" name="granting">Granting users access and permissions</a></h4>

   <p>Initially, only the project owner is granted permissions to the database. Once you have completed the database creation process you are free to grant access and permissions to project members at your own discretion. To provide members access to the project database you will need to grant them the appropriate permissions. To do so, use the MySQL grant command. Likewise, to remove a users access to the project database use the MySQL revoke command. Privileges available for users of the project database are select, insert, update, delete and grant. Using the project database Using JDBC, Perl DBI, the MySQL client program or any other interface that supports MySQL, developers can write programs to access the project database. To remove all data from a specific table you would use the following command:</p>

   <p><code>delete from [table_name]</code></p>

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


