view docs/CHANGES.aschremmer @ 1119:397b97122ad9

General SyncPages refactoring: Fixed option handling again, refined semantics of options, introduced direction option, replaced "localMatch"/"remoteMatch" by "pageMatch".
author Alexander Schremmer <alex AT alexanderweb DOT de>
date Wed, 02 Aug 2006 01:12:42 +0200
parents 156d160b1dd9
children 47df631cdc05
line wrap: on
line source
Branch moin/1.6-sync-aschremmer
===============================

  Known main issues:
    * How will we store tags? (Metadata support would be handy)
    * How to handle renames/deletes?
    * How to handle colliding/empty interwiki names?

  ToDo:
    * Implement actual syncronisation.
    * Implement a cross-site authentication system, i.e. mainly an
      identity storage.
    * Clean up trailing whitespace.
    * Add page locking, i.e. use the one in the new storage layer.
    * Check what needs to be documented on MoinMaster.

  New Features:
    * XMLRPC method to return the Moin version
    * XMLRPC multicall support
    * Conflict icon in RecentChanges
    * XMLRPC Authentication System
    * Binary Diffing
    * XMLRPC method to get binary diffs
    * XMLRPC method to merge remote changes locally
    * XMLRPC method to get the interwiki name
    * TagStore/PickleTagStore class
    * XMLRPC method to get the pagelist in a special way (revnos,
      no system pages etc.)
    * IWID support - i.e. every instance has a unique ID
    * InterWiki page editable in the wiki

  Bugfixes (only stuff that is buggy in moin/1.6 main branch):
    * Conflict resolution fixes. (merged into main)
    * Python 2.5 compatibility fixes in the Page caching logic (merged)
    * sre pickle issues in the wikidicts code (merged)
    * cgitb can hide particular names, this avoids information leaks
      if the user files cannot be parsed for example
    * Fixed User.__repr__ - it is insane to put the ID in there
    * Worked around the FastCGI problem on Lighttpd: empty lines in the error log, thanks to Jay Soffian
    * Fixed the MetaDict code to use locks.
    * Fixed bug in request.py that avoided showing a traceback if there was a fault
      after the first headers were sent.

  Other Changes:
    * Refactored conflict resolution and XMLRPC code.
    * Enhanced API at some points.

  Developer notes:
    * ...

Do not forget to check the related wiki page: http://moinmoin.wikiwikiweb.de/WikiSyncronisation

Diary
=====

Week 21: Basic Infrastructur setup (repos),
         initial talks to the mentor, started writing the design document,
         helped other students to get started
Week 22: Tax forms, Fulfilled transcription request,
         written conflict icon support, refactored conflict handling,
         changed conflict icon,
         Added xmlrpc multicall support into the server and
         backported the client code from python 2.4
Week 23: Debian-Sprint in Extremadura, Spain. Initial thoughts about Mercurial as
         a base for syncronisation. (See wiki)
Week 24: Evaluation of OpenID as a base for authentication, written local testing scripts
Week 25: Conference in Chile (FET 2006).
Week 26: Implementation of the XMLRPC authentication system, added binary
         diffing (mainly taken from Mercurial, but had to merge 5 changesets,
         remove some mercurial dependencies and document it. Currently, Mercurial
         uses a module written in C to solve the problem, so the Python code
         was not cared for anymore.)
Week 27: Europython, Geneva.
Week 28: Debian-Edu Developer Camp. Implemented getDiff XMLRPC method, added preliminary SyncPages action,
         added interwikiName XMLRPC method, added mergeChanges XMLRPC method. Started analysis of the moinupdate
         script written by Stefan Merten.
Week 29: Finished first version of the mergeChanges method. Added Tag and TagStore classes which are currently
         using pickle-based storage. Added getAllPagesEx XMLRPC method.
Week 30: Implemented IWID support, added function to generate random strings. Added support
         for editing the InterWikiMap in the wiki. Added locking to the PickleTagStore and the MetaDict classes. Added handling of
         various options and detection of anonymous wikis to the SyncPages action.
Week 31: Load the IWID and the meta dict lazily. Reworked RemotePage/SyncPage,
         fixed option handling again, refined semantics of options, introduced
         direction option, replaced "localMatch"/"remoteMatch" by "pageMatch".

2006-07-18: the requested daily entry is missing here, see http://moinmoin.wikiwikiweb.de/GoogleSoc2006/BetterProgress
2006-07-19: the requested daily entry is missing here, see http://moinmoin.wikiwikiweb.de/GoogleSoc2006/BetterProgress
2006-07-20: the requested daily entry is missing here, see http://moinmoin.wikiwikiweb.de/GoogleSoc2006/BetterProgress
2006-07-21: the requested daily entry is missing here, see http://moinmoin.wikiwikiweb.de/GoogleSoc2006/BetterProgress
2006-07-22: the requested daily entry is missing here, see http://moinmoin.wikiwikiweb.de/GoogleSoc2006/BetterProgress
2006-07-23: no work on SOC project -- a Sunday
2006-07-24: the requested daily entry is missing here, see http://moinmoin.wikiwikiweb.de/GoogleSoc2006/BetterProgress
2006-07-25: the requested daily entry is missing here, see http://moinmoin.wikiwikiweb.de/GoogleSoc2006/BetterProgress
2006-07-26: student didnt work on project
2006-07-27: student didnt work on project
2006-07-28: the requested daily entry is missing here, see http://moinmoin.wikiwikiweb.de/GoogleSoc2006/BetterProgress
2006-07-29: the requested daily entry is missing here, see http://moinmoin.wikiwikiweb.de/GoogleSoc2006/BetterProgress

Time plan
=========
In July and August, most parts of the implementation will be finished
from 07-10 to 07-14 and from 08-03 to 08-19. Between those time spans, there
are exams.