Hi:
I don’t fully get the idea behind having core add-ons, and I wanted to ask it here.
First, do we have it documented somewhere? I couldn’t find it, sorry. And specially, which is the concept behind it and which is the reasoning of a given package being a core add-on
Until now, we are/were using zc.buildout to bootstrap our projects, and we were using a custom template (like this) that initially evolved from the best practices of that time. After checking it, I see that we are adding Plone egg as the main dependency to install Plone.
Now that we are using cookieplone to bootstrap the projects, I see that it uses Products.CMFPlone as a dependency
This makes me ask, “why this difference?” “Shouldn’t be we using also Plone as its dependency?”
Somehow linked to this, some months ago I tried to update the testing files for plone.formwiget.recaptcha together with some code changes, and I applied plone.meta to it.
When reviewing the changes, one reviewer told me not to add plone.app.upgrade as a dependency as plone.meta's dependency checker was suggesting, since this is something I and others usually do not want to have in my production instances (just in service instances).
I don’t want to judge this words, but I see that plone.app.upgrade is a core add-on, and now I see that the suggestion has some background.
I am sure that there must be some more background than not wanting to install some packages behind the core add-on concept, but I think that exposes yet more complexity to our already complex architecture.
I would appreciate any comment on the background and idea of this.
Thank you