[PLIP-Advisories] [Plone development workspace] #10359: Convert control panels to use z3c.form

Change notifications for Plone PLIPs on Trac. plone-plip-advisories at lists.plone.org
Sun Feb 23 10:55:48 UTC 2014


#10359: Convert control panels to use z3c.form
-----------------------+----------------------
  Reporter:  hannosch  |      Owner:
      Type:  PLIP      |     Status:  reopened
  Priority:  minor     |  Milestone:  5.0
 Component:  General   |    Version:
Resolution:            |   Keywords:
-----------------------+----------------------

Comment (by timo):

 Cathedral Sprint Update / Request for review:

 1) I moved the site and the search control panel from
 plone.app.controlpanel to Products.CMFPlone.

 The two control panels now use z3c.form/plone.app.registry form. Plone now
 uses those settings (I had to adapt PloneTool in CMFPlone and
 plone.app.layout for this). Please review my changes (even though they
 have been merged, which was necessary because the new Bareceloneta theme
 required those changes).

 https://github.com/plone/Products.CMFPlone/tree/master/Products/CMFPlone/controlpanel


 2) I'm not 100% happy with the settings lookup (search_settings =
 registry.forInterface(ISearchSchema, prefix="plone") and I would like to
 get rid of that.

 https://github.com/plone/Products.CMFPlone/blob/master/Products/CMFPlone/controlpanel/README.rst


 3) So far I'm still using interfaces in registry.xml and the registry.xml
 is located in dependencies:

 https://github.com/plone/Products.CMFPlone/blob/master/Products/CMFPlone/profiles/dependencies/registry.xml#L3

 If we want to make it easy for developers/intergrators, I think we should
 move the registry.xml to the default profile (or have a separate settings
 profile) and use XML, so integrators can just copy paste this file. It
 would also be nice if the plone.app.registry control panel would have an
 import/export TTW functionality to make this even easier.

 davisagli's recommendation on IRC: "tisto_: we could fix it by making
 CMFPlone add the portal_registry tool itself rather than calling the
 plone.app.registry profile as a dependency to do so.  and make sure the
 registry import step depends on the toolset one"


 4) Two tests are commented out for now:

 https://github.com/plone/Products.CMFPlone/blob/master/Products/CMFPlone/controlpanel/tests/test_controlpanel_browser_site.py#L77

 {{{

     @unittest.skip("XXX: TODO! We have to patch CMFDefault for this.")
     def test_site_title_can_be_looked_up_by_portal_title(self):
         self.browser.open(
             "%s/@@site-controlpanel" % self.portal_url)
         self.browser.getControl('Site title').value = u"My Site"
         self.browser.getControl('Save').click()

         self.assertEqual(self.portal.title, u'My Site')
         self.assertEqual(self.portal.Title(), u'My Site')

     @unittest.skip("XXX: TODO! Not implemented yet.")
     def
 test_site_description_can_be_looked_up_by_plone_portal_state(self):
         self.browser.open(
             "%s/@@site-controlpanel" % self.portal_url)
         self.browser.getControl('Site description').value = \
             u"This is a Plone site."
         self.browser.getControl('Save').click()

         portal_state = getMultiAdapter(
             (self.portal, self.request),
             name=u'plone_portal_state'
         )
         self.assertEqual(
             portal_state.portal_description(), u'This is a Plone site.')

 }}}

 Question: Do we want to support those use cases?


 5) Future: I will continue to work on moving single control panels to
 z3c.form and ask the FWT to review them separately. I hope I will be able
 to move all control panels before the final release. Though, this
 shouldn't be a blocker for a release.

-- 
Ticket URL: <http://dev.plone.org/ticket/10359#comment:33>
Plone development workspace <https://dev.plone.org/>
Plone Enterprise Content Management System


More information about the PLIP-Advisories mailing list