Лучшие практики для панелей управления Plone

Я работаю над пакетом , который включает панель управления, созданную с использованием plone.app.registry. Я следовал учебнику Тимо , но при попытке добавить к нему дополнительную запись я сталкивался с печально известной KeyError: поле, для которого нет записи .

Итак, я есть пара вопросов о передовых методах:

Мой первый вопрос: пакет должен удалять свой реестр во время удаления?

Я использовал это в registry.xml моего пакета:


  

и это в metadata.xml :


  1
  
    profile-plone.app.registry:default
  

Но добавление delete = "true" в профиль удаления похоже не работает. Я также попытался перечислить все записи по имени, но безуспешно, если только я не запустил этот шаг вручную в ZMI.

Итак, мой второй вопрос: как мне аккуратно удалить записи панели управления во время удаления?

Чтобы проверить, если запись в реестре. Я делаю что-то вроде этого:

def setUp(self):
    self.portal = self.layer['portal']
    setRoles(self.portal, TEST_USER_ID, ['Manager'])
    # Set up the NITF settings registry
    self.registry = Registry()
    self.registry.registerInterface(INITFSettings)

def test_record_sections(self):
    # Test that the sections record is in the control panel
    record_sections = self.registry.records[
        'collective.nitf.controlpanel.INITFSettings.sections']
    self.failUnless('sections' in INITFSettings)
    self.assertEquals(record_sections.value, set([]))

Третий вопрос может заключаться в том, как проверить, была ли запись удалена в единое время.

Есть ли другие рекомендации?

5
задан hvelarde 12 August 2011 в 13:31
поделиться