2010/06/16

Setting Random Times with zope.sendmail

This is an abstract from How to add a random time between two emails sent from zope.sendmail.

需要搭配 Plone 架設 newsletter 的場合,可以使用 collective.dancing,它能夠管理訂戶資料,並利用 zope.sendmail 協助自動發信。如果訂戶數量過大,批次發信可能會被列入黑名單,此時,試試設定亂數時點,來處理這樣的問題。方式是撰寫 plone.smtp 程式碼:
import random
import time

from zope.sendmail import mailer

class SMTP(mailer.SMTPMailer):
"""Override SMTPMailer to let a random time"""

def send(self, fromaddr, toaddrs, message):
time.sleep(random.uniform(0,2))
super(SMTP, self).send(fromaddr, toaddrs, message)

2010/06/07

Tips on LeadImage and Folder View

Folder 預設的標準顯示方式,如果覺得單調,想要增加圖示,可以藉助於 Content Lead Image



使用 buildout 新增擴充模組的方法,就可以安裝 collective.contentleadimage,在 Site Setup 裡可以指定使用 lead image 的 content type,包括 Folder。指定後,在 Folder 的 display 選項裡,就看得到 Folder lead-image view。

如果逐行顯示目錄的方式,還是覺得單調,想要改成兩欄式,可以在 ploneCustom.css 裡調整 vevent 的 class 設定值。
.vevent {
float: left;
height: 137px;
width: 42%;
margin-left: 4em;
}
如果發現 History 的位置亂掉,可以到 ZMI portal_view_customizations 修改 plone.belowcontentbody.contenthistory (zope.interface.interface-plone.belowcontentbody.contenthistory),在上方新增一行:
<div class="visualClear"></div>
以上是 Through The Web (TTW) 的修改方式,如果要在程式碼裡調整,可以參考 Plone Manual dynamic views 的說明