Mailing List Archive

In a frenzy of development...
Hi,

In something of a frenzy of hacking over the last few days I've added
support for memcached to DAViCal (/AWL) with a new AwlCache class which
wraps the actual memcached calls in order to provide some functionality
for un-caching stuff.

So if you want to cache something related to a collection, it will get a
key like 'collection-/user1/home/'~~'something' which I have partitioned
into a namespace ('collection-/user1/home/') and a key ('something') and
then when the content of the collection changes, all cached keys in that
'namespace' will be invalidated. Principals are similarly cached /
invalidated within a namespace of 'principal-/user1/'. This could be
useful if you're writing something based on DAViCal and you want to
cache a collection result of some kind and know it will be uncached when
'stuff' changes, but to get the uncaching functionality you (obviously)
have to use the AwlCache library to do so.

In the second stage of my frenzy I got rid of some horrible PHP4-ish
parts of retrieving user records from the database, replacing various
getUserBy* functions with a new Principal class, and then replacing an
old CalDAVPrincipal class with a new DAVPrincipal class which extends
this new Principal class. The whole lot looks completely identical on
the covers (one hopes :-) and is totally different underneath.

In the third stage of my frenzy I have (finally) fixed (I believe) all
of the outstanding repeat rule processing issues. Repeat rule
processing should now be correct for all cases except rules which try to
set a 'WKST'. This includes handling things like negative yeardays, and
stuff I've never seen in the wild like 'byhour' or 'byminute' rules
(well, actually those were always supported :-)

What the Repeat Rule fixes *really* handle (hopefully) correctly now is
floating time and date-without-time, and especially the expansion of
instances should now be exactly correct to the CalDAV and iCalendar
specifications.


For the wary, frenzy #2 affected all external authentication streams,
and so in HEAD at the moment are updates to all of the external drivers
that may well have typos and/or thinkos related to my 'this should be
the right thing' thinking coupled with my 'I can't test this' reality.

So if you feel like pulling from HEAD at the moment and fixing my idiocy
it would be greatly appreciated. Especially if you happen to have
access to an LDAP server to test against. There's a new 'authenticate
against IMAP' option in there as well, equally untested, but it should
be close to working.


My pace will slow down in the next few days as I get back into hacking
on Android client stuff, so now is an appropriate time.

Cheers,
Andrew.

--
------------------------------------------------------------------------
andrew (AT) morphoss (DOT) com +64(272)DEBIAN
All most people want is a little more than they'll ever get.
------------------------------------------------------------------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.davical.org/pipermail/davical-dev/attachments/20110104/88196df1/attachment.pgp>