ever looked at OFS.SimpleItem.SimpleItem? jens On Tuesday, July 10, 2001, at 05:01 , Max Møller Rasmussen wrote:
During my process of discovering Zope, I have made quite a few products. I have allways found that there is a lot of repeated functionality and code just to get them up and running.
I have an idea for a "basic" class to be added to the Zope framework that sets up the most comonly used mixin classes, and sets up sensible default values for them.
So to make a very simple Zope product you just need to write::
from basic import basic
class minimal(basic): meta_type = 'minimal'
And it would set up a fully functional product with id, and title as default vales. manageAdd, manageAction, manage_editForm, manage_editAction, and index_html would also be included by default.
If you want to add more properties you would just overwrite "_properties"
from basic import basic
class minimal(basic):
meta_type = 'minimal'
_properties=( {'id':'title', 'type':'string', 'mode':'w'}, {'id':'summary', 'type':'text', 'mode':'w'}, {'id':'content', 'type':'text', 'mode':'w'}, {'id':'author', 'type':'string', 'mode':'w'}, {'id':'url', 'type':'string', 'mode':'w'}, {'id':'email', 'type':'string', 'mode':'w'}, )
And the manageAdd, manageAction, manage_editForm, manage_editAction, and index_html would change dynamically to fit the new properties.
You could also add new methods, or overwrite the default ones like::
from basic import basic from global import DTMLFile
class minimal(basic):
meta_type = 'minimal'
_properties=( {'id':'title', 'type':'string', 'mode':'w'}, {'id':'summary', 'type':'text', 'mode':'w'}, {'id':'content', 'type':'text', 'mode':'w'}, {'id':'author', 'type':'string', 'mode':'w'}, {'id':'url', 'type':'string', 'mode':'w'}, {'id':'email', 'type':'string', 'mode':'w'}, )
index_html = DTMLFile('www/index_html', globals())
view = DTMLFile('www/view', globals())
edit = DTMLFile('www/edit', globals())
I believe that it would _greatly_ simplify the process of writing Python products. Taking the minimal needed code to get started from something like 40 lines to 3.
Does it sound like a waste of time to write this class?? I think it would be fairly easy, but would anybody use it? And is it possible to get something like this into the core? If so I am willing to write it.
regards Max M
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )