Enjoy!
-
最新日志
最新评论
存档页
分类
功能
I can't believe that, the last status update happened about one month ago. What else can I say but ''time flies"?
In the past month, lots of things/events happened. The biggest one is, this project got a positive final evaluation. It means an end of this GSoC project. But I take this as a beginning of it as a 'pure' SC project.
Anyway, what happened "technically" in the last month?
* switched to httpclient-4.0-alpha5-SNAPSHOT + httpcore-4.0-beta2;
* added support for contact status message(both displaying and modifying);
* added two new status: idle and invisible
* fixed some bugs(including small ones and big ones, ![]()
* added support for "SMS"(stands for "Send Messages to your buddieS",
, now we can send messages, not the Facebook CHAT messages, to our buddies.)
* The SMS supporting is not perfect, actually it's even not acceptable. Because we can only send messages with only one account though every account has its own service registered, I don't know why. This support is not a standard implementation of SC SMS service, so the above problems may be the result of this "abnormal" implementation. I will figure this out.
At last, a new snapshot:
Last week, I mainly focused on the unit testing and finalization. Up to now, unit testing are finished. And so as the finalization, at least mostly.
Last week, I was working on the implementation of server stored contact info service.
Up to now it works fine, here is the snapshot:
There are some empty lines where should be the image details. After we add image details, the images are moved to the bottom automatically and empty lines are still there, that's weird.
Another problem is if the condition of internet connection is bad, and when we open the contact info box, the GUI is blocked and we can't do anything else except waiting. The synchronous machanism is not good in this condition.
Last week I focused on bug-fixing stuff and some small improvements.
I have tried to add proxy support, but my mentor Lubo suggest me not to do this now. I agreed with him. But as I am in a LAN, I just leave the proxy setting there, and if we want to merge it into the trunk, we just need to comment a couple of lines, that's simple.
1. The presence status: In the past, if someone was offline, and then we received a message from him/her, we should set the buddy as online, but we didn't. Now we do.
2. The contact list: If the contacts who are on the "NotInContactList" are proved to be our buddies, they will be set to be Persistent and Resolved, so that they will apear on our contact list after our restarting SC.
3. The threads: Start a new thread for each POST method of http client, so that the GUI thread(s) won't be blocked.
4. The avatars: If we failed to fetch avatars from the server, we use the default avatar.
5. Logging out: Log out if we set our status as offline.
Merging the latest version from trunk into my branch, making sure it continues to work
Added the proxy support, but it's just a prototype implementation. This feature should be related to the global proxy setting of SC.
The disadvantage is by now we still can't fetch avatars when we are using a proxy.
There are also other disadvantages:
1. when we refresh the buddy list(every 90 seconds), an offline indicating message is put into the chatroom window. That is not good.
2. The buddies, who are not on our buddy list because we haven't updated the buddy list yet, send us some messages, we just put them into the NotInContactList group. There's no problem here. But after we get the buddy list from the server, and find out they are on the list. we just do nothing. This is not good. We should move them to the default Facebook buddy list(Though it's the "root group" by now).
Update 7/16, 2008
Contact avatar done.
>>>>>>>>>>
Update 7/14, 2008
Online status done.
Typing notification done.
>>>>>>>>>>
By now, we can send and receive Facebook Chat messages.
The plugin will update the online buddy list from the server every 1.5 minutes, although it's said that the buddy list will be refreshed every 3 minutes at the server end.
Nevertheless there are still many details should be taken care of, e.g. the online status of the buddies who were online(but are not online anymore), the displayname in the chatroom window, the useless code that should be removed, and more conditions that should be concerned.
Check this out(maybe later, currently I failed to update files to google code server, that's weird!):
http://code.google.com/p/facebookchat-java
I wrote a simple application to realize facebook-chatting, which is related to another project, my final year project, Project NoX.
Update(200806282225):
Problem 2 fixed.
The link refered: http://forums.cocoaforge.com/viewtopic.php?f=10&t=17566
Many thanks to Rasmuskr and zac !
=======================
Update(200806282125):
Problem 3 fixed.
=======================
In the past about 10 days, these things have been done:
1. google-ing(?);
2. reading some documents and web pages;
3. communicating with my new mentor Lubo;
4. coding.
Now I can send(automatically) and receive Facebook Chat messages, though many problems still exist.
I wrote a simple application to receive incoming facebook chat messages from the facebook server and send the message back to the sender automatically.
So far sometime it works well. But as far as I know, there are many problems:
1. It can't keep the connection stable;
2. It Still can't get the buddy list successfully;
3. It can't get the channel from the source code of home page(maybe because httpclient can't simulate a specific browser, or I don't know how to yet).
The next step:
fix the above problems .
The next next step:
integrate this simple app into the facebook plugin.
In the last two weeks, I have to spend less time on gsoc project, because a lot of things must be done before the graduation.
As a result, the progress was delayed. I apologize for this to my mentor Romain, SORRY.
Ok, these things have been done:
Creating a shell;
Implementing a simple facebookaccregwizz package.
At first, I had some problems to make the account registration wizzard present in the protocol list. But before long I fixed this problem, which is caused by the mistake that I didn't add the jar to the felix.auto.start.67 list in the felix.client.run.properties file......
I am thinking of how to proceed, and here is my new plan:
Getting familiar to the facebook protocol;
Designing the structure of this implementation, deviding the work into parts;
Communicating with my new mentor Lubo, make a detailed roadmap;
Coding and coding.