明天晚上在 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 å‘€ï¼
接下來慢慢看能把這個程å¼å®Œæ•´åŒ–到什麼程度å§ã€‚
從 "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 的表ç¾ï¼
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_TAGS å’Œ NASTY_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.