<html>
<head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>
The OpenOffice.org Development Digests
</title>
</head>
<body>
<H1>The OpenOffice.org Development Digests</H1>
<H4>
This is the index page for the development digests where I hope to be able to
bring the general OpenOffice.org development community (and the "lurkers") a reasonable
summary of each weeks news, hopefully some new development info so that the beginners
and lurkers can also contribute, a summary of Issuezilla statistics and a digest of the CVS activity.
</H4>
If you would like to contribute or see something in particular in the weekly digest then please <a href="mailto:cphennessy@openoffice.org">drop me an email</a>.

<p>
<ul>
  <li><H3><a href="2004_w07.html">Week 07 (2004)</a></H3>
   Topics include : Listing all Calc functions using the UNO APIs, the  developers snapshot m24 ( startup speed,vcl merges, lots of bug fixes ),
the Apache Forrect project , and the usual CVS and Issuezilla summaries. 

  <li><H3><a href="2004_w06.html">Week 06 (2004)</a></H3>
   Topics include : New Canvas API status, Second pre-release of 1.1.1, Catalan version of 1.1.0,
GDB weekly snapshot now contains support for pending breakpoints, 
Thessalonica: a new package for multilingual word processing in OOo, 
Opening Open Formats with XSLT,  ...

  <li><H3><a href="http://development.openoffice.org/digest/2004_w05.html">Week 05 (2004)</a></H3>
   Topics include : release of developers snapshot m22, plugins for VCL, native language project news ( Afrikaans, Zulu and Sipedi announcements, Arabic & Hebrew Native-Lang Projects), 
Mailing list problems,
API@OOo NEWSLETTER: Janurary/2004, OpenOffice.org Perl Library, Proper attribution of the PyUNO OOo XML SAX Parser ( and link to how to use Python with OpenOffice on Windows), OpenOffice.org 1.1 for OS/2 goes beta
...
  <li><H3><a href="http://development.openoffice.org/digest/2004_w04.html">Week 04 (2004)</a></H3>
   Topics include : Japanese government supporting a project to add PGP digital signing of OpenOffice.org documents, Tamil OOo 1.1 Linux Build released,
Using OOo's XML sax parser to construct a DOM in StarBasic (and python),
...
  <br>
  <li><H3><a href="http://development.openoffice.org/digest/2004_w03.html">Week 03 (2004)</a></H3>
   Topics include : so whats currently being implemented for OOo 2.0?,
   Release of developers snapshot m20, OOo thesauri development, Native Lang Translation Tools,
  The start of a grammar checker?, The dev@api.openoffice.org newsletter,
  Developers Guides in multiple languages, Separation of icon set from build process,
  Separate builds of 1.1.1 for Mac OSX 10.2 and 10.3, Multiple-Inheritance Interface Types for UNO,
  and MinGW + tcsh build efforts started.<br>

  <li><H3><a href="http://development.openoffice.org/digest/2004_w02.html">Week 02 (2004)</a></H3>
  Topics include : A general Introduction including, So how can I help?, So what are all these branches?,
  Current organization and contents of the CVS log. <br>
  Also included is : Easier builds for MacOSX Panter, Contributions from the Japanese project,
  Contributions from the French project, Progress on native widgets for GTK/KDE/Win32/Aqua,
  Release of developers snapshot m17, and Convertor from xfig to OOo draw.<br>

</ul>
</body>
</html>
