odysseus@acedsl.com wrote:
I checked out the latest CVS source, and noticed you called self.catalog_object() like this:
self.catalog_object(obj,'/'+join(self.getPhysicalPath(),'/')+'/'+obj.thread_path()+'/'+`id`)
When I went to look at the catalog entries after adding a new site within a folder called myfolder, I noticed the new entries showed up as:
/newsquish/<id>
When I clicked on the link, I received an error saying it can't find the object. I don't think a leading '/' should be supplied to catalog_object(). I tried to update the catalog, which promptly removed all the postings from the catalog. When I re-cataloged the postings, the entries were now showing up as:
//myfolder/newsquish//<id>
Sounds like Zope 2.1.6 to me.... If you try it on Zope 2.2.0 it works fine, for me anyway :S
Also, the setItem() method in the Squishsite class (different from the setItem() method in the Posting class) is the only place where using the absolute_url() method doesn't work.
It's cos the 2.2.0 implementation of absolute_url requiers a REQUEST, which it doesn't get in setItem(). This is fixed in 2.2.1 apparently...
I've noticed in all the other methods it's called from, it returns the proper result. The same actually goes for the getPhysicalPath() method, all the double slashes aside. Notice in the above examples, when the postings were initially loaded, getPhysicalPath() returns only newsquish, whereas everywhere else, it returns /myfolder/newsquish .
haven't noticed this at all... what version of Zope are you using?
Let me know if you need any help,
Oh, I need help alright, for trying to move Squishdot to Zope 2.2 in the first place :( My current fun is with <dtml-in attachment> which works fine in the edit form on the management interface but throws a KeyError on 'file_name' when I try and use it in the posting_html DTML method... Any ideas/solutions greatly recieved :S cheers, Chris