<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <style type="text/css">@import url("css/dba.css");</style>
    <title>OpenOffice Base - Project Home</title>
    <script type="text/javascript" src="/js/dba_default.js"></script>
  </head>
  <body>
    <div class="menu">
      <b>Project Sections</b>:
          <a href="./index.html"><b>Home</b></a>
        | <a href="./specifications/index.html">Specifications</a>
        | <a href="https://qa.openoffice.org/ooQAReloaded/DatabaseTeamsite/ooQA-TeamDatabase.html">QA</a>
        | <a href="./development/index.html">Development</a>
        | <a href="./drivers/index.html">Database Drivers</a><br/>
    </div>

    <hr/>

    <div class="dba">
      <h1>OpenOffice Base</h1>

      <div class="axial">
          <p>Please consult with the <a href="mailto:dev@openoffice.apache.org">development mailing list</a>.</p>
      </div>

      <h2>Project Overview</h2>

      <p>Starting as mere database access functionality of the other OpenOffice applications,
      <a href="https://www.openoffice.org/product/base.html">Base</a> has evolved
      to an own database application. It allows you to access data on an external database of your choice (for
      instance <a href="https://www.mysql.org">MySQL</a>, <a href="https://www.postgresql.org">PostgreSQL</a>,
      and many others), plus bundles the <a href="https://hsqldb.org/">HSQLDB</a> database engine,
      this way allowing you to kick-start with your own database.</p>

      <h2>Participation</h2>

      <p>There are various resources here on this page as well as in our
      <a href="https://wiki.openoffice.org/wiki/Main_Page">Apache OpenOffice Wiki</a>. What are you looking for?
      <ul>
        <li><strong>Documentation</strong>
          <p><a href="https://wiki.openoffice.org/wiki/Category:Database">Our Wiki</a> features a whole
          category dedicated to <a href="https://wiki.openoffice.org/wiki/Category:Base_Documentation">end-user
          documentation for OpenOffice Base</a>. There you'll find articles, HowTo's, frequently asked questions
          (and answers). You might also want to visit the
          <a href="https://wiki.openoffice.org/wiki/Category:Base_Tutorials">Tutorials</a> category.<p>
          <p>As always, you're encouraged to contribute to the Wiki - if you find something is missing, or otherwise
          have information to share: just add it!</p>
          </li>

        <li><strong>Development</strong>

          <p>You want to contribute some coding, but don't know where to start? Welcome!</p>


		 <p>You can <a href="https://issues.apache.org/ooo/buglist.cgi?bug_status=__open__&content=&product=Base&query_format=specific&order=bug_status%2Cpriority%2Cassigned_to%2Cbug_id&limit=0">browse</a> all issues pertaining to Base.
			You can also submit Base bugs using Bugzilla.</p>

          <p>Additionally, you might find the <a href="development/project_structure.html">project structure</a> helpful if you're pursing
			  Base development.</p>

          <p>Finally, there is an older list of small to medium self-contained projects for developers, so if you're interested,
          <a href="development/projects.html">have a look</a>.</p>

          <p>If you have a pet peeve database which currently poorly connects to OpenOffice Base, or some other
          structured data which you want Base to be able to access (for instance some address book data), writing
          a dedicated driver might be for you. This is easier than it sounds, as various contributions have proven
          in the past. Again, <a href="mailto:dev@openoffice.apache.org">our developer mailing lists</a> could be your
          first stop, and the <a href="https://wiki.openoffice.org/wiki/Base_New_Driver_Tutorial">Base New Driver
          Tutorial</a> your second one.</p>
          </li>

        <li><strong>Quality Assurance</strong>
          <p>We are working hard to make Base perfect, but let's face the truth: we're not there (yet). If
          you found a bug, or are missing a feature, you can help by
          <a href="https://qa.openoffice.org/issue_handling/pre_submission.html">describing it in Bugzilla</a>,
          OpenOffice's bug tracking system.</p>

          <p>If you have some more time to spend to make OpenOffice better, consider joining the
          <a href="https://qa.openoffice.org/">QA Team</a>.</p>

          <p>If you want to have a look a future features before they're available to all others, and help us
          to make them better before we release them to the wild, visit our
          <a href="https://wiki.openoffice.org/wiki/Category:Base%27s_Bleeding_Edge">Bleeding Edge</a>
          section.</p>


          </li>

        <li><strong>Miscellaneous</strong>
          <p>If you always wanted to know how Base is intended to work, our <a href="specifications/index.html">Specifications
          section</a> might be for you.</p>
          </li>
      </ul>
      </p>

  </body>
</html>
