(Illustration by Gaich Muramatsu)
On Thu, Aug 14, 2003 at 11:16:07AM -0400, Greg Troxel wrote: > Fair enough - i have no issues with requiring anonymous tokens. My > point was that having connected mode operation work but not be able to > reintegrate is fundamentally opposed to 'the coda way'. I think connected mode operation in principle is fundamentally opposed to the way Coda works, but that's just me. Problems are that a (write-)disconnected client is trying to play the role of a server, but in many ways fails because it has incomplete and possibly outdated information. So disconnected operation will never be as 'perfect' as connected operation. On the other hand, while connected there is no guarantee (in fact it is highly unlikely) that we will never switch to write-disconnected or disconnected operation. As a result, people that expect some things from Coda in connected mode get confused/annoyed when the disconnected mode operation kicks in. As connected mode is more reliable, it is used as much as possible (even by me) and bugs in reintegration and resolution simply aren't fixed as quickly. By always running write-disconnected there is more 'pressure' to fix the various reintegration bugs. In fact our webserver for a while would do 'cfs purgeml .../html; cfs checkservers; cfs strong; cfs wr' at the start of any regular cronjobs, and a 'cfs purgeml .../html; cfs cs' around the end, just for good measure. Luckily things are getting better, and now they don't do that anymore (maybe just a checkservers). > My own view, when I'm feeling extremist, is that coda tokens and the > auth2 stuff should go away, and we should instead use GSS-API, of > which some mechanisms can support anonymous tokens. That would be another solution. It is actually interesting to see the dynamics of development, there is a continuing back and forth between using common off-the-shelf libraries and functionality, and trying to keep everything under local control. The advantage of local implementations is that it is easier to adapt to special cases, and fewer dependencies when someone wants to build or install Coda. Using generic libraries means that other people will (hopefully) fix any bugs for you and that you basically push any complicated setup and installation issues to the other system. But then you have to track changes in their API's, and typically keep workarounds/support for older versions. It is also unclear whether those libraries are easily ported/maintained for all platforms and CPU types. JanReceived on 2003-08-14 12:23:27