User: fs      
Date: 2006/11/28 01:37:18

Added:
   dba/www/development/index.html
   dba/www/development/projects.html
   dba/www/development/project_structure.html

Log:
 dedicated Development section

File Changes:

Directory: /dba/www/development/
================================

File [added]: index.html
Url: 
http://dba.openoffice.org/source/browse/dba/www/development/index.html?rev=1.1&content-type=text/vnd.viewcvs-markup
Added lines: 37
---------------
<!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.org Base - Miscellaneous</title>
    <script type="text/javascript" src="/js/dba_default.js"></script>
  </head>
  <body lang="en-US">
    <b>Project Sections</b>:
        <a href="../index.html">Home</a>
      | <a href="../specifications/index.html">Specifications</a>
      | <a href="../QA/index.html">QA</a>
      | <a href="./index.html"><b>Development</b></a>
      | <a href="../drivers/index.html">Drivers</a><br/>
        <b>Development Sections</b>:
            <a href="./projects.html">Developer Projects</a>
          | <a href="./project_structure.html">Project Structure</a>
    <div class="dba">
      <h1 id="dba_misc">OpenOffice.org Base - Development</h1>
      <table cellpadding="0" cellspacing="0" ID="Table1">
        <tbody>
          <tr class="OddTableRow">
            <td style="vertical-align: top; width: 200px;"><a 
href="projects.html">Developer projects</a></td>
            <td style="vertical-align: top;">You're a developer, and you want 
to help? Look
            here for a list of (most self-contained) projects ....</td>
          </tr>
          <tr class="EvenTableRow">
            <td style="vertical-align: top; width: 200px;"><a 
href="project_structure.html">Project Structure</a></td>
            <td style="vertical-align: top;">You want to poke around in the 
code, and don't know where to start?</td>
          </tr>
        </tbody>
      </table>
      <br>
  </body>
</html>

File [added]: projects.html
Url: 
http://dba.openoffice.org/source/browse/dba/www/development/projects.html?rev=1.1&content-type=text/vnd.viewcvs-markup
Added lines: 1063
-----------------
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
    <meta content="text/css" http-equiv="Content-Style-Type">
    <style type="text/css">
    /* <![CDATA[ */
    @import url("/css/dba.css");
    .left_align { text-align:left; }
    .centered { text-align:center; !important; }
    /* ]]> */
    </style>
    <title>Developer projects</title>
    <script type="text/javascript" src="/js/dba_default.js"></script>
  </head>
  <body>
    <b>Project Sections</b>:
        <a href="../index.html">Home</a>
      | <a href="../specifications/index.html">Specifications</a>
      | <a href="../QA/index.html">QA</a>
      | <a href="./index.html"><b>Development</b></a>
      | <a href="../drivers/index.html">Drivers</a><br/>
        <b>Development Sections</b>:
            <a href="../development/projects.html"><b>Developer Projects</b></a>
          | <a href="./project_structure.html">Project Structure</a>
    <hr/>
    <div class="dba">
      <h1 id="dba_dev_projects">Developer Projects</h1>
      <p>Below is a list of projects which could be implemented by developers 
from the
      community. Most of these projects are relatively self-contained, and do 
not
      require too much knowledge about OOo's code infrastructure (well, this
      definately doesn't hold for the report generator, which is listed here 
for the
      most ambitious people only :).</p>
      <p>Note that this list doesn't claim to be a complete repository of what 
will be
      done in the near/medium future. There may be items on the list which will 
never
      be realized, and there definately are items which are not on the list, 
but will
      be implemented.</p>
      <p>If you are interested in anything from the list, please speak at <a 
href="mailto:[email protected]";>
        [email protected]</a>. We'll gladly help you to get started on 
this.</p>

      <p>Also, make sure you don't miss <a 
href="http://development.openoffice.org/todo.html";>OpenOffice.org's global TODO 
list</a>,
      which also contains interesting projects for developers.</p>

      <p>Here is what you'll find below:
      <ul>
        <li>
          <a href="#record_locking">Support for record locking</a></li>
        <li>
          <a href="#embed_sqlite">Embed SQLite into OOo database files</a></li>
        <li>
          <a href="#user_admin">User administration</a></li>
        <li>
          <a href="#auto_size">Auto-sizing for form controls</a></li>
        <li>
          <a href="#dbase_joins">Joins in dBase queries</a></li>
        <li>
          <a href="#new_filter">New Filter Dialog</a></li>
        <li>
          <a href="#ldap">SDBC driver for LDAP directories</a></li>
        <li>
          <a href="#vcards">SDBC driver for vCards</a></li>
        <li>
          <a href="#report_generator">Report Generator</a></li>
        <li>
          <a href="#form_controls">New/Enhanced Form Controls</a></li>
        <li>
          <a href="#form_dialogs">Dialogs with Form Functionality</a></li>
        <li>
          <a href="#execute_sql">Re-design the execute-SQL dialog</a></li>
        <li>
          <a href="#cross_access">native, cross-platform access to MS Access 
databases</a></li>
      </ul></p>
      <h3>General Notes</h3>
      <p>Whenever we talk about user interface work, this implies working with 
VCL, the
      Visual Class Library in OpenOffice.org. If you are not familar with it, 
you
      will curse it, since especially some of the older parts never heard the 
word
      "documentation". On the other hand: In opposite to the native platform
      controls, everything is there as source code, so if you like "learning by
      debugging", you will love VCL <img src="../images/smile.gif" alt="smile" 
style="width: 19px; height: 19px;">.</p>
      <p>Additionally, be aware of the fact that feature implementations in
      OpenOffice.org require a specification (you may visit <a 
href="http://specs.openoffice.org";>
        the specifications project</a> for more information). There's a rule 
that
      nothing is checked into the master branch which doesn't have a 
specification
      which all stakeholders agreed upon - so unlike other open source projects 
you
      may know, the specification really is an important part. Stakeholders 
are: the
      documentation team, the user experience team, the quality assurance team, 
and
      development. Usually, one representative from every team needs to accept 
your
      specification.</p>
      <p>Well, don't let this hinder you in starting. Just be aware that there 
will be a
      time when a specification is finally needed. Most developers don't like 
writing such documents
      (and some people even claim that <a 
href="http://www.joelonsoftware.com/articles/fog0000000034.html";>they 
shouldn't</a>).
      Thus, you need to clarify who will take this for you, if you can't/don't 
want.</p>
      <p>A note about the effort: This is a rather rough guess at the moment. In
      general, it may be a good idea to add two or more weeks or so simply for
      becoming familar with the code and some concepts, so if it is "2 weeks", 
don't
      expect to start today and finish it in 14 days ...</p>

      <!-- ========================== -->
      <!-- Support for record locking -->
      <h3><a name="record_locking"></a>Support for record locking</h3>
      <h4>description</h4>
      <p>If you're working in a multi-user environment, and don't have a 
full-blown client-server database
      at hand, then concurrent access with <em>record locking</em> is a useful 
concept: While all users/clients
      have write access to your data (say, a dBase file), a certain record is 
locked as long as a user edits this
      record. This prevents two users from making simultaneous changes to the 
same record.</p>

      <p>OpenOffice.org itself does currently not support record locking at 
all: There's neither support in the API<sup><a href="#ref_1">1</a></sup>,
      the core implementations (the database drivers), nor the user interface 
(which would need to respect and use
      the API).</p>

      <p>To change this, one would need to
      <ul><li>define an SDBCX-API for record locking</li>
          <li>implement this API for at least one database driver (the ADO 
bridge may be a good candidate, since
              it only would need to forward the locking to the ADO API)</li>
          <li>teach some high-level implementations (such as the <a 
href="http://api.openoffice.org/docs/common/ref/com/sun/star/sdb/RowSet.html";>RowSet</a>)
              to respect this API, if it is present</li>
      </ul></p>

      <p>Once this is done, it might even be interesting to enhance 
OpenOffice.org's dBase implementation, so
      that it also supports record locking, and thus multi-user access. This 
would open interesting new use cases
      for dBase databases in OpenOffice.org.<br/>
      Currently, there is no low-level API for file-locking in OSL (which is 
OpenOffice.org's abstraction layer for things
      like file access), but chances are good that it will be implemented 
towards 2.0. When it is available,
      record-locking for dBase files will at least be technically 
possible...</p>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr>
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr>
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
                <li>familarity with UNO</li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>
                  knowledge about existing locking APIs</li>
              </ul>
            </td>
            <td style="vertical-align: middle; text-align: center;">3 weeks</td>
            <td style="vertical-align: middle; text-align: center;">medium</td>
          </tr>
        </tbody>
      </table>

      <p><a name="ref_1"></a><b><sup>1</sup></b> See the IDL reference for <a 
href="http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/module-ix.html";>SDBC</a>
      and <a 
href="http://api.openoffice.org/docs/common/ref/com/sun/star/sdbcx/module-ix.html";>SDBCX</a>,
 and the
      <a 
href="http://api.openoffice.org/DevelopersGuide/DevelopersGuide.html";>Developer's
 Guide</a>, especially chapter
      12 titled "Database Access"</p>

      <div style="text-align: right;"><a 
href="http://www.openoffice.org";>OpenOffice.org</a>
        - <a href="http://dba.openoffice.org/index.html";>Database Access</a> - 
<a href="index.html">
          Miscellaneous</a> - <a href="development/projects.html">Developer 
Projects</a><br/>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- =================================== -->
      <!-- Embed SQLite into OOo database files-->
      <h3><a name="embed_sqlite"></a>Embed SQLite into OOo database files</h3>
      <h4>description</h4>

      <p>With OpenOffice.org 2.0, we will feature database files which contain 
nearly everything associated with
      a desktop database: forms, reports, queries, UI layout information ... 
whatever. This will, at least, allow
      you easy exchange of those database-related information with other people 
(or only installations).</p>

      <p>What we probably still won't have is the actual <em>data</em> embedded 
into the file: You still only can
      access external databases, be it the dBase files on your disc, or some 
Oracle/PostgreSQL/MySQL database running
      on some server.</p>

      <p>Now, if this last step - embedding the data into the file - could be 
accomplished, then OpenOffice.org would,
      for the first time, allow for completely self-contained databases. This 
would be the ultimate "copy and go"-feature,
      as known from a certain other office suite: You could simply take a 
single file, containing, say, your video collection
      database, and give it to a friend.</p>

      <p>It does certainly not make sense for the OpenOffice.org project to 
create yet another database backend format
      - there are enough of those out there, addressing various needs.<br/>
      However, what <em>does</em> make sense is to use another open source 
database which is able to store its data in
      the local file system, and adjust it to our needs, so that the data is 
"rerouted" to our own database files.</p>

      <p>There are at least two databases which could serve here, namely <a 
href="http://hsqldb.sourceforge.net/";>HSQLDB</a> and
      <a href="http://www.sqlite.org/";>SQLite</a>. (You could argue which of 
the two would fit better, but please, this definately
      is not in the scope of this text!)</p>

      <p>The task here is to
      <ul><li>modify the SQLite sources, so that every file system access is 
done via an abstraction layer<br/>
              This modification should be in a shape that it can be contributed 
back to the SQLite project. This way,
              OOo would automatically benefit from any new implementations in 
SQLite, as people could simply download
              the latest versions.</li>
          <li>embed SQLite into OOo, by writing a dedicated <a 
href="http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/module-ix.html";>SDBC</a>
              driver, which implements the aforementioned abstraction layer, 
causing SQLite to read/write its data from/to OOo's
              database storage</li>
          <li>adjust the UI, which provides the user with the (defaulted?) 
choice to create self-contained
              database files, using the SQLite engine</li>
          <li>do some more knitting, e.g. ensure that the SQLite engine is 
installed together with OOo</li>
      </ul>
      </p>

      <p>Towards 2.0, we hope to prepare the OOo codebase for this. Means, that 
we will provide a possibility to
      deploy "embedding engines" in an existing OpenOffice.org installation. 
This leaves us with the option to
      realize this project even if it does not hit the 2.0 time line.</p>

      <p>Note(1): If you go for this, you may find the <a 
href="http://www.ch-werner.de/sqliteodbc/";>ODBC driver implementation for 
SQLite</a>
      useful to learn from.<br/>
      Note(2): You are already able to <a 
href="http://documentation.openoffice.org/HOW_TO/";>access SQLite databases</a> 
with today's
      OOo.</p>

      <br/>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr>
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr class="left_align">
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
                <li>familarity with <a 
href="http://udk.openoffice.org/";>UNO</a>, OOo's component model</li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>knowledge about OOo's database access API (<a 
href="http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/module-ix.html";>SDBC</a>)</li>
                <li>knowledge about OOo's storage API (which is too brand new 
to have a documentation online <img src="../images/smile.gif" alt="smile" 
style="width: 19px; height: 19px;">)
                <li>knowledge about SQLite's code base and API</li>
              </ul>
            </td>
            <td style="vertical-align: middle; text-align: center;">4 weeks on 
OOo side<br/>unknown on SQLite side</td>
            <td style="vertical-align: middle; text-align: center;">medium<br/>
            </td>
          </tr>
        </tbody>
      </table>
      <br/>

      <div style="text-align: right;"><a 
href="http://www.openoffice.org";>OpenOffice.org</a>
        - <a href="http://dba.openoffice.org/index.html";>Database Access</a> - 
<a href="index.html">
          Miscellaneous</a> - <a href="development/projects.html">Developer 
Projects</a><br/>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- =================== -->
      <!-- User administration -->
      <h3><a name="user_admin"></a>User administration</h3>
      <h4>description</h4>

      <p>Client-server databases usually support a privilege system: Different 
users (who need to authenticate on login) are
      granted different privileges for different actions on different objects. 
At least, actions on tables (such as insert/update/delete)
      can usually be granted on a per-user basis.</p>

      <p>OpenOffice.org has an API for user and privilege administration, but 
it is rarely implemented in today's SDBC
      drivers. The task of this item is to define and implement a user 
interface for user administration, which is
      generic enough to cover different database types, and to implement this 
UI.</p>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr>
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr class="left_align">
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
                <li>familarity with UNO</li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>knowledge about OOo's database access API</li>
                <li>familarity with the VCL, OOo's graphics toolkit</li>
              </ul>
            </td>
            <td style="vertical-align: middle; text-align: center;">4 weeks</td>
            <td style="vertical-align: middle; text-align: center;">medium<br/>
            </td>
          </tr>
        </tbody>
      </table>
      <br/>

      <div style="text-align: right;"><a 
href="http://www.openoffice.org";>OpenOffice.org</a>
        - <a href="http://dba.openoffice.org/index.html";>Database Access</a> - 
<a href="index.html">
          Miscellaneous</a> - <a href="development/projects.html">Developer 
Projects</a><br/>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- ============================= -->
      <!-- Auto-sizing for form controls -->
      <h3><a name="auto_size"></a>Auto-sizing for form controls</h3>
      <h4>description</h4>

      <p>Form controls, when inserted into a host document (such as a text 
document) currently are unable to resize
      themself depending on their content.<br/>
      You could imagine a boolean property at a form control such as a text 
field, which would cause the field
      to automatically resize as soon as it's text changes. When you then 
anchor such a control as character, this would
      be of quite some use when creating documents which mix text and form 
elements.</p>

      <p>Implementing this would mean to
      <ul><li>provide such a property at the respective control model's 
implementations</li>
          <li>provide a broadcaster mechanism at the respective controls, which 
notifies changes in its preferred size</li>
          <li>implement a listener mechanism in the form runtime environment, 
which actually resizes the controls (more precise:
              the shapes to which the respective controls are bound) when they 
express the need to do so.</li>
      </ul></p>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr>
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr class="left_align">
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
                <li>familarity with UNO</li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>knowledge about OOo's form API</li>
                <li>familarity with OOo's toolkit API (module 
com.sun.star.awt)</li>
              </ul>
            </td>
            <td style="vertical-align: middle; width: 30%; text-align: 
center;">3 weeks</td>
            <td style="vertical-align: middle; text-align: center;">medium<br/>
            </td>
          </tr>
        </tbody>
      </table>
      <br/>

      <div style="text-align: right;"><a 
href="http://www.openoffice.org";>OpenOffice.org</a>
        - <a href="http://dba.openoffice.org/index.html";>Database Access</a> - 
<a href="index.html">
          Miscellaneous</a> - <a href="development/projects.html">Developer 
Projects</a><br/>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- ====================== -->
      <!-- Joins in dBase queries -->
      <h3><a name="dbase_joins"></a>Joins in dBase queries</h3>
      <h4>description</h4>

      <p>Our own dBase implementation (actually: the <a 
href="http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/module-ix.html";>
        SDBC</a> driver which allows to access dBase files) is not capable of
      executing queries which span more than one table. This means you can do a
      "SELECT &lt;field&gt; FROM &lt;table&gt;", but no "SELECT
      &lt;table1&gt;.&lt;field1&gt;, &lt;table2&gt;.&lt;field2&gt; FROM
      &lt;table1&gt;, &lt;table2&gt;".</p>

      <p>Enhancing this would be a major step towards a dBase implementation 
which
      provides everything for low end database needs.</p>

      <p>This includes probably no UI , but only core implementations in the 
dBase
      driver, probably including some heavy-to-read STL stuff, so be prepared to
      invest some time for digging around.</p>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr class="centered">
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr>
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
                <li>some SQL knowledge<br/>
                </li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>
                  Lexx and Yacc<br/>
                </li>
              </ul>
            </td>
            <td style="vertical-align: middle; width: 30%; text-align: 
center;">3 weeks for an
              experienced developer</td>
            <td style="vertical-align: middle; text-align: center;">high</td>
          </tr>
        </tbody>
      </table>
      <br/>
      <div style="text-align: right;"><a 
href="http://www.openoffice.org";>OpenOffice.org</a>
        - <a href="http://dba.openoffice.org/index.html";>Database Access</a> - 
<a href="index.html">
          Miscellaneous</a> - <a href="development/projects.html">Developer 
Projects</a><br/>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- ================= -->
      <!-- New Filter Dialog -->
      <h3><a name="new_filter"></a>New Filter Dialog</h3>
      <h4>description</h4>
      <p>Similar to the Sort Dialog, there is a dialog which allows to filter 
queries
      and tables &#8211; it can be reached the same way as the sort dialog, by 
using
      the "Default Filter..." button in the toolbox of the data source 
browser.</p>
      <p>This dialog suffers from some disadvantages:
      <ul>
        <li>
          it's not dynamic, three filter criterions are the maximum</li>
        <li>
          when opening the dialog, there is a new filter added automatically 
depending on
          the currently selected field in the table. This leads to the strange 
behaviour
          that opening the dialog and pressing
          <span style="font-style: italic;">OK</span>
          without any further user action
          <span style="font-style: italic;">modifies</span>
          the filter. We've seen users being heavily irritated by this.</li>
        <li>
          The dialog does not really clearly distinguish between ORing and 
ANDing
          filters. Though there the user can make a choice for AND or OR, it's 
not clear
          what is the result if these are
          <span style="font-style: italic;">mixed</span>. This UI is simply not
          intuitive.<br/>
        </li>
      </ul>
      This dialog should be re-implemented, so that it's functionality is 
extended
      and it's more intuitive. Design (before implementation) is an important 
part of
      this project.</p>
      <p>One other place where a similar functionality is available is the
      <span style="font-style: italic;">filter navigator</span>
      in the
      <span style="font-style: italic;">form based filter</span>.</p>
      <p>This will show the so-called filter navigator, which uses a tree view 
to
      represent the currently used filter for the form. It has other 
disadvantages
      <ul>
        <li>
          it's impossible to add a filter with two AND criterions for the same 
column,
          such as "name LIKE '%Foo%" and "name LIKE '%Bar%'".</li>
        <li>
          it's not intuitive, too (well, this is personal taste :)</li>
        <li>
          some functionality cannot be accessed from within the navigator, but 
only by
          entering text in the form fields (for instance, try creating a new 
filter in a
          form which previously does not have any filter<br/>
        </li>
      </ul></p>
      <p>If the interface of the new implementation of the filter control in 
the new
      filter dialog is abstract enough, then on the long term we can use it for 
the
      filter navigator, too. This would require some discipline in designing the
      classes for the new implementations, and some abstraction capabilities.
      However, this is not the primary goal of this implementaton.</p>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr class="centered">
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr>
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>
                  familarity with VCL (OpenOffice.org's visual toolkit)<br/>
                </li>
              </ul>
            </td>
            <td style="vertical-align: middle; width: 30%; text-align: 
center;">1 month for an
              experienced developer</td>
            <td style="vertical-align: middle; text-align: 
center;">medium-high</td>
          </tr>
        </tbody>
      </table>
      <div style="text-align: right;">
        <div style="text-align: left;"><br/>
        </div>
        <a href="http://www.openoffice.org";>OpenOffice.org</a> - <a 
href="http://dba.openoffice.org/index.html";>
          Database Access</a> - <a 
href="../development/index.html">Development</a>
        - <a href="../development/index.html">Development</a>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- ================================ -->
      <!-- SDBC driver for LDAP directories -->
      <h3><a name="ldap"></a>SDBC driver for LDAP directories</h3>
      <h4>description</h4>
      <p>LDAP (<b>L</b>ightweight <b>D</b>irectory <b>A</b>ccess 
<b>P</b>rotocol) is very often used in companies to store
      address data which need to be accessed by all employees. Thus, it's 
desrirable to access LDAP directories in
      OpenOffice.org, for instance for doing mail merges with it.</p>

      <p>OpenOffice.org already features accessing LDAP data, by shipping <a 
href="http://www.mozilla.org";>Mozilla</a>
      components which enable access to LDAP servers. However, this solution 
has some disadvantages, the most prominent
      being that the broad variety of LDAP schemes (i.e. which LDAP classes and 
attributes are actually used to reflect
      the data being of interest) is not captured currently - we use a <a 
href="../FAQ/LDAP_field_mapping.html">fixed mapping
      from LDAP to an OOo table</a>, which seriously limits the use of this 
feature for some people/organizations.</p>

      <p>To enable everybody to access the LDAP data of her choice in OOo, we 
would need to write a dedicated SDBC
      driver, which "flattens" an LDAP directory to a database table (i.e. 
provides the data of an LDAP directory
      as set of rows), but would be fully customizable. This means the user can 
herself decide which LDAP attribute
      should be mapped to which "table column" in the "databases table" 
provided by the SDBC driver.</p>

      <p>The driver would probably not need to make extensive use of our own 
query engine. Since by design, LDAP is
      very strong in querying only selected data, the driver would translate 
SQL WHERE clauses into LDAP restrictions
      and let the server do the work (as it should be with any good database 
:).</p>

      <p>As a first step, such a customization would take place in the
      <a 
href="http://util.openoffice.org/common/configuration/api_spec.html";>configuration</a>.
 As a second step,
      a user interface needs to be created, which allows the user to 
conviniently change this mapping.</p>

      <a>An alternative approach would be to improve the Mozilla components 
which are shipped with OpenOffice.org.
      There is a <a href="http://abzilla.mozdev.org";>project dedicated to 
address book integration in Mozilla</a>,
      where this work would take place.<br/>
      In this approach, we would first enable Mozilla to fully customize the 
LDAP mapping it uses, and then ship
      OpenOffice.org with the new components.<br/>
      However, such a solution may be more laborious to administrate, since the 
people would need to configure both
      the mapping of Mozilla (i.e. how Mozilla maps LDAP fields to it's address 
book API), and the mapping of
      OpenOffice.org (i.e. how OpenOffice.org maps Mozilla address book fields 
to database table columns).</p>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr class="centered">
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr>
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
                <li>familarity with UNO</li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>
                  familarity with LDAP</li>
                <li>
                  familarity with OOo's database access and form API<br/>
                </li>
              </ul>
            </td>
            <td style="vertical-align: middle; width: 30%; text-align: 
center;">2 weeks for the
              driver, 1 week for the customizability, 2 weeks for an user 
interface<br/>
            </td>
            <td style="vertical-align: middle; text-align: center;">medium<br/>
            </td>
          </tr>
        </tbody>
      </table>
      <div style="text-align: right;">
        <a href="http://www.openoffice.org";>OpenOffice.org</a> - <a 
href="http://dba.openoffice.org/index.html";>
          Database Access</a> - <a 
href="../development/index.html">Development</a>
        - <a href="../development/index.html">Development</a>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- ====================== -->
      <!-- SDBC driver for vCards -->
      <h3><a name="vcards"></a>SDBC driver for vCards</h3>
      <h4>description</h4>

      <p>OpenOffice.org&nbsp; has it's own open database access API called SDBC 
which is
      modeled on the architecture of Java's JDBC. SDBC supports several 
databases and
      database-like API's via an extensible provider architecture; ODBC 3.0, 
JDBC,
      ADO, dBase and CSV are among the databases and database management systems
      currently supported. Each SDBC provider is implemented as a UNO 
component.</p>

      <p>Itt would be slightly usefull to have a dedicated driver for accessign 
vCards.
      There is an infrastructure in the existing SDBC implementations for 
file-based
      databases, which could be relatively easily specialized for vCard access. 
This would
      broaden the range of address book data which can be used in 
OpenOffice.org.</p>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr class="centered">
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr>
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
                <li>familarity with UNO<br/>
                </li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>
                  familarity with OOo's database access and form API<br/>
                </li>
              </ul>
            </td>
            <td style="vertical-align: middle; width: 30%; text-align: 
center;">2 weeks</td>
            <td style="vertical-align: middle; text-align: center;">medium</td>
          </tr>
        </tbody>
      </table>
      <br/>
      <div style="text-align: right;">
        <a href="http://www.openoffice.org";>OpenOffice.org</a> - <a 
href="/index.html">
          Database Access</a> - <a href="index.html">
          Miscellaneous</a> - <a href="development/projects.html">
          Developer Projects</a>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- ================ -->
      <!-- Report Generator -->
      <h3><a name="report_generator"></a>Report Generator</h3>
      <h4>description</h4>
      <p>A Report generator is probably the most ambitious task. At the moment, 
newly
      (re-)introduced with 1.1, we have a report auto pilot which creates a text
      document with a table containing data from a data source (Actually, it's a
      little bit more than this, as the pilot allows for e.g. report templates, 
too).</p>

      <p>We should have a fully-featured report generator, which is a report 
engine
      (which reads a document containing a report description, and out of it,
      generates a document containing actual data), and a report design 
component,
      which allows to create and test a report definition document. Again, the 
latter
      is probably the most expensive part.</p>

      <p>At the moment, the plans for this are not very detailed, but as we 
think that
      reports are a major part of the database access in an office suite, this 
seems
      to be heavily necessary.</p>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr class="centered">
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr>
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
                <li>UNO</li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>
                  experiences with other report generation tools<br/>
                </li>
              </ul>
            </td>
            <td style="vertical-align: middle; width: 30%; text-align: 
center;">in the range of man months</td>
            <td style="vertical-align: middle; text-align: center;">very 
high</td>
          </tr>
        </tbody>
      </table>
      <br/>
      <div style="text-align: right;">
        <a href="http://www.openoffice.org";>OpenOffice.org</a> - <a 
href="http://dba.openoffice.org/index.html";>
          Database Access</a> - <a 
href="../development/index.html">Development</a>
        - <a href="../development/index.html">Development</a>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- ========================== -->
      <!-- New/Enhanced Form Controls -->
      <h3><a name="form_controls"></a>New/Enhanced Form Controls</h3>
      <h4>description</h4>
      <p>Currently, we lack some more sophisticated controls for entering data
      into forms. This includes controls for
      <ul>
        <li>
          Hyperlinks<br/>
          This should be specialized text fields, which interpret their content 
as URL,
          means they display it in a special way, their text should be 
clickable, and
          they allow to browse for an URL.</li>
        <li>
          Multimedia Content<br/>
          Currently, we only have image controls, which allow to interpret 
binary content
          found in a database as image. But additionally, we should have at 
least a
          &#8220;sound control&#8221; which allows to store sounds, and play 
them on
          request.</li>
        <li>
          Unspecified Binary Content<br/>
          In addition to controls dedicated to special kinds of binary data 
(such as
          images and sounds), we should have a generic binary field, which 
allows to
          store/load BLOBs (binary large objects) from any source. This would 
allow the
          user to store any files in a database, without OOo interfering with 
this.</li>
        <li>
          References to Binary Content<br/>
          Image as well as sound controls (if we have them) should be able to 
work with
          URLs, instead of direct binary content. At the moment, an image 
control can be
          bound to a binary field, and tries to interpret any data found in 
this field as
          image stream.<br/>
          We should allow for databases where only references (aka URLs) to 
images are
          stored, and adjust the existing image control (as well as the 
possibly upcoming
          sound control) in a way that it can be bound to a text field, 
interpreting the
          content as URL to the real data.<br/>
        </li>
      </ul></p>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr class="centered">
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr>
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
                <li>good knowledge about UNO, OOo's component model</li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>
                  knowledge in existing control implementation<br/>
                </li>
              </ul>
            </td>
            <td style="vertical-align: middle; width: 30%; text-align: 
center;">1 month for all
              control derivates together for an experienced developer, plus 
preceding
              specification</td>
            <td style="vertical-align: middle; text-align: center;">high</td>
          </tr>
        </tbody>
      </table>
      <p>Except the Hyperlink control, probably all other types imply the 
extension of
      existing implementations, instead of creating new ones. This mains that 
this
      project is not really self-contained, but requires some knowledge in the
      existing implementations, or at least the will to wade to them before 
doing any
      real work :)</p>
      <div style="text-align: right;">
        <div style="text-align: left;"><br/>
        </div>
        <a href="http://www.openoffice.org";>OpenOffice.org</a> - <a 
href="http://dba.openoffice.org/index.html";>
          Database Access</a> - <a 
href="../development/index.html">Development</a>
        - <a href="../development/index.html">Development</a>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- =============================== -->
      <!-- Dialogs with Form Functionality -->
      <h3><a name="form_dialogs"></a>Dialogs with Form Functionality</h3>
      <h4>description</h4>
      <p>When creating a form, the user always needs to bother with a writer 
(or calc or
      draw) document. Very often, this is much too oversized. It would be 
sufficient
      to have a simple dialog which contains all the data access controls. Now 
that
      we have UNO-based dialogs (in the Basic IDE), this is possible in 
general, as
      there already are some basics for doing this. There still would be a lot 
of
      work to be done (not mentioning the concrete design), but since some 
months,
      it's at least possible.</p>

      <p>The advantage would be to not slay the user with things she does not 
bother
      &#8211; a writer document offers a lot of possibilities which are not 
relevant
      for a form. In some cases, a full writer document does even contradict to 
what
      users expect from a form &#8211; one thing to mention here is that 
documents
      are always freely sizable (and even do autosizing according to the 
previous
      instance of the same document type, the screen resolution, whatever), 
which is
      nothing you expect from a carefully designed form, where controls are 
placed at
      concrete positions and have a fixed size.</p>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr class="centered">
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr>
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
                <li>UNO</li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>
                  familarity with OOo's database access and form API</li>
                <li>
                  familarity with OOo's toolkit API (module 
com.sun.star.awt)<br/>
                </li>
              </ul>
            </td>
            <td style="vertical-align: middle; width: 30%; text-align: 
center;">3 months</td>
            <td style="vertical-align: middle; text-align: center;">high</td>
          </tr>
        </tbody>
      </table>
      <br/>
      <div style="text-align: right;">
        <a href="http://www.openoffice.org";>OpenOffice.org</a> - <a 
href="http://dba.openoffice.org/index.html";>
          Database Access</a> - <a 
href="../development/index.html">Development</a>
        - <a href="../development/index.html">Development</a>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- ================================ -->
      <!-- Re-design the Execute-SQL dialog -->
      <h3><a name="execute_sql"></a>Re-design the Execute-SQL dialog</h3>
      <h4>description</h4>
      OpenOffice.org features a dialog to execute SQL statements directly 
(without
      the need to open the query design component), which is especially usefull 
for
      quickly executing some CREATE, UPDATE or INSERT statement (or any other
      statement which needs to be sent to the database bypassing 
OpenOffice.org).<br/>
      You can reach this by:<br/>
      <ul>
        <li>
          open a new text document</li>
        <li>
          open the data source browser (F4 or View/Data Sources)</li>
        <li>
          expand a data source, and connect to it by expanding it's "Tables" 
entry</li>
        <li>
          from the context menu of the data source, choose "SQL"<br/>
        </li>
      </ul>
      The dialog you see there has some disadvantages:<br/>
      <ul>
        <li>
          It does remember the previous statements, but only in a listbox 
&#8211;
          selecting and distinguishing them is not easy. This should be 
replaced by
          another mechanism to recall previously entered statements.</li>
        <li>
          It does not remember statement across calls, means the history is 
lost when the
          dialog is closed. This is especially annoying as the dialog is modal 
and needs
          to be closed before proceeding with the application.</li>
        <li>
          it cannot be changed in size<br/>
        </li>
      </ul>
      This dialog could use a re-design for better usability. Designing it could
      include sneaking how other products handle this ...<br/>
      <br/>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr class="centered">
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr>
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>
                  familarity with the VCL, OOo's graphics toolkit<br/>
                </li>
              </ul>
            </td>
            <td style="vertical-align: middle; width: 30%; text-align: 
center;">4 weeks</td>
            <td style="vertical-align: middle; text-align: center;">medium</td>
          </tr>
        </tbody>
      </table>
      <br/>
      <div style="text-align: right;">
        <a href="http://www.openoffice.org";>OpenOffice.org</a> - <a 
href="http://dba.openoffice.org/index.html";>
          Database Access</a> - <a 
href="../development/index.html">Development</a>
        - <a href="../development/index.html">Development</a>
      </div>
      <hr style="width: 100%; height: 2px;">

      <!-- ==================================================== -->
      <!-- Native, cross-platform access to MS Access databases -->
      <h3><a name="cross_access"></a>Native, cross-platform access to MS Access
        databases</h3>
      <h4>description</h4>
      <p><em>preliminary note</em>: In the meantime, there is an alpha version 
of a driver for this.
      It's an OOo database driver which uses <a 
href="http://mdbtools.sourceforge.net";>MDB Tools</a> to
      read MS Access databases. See <a href="../drivers/mdb/index.html">it's 
home page</a> for more info.</p>

      <p>A major goal of OpenOffice.org (in particular for release 2.0) is 
interoperability with other office
      applications, especially with a certain office suite which currently has 
some greater market share than
      OpenOffice.org has :).</p>

      <p>Unfortunately, currently OOo users, as long as they don't work on 
Windows, are not able *at all* to
      access the databases of this office suite - we cannot read MDB files on 
platforms other than Windows
      (where we can use Microsofts own API).</p>

      <p>So the goal here is to allow Linux users to at least read the data 
from MDB files, using OOo.</p>

      <p>There are several ways how this could be done.<br/>
      One is to use MDB Tools, and wrap them in OOo. Since the SQL capabilities 
of the MDB Tools parser are
      limited (e.g., no OR conditions in WHERE clauses are allowed), this 
requires work in either MDB Tools
      itself (by improving their parser), or it would be used as provider for 
raw data, and OOo would faciliate
      it's own parser/query engine (which unfortunately is also limited) to 
process this data.<br/>
      Another current disadvantage of MDB Tools is that it doesn't handle UTF8, 
and since jet4 databases
      stored their data in UTF8, this implies that it cannot be used for jet4 
databases containing non-ASCII
      characters (well, probably a little bit more that ASCII, but it's a 
serious limitation for an product as
      international as OpenOffice.org).</p>

      <p>Another way would be to re-engineer the MDB format ourself, and write 
a native SDBC driver (which could
      be in C++ or probably even in Java) which provides the data. This is 
similar to the first approach, where
      MDB Tools would have been used as the provider of raw data.</p>

      <table style="text-align: left; width: 100%;" cellspacing="0" 
cellpadding="2">
        <tbody>
          <tr class="centered">
            <td style="vertical-align: top; width:20%;" class="centered">
              <b>required skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>recommended skills</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>estimated effort</b>
            </td>
            <td style="vertical-align: top;" class="centered">
              <b>difficulty</b>
            </td>
          </tr>
          <tr>
            <td style="vertical-align: top; width:20%;">
              <ul>
                <li>C++</li>
              </ul>
            </td>
            <td style="vertical-align: top;">
              <ul>
                <li>
                  familarity with OOo's database access API
                </li>
              </ul>
            </td>
            <td style="vertical-align: middle; width: 30%; text-align: 
center;">6 weeks</td>
            <td style="vertical-align: middle; text-align: center;">medium</td>
          </tr>
        </tbody>
      </table>
      <br/>
      <div style="text-align: right;">
        <a href="http://www.openoffice.org";>OpenOffice.org</a> - <a 
href="http://dba.openoffice.org/index.html";>
          Database Access</a> - <a href="index.html">
          Miscellaneous</a> - <a href="development/projects.html">
          Developer Projects</a>
      </div>
      <hr style="width: 100%; height: 2px;">
    </div>
  </body>
</html>

File [added]: project_structure.html
Url: 
http://dba.openoffice.org/source/browse/dba/www/development/project_structure.html?rev=1.1&content-type=text/vnd.viewcvs-markup
Added lines: 100
----------------
<!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.org Base - Miscellaneous</title>
    <script type="text/javascript" src="/js/dba_default.js"></script>
  </head>
  <body lang="en-US">
    <b>Project Sections</b>:
        <a href="../index.html">Home</a>
      | <a href="../specifications/index.html">Specifications</a>
      | <a href="../QA/index.html">QA</a>
      | <a href="./index.html"><b>Development</b></a>
      | <a href="../drivers/index.html">Drivers</a><br/>
        <b>Development Sections</b>:
            <a href="../development/projects.html">Developer Projects</a>
          | <a href="./project_structure.html"><b>Project Structure</b></a>
    <div class="dba">
      <h2>Project structure</h2>
      <table cellpadding="0" cellspacing="0">
        <tbody>
          <tr class="MainTableHeader">
            <td colspan="2" width="100%">Modules in the Database Access 
Project</td>
          </tr>
          <tr class="InnerTableHeader">
            <td style="vertical-align: top;" width="15%">Module</td>
            <td style="vertical-align: top;">Functionality</td>
          </tr>
          <tr class="OddTableRow">
            <td style="vertical-align: top;" width="15%"><a 
href="http://dba.openoffice.org/source/browse/dba/connectivity/";>connectivity</a><br/>
            </td>
            <td style="vertical-align: top;">Base connectivity. This module 
contains database
              driver implementations for ODBC 3.0, JDBC, ADO, dBase, and CSV 
files. The way
              to access these drivers is very similar to JDBC as the drivers 
implement an API
              which covers the JDBC API..<br/>
            </td>
          </tr>
          <tr class="EvenTableRow">
            <td style="vertical-align: top;" width="15%"><a 
href="http://dba.openoffice.org/source/browse/dba/dbaccess/";>dbaccess</a><br/>
            </td>
            <td style="vertical-align: top;">Database access layer. This module 
contains code
              for accessing databases from applications. It also contains the 
following:
              <br/>
              <ul>
                <li>
                  Core implementations for configuration of data sources</li>
                <li>
                  Additional implementations like RowSets and abstractions like 
database meta
                  informations</li>
                <li>
                  A graphical user interface (GUI) for customizing data sources 
and access to
                  data<br/>
                </li>
              </ul>
            </td>
          </tr>
        </tbody>
      </table>
      <br />
      <table cellpadding="0" cellspacing="0">
        <tbody>
          <tr class="MainTableHeader">
            <td colspan="2" width="100%">Modules in other Projects, related to 
Database
              Access</td>
          </tr>
          <tr class="InnerTableHeader">
            <td style="vertical-align: top;" width="15%">Module<br/>
            </td>
            <td style="vertical-align: top;">Functionality<br/>
            </td>
          </tr>
          <tr class="OddTableRow">
            <td style="vertical-align: top;" width="15%"><a 
href="http://dba.openoffice.org/source/browse/gsl/forms/";>forms</a><br/>
            </td>
            <td style="vertical-align: top;">This module, though currently part 
of the GSL
              project, is related to Database access as well. It contains most 
of the code
              necessary to build up a form layer (means the components for 
logical forms,
              control models, and controls). This project is self-contained, 
means it is only
              exporting UNO components.<br/>
            </td>
          </tr>
          <tr class="EvenTableRow">
            <td style="vertical-align: top;" width="15%"><a 
href="http://dba.openoffice.org/source/browse/graphics/svx/";>svx</a><br/>
            </td>
            <td style="vertical-align: top;">Additional implementations for 
integrating the
              form layer into the aplications can be found in the SVX module, 
project
              grahics. Here, the directories svx/source/form and 
svx/source/fmcomp belong to
              Database Access.<br/>
              <br/>
              Additionally, basics for the form layer (more precise, basics for 
integrating
              UNO controls into applications drawing layer) can be found in
              svx/source/svdraw.<br/>
            </td>
          </tr>
        </tbody>
      </table>
  </body>
</html>




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to