{"action":"created","issue":{"url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/1406","repository_url":"https://api.github.com/repos/plone/Products.CMFPlone","labels_url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/1406/labels{/name}","comments_url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/1406/comments","events_url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/1406/events","html_url":"https://github.com/plone/Products.CMFPlone/issues/1406","id":135924623,"number":1406,"title":"PLIP: Add support for conditionally import registry records","user":{"login":"hvelarde","id":341393,"avatar_url":"https://avatars.githubusercontent.com/u/341393?v=3","gravatar_id":"","url":"https://api.github.com/users/hvelarde","html_url":"https://github.com/hvelarde","followers_url":"https://api.github.com/users/hvelarde/followers","following_url":"https://api.github.com/users/hvelarde/following{/other_user}","gists_url":"https://api.github.com/users/hvelarde/gists{/gist_id}","starred_url":"https://api.github.com/users/hvelarde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hvelarde/subscriptions","organizations_url":"https://api.github.com/users/hvelarde/orgs","repos_url":"https://api.github.com/users/hvelarde/repos","events_url":"https://api.github.com/users/hvelarde/events{/privacy}","received_events_url":"https://api.github.com/users/hvelarde/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/plone/Products.CMFPlone/labels/03%20type:%20feature%20(plip)","name":"03 type: feature (plip)","color":"0000fa"},{"url":"https://api.github.com/repos/plone/Products.CMFPlone/labels/13%20prio:%20normal","name":"13 prio: normal","color":"e06666"},{"url":"https://api.github.com/repos/plone/Products.CMFPlone/labels/21%20status:%20confirmed","name":"21 status: confirmed","color":"fafa00"},{"url":"https://api.github.com/repos/plone/Products.CMFPlone/labels/99%20tag:%20UX%20Integrator/Themer","name":"99 tag: UX Integrator/Themer","color":"f3f3f3"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/plone/Products.CMFPlone/milestones/2","html_url":"https://github.com/plone/Products.CMFPlone/milestones/Plone%205.1","labels_url":"https://api.github.com/repos/plone/Products.CMFPlone/milestones/2/labels","id":1064828,"number":2,"title":"Plone 5.1","description":null,"creator":{"login":"bloodbare","id":486913,"avatar_url":"https://avatars.githubusercontent.com/u/486913?v=3","gravatar_id":"","url":"https://api.github.com/users/bloodbare","html_url":"https://github.com/bloodbare","followers_url":"https://api.github.com/users/bloodbare/followers","following_url":"https://api.github.com/users/bloodbare/following{/other_user}","gists_url":"https://api.github.com/users/bloodbare/gists{/gist_id}","starred_url":"https://api.github.com/users/bloodbare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bloodbare/subscriptions","organizations_url":"https://api.github.com/users/bloodbare/orgs","repos_url":"https://api.github.com/users/bloodbare/repos","events_url":"https://api.github.com/users/bloodbare/events{/privacy}","received_events_url":"https://api.github.com/users/bloodbare/received_events","type":"User","site_admin":false},"open_issues":43,"closed_issues":30,"state":"open","created_at":"2015-04-13T10:37:01Z","updated_at":"2016-09-02T07:39:47Z","due_on":null,"closed_at":null},"comments":9,"created_at":"2016-02-24T01:49:49Z","updated_at":"2016-09-03T09:21:35Z","closed_at":null,"body":"### Proposer : hvelarde\r\n\r\n### Seconder : ebrehault\r\n\r\n## Abstract\r\nRegistering resources in Plone 5 is done via GenericSetup using a `registry.xml` file. Implementing conditional imports, similar to what is available in ZCML using the `zcml:condition` directive, could avoid a lot of complexity associated with the way we have to deal with this in different versions of Plone.\r\n\r\n## Motivation\r\nTo speed up development and make it easier to get add-ons compatible with both Plone 4 and Plone 5.\r\n\r\n## Assumptions\r\n\r\n\r\n\r\n## Proposal & Implementation\r\nImplement support for something like this:\r\n\r\n```xml\r\n<records\r\n    condition=\"have plone-5\" \r\n    prefix=\"plone.bundles/collective.lazysizes\"\r\n    interface='Products.CMFPlone.interfaces.IBundleRegistry'>\r\n  ...\r\n</records>\r\n```\r\n\r\nCompare the complexity associated with the [current proposed solution for a single add on](https://github.com/collective/example.p4p5/tree/master/src/example/p4p5/profiles), that includes 6 profiles, with a standard version that uses only the usual `default` and `uninstall`.\r\n\r\n## Deliverables\r\nNew versions of plone.app.registry for both branches.\r\n\r\n## Risks\r\nI don't see any risks on this.\r\n\r\n## Participants\r\n@mauritsvanrees?\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/comments/244536473","html_url":"https://github.com/plone/Products.CMFPlone/issues/1406#issuecomment-244536473","issue_url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/1406","id":244536473,"user":{"login":"datakurre","id":160447,"avatar_url":"https://avatars.githubusercontent.com/u/160447?v=3","gravatar_id":"","url":"https://api.github.com/users/datakurre","html_url":"https://github.com/datakurre","followers_url":"https://api.github.com/users/datakurre/followers","following_url":"https://api.github.com/users/datakurre/following{/other_user}","gists_url":"https://api.github.com/users/datakurre/gists{/gist_id}","starred_url":"https://api.github.com/users/datakurre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datakurre/subscriptions","organizations_url":"https://api.github.com/users/datakurre/orgs","repos_url":"https://api.github.com/users/datakurre/repos","events_url":"https://api.github.com/users/datakurre/events{/privacy}","received_events_url":"https://api.github.com/users/datakurre/received_events","type":"User","site_admin":false},"created_at":"2016-09-03T09:21:35Z","updated_at":"2016-09-03T09:21:35Z","body":"Well, now I recall that maybe with Zope2 the configuration state is stored globally in memory. Need to check that. If that's the case, I could trivially add support for have/not-have."}}
{"actor":{"display_login":"datakurre"}}