差太多了。

嚴格說來是 Plone 2.1 非常不一樣。從 CMF content type 改成 AT content type,許多內容型態的預設行為都與前不同。WYSIWYG 編輯器從 epoz 改成 kupu,犬太郎說是精進了不少;我不知道,我喜歡 reStructuredTextVIM

Plone Desktop (Enfold Desktop) 2.1 運作得很好,一如預料;nautilus 用 dav 連起來會卡卡的,但 konqueror 很順,Gnome 得再加加油。navTree portlet 現在有了很多可調整的選項,非常棒,能夠很有彈性地控制導覽 portlet 的呈現。

然而,從 CMF content type 到 AT content type 的轉換打破了我一些習慣,還得研究解決的辦法。從舊的 2.0.5 匯出來的 zexp 也無法匯回 2.1.1,唯一想到的解法是 dav out, dav in;難看而且需要手動微調。不過,是的,我明白這很正常,我只是不爽。

軟體昇級真的很痛苦,而當可用的時間愈來愈少,這種痛苦也愈見明顯。

所痛即所得

軟體昇級雖然痛,但若什麼也沒學到就更難過了。

不記下來我不甘願。

apache2 name-based virtual host

如果用 Listen ip:port 的格式指定 apache2 監聽的 IP,那麼就不能用 <VirtualHost *:80> 這種寫法來指定 name-based virtual host,而要改成 <VirtualHost ip:80>;同樣地,NameVirtualHost 後面也不能只寫 *:80*,得改成 NameVirtualHost ip:port

ZEO 的安裝

很久以前就想裝裝看 ZEO 了,這次總算找到一個機會。實際使用 ZEO 之後的 ab 測試數據還是只有三個 conn/sec 左右,但,的確比較酷。

plone.org 有一篇很好的介紹。照著裝好了之後,我在 zeo instance 的 runzeo 和 zope instance 的 runzope 裡都加上了 export TZ="Hongkong-8"讓時區顯示正常

Product 安裝 script

這次終於想通了!以前每次都是手動 tar xfz blah.tgz 安裝 product,其實根本就應該用 script 來紀錄安裝動作,像編譯一樣。否則光回想有哪些 product 要裝,就得想好久。

先寫一個 install.sh 紀錄 product tarball 存放的位置 (我們一定都有一個目錄專門放這些 tarball 吧 ;):

#!/bin/sh
ACHV=/secret/place/to/Zope

在每次安裝新 product 的時候,建一個 install-nn.sh,裡面寫:

#!/bin/sh
. ./install.sh

tar xfz $ACHV/Plone-2.1.1.tar.gz
mv -f Plone-2.1.1/* .
rmdir Plone-2.1.1
tar xfz $ACHV/cjksplitter-0_7_3.tgz
tar xfz $ACHV/zopechinapak-0_5.tgz
tar xfz $ACHV/mxmCounter.1.1.0.tar.gz
tar xfz $ACHV/plone-desktop-server-2.1-2918.tar.gz
tar xfz $ACHV/PloneArticle-3.18.tar.gz

把這兩個檔案放到 $INSTANCE/Products 裡面,然後 ./install-01.sh 就把所有的 product 一次裝好。以後要昇級或重建 instance 的時候就方便了。

蠻久以前寫的Zope 自訂安裝,現在還是有點參考價值。

Posted by yungyuc at 23:41, 0 comment, 0 trackback.

最近在編譯 FOSS 軟體的時候都會建一個 build.sh,寫法像這樣:

#!/bin/sh

OPTS=""
OPTS="--prefix=/home/yungyuc/opt/python-2.4-parallel $OPTS"
OPTS="--enable-shared $OPTS"

./configure $OPTS > configure.log 2>&1

make > make.log 2>&1

省下了不少尋找錯誤訊息的時間和螢幕畫面。編譯結束後再 make install 安裝。

Posted by yungyuc at 13:23, 0 comment, 0 trackback.
Change to page (10 entries in each page): 1
© hover year to navigate month: powered by django