明天晚上在 Cafe Lumiere,一位遠從紐西蘭來到台灣的 Plone-based developer duffyd 會在 TOSSUG 心得分享中,和我們一起來討論 Plone-based web solution!

詳情請見 http://wiki.python.org.tw/Pot/Events/2007/Plone,更重要的是,來 http://wiki.tossug.org/SignUp%3a2007-04 報名。duffyd 會分享紐西蘭政府採用 Plone 作為開發國家圖書館網站的過程,值得一聽。

Posted by yungyuc at 13:10, 0 comment, 0 trackback.

用 COREBlog 系統的舊 Everyday Work 還在,不過改名放到別的位置去了

這兩天發起狠來,硬把 Django-based blog 程式給作完了。這個程式現在只測過撰寫 comment、收發 trackback/ping,管理介面也非常地簡單。不過反正 COREBlog1 使用 ZMI,管理介面也不怎麼樣,這方面倒也不算退步很多 :p

另外,把 Category 換成 Tag 也是放在心裡好久的想法,現在終於在這裡實現。利用 Django 提供的 syndication app,為每一個 tag 製作 RSS 也真的非常簡單。當然,其它現成的 Blog 軟體早就具備這個功能,但它們都不能用 reStructuredText 來寫 entry 呀!

接下來慢慢看能把這個程式完整化到什麼程度吧。

Posted by yungyuc at 22:43, 1 comments, 0 trackback.

從 "export.dtml" DTML method 來改寫,就可以作出自己想要的 exporter,而且速度頗快。

Posted by yungyuc at 21:08, 0 comment, 0 trackback.

Another note.

這是個用 mxmCounter 製作的 hit counter portlet。使用前,別忘了在 zope 的根目錄新增一個 mxmCounter 物件喔!

<html xmlns:tal="http://xml.zope.org/namespaces/tal"
      xmlns:metal="http://xml.zope.org/namespaces/metal"
      i18n:domain="plone">
<body>
<div metal:define-macro="portlet"
     tal:define="page_hits python:here.mxm_counter.count(here)">
  <dl class="portlet" id="portlet-hit">
    <dt class="portletHeader">
      hit
    </dt>

    <dd class="portletItemSingle">
      Viewed
        <span tal:content="python:'%i' % page_hits" />
      times
    </dd>
  </dl>
</div>
</body>
</html>
Posted by yungyuc at 16:46, 0 comment, 0 trackback.

www.seety.org 昇級為 Plone 2.1 了,事實上是重建,所以許多舊有的資料還懶得搬過去;舊的 www.seety.org/seety.org 換了個名字 oracle.seety.org 繼續存活,這樣就不一定得遷移資料了,哈哈。

趁著轉移系統之便,就順手把以前想試的 adsense 加進去。從 linkmark 看到了一個簡單的 adsense portlet for Plone,不過它仍用 pre-2.1 的語法,所以 portlet 格式與 2.1 有點不相合。為德應卒,所以我就參考了 Plone 自己的 navigation tree portlet,改寫成 definition list (<dl />) 版的 portlet:

<html xmlns:tal="http://xml.zope.org/namespaces/tal"
      xmlns:metal="http://xml.zope.org/namespaces/metal"
      i18n:domain="plone">
<body>
<div metal:define-macro="portlet">
  <dl class="portlet" id="portlet-adsense">
    <dt class="portletHeader">
      advertisement
    </dt>

    <dd class="portletItemSingle">

<script type="text/javascript"><!--
google_ad_client = "pub-0677063667891579";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_url = "008000";
google_color_text = "000000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

    </dd>
  </dl>
</div>
</body>
</html>

至於效果如何,請參考 seety

Posted by yungyuc at 16:19, 0 comment, 0 trackback.

我非常喜歡 Plone 強大的功能和豐富的附加程式。因為架構在 Zope 整套物件化的 ZODB 上面,讓 Plone 可以用非常物件導向程式設計的方式存取資料。在之前接觸過的所有網頁開發工具裡面,Zope, Plone 和 Python 這個組合不像其它 scripting language 一樣得搭配關聯式資料庫,就能夠有安全可靠的資料儲存方式。Product, ZODB 再加上適當的組態檔,Zope 就能把資料和程式帶著跑,解決了不少系統轉移會遇到的問題。我認為這麼高的易維護性是很有價值的。

然而,Plone 最大的問題就是慢。這或許是功能強大的必然結果,限制了系統能夠應用的領域。在一個輸出入同等重要的系統裡,因為不能用 apache caching 的方式加速,每秒能有 10 個 hit 算是很不錯了。要再提昇效能,就得配合 ZEO 組成 Zope cluster,但在 ZEO 身上仍有效能瓶頸。

對資料流量大的網頁系統來說,真不適合用 Plone。不過,Plone 適合用來建構內容複雜的網頁,它可以把各種不同的資料、頁面和影像管理得很好。建立個人網頁也合用;索引、搜尋、on-site 編輯的功能一應俱全,web-based management 的能力讓人舒服。

準備要用 Plone 架設真正的應用系統了,期待 Plone 2.1 的表現!

Posted by yungyuc at 23:05, 2 comments, 0 trackback.
AttributeError: 'module' object has no attribute 'copyright'

昨天在對某個 Plone 2.0.5 網站試行昇級為 Plone 2.1.1 的時候,發現了上面這個錯誤。

這非常讓人困擾。我把 Plone 2.1.1 裝在 Zope 2.8.3 上,一開始以為是 ZWiki 0.46.0 的問題,移掉了沒有用;再把 Zope 2.8.3 一路降級到 2.8.1,仍然無解。裝了 Plone 2.1.1 是 CMFPlone product 出問題,什麼也不裝則是 Five 出問題;總有東西不能用,而且還是找不到模組屬性這種錯誤。這怎麼可能呢?Python 程式有這種蟲而沒被抓出來是難以想像的。

之前建立 Zope 2.8.2 + Plone 2.1.1 明明一點問題也沒有,怎麼換了後一個禮拜發行的 Zope 2.8.3 就不行了呢?因為思而不學則殆

或許說是又罔又殆比較對。我沒發現 iconvcodec 沒裝好,以致於 import site 失敗:

'import site' failed; use -v for traceback

Zope3/Five 和 Python 結合地更緊密了點,看來不太願意忍受這種爛環境。

真是愚蠢的錯誤;不記下來,以後 google 上可難找到了。

Posted by yungyuc at 22:35, 0 comment, 0 trackback.

謝謝 song 作的小國旗。在兩岸三地裡,Plone 2.1.1 只附了大陸的小國旗;按不到語言切換真麻煩呢。

請把小國旗放到

$PRODUCTROOT/PloneLanguageTool/skins/LanguageToolFlags/

下面的 flag-zh-tw.gif,然後重新啟動 Zope。

Posted by yungyuc at 21:50, 0 comment, 0 trackback.

因為新架的 Plone 會濾掉 object, meta, embed 等一大堆的 tags,所以我找了找資料

CMFDefault 1.5 以上的版本預設關掉了一些 tags,因此網頁在呈現的時候,這些 tags 就出不來。到 $PRODUCT_ROOT/CMFDefault/utils.py,對 VALID_TAGSNASTY_TAGS 這兩個字典的內容進行調整。

我把 NASTY_TAGS 清成空的字典,再把 flash 會用到的 object, embed 與 param 加進 VALID_TAGS。活跳跳的 flash 恢復。

Posted by yungyuc at 12:20, 0 comment, 0 trackback.

喔喔,不妙了 :)

柴田先生似乎準備提昇 COREBlog 的 major version,製作一個在 Plone 2.1.1 + Zope 2.8 環境裡執行的 Blog 系統。

文章裡沒有提到「要求」Plone 2.1.1,不過我看不懂日文,很害怕偉大的柴田先生把純 Zope 的支援拔掉。COREBlog 自從 1.11 版出現 plonified skin 之後對 Plone 愈來愈友善,好棒;但完全 "Plonified" 的話就讓我苦惱啦。Plone 慢哪,為了 blog 裝 Plone?噢,不。

應該是我多慮了,再看一遍 announcement,好像沒有相關的「ない」和「ません」。

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