Tuesday, July 27, 2010

Week #9: Preferences Interpretation

This week I mainly finished these features:
* Interpreting preferences when performing automatic archiving, to determine whether archive the given message.
* Mapping an message to some collection based on timestamp, to determine which collection the give message should be archived into.

The next step:
* Keeping archived collections in chronological order.
* Making sure result sets returned to clients are sorted in chronological order.

Monday, July 19, 2010

Week #8: Replication

This week I implemented 'Replication'.
So the most part of this project has been finished. Yeah~

But, there are still a lot of TODO-es remain.
So in the next several weeks, I'll fix these problems.

Next step:
* Parsing preferences to determing whether archive the incoming messages or not.
* Mapping an message to some collection based on timestamp(?)

Tuesday, July 13, 2010

Week #7: Archive Management - Part II

This week I finished the implementation of "Archive Management", including:
  1. Retrieving a list of collections
  2. Retrieving a collection
  3. Removing a collection

Actually, I've finished it on July 7. After that, I was always thinking about how to implement "Replication". This part(Replication) seems like implementing a "version control system"(Simpler, of course). I still can't figure out an efficient way to do this, so I decide to make it "workable" first.

Here is my thoughts:
  1. Add a "access" attribute to chat element, representing the time this collection is last accessed(created/modified/removed).
  2. modified_handler check this "access" attribute to determine if include this collection in the result set or not.
  3. If a collection has no any child, that means it has been deleted.

The next step:
  1. Mid-term Evaluation, :)
  2. Replication

Monday, July 05, 2010

Week #6: Archive Management - Part I

This week and the next week(before the mid-term evaluation), I planned to implement these features:
* Retrieving a List of Collections
* Retrieving a Collection
* Removing a Collection

Actually, these features involve implementing XEP-0059: Result Set Management. So this part would take more time.

After this, I'll implement Replication.