Wednesday, June 30, 2010

The things I don't like about XEP-0136

Update 7/12, 2010
* "version" attribute of a collection. It seems isn't used anywhere.
-------------------------

Update 7/7, 2010
* note Element of a collection. What is this element for? I only see how to set, but don't see how to retrieve. Is it useful for users?
-------------------------

MattJ want me to give a list of the things I don't like about XEP-0136, now here is the list:

* 'secs' attribute of from and to Elements. It's inefficient and hard to figure out this attribute when archiving a new message. Using a timestamp(like the 'utc' attribute) would be easier.
* It's NOT easy to find out duplicated messages.
* Linking Collections. I think it's not very practical. :/
* Collections. Without the 'thread' element, it's hard to determine which collection a new message belong to.
* Each collection of messages and notes is uniquely identified by the combination of the 'start' and 'with' attributes, but we're using 'thread' element to map messages and conversations to collections.

That's all for now.

It's said that XEP-0136 will have some improvements. Happy to see that, :)

Monday, June 28, 2010

Week #5: Manual Archiving - part I

In this week, these features have been implemented(All about Manual Archiving):
* Uploading Messages to a Collection
* Offline Messages
* Groupchat Messages
* Changing the Subject of a Collection
* Linking Collections
* Associating Attributes with a Collection

Next step:
Make it more robust.

Monday, June 21, 2010

Week #4: Automatic Archiving - part II

This week, I mainly did these things:
* Reading through XEP-0136: Message Archiving again, to determine how to store the messages.
* Writing code to do automatic archiving.

But there are still some issues remain:
* If a thread ID is not included in the message stanza, mod_archive should use some methods for mapping messages and conversations to collections.
* Dealling with the time attributes.

Next step:
* Solve the problems above
* Manual Archiving

Monday, June 14, 2010

Week #3: Automatic Archiving - part I

In week #3, I was always doing something on "Automatic Archiving".

At first, I tried to add message hooks for mod_archive, then I found it didn't work.
Finally I figured out that it's because the priority of my handler was not set correctly.

After that, I encountered another problem, the messages were passed to my handler, but just stoped there and were not passed to the other handlers. waqas told me it's because it returned true at the end of my handler.

Finally I got my handler to run.

I think I've underestimated the workload of "Automatic Archiving" that to be done. I plan to spend more time, maybe one or two weeks, on this part, because it's the fundamental of other features about archiving.

Monday, June 07, 2010

Week #2: Preference Handling

In the last week, these things have been done:
* Setting Default Modes
* Setting Modes for a Contact
* Setting Modes for a Chat Session
* Setting Archiving Method Preferences
* Client Enables/Disables Automatic Archiving

So, the preference handling is mostly done, far ahead of the schedule.

The next step:
* Automatic Archiving. Grab messages and store them.