Archive for March, 2009

SEO必读

Monday, March 9th, 2009

Specify your canonical

个人认为这是非常重要的一个功能,对搜索引擎优化等有重要的影响。其实即使在如Lotus Connections这样的企业应用中,为外部搜索引擎提供有效的内容索引也是我们考虑的问题之一。比如在URL后添加 “?lang”参数来指定页面的语言翻译会为同一份内容提供两个不同的URL,有了这个规范(目前仅限Google),可以在页面中指定我们推荐的URL – 既可以归一化URL,还可以把分散的pagerank汇集到同一”内容“页面上。淘宝小店的店主们看看能不能试试这个功能,提高搜索命中率。

Lotusphere comes to CDL

Monday, March 9th, 2009

今天和大伙一起,在会议室里呆了一天,参加远程的Lotusphere comes to CDL。北京的同事在清华现场,上海、台北和越南的同事通过Sametime Unyte远程共享。

我做了Lotus Connections的报告,同时聆听了其他几个session,印象比较深的有Notes/Domino 8.5,  Quickr和ECM集成以及多语言WCM应用开发。今天才知道Domino 8.5已经支持邮件附件的单一副本功能 – 当一份包含了10MB附件的邮件发送给10个人,服务器上只保存一份该附件的物理拷贝。从客户端的角度,Quickr for Notes的插件可以自动把用户发送的附件上传到Quickr服务器上并把原始邮件中附件替换成一个Quickr的下载链接 – 双管齐下,分别解决服务、客户端的冗余数据。

Turkish-i

Monday, March 9th, 2009

土耳其语的字符i有四种形式:i, I, ı 和 İ。 如果使用Java语言进行这四个字符间大小写的转换,会有意想不到的结果(见下图)。

在土耳其locale下,进行字字符i的大小写转换,可以看到潜在的危险:想像一下如果字符i(I)出现在文件路径、HTML标签、电子邮件地址、URL等,那么转换后将导致严重的问题。一个没有在设置了土耳其locale的操作系统环境下进行过GVT(Globalization Verification Test)的软件,暴露出此类问题的可能性相当之大。

因此,在我们处理土耳其i的大小写时,需要区分字符使用的上下文环境:如果使用在用户不可见的系统相关的地方,如上述几个例子,那么在做大小写转换的时候必须使用英文的locale;如果字符出现的用户界面上且和土耳其locale相关,则需要使用土耳其locale进行转换。不过在有些情况下,如何选择转换方案并非如此容易,甚至是无法事先预测的。个人认为,处于安全的考虑,在无法正确判断上下文的情况下,可以使用英文locale来进行处理,在进行GVT或者TVT的时候如果发现存在问题,则case by case的来解决。