I went through the same motions as you in Zope2.12 trying to use Phillkon's book as a guide. I think I ran into the same problem as you. The key is in the package five.localsitemanager.
My Site Interface is nothing. class IMySite(Interface): """My Site"" In my site.py I have the following. ... from five.localsitemanager import make_objectmanager_site ... class MySite(Folder): implements(IMySite) def __init__(self, id): setHooks() Folder.__init__(self, id='Mine') make_objectmanager_site(self) <----- key to making a OFS folder a site setSite(self) notify(NewMySiteEvent(self) After that you can treat your MySite OFS Folder like a site. Register utilities with it, setHooks, and setSite. Hope this helps, - Jim On Thu, Jan 28, 2010 at 2:40 AM, Roberto Allende <ro...@menttes.com> wrote: > Hello > > Following example 18.3.1 and 18.3.2 from phillkon's book, i'm trying to > define a MySite class in Zope 2.12, which look like this: > > > class IMySite(IPossibleSite, IContainer): > """ > """ > id = ASCIILine( ... > name = TextLine( ... > > > class MySite(SiteManagerContainer, BTreeContainer): > implements(IMySite) > > So far so good, i've an interface and a class extending > SiteManagerContainer and BTreeContainer. Problem becomes when i want to > define the add form. If i'm not wrong, I cannot use the same machinery > as zope3, so i was trying to use formlib: > > class MySiteAddForm(AddForm): > form_fields=form.Fields(IListo) > > And i doesn't work. The error i'm getting is: > > NotImplementedError: concrete classes must implement create() or > createAndAdd() > > I was looking info about them but i wonder i'm running with a conceptual > gap here, because this is the same problem i had to define MySite > inheriting from Folder. The same problem happened there, i was able to > define the class but when i needed the form i wasn't able to use formlib > and i used old-zope2-like-code. Probably i could try to do smt like > that, but i'm very curious to see how can i use formlib in such cases. > > The question then is, is it possible or would it make sense to do > something like this ?. Do you know about a sample code that could be > helpful ?. > > Any comment or hint would be very appreciated. > > Kind Regards > r. > > -- > http://robertoallende.com > > _______________________________________________ > Zope maillist - Zope@zope.org > https://mail.zope.org/mailman/listinfo/zope > ** No cross posts or HTML encoding! ** > (Related lists - > https://mail.zope.org/mailman/listinfo/zope-announce > https://mail.zope.org/mailman/listinfo/zope-dev ) >
_______________________________________________ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )