2009-06-26 Tips

1,spark最后的stable release是2.5.8,因为很多功能都没有,所以就从svn里co了一份源码,修改完字体用ant编译后覆盖了原安装目录,这下用着舒服一些了,字体可以看清,away status也可以用。

不完善的地方还有,在第一次打开chat窗口时,窗口是隐藏的,在任务栏里右击chat窗口选最大化,然后通过单击tab的关闭按钮来关闭窗口后,再次打开chat窗口,再次在任务栏里右击chat窗口选最大化,然后单击chat窗口的最大化/还原按钮,接着调整窗口到正常大小才可以正常显示。

2,准备新添加一个svn版本库,原有的一个版本库路径是在/data/svn,svnserve运行的路径也是它。当我新添加的svn版本库设定为/data/foo后,客户端访问不了新版本库,在查找了众多资料后,我用以下办法来处理:co一份原版本库,删除/data/svn里的所有文件以及/data/foo目录,接着在/data/svn里建立old和foo两个目录,并分别在这两个目录建立版本库。于是svnserve运行在/data/svn目录下,版本库在/data/svn/old和/data/svn/foo目录,最后导入相关的源码就行了。

3,vs不同的版本对配置文件的支持不一样,我至今也没找到官方的文档,以下是我测试的总结:
//新建项目时IDE会Properties目录下自动生成Settings.settings文件
//配置Settings.settings时,IDE会自动生成app.config文件并在其中保存Settings.settings的数据
//Settings.settings里设置scope为user时,它对应app.config文件的userSettings节数据
//Settings.settings里设置scope为application时,它对应app.config文件的applicationSettings节数据
//Properties.Settings可以读取app.config文件的userSettings节和applicationSettings节数据,也就是说它能读取由Settings.settings设置的数据
//ConfigurationManager.AppSettings可以读取app.config文件的自定义的appSettings节数据
//ConfigurationSettings.AppSettings可以读取app.config文件的自定义的appSettings节数据

布署jabber系统之软件篇

      以前使用过TM的企业群,也使用过RTX来作为企业内部通讯系统,后来又尝试了jive,不过最终也没有布署下去.

      现在又有了这种需求,首先想到的是使用openfire.在安装完成之后登录了它的web后台,现在的版本比之前强了很多,不仅支持集群共享花名册主流数据库以及ldap/ad认证,并且还开源了.因为想获得记录聊天信息和客户端自动接收文件传输的功能,所以就又尝试了颇为流行的ejabberd.

      安装完ejabberd之后,登录了它的web后台,因为习惯了openfire,所以刚开始觉得怪怪的,不过一下子就熟悉了.ejabberd的最大特点是它天生善于支持集群.除此之外也能支持主流数据库及共享花名册.不过在它的后台我也没有找到上面我提到的需要的两个功能.于是想看看它的插件里有没有能实现这两个功能的.很可惜的是,只看到一个可以记录聊天信息的插件,而实现自动接收文件传输的插件没有找到.并且它的插件是以源码方式提供的,想使用的话要自己从svn服务器同步下来,然后安装好erlang,再自己编译出来.

      我可没有那么多的时间来玩它,于是又回到openfire,在它的插件里找,跟ejabberd一样,也是只有实现记录聊天信息的插件,实现自动接收文件传输的插件依然没有.

      接下来说说客户端.

      在xmpp.org/software/clients.shtml列表里的,我只对spark/tkabber/pandion有意向.spark是openfire官方的客户端,在使用的过程中发现它的字体很小,它可以定制的字体大小只有聊天窗口和花名册列表,想要修改其它字体的大小就必须修改源码.它的最后一个正式版是2007年发行的2.5.8,在2008年的时候官方发行了一个2.6.0beta2,因为官方对spark已经失去了兴趣,所以到现在spark的svn源里依然还是beta2.

      接下来是tkabber,它是ejabberd所推荐使用的,它与ejabberd一样,也是由俄罗斯人开发的,它的风格看起来像是xchat,并且由于编程环境是Tcl/Tk,它的界面看起来有点奇怪,而配置选项界面则相当奇怪.虽然我很喜欢tkabber,但其它用户是没办法接受这种奇异的非中文客户端的.

      最后是pandion了,在之前试用jive时我使用的客户端就是pandion,我知道它本应该是最适合的客户端的,它的中文界面很漂亮,是我们所习惯的排列方式,其它用户也都这么反映.但是在试用的过程中发现,用它作为客户端在传输文件时只要接收方确认的晚一点,就会传输失败.还有一个问题是与它兼容最好的系统是xp,在更新一些的win系统里容易崩溃退出.

      现在我所使用的组合是openfire+spark,有点遗憾的是自动接收文件传输功能没能实现,另外还有一个很糟糕的问题是spark不支持自动转变用户状态.