Welcome to Squishdot Squishdot How-To Newbies
 post article
 Mailing Lists
 Bug Tracking


Jumped to Zope 2.8.4, Problem with Linux Medical News
Squishdot Posted by I. Valdes 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.

<  | Date format  >


Related Links
  • Articles on Squishdot
  • Also by I. Valdes
  • Contact author
  • The Fine Print: The following comments are owned by whoever posted them.
    ( Reply )

    Re: Solution
    by I. Valdes 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:

    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 )

    Powered by Zope  Squishdot Powered
      "Any system that depends on reliability is unreliable." -- Nogg's Postulate
    All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest ©1999 Butch Landingin, ©2000-2002 Chris Withers.