about
search
post article
Documentation
Mailing Lists
Bug Tracking
Development
Installation
Upgrading
Download
admin
rdf
main
|
Jumped to Zope 2.8.4, Problem with Linux Medical News
|
Posted by on Thursday December 22, 05:25AM, 2005
from the Squishdot. dept.
Hello all, I just made the jump to Zope 2.8.4. All of my Squishdot sites work except the flagship Linux Medical News http://www.linuxmednews.com. Linux Medical News is up and running and you can post articles and replies, but the 'Postings' tab is un-accessible, giving me an error. As well, the Re-catalog button gives an error. I've included the tracebacks.
What happens when I try to access Postings:
Request URL http://www.linuxmednews.com/manage_postings
Exception Type AttributeError
Exception Value __getitem__
Traceback (innermost last):
* Module ZPublisher.Publish, line 113, in publish
* Module ZPublisher.mapply, line 88, in mapply
* Module ZPublisher.Publish, line 40, in call_object
* Module App.special_dtml, line 62, in __call__
* Module DocumentTemplate.DT_String, line 476, in __call__
* Module TreeDisplay.TreeTag, line 88, in render
* Module TreeDisplay.TreeTag, line 209, in tpRender
* Module TreeDisplay.TreeTag, line 461, in tpRenderTABLE
__traceback_info__: (['linuxmednews', []], {'url': 'tpURL', 'branches': 'postingValues', 'id': 'tpId', 'childless_decoration': ''}, [['linuxmednews', []]], [['linuxmednews', []]])
* Module TreeDisplay.TreeTag, line 262, in tpRenderTABLE
* Module Products.Squishdot.Posting, line 156, in postingValues
* Module Products.Squishdot.SquishSite, line 540, in data_map
AttributeError: __getitem__
What happens when I try to re-catalog:
Site Error
An error was encountered while publishing this resource.
Error Type: NotFound
Error Value: 954489811
Troubleshooting Suggestions
* The URL may be incorrect.
* The parameters passed to this resource may be incorrect.
* A resource that this resource relies on may be encountering an error.
For more detailed information about the error, please refer to the error log.
If the error persists please contact the site maintainer. Thank you for your patience.
< | >
|
Related Links
|
|
|
The Fine Print: The following comments are owned by whoever posted them.
( Reply )
|
Re: Solution
by on Friday January 20, 02:02PM, 2006
|
Hello all, thanks to Chris Withers magic, here is the fix for old Squishdot sites migrating to Zope 2.8:
First, the problem: "intSet has been deprecated for about 5 years, and Squishdot hasn't used it in about as long. Sadly, Squishdot sites created before then will, apparently, still have some intSet's in them. In 2.8, the class was finally removed, and so Zope no longer knows what to do with the data that makes up the intSet object, hence the KeyErrors you were getting. fixdot basically goes through all the postings and replaces any intSets it finds with IISets, which are the new version."
To run fixdot, create the file fixdot.py in the Extensions subdirectory in the filesystem of your current zope that is NOT 2.8.x ie you must run this BEFORE you migrate to 2.8.x. fixdot.py should contain the following code:
from StringIO import StringIO
from intSet import intSet
from BTrees.IIBTree import IISet
def fixdot(self):
output = StringIO()
for id,posting in self.data.items():
if isinstance(posting.ids,intSet):
posting.ids = IISet(posting.ids)
print >> output, 'Fixed ',id
print >> output, 'Done!'
return output.getvalue()
After creating fixdot.py in the Extensions folder, go to the ZMI and in the Squishdot site subdirectory, Add an External Method. Fill in fixdot for all of the fields it asks for. Then run it. For example, it can be invoked as follows: http://localhost:8080/squishinstance/fixdot
where squishinstance is the name of your old squishinstance. After this has run, it should be migratable to 2.8.x Good luck!
Other edits I did:
http://download.soth.at/Squishdot-Zope-2.8.1-final-addSquishdotForm-patch.txt Which are linked from the article discussion at:
https://squishdot.org/1120592957/index_html
There may also be an issue with TinyTablePlus on 2.8.x that requires a small edit but I'm no longer sure what that is.
-- IV |
[ Reply to this ]
|
The Fine Print: The following comments are owned by whoever posted them.
( Reply )
|
|