Ошибка при попытке изменить рабочий процесс изображения - PullRequest
1 голос
/ 18 октября 2011

Короче говоря, когда я захожу в Настройка сайта -> Типы и пытаюсь изменить рабочий процесс для изображений с «Нет рабочего процесса» на любой другой рабочий процесс, я получаю следующую ошибку:

Traceback (innermost last):
  Module ZPublisher.Publish, line 126, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 46, in call_object
  Module plone.app.controlpanel.types, line 165, in __call__
  Module zope.event, line 31, in notify
  Module zope.component.event, line 24, in dispatch
  Module zope.component._api, line 136, in subscribers
  Module zope.component.registry, line 321, in subscribers
  Module zope.interface.adapter, line 585, in subscribers
  Module plone.app.discussion.browser.controlpanel, line 181, in notify_configuration_changed
AttributeError: 'NoneType' object has no attribute 'forInterface'

Я подозреваюспособ, которым мы настроили этот экземпляр Plone, вызвал проблему.У нас есть установка 4.0.8 (Staging), где мы выполнили начальную конструкцию сайта.Мы устанавливаем другую установку 4.0.8 для производства.Запустил резервное копирование в Staging и скопировал файлы резервного копирования Staging и хранилище больших двоичных объектов в Production.Производство работало нормально;казалось идеальным клоном Staging.

Позже мы хотели перейти на 4.1.1, поэтому мы создали еще одну установку на 4.1.1 и повторили описанный выше процесс от Production до нашего нового экземпляра.После дня тестирования, похоже, работает.Круто, теперь у нас есть 4.1.1.Неделю спустя пользователи хотят, чтобы изображения работали в том же рабочем процессе (интранет / экстрасеть), что и весь другой контент, и именно тогда я столкнулся с ошибкой.

I может изменить рабочий процесс с помощьюИнструмент ZMI portal_workflow без каких-либо явных проблем.

Ответы [ 2 ]

2 голосов
/ 18 октября 2011

Глядя на код продукта , кажется, что при изменении рабочего процесса contenttype продукт padiscussion пытается обновить свою конфигурацию, но в вашем случае не удается получить реестр.

Какбыстрое решение, вы можете попытаться принудительно включить реестр, добавив в zcml одного из ваших продуктов этот код:

<include package="plone.app.registry" />

затем:

1 - перейдите в zmi -> yoursite и проверьте, существует ли на вашем сайте plone элемент с именем "portal_registry"

2 - перейдите на zmi -> ваш сайт -> вкладку "Components" и проверьте, существует ли эта регистрация:

<utility interface="plone.registry.interfaces.IRegistry"
         object="portal_registry" />
1 голос
/ 03 сентября 2012

Если бы возникла та же проблема, можно решить ее путем импорта шагов «Управление реестром конфигурации» и «Кэширование Plone» из профиля «Реестр конфигурации».

...