Hello... I had a test Squishdot (0.1.5) site that was working and had some content, and now it breaks when posting a new article (other features seem to work). I can add a new Squishdot site and it works, but the old one doesn't. The last time I posted was before I upgraded to Zope 2.0.0 from 1.10.3, so it may be due to that. I've also changed non-Squishdot parts of the web site. I've looked at the traceback and into the source files, but do not know enough Zope, Python, or Squishdot (or Confera) to understand what happens. In Squishdot, the addPostingForm DTML_Method has a form with an action of ".". I assume this loads the index_html of the Squishdot site which then processes the form data and then renders the updated front page. But when I look at index_html, I can't see how it would do that. Clearly I don't understand the inner workings. Note that I applies the patch Nick Garcia mentions in: http://www.zope.org/pipermail/zope/1999-September/009352.html and search for other relevant articles, but found nothing. Here's the error with traceback: <!-- Error type: AttributeError Error value: call_methods --> ... <!-- Traceback (innermost last): File /data1/zope-2.0.0/lib/python/ZPublisher/Publish.py, line 214, in publish_module File /data1/zope-2.0.0/lib/python/ZPublisher/Publish.py, line 179, in publish File /data1/zope-2.0.0/lib/python/Zope/__init__.py, line 201, in zpublisher_exception_hook (Object: ElementWithAttributes) File /data1/zope-2.0.0/lib/python/ZPublisher/Publish.py, line 165, in publish File /data1/zope-2.0.0/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: addPosting) File /data1/zope-2.0.0/lib/python/ZPublisher/Publish.py, line 102, in call_object (Object: addPosting) File /data1/zope-2.0.0/lib/python/Products/Squishdot/Squishdot.py, line 836, in addPosting (Object: ElementWithAttributes) File /data1/zope-2.0.0/lib/python/Products/Squishdot/Squishdot.py, line 569, in setItem (Object: ElementWithAttributes) File /data1/zope-2.0.0/lib/python/SearchIndex/Index.py, line 222, in index_item AttributeError: (see above) --> -- Bruce Elrick, Ph.D. Saltus Technology Consulting Group Cell: (403) 870-4429 Personal: belrick@home.com IBM Certified Specialist Business: belrick@saltus.ab.ca ADSM, AIX Support, RS/6000 SP, HACMP
My English was terrible (native tongue) and I impolite enough not to say: Would anyone be able to help me do problem determination on this? Bruce Elrick wrote:
Hello...
I had a test Squishdot (0.1.5) site that was working and had some content, and now it breaks when posting a new article (other features seem to work). I can add a new Squishdot site and it works, but the old one doesn't. The last time I posted was before I upgraded to Zope 2.0.0 from 1.10.3, so it may be due to that. I've also changed non-Squishdot parts of the web site.
I've looked at the traceback and into the source files, but do not know enough Zope, Python, or Squishdot (or Confera) to understand what happens. In Squishdot, the addPostingForm DTML_Method has a form with an action of ".". I assume this loads the index_html of the Squishdot site which then processes the form data and then renders the updated front page. But when I look at index_html, I can't see how it would do that. Clearly I don't understand the inner workings.
Note that I applied the patch Nick Garcia mentioned in: http://www.zope.org/pipermail/zope/1999-September/009352.html when I upgraded and searched for other relevant articles, but found nothing.
Here's the error with traceback:
<!-- Error type: AttributeError Error value: call_methods --> ... <!-- Traceback (innermost last): File /data1/zope-2.0.0/lib/python/ZPublisher/Publish.py, line 214, in publish_module File /data1/zope-2.0.0/lib/python/ZPublisher/Publish.py, line 179, in publish File /data1/zope-2.0.0/lib/python/Zope/__init__.py, line 201, in zpublisher_exception_hook (Object: ElementWithAttributes) File /data1/zope-2.0.0/lib/python/ZPublisher/Publish.py, line 165, in publish File /data1/zope-2.0.0/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: addPosting) File /data1/zope-2.0.0/lib/python/ZPublisher/Publish.py, line 102, in call_object (Object: addPosting) File /data1/zope-2.0.0/lib/python/Products/Squishdot/Squishdot.py, line 836, in addPosting (Object: ElementWithAttributes) File /data1/zope-2.0.0/lib/python/Products/Squishdot/Squishdot.py, line 569, in setItem (Object: ElementWithAttributes) File /data1/zope-2.0.0/lib/python/SearchIndex/Index.py, line 222, in index_item AttributeError: (see above)
--> -- Bruce Elrick, Ph.D. Saltus Technology Consulting Group Cell: (403) 870-4429 Personal: belrick@home.com IBM Certified Specialist Business: belrick@saltus.ab.ca ADSM, AIX Support, RS/6000 SP, HACMP
_______________________________________________ Zope maillist - Zope@zope.org http://www.zope.org/mailman/listinfo/zope
(To receive general Zope announcements, see: http://www.zope.org/mailman/listinfo/zope-announce
For developer-specific issues, zope-dev@zope.org - http://www.zope.org/mailman/listinfo/zope-dev )
-- Bruce Elrick, Ph.D. Saltus Technology Consulting Group Cell: (403) 870-4429 Personal: belrick@home.com IBM Certified Specialist Business: belrick@saltus.ab.ca ADSM, AIX Support, RS/6000 SP, HACMP
Bruce Elrick wrote:
Hello...
I've looked at the traceback and into the source files, but do not know enough Zope, Python, or Squishdot (or Confera) to understand what happens. In Squishdot, the addPostingForm DTML_Method has a form with an action of ".". I assume this loads the index_html of the Squishdot site which then processes the form data and then renders the updated front page. But when I look at index_html, I can't see how it would do that. Clearly I don't understand the inner workings.
<form action="."> will call the *object* that defines the method that displays the form. If the method is not callable, then index_html will be called. I don't know much else about Squishdot, so I can't help you any further than that. I can give you an example though. If your object define three methods: class MyObject(...): showAnHTMLForm = HTMLFile(...) def methodOne(self, REQUEST): ... def methodTwo(self, REQUEST): ... And 'showAnHTMLForm' contained: <form action="." method=POST> <input type="submit" name="methodOne:method" value=" Call methodOne "> <input type="submit" name="methodTwo:method" value=" Call methodTwo "> </form> then your form will call 'methodOne' or 'methodTwo' depending on the button clicked. Notice the 'action' attribute of the form tag. -Michel
participants (2)
-
Bruce Elrick -
Michel Pelletier