<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-37787898</id><updated>2011-07-29T13:24:58.632+08:00</updated><title type='text'>GSoC 2010</title><subtitle type='html'>Server Side Message Archiving For Prosody</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-37787898.post-8920284468534721046</id><published>2010-08-24T00:04:00.002+08:00</published><updated>2010-08-24T00:16:55.274+08:00</updated><title type='text'>Final Report For My GSoC Project</title><content type='html'>I hope this report is not too late.&lt;br /&gt;&lt;br /&gt;In the last 3 months, I implemented &lt;a href="http://xmpp.org/extensions/xep-0136.html"&gt;XEP-0136&lt;/a&gt; for &lt;a href="http://prosody.im/"&gt;Prosody&lt;/a&gt;. This experience is really awesome: great mentor(&lt;a href="http://matthewwild.co.uk/"&gt;Matthew Wild&lt;/a&gt;), active communities(&lt;a href="xmpp:prosody@conference.prosody.im?join"&gt;Prosody&lt;/a&gt;, &lt;a href="xmpp:gajim@conference.gajim.org?join"&gt;Gajim&lt;/a&gt;) and the wonderful organization(&lt;a href="http://xmpp.org/xsf/"&gt;XSF&lt;/a&gt;), they've helped me a lot on this project. Many thanks to them! And, thanks to Google, who makes all of these possible, :)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;What have been done&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;XEP-0136 is almost completely implemented:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://xmpp.org/extensions/xep-0136.html#pref"&gt;Archiving Preferences&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://xmpp.org/extensions/xep-0136.html#auto"&gt;Automatic Archiving&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://xmpp.org/extensions/xep-0136.html#manual"&gt;Manual Archiving&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://xmpp.org/extensions/xep-0136.html#manage"&gt;Archive Management&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://xmpp.org/extensions/xep-0136.html#replication"&gt;Replication&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Not perfect, but workable. &lt;br /&gt;&lt;br /&gt;The 3rd part of XEP-0136, &lt;a href="http://xmpp.org/extensions/xep-0136.html#otr"&gt;Off The Record&lt;/a&gt;, is too complicated, and not practical I think. So MattJ and I decided not to implement this feature, and implement another "XEP" instead -- &lt;a href="http://matthewwild.co.uk/uploads/message-archive-management.html" rel="nofollow"&gt;XEP-xxxx: Message Archive Management&lt;/a&gt;, which is a much simpler version of XEP-0136.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;What to be done&lt;/span&gt;&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;I'll continue maintaining mod_archive and mod_archive_muc. There are still some little issues, and I'll fix them in the future.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All the code is available at &lt;a href="http://code.google.com/p/prosody-modules/"&gt;prosody-modules&lt;/a&gt;. Any suggestions are welcome. :) Please report issues &lt;a href="http://code.google.com/p/prosody-modules/issues/list"&gt;here&lt;/a&gt;, or contact me at shinysky1986 (A T) gmail dot com.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-8920284468534721046?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/8920284468534721046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=8920284468534721046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/8920284468534721046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/8920284468534721046'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/08/final-report-for-my-gsoc-project.html' title='Final Report For My GSoC Project'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-270876889332849175</id><published>2010-08-09T20:37:00.000+08:00</published><updated>2010-08-09T20:37:04.446+08:00</updated><title type='text'>Week #11: mod_archive_muc</title><content type='html'>This week I implemented a new module: &lt;a href="http://matthewwild.co.uk/uploads/message-archive-management.html"&gt;mod_archive_muc&lt;/a&gt;, a simple version of mod_archive, which is the implementation of XEP-0136.&lt;br /&gt;&lt;br /&gt;In mod_archive_muc, we simply archive every message regardless of the collection. And retrieve them later with any combination of three filtering attributes - 'with', 'start' and 'end'. This is much simpler than mod_archive.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Next Step:&lt;/b&gt;&lt;br /&gt;* Go on finalizing the code.&lt;br /&gt;* Do testings.&lt;br /&gt;* Prepare for the final evaluation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-270876889332849175?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/270876889332849175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=270876889332849175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/270876889332849175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/270876889332849175'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/08/week-11-modarchivemuc.html' title='Week #11: mod_archive_muc'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-2007935450846373567</id><published>2010-08-04T17:26:00.002+08:00</published><updated>2010-08-04T17:29:03.665+08:00</updated><title type='text'>Week #10: Efficiency Improvement</title><content type='html'>Last week, I mainly focused on efficiency improvement, testing and bug fixing. Up to now, most of them are finished.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Improvements and Bug-fixing:&lt;/b&gt;&lt;br /&gt;* Keep collections stored in REVERSE chronological order.&lt;br /&gt;* Make sure result set are in chronological order(as specified in XEP-0136).&lt;br /&gt;* Use binary search to improve collection inserting speed.&lt;br /&gt;* Use util.jid.compare to do JID matching.&lt;br /&gt;* Fix a bug about time stamp.&lt;br /&gt;* Some other minor fixes.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Next Step:&lt;/b&gt;&lt;br /&gt;* Go on finalizing the code.&lt;br /&gt;* Do some testings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-2007935450846373567?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/2007935450846373567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=2007935450846373567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/2007935450846373567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/2007935450846373567'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/08/week-10-efficiency-improvement.html' title='Week #10: Efficiency Improvement'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-7303534011261137649</id><published>2010-07-27T13:02:00.000+08:00</published><updated>2010-07-27T13:02:51.470+08:00</updated><title type='text'>Week #9: Preferences Interpretation</title><content type='html'>This week I mainly finished these features:&lt;br /&gt;* Interpreting preferences when performing automatic archiving, to determine whether archive the given message. &lt;br /&gt;* Mapping an message to some collection based on timestamp, to determine which collection the give message should be archived into.&lt;br /&gt;&lt;br /&gt;The next step:&lt;br /&gt;* Keeping archived collections in chronological order.&lt;br /&gt;* Making sure result sets returned to clients are sorted in chronological order.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-7303534011261137649?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/7303534011261137649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=7303534011261137649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/7303534011261137649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/7303534011261137649'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/07/week-9-preferences-interpretation.html' title='Week #9: Preferences Interpretation'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-8983434689153126774</id><published>2010-07-19T21:12:00.000+08:00</published><updated>2010-07-19T21:12:25.770+08:00</updated><title type='text'>Week #8: Replication</title><content type='html'>This week I implemented 'Replication'.&lt;br /&gt;So the most part of this project has been finished. Yeah~&lt;br /&gt;&lt;br /&gt;But, there are still a lot of TODO-es remain.&lt;br /&gt;So in the next several weeks, I'll fix these problems.&lt;br /&gt;&lt;br /&gt;Next step:&lt;br /&gt;* Parsing preferences to determing whether archive the incoming messages or not.&lt;br /&gt;* Mapping an message to some collection based on timestamp(?)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-8983434689153126774?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/8983434689153126774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=8983434689153126774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/8983434689153126774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/8983434689153126774'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/07/week-8-replication.html' title='Week #8: Replication'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-6519581955173426186</id><published>2010-07-13T09:10:00.000+08:00</published><updated>2010-07-13T09:10:27.982+08:00</updated><title type='text'>Week #7: Archive Management - Part II</title><content type='html'>This week I finished the implementation of "Archive Management", including:&lt;br /&gt;&lt;ol start="1"&gt;&lt;li&gt;Retrieving a list of collections&lt;/li&gt;&lt;li&gt;Retrieving a collection&lt;/li&gt;&lt;li&gt;Removing a collection&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Here is my thoughts:&lt;br /&gt;&lt;ol start="1"&gt;&lt;li&gt;Add a "access" attribute to chat element, representing the time this collection is last accessed(created/modified/removed).&lt;/li&gt;&lt;li&gt;modified_handler check this "access" attribute to determine if include this collection in the result set or not.&lt;/li&gt;&lt;li&gt;If a collection has no any child, that means it has been deleted.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;The next step:&lt;br /&gt;&lt;ol start="1"&gt;&lt;li&gt;Mid-term Evaluation, :)&lt;/li&gt;&lt;li&gt;Replication&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-6519581955173426186?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/6519581955173426186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=6519581955173426186' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/6519581955173426186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/6519581955173426186'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/07/week-7-archive-management-part-ii.html' title='Week #7: Archive Management - Part II'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-7195494191229909781</id><published>2010-07-05T20:36:00.004+08:00</published><updated>2010-07-05T20:55:40.916+08:00</updated><title type='text'>Week #6: Archive Management - Part I</title><content type='html'>This week and the next week(before the mid-term evaluation), I planned to implement these features:&lt;br /&gt;* Retrieving a List of Collections&lt;br /&gt;* Retrieving a Collection&lt;br /&gt;* Removing a Collection&lt;br /&gt;&lt;br /&gt;Actually, these features involve implementing &lt;a href="http://xmpp.org/extensions/xep-0059.html"&gt;XEP-0059: Result Set Management&lt;/a&gt;. So this part would take more time.&lt;br /&gt;&lt;br /&gt;After this, I'll implement &lt;a href="http://xmpp.org/extensions/xep-0136.html#replication"&gt;Replication&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-7195494191229909781?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/7195494191229909781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=7195494191229909781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/7195494191229909781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/7195494191229909781'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/07/week-6-archive-management.html' title='Week #6: Archive Management - Part I'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-5409105257514264261</id><published>2010-06-30T16:48:00.003+08:00</published><updated>2010-07-12T10:35:34.959+08:00</updated><title type='text'>The things I don't like about XEP-0136</title><content type='html'>&lt;b&gt;Update 7/12, 2010&lt;/b&gt;&lt;br /&gt;* "version" attribute of a collection. It seems isn't used anywhere.&lt;br /&gt;-------------------------&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update 7/7, 2010&lt;/b&gt;&lt;br /&gt;* 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?&lt;br /&gt;-------------------------&lt;br /&gt;&lt;br /&gt;MattJ want me to give a list of the things I don't like about XEP-0136, now here is the list:&lt;br /&gt;&lt;br /&gt;* '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.&lt;br /&gt;* It's NOT easy to find out duplicated messages.&lt;br /&gt;* Linking Collections. I think it's not very practical. :/&lt;br /&gt;* Collections. Without the 'thread' element, it's hard to determine which collection a new message belong to.&lt;br /&gt;* 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.&lt;br /&gt;&lt;br /&gt;That's all for now.&lt;br /&gt;&lt;br /&gt;It's said that &lt;a href="http://xmpp.org/extensions/xep-0136.html#intro"&gt;XEP-0136 will have some improvements&lt;/a&gt;. Happy to see that, :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-5409105257514264261?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/5409105257514264261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=5409105257514264261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/5409105257514264261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/5409105257514264261'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/06/things-i-dont-like-about-xep-0136.html' title='The things I don&apos;t like about XEP-0136'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-5569335417301713679</id><published>2010-06-28T21:49:00.000+08:00</published><updated>2010-06-28T21:49:14.831+08:00</updated><title type='text'>Week #5: Manual Archiving - part I</title><content type='html'>In this week, these features have been implemented(All about Manual  Archiving):&lt;br /&gt;* Uploading Messages to a Collection&lt;br /&gt;* Offline  Messages&lt;br /&gt;* Groupchat Messages&lt;br /&gt;* Changing the Subject of a Collection&lt;br /&gt;* Linking  Collections&lt;br /&gt;* Associating Attributes with a Collection&lt;br /&gt;&lt;br /&gt;Next step:&lt;br /&gt;Make it more robust.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-5569335417301713679?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/5569335417301713679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=5569335417301713679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/5569335417301713679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/5569335417301713679'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/06/week-5-manual-archiving-part-i.html' title='Week #5: Manual Archiving - part I'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-4907433755662374724</id><published>2010-06-21T21:23:00.000+08:00</published><updated>2010-06-21T21:23:11.868+08:00</updated><title type='text'>Week #4: Automatic Archiving - part II</title><content type='html'>This week, I mainly did these things:&lt;br /&gt;* Reading through &lt;a href="http://xmpp.org/extensions/xep-0136.html"&gt;XEP-0136: Message Archiving&lt;/a&gt; again, to determine how to store the messages.&lt;br /&gt;* Writing code to do automatic archiving.&lt;br /&gt;&lt;br /&gt;But there are still some issues remain:&lt;br /&gt;* If a thread ID is not included in the message stanza, mod_archive should use some methods for mapping messages and conversations  to collections.&lt;br /&gt;* Dealling with the time attributes.&lt;br /&gt;&lt;br /&gt;Next step:&lt;br /&gt;* Solve the problems above &lt;br /&gt;* &lt;a href="http://xmpp.org/extensions/xep-0136.html#manual"&gt;Manual Archiving&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-4907433755662374724?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/4907433755662374724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=4907433755662374724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/4907433755662374724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/4907433755662374724'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/06/week-4-automatic-archiving-part-ii.html' title='Week #4: Automatic Archiving - part II'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-4536874552194902590</id><published>2010-06-14T21:59:00.000+08:00</published><updated>2010-06-14T21:59:52.256+08:00</updated><title type='text'>Week #3: Automatic Archiving - part I</title><content type='html'>In week #3, I was always doing something on "Automatic Archiving".&lt;br /&gt;&lt;br /&gt;At first, I tried to add message hooks for mod_archive, then I found it didn't work.&lt;br /&gt;Finally I figured out that it's because the priority of my handler was not set correctly.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Finally I got my handler to run.&lt;br /&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-4536874552194902590?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/4536874552194902590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=4536874552194902590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/4536874552194902590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/4536874552194902590'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/06/week-3-automatic-archiving-part-i.html' title='Week #3: Automatic Archiving - part I'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-3242126803476951268</id><published>2010-06-07T21:09:00.001+08:00</published><updated>2010-06-07T21:11:03.026+08:00</updated><title type='text'>Week #2: Preference Handling</title><content type='html'>&lt;b&gt;In the last week, these things have been done:&lt;/b&gt;&lt;br /&gt;* &lt;a href="http://xmpp.org/extensions/xep-0136.html#pref-default"&gt;Setting Default Modes&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://xmpp.org/extensions/xep-0136.html#pref-contact"&gt;Setting Modes for a Contact&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://xmpp.org/extensions/xep-0136.html#pref-session"&gt;Setting Modes for a Chat Session&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://xmpp.org/extensions/xep-0136.html#pref-archive"&gt;Setting Archiving Method Preferences&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://xmpp.org/extensions/xep-0136.html#auto"&gt;Client Enables/Disables Automatic  Archiving&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, the preference handling is mostly done, far ahead of the &lt;span class="short_text" id="result_box"&gt;&lt;span title=""&gt;schedule&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The next step:&lt;/b&gt;&lt;br /&gt;* &lt;a href="http://xmpp.org/extensions/xep-0136.html#auto"&gt;Automatic Archiving.&lt;/a&gt; Grab messages and store them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-3242126803476951268?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/3242126803476951268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=3242126803476951268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/3242126803476951268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/3242126803476951268'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/06/week-2-preference-handling.html' title='Week #2: Preference Handling'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-452927429344815425</id><published>2010-05-30T13:04:00.001+08:00</published><updated>2010-05-30T13:08:40.070+08:00</updated><title type='text'>Week #1: Determining Server Support &amp; Determining Preferences</title><content type='html'>A week has passed since the coding phase began.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;In the last week, these things have been done:&lt;/b&gt;&lt;br /&gt;* Committing code to &lt;a href="http://code.google.com/p/prosody-modules/"&gt;project prosody-modules&lt;/a&gt; for the first time.&lt;br /&gt;* Adding a new &lt;a href="http://code.google.com/p/prosody-modules/wiki/mod_archive"&gt;wiki page&lt;/a&gt; for my module(mod_archive).&lt;br /&gt;* Communicating with the Gajim team. I've gotten a working copy of the message archiving branch of Gajim, so it'll be more convenient to test and debug my module. Thanks to johnny and Asterix.&lt;br /&gt;* Discussing with MattJ about some implementation details, and getting Prosody 0.7 to run. Thanks to MattJ and waqas.&lt;br /&gt;* Working on the module. I've implemented these two features: Determining  Server Support &amp;amp; Determining Preferences as planned.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The plan for the next week:&lt;/b&gt;&lt;br /&gt;* Setting Default Modes&lt;br /&gt;* Setting Modes for a Contact&lt;br /&gt;Maybe more, hopefully. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-452927429344815425?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/452927429344815425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=452927429344815425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/452927429344815425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/452927429344815425'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/05/week-1-determining-server-support.html' title='Week #1: Determining Server Support &amp; Determining Preferences'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37787898.post-227644946195835505</id><published>2010-04-28T13:16:00.000+08:00</published><updated>2010-04-28T13:16:22.034+08:00</updated><title type='text'>Hello, world!</title><content type='html'>I will post my progress here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37787898-227644946195835505?l=gsoc-prosody.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gsoc-prosody.blogspot.com/feeds/227644946195835505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37787898&amp;postID=227644946195835505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/227644946195835505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37787898/posts/default/227644946195835505'/><link rel='alternate' type='text/html' href='http://gsoc-prosody.blogspot.com/2010/04/hello-world.html' title='Hello, world!'/><author><name>十一</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
