Hello Group,


A lot has changed since the last status report.
Unfortunately the demo release has been delayed for a
few weeks now due to our underestimating the workload
necessary to get to that point, and new issues that
have surfaced.

Since the last status, we have fixed a number of design
issues relating to synchronizing the remote calendar
folders.  The message API for communicating between our
internal components has been better tested, and so has
the synchronization API itself.  More testing is left to
be done.

Synchronization code is finally completed, though more
testing is needed before public release.

There were a few HTTP issues that came up that had to be
addressed.  Basically the HTTP handling had to be a bit
more robust.

Some testing under Outlook XP was done.  Viewing remote
folders is reported working, but uploading changes has
not been tested.

We've added a new 'Unit Tests' sub-project.  This project
will keep library wide unit tests.  Test development has
been started.

Testing using the open-source Cosmo CalDAV server has been
started, along side the Oracle CalDAV server testing.

This Week

We have completed the synchronization API.  Testing is all
that remains for the first demo release, unless said testing
exposes new and significant bugs.

We are hoping that about a week of testing should be enough
for the first demo release.

ChangeLog Entries

2006-05-11  doublebug

        * boost/pool/pool.hpp, mstore/O_IContainer.cpp,
          mstore/O_IProp.cpp, otlkcon_memory.cpp, otlkcon_memory.h,
          protocols/caldav/caldav.cpp, protocols/caldav/caldav.h: Some
          small fixes.
          store: Added GetProps PT_UNICODE. Now iCal export works under
          Outlook XP.
          Now NewMAPIUID is using CoCreateGUID(i've got the same entries
          CalDAV: Now error entries are skipped. There is a problem with
          %40 escaped symbol '@'. Under Outlook 2003 seems works fine but
          server returns 404 under Outlook XP. I guess that is because of
          different msxml versions.

2006-05-11  kervin

        * mstore/O_IContainer.cpp, mstore/O_IContainer.h,
          mstore/O_IXPProvider.cpp, otlkcon_entryid.h: More untested and
          incomplete work on message upload. Added handler for the ID
          message result amongst other things. Handler for ICAL_UPLOAD
          message in XP is next along with finishing the queued message
          processing in the ID message handler.

2006-05-10  kervin

        * mstore/O_IContainer.cpp, mstore/O_IContainer.h,
          mstore/O_IMsgStore.cpp, mstore/O_IXPProvider.cpp,
          otlkcon_config.h: Adding UpdateRemoteMessage() function for
          syncing the foreign folder when the contents table row is being
          updated. This is untested and incomplete. Next I need to
          handle the ID request message in the XP and the result of that
          in the container. Also the UPLOAD message needs to be handled
          in the XP. Hopefully this should all be completed and tested

2006-05-09  doublebug

        * mstore/O_IMessage.cpp, mstore/O_IMessage.h,
          mstore/O_IMsgStore.cpp, otlkcon_memory.h: Store: synchronization
          changed for O_IMsgStore::OnSyncAppointmentComponents
          So the DB is locked only for 1 message at a time.
          Added exporting code. Now MAPI->iCal seems to works fine.
          More detailed testing needed after upload completion.
          So far noticed that MIMEDIR does not add ORGANIZER property to
          the exported data.

2006-05-08  doublebug

        * mstore/O_IMessage.cpp, mstore/O_IMessage.h,
          mstore/O_IXPProvider.cpp, protocols/caldav/caldav.cpp,
          tests/tests.vcproj: store: Modified preprocessing of iCal. Now
          it's done via ical library.
          Added additional required field for Outlook's convertor. seems
          to work with Cosmo server now.
          Now XMLHTTPRequest is created for every separate request.
          Haven't noticed any mem corruption so far.

2006-05-05  kervin

        * mstore/O_IXPProvider.cpp, mstore/O_IXPProvider.h,
          otlkcon_guid.h: Added entryid and events to XPProvider. Inching
          towards message uploads.
        * mstore/O_IContainer.cpp, mstore/O_IContainer.h,
          mstore/O_IMsgStore.cpp, otlkcon_config.h: Started looking at
          event uploads. No code yet really.

2006-05-04  doublebug

        * mstore/O_IMessage.cpp, mstore/O_IMessage.h, mstore/O_IProp.cpp,
          mstore/O_IStream.cpp, protocols/caldav/caldav.cpp: CalDAV:
          removed calling abort() for hanged request because of memory
          mstore: Added some properties (LOCATION, SUBJECT, BODY) to iCal
          some crash fixes in O_IProp and O_IStream.
          Discovered another problem. Fresh db works fine with sync. But
          after restarting Outlook sync can't find existing appointments
          and continue creating new messages forever.

2006-05-04  kervin

        * boost/mpl, boost/mpl/O1_size.hpp, boost/mpl/O1_size_fwd.hpp,
          [ ...too many files. Deleting... ]
          boost/utility/value_init.hpp, otlkcon.sln, tests,
          tests/otlkcon_tests.h, tests/otlkcon_tests_iprop.cpp,
          tests/otlkcon_tests_iprop.h, tests/otlkcon_tests_mstore.cpp,
          tests/otlkcon_tests_mstore.h, tests/stdafx.cpp, tests/stdafx.h,
          tests/tests.cpp, tests/tests.vcproj: Adding more boost libraries
          for unit testing. Adding 'tests' project for unit testing our
          library functions.

2006-05-03  doublebug

        * mstore/mstore.cpp, otlkcon_event.cpp, otlkcon_guid.h:
          otlkcon_event thread blocks somehow under Outlook XP.
          So remover MAPIInitialization for that thread.
          Need to investigate the further.
          Added WindowClass unregistering.
          And thread event tread terminating.
          There some issues with settings dialog under Outlook XP.
          Sync code seems to work fine with Outlook XP also.

2006-04-30  doublebug

        * mstore/O_IMessage.cpp, mstore/O_IMessage.h,
          mstore/O_IMsgStore.cpp, mstore/mimedir_tlb.h,
          protocols/caldav/caldav.cpp: Added importing iCal using Outlooks
          It seems it works somehow but i think we need to write own
          convertor to fully support all features.
          Will play a bit more with it.
          Issue discovered with contents table.
          We need first to open Calendar folder in Outlook to properly
          update contents
          table columns. After that sync with Oracles server works fine
          and appointments are displayed properly.
        * mstore/O_IXPLogon.cpp, protocols/caldav/caldav.cpp: Caldav: Now
          when .send() failed by timeout we attempt second time.
          So far attempting is hard coded. May be we can add some
          configuration option for that.
        * mstore/O_IFolder.cpp, mstore/O_IMsgStore.cpp,
          mstore/O_IMsgStore.h, mstore/O_IProp.cpp, otlkcon_config.h,
          protocols/caldav/caldav.cpp, protocols/caldav/caldav.h,
          protocols/caldav/stdafx.h: Caldav: added timeout. So far hard
          We need to add resend request if it failed by timeout. I've
          noticed that resend usually works fine.
          Store: Disabled using MEMDB. There are still problems with
          OpenProperty and MEMDB.
          Added ability to subscribe for synchronous notifications.
          Now folders use synchronous notifications for updating their

2006-04-28  doublebug

        * mstore/O_IMsgStore.cpp, mstore/O_IProp.cpp, mstore/O_ITable.cpp,
          otlkcon_config.h, otlkcon_event.cpp, otlkcon_sqlite_utils.cpp,
          protocols/caldav/caldav.cpp, protocols/caldav/caldav.h,
          protocols/file/file.vcproj: Fixed settings for File project
          Fixed a lot of deadlocks
          Transport code changed a bit
          XMLHTTPRequest is constructed as needed.
          That eliminates .send hang.(Internaly it uses WinInet that is
          why we cant hold reference)
          Lock and unlock changed so that if some critical section is
          entered it is always left.
          The code seems to work without being deadlocked.
          Conversion iCal->MAPI is next.

2006-04-26  kervin

        * protocols/ical/libical/icaltime.c: Add hour to the
          icaltime/FILETIME conversion.

2006-04-25  kervin

        * mstore/O_IMsgStore.cpp, mstore/O_ITable.cpp,
          mstore/O_IXPLogon.cpp, otlkcon_config.h,
          otlkcon_sqlite_utils.cpp, protocols/caldav/caldav.cpp: Debugged
          critical section issues. Next, HTTP requests need to be made
          async or given timeouts.
        * mstore/O_IMsgStore.cpp, mstore/O_ITable.cpp,
          mstore/O_IXPLogon.cpp, mstore/mstore.cpp, otlkcon_print.cpp:
          More sqlite critical section fixes. Back to debugging internal
          sync protocol.

2006-04-24  kervin

        * mstore/O_IMessage.cpp, mstore/O_IMsgStore.cpp,
          mstore/O_IProp.cpp, mstore/O_IStream.cpp, mstore/O_IStream.h,
          mstore/O_ITable.cpp, mstore/O_ITable.h, mstore/O_IXPLogon.cpp,
          mstore/mstore.cpp, otlkcon_config.h, otlkcon_sqlite_utils.cpp:
          Switched to a more serialized API throughout the entire project.
          Now SQLite shares a single global database handle but is
          serialized by the sqlite critical section where ever needed.
          This was necessary for the memory database used by O_IMessage
          for transactions to work right. Currently debugging deadlocks.

2006-04-20  kervin

        * mstore/O_IFolder.cpp, mstore/O_IMessage.cpp, mstore/O_IProp.cpp,
          mstore/O_ITable.cpp, mstore/O_IXPLogon.cpp,
          mstore/O_IXPProvider.cpp, mstore/mstore.cpp: Continued debugging
          synchronization API. Ran into issues with seeding the random
          number generator. Switched from 'time(0)' to 'GetTickCount()'.
          What is the scope of srand()? Process? Thread? Function? Need
          to find that out. Now running into a 'SQLITE_SCHEMA' error a
          bit further on. Don't know how that can happen given all the
          transactions are EXCLUSIVE, but will check this out tomorrow.
          Looks like loadAppointmentFolders() needs to be smarter or
          something because the schema error occurs under it.
        * mstore/O_IContainer.cpp, mstore/O_IFolder.h,
          mstore/O_IMessage.cpp, mstore/O_IMsgStore.cpp: Continued
          debugging synchronization. Started with ICalImport as well.
          Added the foreign id/hash properties to the message object.
          More debugging needed.

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
otlkcon-devel mailing list

Reply via email to