希望共同交流,疑問和錯誤請各位斧正
tips manager 開發筆記
—————————————————————————————————————————————
目的: 看到Zope,喜歡,就搞一個簡單程序,借以熟悉Zope,看看以後是否可以使用zope開發應用,替換Domino--我現在的工作用平台。
功能: 對技術技巧的基本管理,包括分頁查看,添加,修改,刪除
作者: sanrex(劉傳君)
權限:
【技巧管理者】可以具備全部權限;
一般用戶可以創建tip,和修改自己創建的tips;
用戶必須登陸才能查看內容。;
任何登陸用戶可以查看任何內容。
實際使用時間:
從最初了解和學習Zope,到系統基本完成,大約用時2個月的業余時間。
總結:
zope的手冊中完整使用的例子不多,有些函數好像查不到,如File.manage_upload。
對Zope的認識體系上不太完整,還需要進一步努力
Zope的權限系統豐富而實用。
對系統的大規模數據情況下的效率有些擔心,盡管還沒有試過。
技術范圍:
ZPT ,PYTHON SCRIPT
—————————————————————————————————————————————
1.【ADD】
用到的比較特別的函數:
entries_folder.manage_addProdUCt['OFSP'].manage_addFile(id, title=subject, content_type="text/plain", file=content)
manage_addFile()添加一個File .
entry=getattr(entries_folder, id)通過File id ,在Folder獲得File對象。這個函數有些怪,為何不是folder.getfilebyid之類的?
entry.manage_addProperty('cat', cat, 'string') 添加屬性。
memo :
OFSP是一個core product的名稱,manage_addProduct是product的標准的constructor,通過這個函數可以獲得OFSP對象的接口。
question :
前面加一個manage_在作什麼?
permission:
/Add Documents, Images, and Files/
/Manage properties/
2.【DEL】
entries_folder.manage_delObjects(id) 在Folder中刪除具有ID的File
permission :
/Delete objects/
3.【UPDATE】
entry.manage_upload(content) 修改File內容
entry.manage_changeProperties(REQUEST)
修改屬性,這個函數有些神奇,它把Form內所有name/value pair直接映射修改到properties相應的name/value pair上。
沒有深刻的開發經驗和抽象能力是不會想到創建這個函數的。
permission:
/Change Images and Files/
/Manage properties/
4.【VIEW】
主要是使用了batching,隔行顯示技術。
permission:
/Access contents information/
5.【PERMISSIONS】
首先在tips Foldersecurity 添加一個角色: [技巧管理者]
要想訪問系統,用戶必須首先登陸,一旦登陸,任何用戶可以查看 tip
Permission Roles
Acquire
permission
settings? Anonymous Authenticated Manager Owner 技巧管理者
Access contents information X X X
從而所有登陸用戶都可以Access contents information
任何用戶可以添加 tip
Permission Roles
Acquire
permission
settings? Anonymous Authenticated Manager Owner 技巧管理者
X Add Documents, Images, and Files
通過 /Acquire permission settings?/可以獲得上級設置,而上級設置是允許任何人,包括anonymous來Add Documents, Images, and Files
用戶可以修改自己的 tip
Permission Roles
Acquire
permission
settings? Anonymous Authenticated Manager Owner 技巧管理者
Change Images and Files X
通過賦予Owner以/Change Images and Files/ 的permission ,用戶可以修改自己的 tip .
[技巧管理者]可以刪除,添加,修改,查看任何文件
為[技巧管理者]賦予所有權限
6。 【person can do】
本系統的使用人員分為兩類,管理者和一般用戶,一般用戶可以添加tips,也可以修改自己的tips,管理者可以修改任何tip,並且能夠添加和刪除任何tips
通過給相應用戶角色為[技巧管理者],而具備相應角色的功能,其他用戶不需設置任何角色。
初學駕駛,請多關照