希望共同交流,疑问和错误请各位斧正
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 Folder|security 添加一个角色: [技巧管理者]
要想访问系统,用户必须首先登陆,一旦登陆,任何用户可以查看 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
通过给相应用户角色为[技巧管理者],而具备相应角色的功能,其他用户不需设置任何角色。
初学驾驶,请多关照