一般情况下是在 user.home下的spark/user/<jid>/transcripts 。 在代码中,实际上是一个listener: 包:org.jivesoftware.sparkimpl.plugin.transcripts 类:ChatTranscriptPlugin 在初始化的时候就加入,然后保存、查看聊天记录,以xml格式存放。打印对话窗口的时候会显示最近的20条聊天记录。 但是缺少查询,硬伤。
执行存储过程可能会遇到:User does not have access to metadata require d to determine stored procedure parameter types 以下是解决的方法:http://sql.dzone.com/tips/quick-tip-grating-access-meta- If you have root access to your MySQL database then you can simply run a query on the database to resolve the problem. What th ...
原地址: http://www.popub.net/script/PCAS.html 省,市,地区三级联动的js菜单,有意思的把所有的内容都装入一个js,不需要动态ajax取内容,而且不大,经过超级压缩后,只有18k,还是gzip前的内容。 如果地区内容不压缩则大约45k,也不算大。 只不过是gbk的,如果引用需要指明gbk的编码: <script type="text/javascript" src="/javascripts/pcas.js" charset="gbk"> </script> 使用的时候非常简单: new PCAS("enterprise[ ...
User-Agent(浏览器提交出来的,可以判断操作系统,浏览器类型): request.user_agent Referer(引用,可以判断上一层网页): request.referer remote ip(客户IP,可以判断城市地区): request.remote_ip
canhaschat插件没有在接受消息时刷新最后使用时间。这样的话,如果客户端一直在等待消息,那么到达timeout就会退出,实际上客户端还是在连接的,这时候 chat_id已经失效了。 看上去应该在接受消息的时候刷新一下最后时间。 canhaschat/lib/can_has_chat/remote/chat_server.rb line 150: get_connection_for(options[:id]).synchronize_with do |conn| conn.refresh_age() sender_jid = get_user(optio ...
2008-06-11

编译lighttpd 1.5

关键字: lighttpd
为了获得压缩功能,编译1.5。注意要安装libaio,libgamin的开发库。 编译的时候,增加linux aio, fam, openssl ./configure --with-linux-aio --with-fam --with-openssl --enable-maintainer-mode 配置lighttpd.conf #使用fam监视文件状态 server.stat-cache-engine = "fam" #keep alive 设为30 server.max-keep-alive-requests = 30 #使用epoll的api serve ...
openfire是支持匿名登录的,但是问题在于xmpp4r却不支持。幸好已经在开发中了,如果要使用,可以直接从git里获得。 它的主页里说了,已经切换到git去了。 git-clone git://github.com/ln/xmpp4r.git 下载了xmpp4r后,使用setup.rb可以安装,不过要注意先用gem删除掉原来的xmpp4r。 匿名登录很简单,其他都不变,只要把client.auth这句改为: client.auth_anonymous 就行了。 查它的网站上文档已经有了这个方法,但是还没有正式出版,不过经试验没什么bug。 附件上是2008年6月1 ...
聊天窗口加入对话后,需要把内容滚动到最下面。通常是用$(n).scrollTop=$(n).scrollHeight; 但是如果有自动换行的情况就定位不准确。 于是就加了一个空的span,标明id,然后使用scrollIntoView。 IE有这个函数,FF居然也有这个函数,虽然在行为上有点区别。 IE的overflow设为auto和scroll都没问题,但是ff如果设为auto则不行,会把整个div伸长,必须强制设为scroll才正确。 这样滚动到最底层是比较准确的。 function appendHTMLAndScroll(n,html){ var id=get_ran ...
安装一个mod_geoip就行了,在debain和ubuntu上很容易。 参考:http://trac.lighttpd.net/trac/wiki/Docs%3AModGeoip http://www.chineselinuxuniversity.net/articles/12391.shtml 实际效果:http://www.pidgincn.com/test.php
这个js游戏不错 http://www.markus-inger.de/test/game.php
搞了一个extjs的hello world http://iocs.appspot.com/ 没找到如何启用gzip压缩。
  • 01:02
  • 浏览 (474)
  • 评论 (1)
  • 分类: ruby
  • 发布在 EXT 圈子
2008-05-21

学了一招右对齐

关键字: extjs
FormPanel里的label缺省是左对齐,要改右对齐就修改一个属性: lableAlign:"right" 我一开始在TextField里找了半天都没有,后来看到网上有说到才明白是在FormPanel里改属性。 不过仍然没有找到加红星号的属性。
2008-05-18

常见的几种校验方式

关键字: extjs
校验textfield一般来说有这几个常见的方式: 1.不能为空 allowBlank:false 2.最大最小长度 minLength: 10, maxLength: 100, 3.邮件格式 vtype: "email", 4.url格式 vtype: "url", 5.密码输入两次,这个比较复杂,所幸的是extjs里的例子有的 //注册校验器 function initValidator(){ Ext.apply(Ext.form.VTypes, { password: function(val, ...
  • 01:08
  • 浏览 (709)
  • 评论 (3)
  • 分类: ruby
  • 发布在 EXT 圈子
实在没有找到很好的办法,简单地直接加一段HTML就算了: var redStar=" <font color='red'>*</font> "; ...... fieldLabel: "用户名"+redStar, 还有一个属性labelSeparator,也可以尝试一下,这个设置的是那个冒号,没试过这个。
textfield的label缺省是左对齐的,有时候需要调整为右对齐,则可以设置labelStyle: labelStyle: "text-align: right;", 这个style会自动加到label上去的,还有一些粗体之类也可以。
  • 00:54
  • 浏览 (619)
  • 评论 (0)
  • 分类: ruby
  • 发布在 EXT 圈子
安装或编译一个apache2,在bin目录下有个ab. Usage: ./ab [options] [http[s]://]hostname[:port]/path Options are: -n requests Number of requests to perform -c concurrency Number of multiple requests to make -t timelimit Seconds to max. wait for responses -p postfile File containing ...
2008-05-16

强制刷新panel

关键字: extjs
刷新panel可以用一个方法:doLayout。 个人认为这是一个非常奇怪的api,show这个方法如果是lazy load,那么至少要有一个refresh或reload之类的刷新方法。
设为forceFit: true后,本来是应该撑满的,结果在IE下搞出三千多的宽度,吓了一跳。 改为autoFill:true后就没事了。 这个grid panel是render一个div的,这个div是在tab panel里的。没试过别的情况。 firefox下都很正常。
  • 18:22
  • 浏览 (602)
  • 评论 (0)
  • 分类: ruby
  • 发布在 EXT 圈子
里面到处有代码强制指定字体大小,甚至有10以下的,太恐怖了,我一怒之下全部改为最少12的字体了。
一时兴起准备把java项目也移到netbeans里去,可惜转过去一看才知道根本不行。 于是仍然用eclipse。
由于spark中的搜索界面是直接根据服务端的search插件生成的,所以必须把服务端的search插件给汉化了才行。 重新编译了一下,主要增加了一个search_i18n_zh_CN.properties,如果需要改的话把附件里的文件解压出来编辑修改就行了。 重新上传服务器替换掉原来的search插件就行了。 再顺便看了一下似乎fastpath没有资源的,看来没有本地化。
2008-04-29

extjs+rails做一个登录界面

关键字: extjs, rails, 登录
我选来选去,挑花了眼,结果还是用netbeans做IDE,而且js编辑器也还可以用用,也省得去D版了。 一个登录界面,非常简单,首先是创建一个controller,只要一个index就够了。 script/generate controller manage index 这个ManageController将拿来单独响应extjs的访问。 修改index.rhtml <html> <head> <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Contro ...
2008-04-29

搞定spark昵称

关键字: nickname, spark, xmpp4r
spark总是不显示名称,而是显示一个去掉后缀的用户名,必须要设置vcard中的昵称才行。 注意在xmpp4r里要引用vcard require 'xmpp4r/vcard/helper/vcard' def self.add_vcard(user) j=user.jabber_conn if j #add vcard info begin vcard_helper = Jabber::Vcard::Helper.new(j) vcard = vcard_helper.get vc ...
很高兴看到3.5.1已经修复了数据库升级的 bug,上次去它的论坛发了一个bug report,看到回复是已经在下个版本中修复了,果然这次出来是修复了。 3.5.1同时也发布了两个原来企业的插件:fastpath和monitor,装上感觉还可以,但是demo缺省帐户是有问题的,会出一个null错误,不过新建的帐号是没问题的。 再配上sparkweb插件,就可以做一个不错的客服了,非常类似国外的传统网站客服。但是没汉化过,要自己定制一下。而且这个sparkweb非常地简陋,但是整个流程是很清晰的。 装上fastpath后,如果用spark登录,那么就会多一个panel,可惜还是英文的。 ...
spark的语言插件显示不出中文选项的,那是因为它仅能识别两个字母的语言文件,例:"en",中文是:"zh_CN",带了国名就不能识别了,但是仍然可以正确显示中文,只是语言选项中没有简体中文了。 修改这个文件:LanguagePlugin.java package org.jivesoftware.sparkimpl.plugin.language; import java.awt.event.ActionEvent; import java.io.File; import java.net.URL; import java.net.URLDecoder; import j ...
最近看了一下openfire的日志,发现老是提示数据库在升级,而且总报错,就检查了一下升级数据库的sql。目录:/usr/share/openfire/resources/database/upgrade/14 3.4.5的版本是13,3.5.0是 16,所以会执行14到 16下所有的相关数据库sql。 14目录下的openfire_mysql.sql有问题,要改一下: ALTER TABLE jiveRoster CHANGE COLUMN jid jid varchar(1024) not null; 原来是ALTER,要改成CHANGE。 mysql 5.0上测试通过,使 ...
经常会收不到,尝试了一下,发现要加为好友,最好是把自动接受的插件打开。 如果不加为好友,发的消息往往会收不到。打开自动接受的插件,就不会因为没加为好友,影响到发消息。 而且加为好友之后是有一段延时的,并不能马上发消息的,所以越早加好友越好。
并不复杂,只要发送一个订阅的Presence就行了。 pres = Jabber::Presence.new.set_type(:subscribe).set_to(jid) conn.send(pres) conn是已经连接的jabber。 设置type为:subscribe,设 to为需要增加的好友jid就行了。 如果要自动通过别人加好友,那么要设一个callback。 roster = Jabber::Roster::Helper.new(conn) roster.add_subscription_request_callback do|roster_ite ...
escape在js里会使用utf8编码,而encodeURIComponent而直接可以被rails所识别,所以要编码中文,就使用encodeURIComponent。 参考:http://www.caiwangqin.com/post/179
2008-04-15

gem列表

目前正在用的gem list actionmailer (2.0.2, 1.3.6) actionpack (2.0.2, 1.13.6) actionwebservice (1.2.6) activerecord (2.0.2, 1.15.6) activeresource (2.0.2) activesupport (2.0.2, 1.4.4) cgi_multipart_eof_fix (2.5.0) columnize (0.1) daemons (1.0.10) fastthread (1.0.1) fcgi (0.8.7) gem_plugin (0.2 ...
magicgod
搜索本博客
我的相册
215886b9-3ce2-36c9-97a2-c2372e40191e-thumb
dog
共 3 张
存档
最新评论