Error with plone.app.iterate (check in / check out)

Hi, I was testing Plone iterate and all was going well until I did the following.

  1. checked out the frontpage
  2. forgot I had frontpage checked out and ran buildout and restart
  3. now i get the following error displayed on the "copy_of_frontpage":

"error while rendering plone.app.iterate.checkout_info"

Also,

  1. when i go to, what should be the home page, the Action option isn't displayed on the toolbar
  2. when I go to the "copy-of-frontpage" it has the Action button, but check in is not an option.

obviously running buildout messed up the check out.

I have just installed this, so If this can't be fixed I can just start over. However, I'd like to know how to fix this if possible, in case I do this on a live site.

here is the error text

Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Shared.DC.Scripts.Bindings, line 322, in call
Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
Module Products.PageTemplates.PageTemplateFile, line 130, in _exec
Module Products.PageTemplates.PageTemplate, line 87, in pt_render
Module zope.pagetemplate.pagetemplate, line 132, in pt_render
Module five.pt.engine, line 98, in call
Module z3c.pt.pagetemplate, line 163, in render
Module chameleon.zpt.template, line 261, in render
Module chameleon.template, line 191, in render
Module chameleon.template, line 171, in render
Module 5761a926bfd7715af6c83f4042172c8b.py, line 185, in render
Module five.pt.expressions, line 141, in call
Module Products.PageTemplates.Expressions, line 117, in render
Module Products.CMFEditions.ZVCStorageTool, line 666, in zmi_getStorageStatistics
Module Products.CMFUid.UniqueIdHandlerTool, line 249, in unrestrictedQueryObject
Module Products.CMFUid.UniqueIdHandlerTool, line 242, in unrestrictedGetObject
Module Products.ZCatalog.CatalogBrains, line 108, in getObject
Module OFS.Traversable, line 317, in restrictedTraverse
Module OFS.Traversable, line 300, in unrestrictedTraverse

  • traceback_info: (, 'front-page')
    KeyError: 'front-page'

  • Expression: "here/zmi_getStorageStatistics"

  • Filename: modifierEditForm

  • Location: (line 4: col 30)

  • Arguments: repeat: {...} (0)
    template: <ImplicitAcquisitionWrapper modifierEditForm at 0x64257d0>
    modules: <instance - at 0x1499830>
    here: <ImplicitAcquisitionWrapper portal_historiesstorage at 0x6283e10>
    user: <ImplicitAcquisitionWrapper - at 0x6425960>
    nothing: <NoneType - at 0x7fd7f666cf20>
    container: <ImplicitAcquisitionWrapper portal_historiesstorage at 0x6283e10>
    default: <object - at 0x7fd7f682d590>
    request: <instance - at 0x97b0638>
    wrapped_repeat: <SafeMapping - at 0x93c3368>
    loop: {...} (0)
    context: <ImplicitAcquisitionWrapper portal_historiesstorage at 0x6283e10>
    translate: <function translate at 0x943f1b8>
    root: <ImplicitAcquisitionWrapper Zope at 0x64439b0>
    options: {...} (1)
    target_language: <NoneType - at 0x7fd7f666cf20>

Running buildout should not be responsible: you should be able to run buildout at any time (provided you did not break the configuration). Maybe, the restart has caused the loss of the "checkout lock": the plone.app.iterate documentation tells us that it uses WebDAV locks for this; I assume that they are maintained in the ZODB (then they would be unaffected by the restart (as well as by a buildout run)) but maybe I am wrong and a restart can loose locks.

You might have a strange iterate policy in place: I assume that usually the original object can be used normally while a checkout is effective. However, it might be possible to configure iterate to remove the checked out object during the checkout. Your traceback indicates that at least the catalog no longer knows about front-page. Note: you must be more careful when you post tracebacks to this forum -- the forum usually does not quote special HTML characters (such as < and >); if your traceback contains bracket enclosed information (such as <ImplicitAcquisitionWrapper portal_historiesstorage at 0x6283e10>) it will not be shown. Surround your traceback with triple-backquotes to avoid this problem.

Maybe, the uid_catalog got inconsistent (your traceback reveals that it is this catalog which no longer knows front-page): maybe a rebuild of this catalog will fix the problem (provided you still see front-page in the ZMI).

Hi, thanks for the ideas.

  1. this is an OOTB Ploen 5.08. no special config for anything including iterate
  2. I found https://destefano.wordpress.com/2009/01/15/more-fun-with-plone-locks/ (even though url references WP, it is for Plone) and used this to check on locks (based on your tip that iterate uses webdav locks). However, no locks. When trying to check for webdav locks in the search box I entered: empty box; then "/" / and then "Meadows" (site name) nothing showed.
  3. i looked under 'portal_catalog" for the uid catalog you referenced; however, not there.
    ===================
    as I said in the first post, this is a brand new installation and simply reinstalling will be easy. However, I thought this was important problem, because if this was a production site, then would be an issue.

I added a bug to github plone.iterate (https://github.com/plone/plone.app.iterate/issues/56

Is this the same issue?

The uid_catalog is not below portal_catalog but it is a sibling of it.

If your issue is the same as that mentioned by T. Kim, then your front-page is really deleted (and the catalogs rightfully do not find it).

The way I have recovered from this error is via the undo tab in the ZMI

Hi folks,

  1. my issue is different than Crissy's. My resulted from a restart, not any action on a page.
  2. i tried the undo, but got the "too many changes.."
  3. the site hompage (http://meadows.mckennariley.info/Meadows) Meadows is plone site name, isn't lost, it doesn't display coorrectly. see attached or at the url
  4. note the "Welcome to Plone" tab. this is the correct home page, but see the error in the box. also, action does not include check-in/out/cancel

I'd like @pbauer and @jensens to be aware of this issue. I don't know if the changes you made (referenced above) will fix this.

This looks like the folder view, not like front-page. Go to the ZMI page of your portal (--> http://meadows.mckennariley.info/Meadow/manage_main and check there whether front-page still exists.

If it no longer exists, then the checkout may have broken something (it is very unlikely that the buildout or restart are responsible). If it still exists, then the uid_catalog (you can find it also via the ZMI page of your portal) may have gotten inconsistent - rebuild it.

  1. Yes, the page shown is folder view. I show this because this is what Plone thinks is the home page.

  2. please look at the second screen shot with the error highlighted. thus, the checkout info is the problem.

  3. attached is the zmi screen showing a 'copy of front-page' but not front-page.

finally, I still can't see the uid_catalog. I looked in the zmi and didn't see a uid_catalog.

The next step would be for someone to reproduce this problem exactly with Plone 5.0.8.

You are right, sorry: Plone 5 no longer has the uid_catalog; portal_catalog is now (also) used for uid management.

The error traceback you have posted indicates that this catalog got inconsistent: apparently, the catalog search still finds front-page while it is no longer there. This is not the root of your problem; it may just be a hint for someone (who knows plone.app.iterate well) towards an understanding of the problem.

I think you're not providing enough information:

  • what version of plone.app.iterate are you using?
  • is your content type Archetypes-based or Dexterity-based?
  • if it's Dexterity-based, did you installed plone.app.versioningbehavior and enabled the behavior on your content type?

and, BTW, I already expalained how to enable versioning behavior for you before:

Agreed, so what i did.:

plone 5.0.8 clean install (http://plone5082.mckennariley.info/Plone)
Note: 1) used this:
wget --no-check-certificate https://launchpad.net/plone/5.0/5.0.8/+download/Plone-5.0.8-UnifiedInstaller.tgz

to create the site.

  1. the following are the Only steps I did after creating the site.
  • added the iterate
  • checkout the front-page, made simple change
  • went to front-page and cancelled check out
  • went back to front-page and got the same error as for other site.
    ======================

Note: I tried the same steps on an existing plone 5.0.6 site and did Not get the error.

I believe this is an important bug in plone 5.0.8 (not present in 5.0.6) but I'll leave it to others to decide if they agree. Question: did iterate version get changed between these two plone versions.

Final entry :slight_smile:

i did a new instance and could reproduce the error reported by Crissy. However, since this is a different failure path (running buildout) I left the bug report open is Iterate.

anyway, I'd say that's enough. thanks for those that commented.

1 Like

Hi

Perhaps someone can help me understand how fixes get rolled into Plone or how to update the version of a component in the Plone package.

I installed a clean install of Plone 5.0.8 to re-test the iterate feature. I got the same errror.

I looked at : https://github.com/plone/plone.app.iterate/issues/54

this shows the issue as fixed in iterate 3.3.7 . so i added "plone.app.iterate = 3.3.7" to buildout but got an error stating it couldn't find a distribution for it.

How do I get the latest version of iterate into my plone installation.

Note: i also updated the version in "versions'. got same error

thanks.

Looking at
Commits · plone/plone.app.iterate · GitHub or
https://github.com/plone/plone.app.iterate/blob/master/CHANGES.rst
it tells you it is in 3.3.6.

thank you. I (foolishly) choose 3.3.7 because it was the latest.

also, i can confirn this fixes the bug I referenced above. Error with plone.app.iterate (check in / check out)

At this bug report, i added a note stating the above and that I believe this bug is closed. I also closed the issue.

thanks