From philipp at weitershausen.de Thu Jul 1 14:37:16 2004 From: philipp at weitershausen.de (Philipp von Weitershausen) Date: Thu, 01 Jul 2004 14:37:16 +0200 Subject: [Z3-sqlos] Issue tracker Message-ID: Hi there, thanks to Holger (thanks, Holger!), we now have an issue tracker for the whole z3 base at http://codespeak.net/issues/z3/. You will need to sign up in order to create new issues; codespeak svn accounts do not work. Codespeak uses roundup for issue tracker software (for now at least). If you want certain people to know about issues, be sure to make them "nosy". They will then receive an email everytime the issue is edited. Be sure not to forget to make yourself nosy. You can also reply to emails sent out by the issue tracker; it will be appended to the issue message log. For now I propose to use keywords on issues to separate the issues of the different sub-projects. I have already created the "Five" and "sqlos" keywords. With best regards, Philipp From faassen at infrae.com Wed Jul 14 20:11:40 2004 From: faassen at infrae.com (Martijn Faassen) Date: Wed, 14 Jul 2004 20:11:40 +0200 Subject: [Z3-sqlos] sqlos now part of the z3 base website Message-ID: <40F5775C.7010406@infrae.com> Hi there, I've just done a lot of work on the Z3 Base website, and as a result sqlos now has a web page: http://codespeak.net/z3/sqlos/ which is generated from your README.txt as found in your svn. I did a few ReST tweaks with it to make it better ReST. You're also linked automatically from the Z3 Base frontpage: http://codespeak.net/z3/ If you want to tweak your website, note that the website is autogenerated. You can do this tweaking with scripts placed in the z3/www package. The five project is currently the best example of what is possible. My suggestion would be for you to split up your README.txt into an introduction and a technical details document, or something like that. If you need any technical help you can also just ask me and I'll do my best. What is possible in general is including new ReST pages in the site. These pages can be coming from the sqlos repository directly, or if they are completely website specific, you can place them in the www/text directory. Regards, Martijn From jkocherhans at mac.com Wed Jul 28 19:56:21 2004 From: jkocherhans at mac.com (Joseph Kocherhans) Date: Wed, 28 Jul 2004 11:56:21 -0600 Subject: [Z3-sqlos] z3 version required? Message-ID: What version of z3 is the sqlos trunk being developed against? I've been running the z3 and sqlos trunks from svn, and a couple of weeks ago after I updated sqlos, the factory stuff disappeared from the add page of a SQLObject Container. I've looked through the svn logs for something that might provide a clue as to why this happened, but no luck so far. I figure knowing what sqlos is being tested against narrows down the variables at least a little ;) Thanks, Joseph P.S. Thanks for making sqlos public! I'm hoping to give back the SQLServer/egenix ODBC stuff I've written after it's a little more stable. From sidnei at awkly.org Wed Jul 28 20:06:56 2004 From: sidnei at awkly.org (Sidnei da Silva) Date: Wed, 28 Jul 2004 15:06:56 -0300 Subject: [Z3-sqlos] z3 version required? In-Reply-To: References: Message-ID: <20040728180656.GU1777@cotia.awkly.org> On Wed, Jul 28, 2004 at 11:56:21AM -0600, Joseph Kocherhans wrote: | What version of z3 is the sqlos trunk being developed against? I've been | running the z3 and sqlos trunks from svn, and a couple of weeks ago | after I updated sqlos, the factory stuff disappeared from the add page | of a SQLObject Container. I've looked through the svn logs for something | that might provide a clue as to why this happened, but no luck so far. I | figure knowing what sqlos is being tested against narrows down the | variables at least a little ;) It's being used against the X30 version of Zope 3. The error you report seems to be related to the fixes I did to constrain available addable types using interface invariants. The default SQLObject Container doesn't allow anything to be added. If you subclass it and define an interface with an ItemTypePrecondition on __setitem__ then you will get the add list filled automatically for this new subclass. | P.S. Thanks for making sqlos public! I'm hoping to give back the | SQLServer/egenix ODBC stuff I've written after it's a little more stable. Thank you! -- Sidnei da Silva http://awkly.org - dreamcatching :: making your dreams come true http://www.enfoldsystems.com http://plone.org/about/team#dreamcatcher Pior que cusco que caiu do caminh?o da mudan?a. From jkocherhans at mac.com Wed Jul 28 21:46:12 2004 From: jkocherhans at mac.com (Joseph Kocherhans) Date: Wed, 28 Jul 2004 13:46:12 -0600 Subject: [Z3-sqlos] Re: z3 version required? In-Reply-To: <20040728180656.GU1777@cotia.awkly.org> References: <20040728180656.GU1777@cotia.awkly.org> Message-ID: <41080284.900@mac.com> Sidnei da Silva wrote: > On Wed, Jul 28, 2004 at 11:56:21AM -0600, Joseph Kocherhans wrote: > | What version of z3 is the sqlos trunk being developed against? I've been > | running the z3 and sqlos trunks from svn, and a couple of weeks ago > | after I updated sqlos, the factory stuff disappeared from the add page > | of a SQLObject Container. I've looked through the svn logs for something > | that might provide a clue as to why this happened, but no luck so far. I > | figure knowing what sqlos is being tested against narrows down the > | variables at least a little ;) > > It's being used against the X30 version of Zope 3. The error you > report seems to be related to the fixes I did to constrain available > addable types using interface invariants. The default SQLObject > Container doesn't allow anything to be added. If you subclass it and > define an interface with an ItemTypePrecondition on __setitem__ then > you will get the add list filled automatically for this new subclass. > Thanks! That would have taken me forever to figure out. I got things working by subclassing ISQLObjectContainer and SQLObjectContainer, but first I tried to just add ISQLObject to ISQLObjectContainer's __setitem__ precondition as a test. When I did I got an "InvalidInterface: Concrete attribute, ISQLObject" exception. The traceback is below. I tried another interface as well. Is adding an interface to ISQLObjectContainer's __setitem__ preconditions specifically disallowed somehow? I'm not familiar enough with z3's interfaces and schemas to know what's going on here, and google didn't return much (in english anhyow ;) Not that I need to do it, just curious. Traceback (most recent call last): File "z3.py", line 63, in ? run() File "z3.py", line 59, in run main(argv[1:]) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\server\main.py", line 55, in main setup(args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\server\main.py", line 89, in setup zope.app.appsetup.config(options.site_definition) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\appsetup\appsetup.py", line 60, in config context = xmlconfig.file(file, execute=execute) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\xmlconfig.py", line 441, in file include(context, name, package) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\xmlconfig.py", line 368, in include processxmlfile(f, context) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\xmlconfig.py", line 244, in processxmlfile parser.parse(src) File "C:\Python23\lib\xml\sax\expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "C:\Python23\lib\xml\sax\xmlreader.py", line 123, in parse self.feed(buffer) File "C:\Python23\lib\xml\sax\expatreader.py", line 207, in feed self._parser.Parse(data, isFinal) File "C:\Python23\lib\xml\sax\expatreader.py", line 348, in end_element_ns self._cont_handler.endElementNS(pair, None) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\xmlconfig.py", line 224, in endElementNS self.context.end() File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\config.py", line 518, in end self.stack.pop().finish() File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\config.py", line 665, in finish actions = self.handler(context, **args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\xmlconfig.py", line 368, in include processxmlfile(f, context) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\xmlconfig.py", line 244, in processxmlfile parser.parse(src) File "C:\Python23\lib\xml\sax\expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "C:\Python23\lib\xml\sax\xmlreader.py", line 123, in parse self.feed(buffer) File "C:\Python23\lib\xml\sax\expatreader.py", line 207, in feed self._parser.Parse(data, isFinal) File "C:\Python23\lib\xml\sax\expatreader.py", line 348, in end_element_ns self._cont_handler.endElementNS(pair, None) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\xmlconfig.py", line 224, in endElementNS self.context.end() File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\config.py", line 518, in end self.stack.pop().finish() File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\config.py", line 665, in finish actions = self.handler(context, **args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\xmlconfig.py", line 368, in include processxmlfile(f, context) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\xmlconfig.py", line 244, in processxmlfile parser.parse(src) File "C:\Python23\lib\xml\sax\expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "C:\Python23\lib\xml\sax\xmlreader.py", line 123, in parse self.feed(buffer) File "C:\Python23\lib\xml\sax\expatreader.py", line 207, in feed self._parser.Parse(data, isFinal) File "C:\Python23\lib\xml\sax\expatreader.py", line 348, in end_element_ns self._cont_handler.endElementNS(pair, None) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\xmlconfig.py", line 224, in endElementNS self.context.end() File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\config.py", line 518, in end self.stack.pop().finish() File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\config.py", line 664, in finish args = toargs(context, *self.argdata) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\config.py", line 1322, in toargs args[str(name)] = field.fromUnicode(s) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\fields.py", line 137, in fromUnicode value = self.context.resolve(name) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\configuration\config.py", line 179, in resolve mod = __import__(mname, *_import_chickens) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\querysystem\interfaces.py", line 114, in ? from sqlos.interfaces.container import ISQLObjectContainer File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\sqlos\interfaces\container.py", line 26, in ? class ISQLObjectContainer(IContainer, IContainerNamesContainer, File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\interface\interface.py", line 427, in __init__ raise InvalidInterface("Concrete attribute, %s" % k) zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "C:\Documents and S ettings\jkocherhans\src\ZopeX3-3.0\site.zcml", line 6.2-6.55 ZopeXMLConfigurationError: File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\package-includes\querysystem-configure.zcml", line 1.0-1.33 ZopeXMLConfigurationError: File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\querysystem\configure.zcml", line 5.2-8.8 InvalidInterface: Concrete attribute, ISQLObject From jkocherhans at mac.com Thu Jul 29 19:07:13 2004 From: jkocherhans at mac.com (Joseph Kocherhans) Date: Thu, 29 Jul 2004 11:07:13 -0600 Subject: [Z3-sqlos] problems with addMenuItem or factor? Message-ID: Hmm... I though I had things working, but I think they only appeared to be working. Anyhow, I started writing a boringsqlos product to have a quick reference for implementing new sqlos containers and content types. I run into a problem with the contents view of a SQLObjectContainer subclass though. Everything seems to work fine until I add an addMenuItem for my content object. First question: is it necessary to have an addMenuItem directive for SQLOS subclasses? Second question: should the content object be used as the component attribute in the sqlos:factory directive? Here's mine: When I try to view the contents page of my SQLObjectContainer subclass I get the traceback at the bottom. This leads me to believe I might have a problem with my factory. Anything else pop out as obviously wrong here? If it would help I could put a tarball of my whole product up on zope.org. I'm planning to do it anyhow after everything is working right. Thanks, Joseph 2004-07-29T10:55:28 ERROR SiteError http://127.0.0.1:8080/test/@@contents.html Traceback (most recent call last): File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\publisher\publish.py", line 138, in publish result = publication.callObject(request, object) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\publication\zopepublication.py", line 151, in callObject return mapply(ob, request.getPositionalArguments(), request) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\publisher\publish.py", line 113, in mapply return debug_call(object, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\publisher\publish.py", line 119, in debug_call return object(*args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\pagetemplate\viewpagetemplatefile.py", line 75, in __call__ return self.im_func(im_self, *args, **kw) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\pagetemplate\viewpagetemplatefile.py", line 48, in __call__ return self.pt_render(namespace) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\pagetemplate\pagetemplate.py", line 120, in pt_render context, output, tal=not source, strictinsert=0)() File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 165, in __call__ self.interpret(self.program) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 208, in interpret handlers[opcode](self, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 681, in do_useMacro self.interpret(macro) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 208, in interpret handlers[opcode](self, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 377, in do_optTag_tal self.do_optTag(stuff) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 362, in do_optTag return self.no_tag(start, program) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 357, in no_tag self.interpret(program) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 208, in interpret handlers[opcode](self, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 706, in do_defineSlot self.interpret(slot) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 208, in interpret handlers[opcode](self, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 655, in do_defineMacro self.interpret(macro) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 208, in interpret handlers[opcode](self, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 427, in do_setLocal_tal self.engine.setLocal(name, self.engine.evaluateValue(expr)) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tales\tales.py", line 700, in evaluate return expression(self) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tales\expressions.py", line 209, in __call__ return self._eval(econtext) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tales\expressions.py", line 196, in _eval ob = self._subexprs[-1](econtext) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tales\expressions.py", line 128, in _eval ob = self._traverser(ob, element, econtext) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\pagetemplate\engine.py", line 71, in trustedZopeTraverser request=getattr(econtext, 'request', None)) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\traversing\adapters.py", line 123, in traverse curr = traversePathElement(curr, name, path, request=request) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\traversing\adapters.py", line 176, in traversePathElement next_item = traversable.traverse(nm, further_path) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\traversing\adapters.py", line 54, in traverse return attr() File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\container\browser\contents.py", line 90, in listContentInfo return self._normalListContentsInfo() File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\container\browser\contents.py", line 116, in _normalListContentsInfo info = map(self._extractContentInfo, self.context.items()) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\sqlos\container \__init__.py", line 104, in items items.extend([('%s.%s' % (factoryName, p.id), p) AttributeError: 'NoneType' object has no attribute 'select' From sidnei at awkly.org Thu Jul 29 19:16:27 2004 From: sidnei at awkly.org (Sidnei da Silva) Date: Thu, 29 Jul 2004 14:16:27 -0300 Subject: [Z3-sqlos] problems with addMenuItem or factor? In-Reply-To: References: Message-ID: <20040729171627.GF1777@cotia.awkly.org> On Thu, Jul 29, 2004 at 11:07:13AM -0600, Joseph Kocherhans wrote: | Hmm... I though I had things working, but I think they only appeared to | be working. Anyhow, I started writing a boringsqlos product to have a | quick reference for implementing new sqlos containers and content types. | I run into a problem with the contents view of a SQLObjectContainer | subclass though. Everything seems to work fine until I add an | addMenuItem for my content object. First question: is it necessary to | have an addMenuItem directive for SQLOS subclasses? Second question: | should the content object be used as the component attribute in the | sqlos:factory directive? Here's mine: | | In the addMenuItem you should only use the factory attribute, with the same id as the factory on sqlos:factory. Additionally, the factory attribute should be a dotted name, like 'boring.content'. http://awkly.org - dreamcatching :: making your dreams come true http://www.enfoldsystems.com http://plone.org/about/team#dreamcatcher Dang. sendmail ain't working all the sudden "all of a sudden"? Nafai: where have you been for the last decade? From jkocherhans at mac.com Thu Jul 29 21:04:05 2004 From: jkocherhans at mac.com (Joseph Kocherhans) Date: Thu, 29 Jul 2004 13:04:05 -0600 Subject: [Z3-sqlos] Re: problems with addMenuItem or factor? In-Reply-To: <20040729171627.GF1777@cotia.awkly.org> References: <20040729171627.GF1777@cotia.awkly.org> Message-ID: <41094A25.5030303@mac.com> Sidnei da Silva wrote: > On Thu, Jul 29, 2004 at 11:07:13AM -0600, Joseph Kocherhans wrote: > | Hmm... I though I had things working, but I think they only appeared to > | be working. Anyhow, I started writing a boringsqlos product to have a > | quick reference for implementing new sqlos containers and content types. > | I run into a problem with the contents view of a SQLObjectContainer > | subclass though. Everything seems to work fine until I add an > | addMenuItem for my content object. First question: is it necessary to > | have an addMenuItem directive for SQLOS subclasses? Second question: > | should the content object be used as the component attribute in the > | sqlos:factory directive? Here's mine: > | > | | component=".content.BoringContent" > | id="BoringContent" > | title="Boring Content" > | description="Boring sqlos content." > | /> > > In the addMenuItem you should only use the factory attribute, with the > same id as the factory on sqlos:factory. Additionally, the factory > attribute should be a dotted name, like 'boring.content'. > > component=".content.BoringContent" > id="boring.content" > title="Boring Content" > description="Boring sqlos content." > /> > > factory="boring.content" > title="Boring Content" > description="Boring sqlos content." > permission="sip.AddProject" > view="add_boring.html" > /> > > name="add_boring.html" > ..... > Ugh... sorry for one more question, but I can't seem to figure this out. What should the content_factory attribute be for the addform directive? I'm not sure how to reference the factory that gets created with sqlos:factory. I guess I just don't understand why I can use factory="boring.content" in addMenuItem, but I get a traceback if I try to use content_factory="boring.content" in addform. Joseph From sidnei at awkly.org Thu Jul 29 21:10:59 2004 From: sidnei at awkly.org (Sidnei da Silva) Date: Thu, 29 Jul 2004 16:10:59 -0300 Subject: [Z3-sqlos] Re: problems with addMenuItem or factor? In-Reply-To: <41094A25.5030303@mac.com> References: <20040729171627.GF1777@cotia.awkly.org> <41094A25.5030303@mac.com> Message-ID: <20040729191059.GG1777@cotia.awkly.org> On Thu, Jul 29, 2004 at 01:04:05PM -0600, Joseph Kocherhans wrote: | Ugh... sorry for one more question, but I can't seem to figure this out. | What should the content_factory attribute be for the addform | directive? The class itself. | I'm not sure how to reference the factory that gets created with | sqlos:factory. I guess I just don't understand why I can use | factory="boring.content" in addMenuItem, but I get a traceback if I try | to use content_factory="boring.content" in addform. Because addMenuItem's factory is a factory id, which is the same as you registered on sqlos:factory. If you use a component here, addMenuItem will try to create a factory for you, which is not desired as sqlos:factory already did it. then add_form content_factory is the class to be used to create an instance. I think its stupid that it doesn't take a factory id here. -- Sidnei da Silva http://awkly.org - dreamcatching :: making your dreams come true http://www.enfoldsystems.com http://plone.org/about/team#dreamcatcher Vivo como cavalo de contrabandista. From jkocherhans at mac.com Thu Jul 29 22:19:07 2004 From: jkocherhans at mac.com (Joseph Kocherhans) Date: Thu, 29 Jul 2004 14:19:07 -0600 Subject: [Z3-sqlos] Re: problems with addMenuItem or factor? In-Reply-To: <20040729171627.GF1777@cotia.awkly.org> References: <20040729171627.GF1777@cotia.awkly.org> Message-ID: Sidnei da Silva wrote: > On Thu, Jul 29, 2004 at 11:07:13AM -0600, Joseph Kocherhans wrote: > | Hmm... I though I had things working, but I think they only appeared to > | be working. Anyhow, I started writing a boringsqlos product to have a > | quick reference for implementing new sqlos containers and content types. > | I run into a problem with the contents view of a SQLObjectContainer > | subclass though. Everything seems to work fine until I add an > | addMenuItem for my content object. First question: is it necessary to > | have an addMenuItem directive for SQLOS subclasses? Second question: > | should the content object be used as the component attribute in the > | sqlos:factory directive? Here's mine: > | > | | component=".content.BoringContent" > | id="BoringContent" > | title="Boring Content" > | description="Boring sqlos content." > | /> > > In the addMenuItem you should only use the factory attribute, with the > same id as the factory on sqlos:factory. Additionally, the factory > attribute should be a dotted name, like 'boring.content'. > > component=".content.BoringContent" > id="boring.content" > title="Boring Content" > description="Boring sqlos content." > /> > > factory="boring.content" > title="Boring Content" > description="Boring sqlos content." > permission="sip.AddProject" > view="add_boring.html" > /> > > name="add_boring.html" > ..... > Just as a note to anyone reading this thread, the id of your factory needs to be in the format package.Class... so for instance my SQLObject subclass is in boringsqlos.content.BoringContent, so the factory id needs to be boringsqlos.BoringContent If not you'll get as exception in SQLObjectContainer's __getitem__ method when you're trying to access your objects. I put the exception I got below in case anyone runs into the same issue. Thanks again for you help Sidnei. Joseph 2004-07-29T14:07:24 ERROR SiteError http://127.0.0.1:8080/test/+/AddBoringContent.html Traceback (most recent call last): File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\publisher\publish.py", line 138, in publish result = publication.callObject(request, object) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\publication\zopepublication.py", line 151, in callObject return mapply(ob, request.getPositionalArguments(), request) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\publisher\publish.py", line 113, in mapply return debug_call(object, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\publisher\publish.py", line 119, in debug_call return object(*args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\pagetemplate\simpleviewclass.py", line 43, in __call__ return self.index(*args, **kw) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\pagetemplate\viewpagetemplatefile.py", line 75, in __call__ return self.im_func(im_self, *args, **kw) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\pagetemplate\viewpagetemplatefile.py", line 48, in __call__ return self.pt_render(namespace) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\pagetemplate\pagetemplate.py", line 120, in pt_render context, output, tal=not source, strictinsert=0)() File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 165, in __call__ self.interpret(self.program) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 208, in interpret handlers[opcode](self, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 681, in do_useMacro self.interpret(macro) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 208, in interpret handlers[opcode](self, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 377, in do_optTag_tal self.do_optTag(stuff) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 362, in do_optTag return self.no_tag(start, program) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 357, in no_tag self.interpret(program) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 208, in interpret handlers[opcode](self, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 706, in do_defineSlot self.interpret(slot) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 208, in interpret handlers[opcode](self, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 655, in do_defineMacro self.interpret(macro) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 208, in interpret handlers[opcode](self, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 655, in do_defineMacro self.interpret(macro) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 208, in interpret handlers[opcode](self, args) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tal\talinterpreter.py", line 427, in do_setLocal_tal self.engine.setLocal(name, self.engine.evaluateValue(expr)) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tales\tales.py", line 700, in evaluate return expression(self) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tales\expressions.py", line 209, in __call__ return self._eval(econtext) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tales\expressions.py", line 196, in _eval ob = self._subexprs[-1](econtext) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\tales\expressions.py", line 128, in _eval ob = self._traverser(ob, element, econtext) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\pagetemplate\engine.py", line 71, in trustedZopeTraverser request=getattr(econtext, 'request', None)) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\traversing\adapters.py", line 123, in traverse curr = traversePathElement(curr, name, path, request=request) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\traversing\adapters.py", line 176, in traversePathElement next_item = traversable.traverse(nm, further_path) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\traversing\adapters.py", line 54, in traverse return attr() File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\form\browser\add.py", line 57, in update self.createAndAdd(data) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\form\browser\add.py", line 108, in createAndAdd content = self.add(content) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\zope\app\form\browser\add.py", line 127, in add return self.context.add(content) File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\sqlos\container\__init__.py", line 186, in add return container[name] File "C:\Documents and Settings\jkocherhans\src\ZopeX3-3.0\src\sqlos\container\__init__.py", line 128, in __getitem__ raise KeyError, name KeyError: 'boringsqlos.BoringContent.9' From dman at dman13.dyndns.org Sat Jul 31 03:47:30 2004 From: dman at dman13.dyndns.org (Derrick 'dman' Hudson) Date: Fri, 30 Jul 2004 21:47:30 -0400 Subject: [Z3-sqlos] patch posted Message-ID: <20040731014729.GA2665@dman13.dyndns.org> I posted a patch to README.txt in the bug tracker: http://codespeak.net/issues/z3/issue3 What would it take for me to receive commit privileges to sqlos? -D -- If your life is a hard drive, Christ can be your backup. www: http://dman13.dyndns.org/~dman/ jabber: dman at dman13.dyndns.org -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://codespeak.net/pipermail/z3-sqlos/attachments/20040730/4342327f/attachment.pgp From sidnei at awkly.org Sat Jul 31 18:13:57 2004 From: sidnei at awkly.org (Sidnei da Silva) Date: Sat, 31 Jul 2004 13:13:57 -0300 Subject: [Z3-sqlos] patch posted In-Reply-To: <20040731014729.GA2665@dman13.dyndns.org> References: <20040731014729.GA2665@dman13.dyndns.org> Message-ID: <20040731161356.GM1777@cotia.awkly.org> On Fri, Jul 30, 2004 at 09:47:30PM -0400, Derrick 'dman' Hudson wrote: | I posted a patch to README.txt in the bug tracker: | http://codespeak.net/issues/z3/issue3 Thank you. Has been checked in, though I forgot my password for the issue tracker *g*. | What would it take for me to receive commit privileges to sqlos? I have to check with philiKON. He's the one giving out accounts :) -- Sidnei da Silva http://awkly.org - dreamcatching :: making your dreams come true http://www.enfoldsystems.com http://plone.org/about/team#dreamcatcher Enfeitado como carro?a de cigano.