2009-07-15

LiveCycle Designer中事件顺序

在LiveCycle Designer中有很多预定义的事件,弄清这些事件的先后顺序很重要。有不少事件,如initialize,validate等事件是在加载文档时没有用户参与就发生的。文档中field元素的事件总是先于form表单的事件。

f为表单名称,p为第一页页面名称,txtField是一个text field的名称。

f.p.txtField::initialize
f::initialize
f.p.txtField::validate
f::validate
f.p.txtField::ready:form
f::ready:form
f.p.txtField::docReady
f::docReady

2009-07-14

解决无法访问dashboard的错误

升级wordpress到2.81后,可以登录进入管理界面,修改各项设置,但是左侧的菜单栏显示不正常,并且不能进入dashboard界面。一点击就会出现页面错误提示:

You do not have sufficient permissions to access this page.

网上有不少类似错误,但很少有仅仅出现在dashboard页面上。后来突然想到有可能是plugin不兼容导致的错误,发现曾经安装过一个名为Admin Drop Down Menu的插件。这个正好与管理界面内的菜单相关,禁用后立即可以访问dashboard页面了。

2009-07-13

转换文件编码

使用vim来转换文件编码:

$ ex filename '+set fenc=utf-8' '+x'

如果要把多个文本文件转换为utf8
$ find -name '*.txt' -exec ex {} '+set fenc=utf-8' '+x' \;

2009-07-12

转换mysqldump文件编码

以前就为mysqldump导出的文件编码折腾过,这一次没费那么大的劲。因为blog的备份是以前从系里mysql服务器dump出来的,并且系里的mysql服务器版本比较低是4.0 (-- Server version    4.0.24_Debian-10sarge2-lo),导出文件的默认编码不是utf8。使用iconv转换总失败,只好用来方法,用notepad++打开sql文件,然后选择format  -> convert to utf8,保存为utf8编码的文件。中间notepad++假死很长时间,耐心等待之后才成功保存。这样把utf8编码的sql文件上传到新的mysql服务器(版本为v5.0.81)后,中文和变音才正常显示。

2009-07-04

无法启动windows上的cygwin sshd

升级完cygwin后,用putty就无法连接本地的ssh server了。查看windows下面的service,CYGWIN sshd根本没有启动。手动点击启动仍然无法启动,执行命令/usr/sbin/sshd 也无法启动,得到错误提示:

/var/empty must be owned by root and not group or world-writable.

执行/usr/sbin/sshd -D -d -d -d得到更详尽的信息:

$ /usr/sbin/sshd -D -d -d -d
debug2: load_server_config: filename /etc/sshd_config
debug2: load_server_config: done config len = 196
debug2: parse_server_config: config /etc/sshd_config len 196
debug3: /etc/sshd_config:13 setting Port 22
debug3: /etc/sshd_config:38 setting StrictModes no
debug3: /etc/sshd_config:92 setting UsePrivilegeSeparation yes
debug3: /etc/sshd_config:106 setting Subsystem sftp /usr/sbin/sftp-server
debug1: sshd version OpenSSH_5.1p1
debug1: private host key: #0 type 0 RSA1
debug3: Not a RSA1 key file /etc/ssh_host_rsa_key.
debug1: read PEM private key done: type RSA
debug1: private host key: #1 type 1 RSA
debug3: Not a RSA1 key file /etc/ssh_host_dsa_key.
debug1: read PEM private key done: type DSA
debug1: private host key: #2 type 2 DSA
/var/empty must be owned by root and not group or world-writable.

记得以前的版本中var目录在cygwin的安装目录下,现在var目录被自动创建到了C:\var下。

试着在var下创建了empty目录并修改其权限,仍然不能启动。最后重新启动cygwin安装程序,在Install for选项中选择for all,在组件中选择reinstall cygwin,cygrunserv, openssh,安装完毕后马上就可以启动ssh服务了!

Update: 在台式机上遇到同样的问题,这次与在笔记本上不同。不能启动windows里的服务,但却能够在命令行下启动sshd,并且能登陆。采用上面的办法重装后仍然不见效果。重新运行ssh-host-config后sshd.log仍然出现

/var/empty must be owned by root and not group or world-writable.

执行:$ chown SYSTEM empty

jia@swhtw78190 /cygdrive/e/cygwin/var
$ ls -al empty/
total 0
drwxr-xr-x+ 2 SYSTEM Benutzer 0 Jul 7 12:36 .
drwxrwxrwx+ 8 jia Benutzer 0 Jul 7 12:36 ..

jia@swhtw78190 /cygdrive/e/cygwin/var
$ net start sshd
CYGWIN sshd wird gestartet.
CYGWIN sshd wurde erfolgreich gestartet.

估计是ssh-host-config程序没有正确设置/var/empty目录的owner。