I have a Plone 4 site which I'm upgrading to Plone 5 + SocialIntranet. I forked the SocialIntranet buildout and added my custom products. Ploneboard and collective.embedly are throwing an error on startup about:
File "/home/zope/socialintranet/eggs/Products.Ploneboard-3.6-py2.7.egg/Products/Ploneboard/browser/controlpanel.py", line 7, in <module> from plone.app.controlpanel.form import ControlPanelForm
Looks liks there's no longer a forms.py in plone.app.controlpanel What's the right way to fix this import so that I can use these products in Plone 5?
Plone 5 controlpanels do not use zope.formlib anymore but z3c.form. You'd have to update the addons, to also use z3c.form. Example Plone 5 controlpanel: https://github.com/plone/Products.CMFPlone/blob/master/Products/CMFPlone/controlpanel/browser/dateandtime.py
That goes also hand in hand of using plone.app.registry to store the settings.
If that is not an option, I'd copy the form.py over to your projects and import it from there: https://github.com/plone/plone.app.controlpanel/blob/2.3.x/plone/app/controlpanel/form.py
I'm +1 for modernizing the code but that would break backwards compatibility unless you are willing to invest some extra effort to write compatibility code.