{"action":"created","issue":{"url":"https://api.github.com/repos/plone/plone.app.contenttypes/issues/196","repository_url":"https://api.github.com/repos/plone/plone.app.contenttypes","labels_url":"https://api.github.com/repos/plone/plone.app.contenttypes/issues/196/labels{/name}","comments_url":"https://api.github.com/repos/plone/plone.app.contenttypes/issues/196/comments","events_url":"https://api.github.com/repos/plone/plone.app.contenttypes/issues/196/events","html_url":"https://github.com/plone/plone.app.contenttypes/pull/196","id":51683308,"number":196,"title":"PLIP 20144: Folderish types","user":{"login":"pbauer","id":453208,"avatar_url":"https://avatars.githubusercontent.com/u/453208?v=3","gravatar_id":"","url":"https://api.github.com/users/pbauer","html_url":"https://github.com/pbauer","followers_url":"https://api.github.com/users/pbauer/followers","following_url":"https://api.github.com/users/pbauer/following{/other_user}","gists_url":"https://api.github.com/users/pbauer/gists{/gist_id}","starred_url":"https://api.github.com/users/pbauer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pbauer/subscriptions","organizations_url":"https://api.github.com/users/pbauer/orgs","repos_url":"https://api.github.com/users/pbauer/repos","events_url":"https://api.github.com/users/pbauer/events{/privacy}","received_events_url":"https://api.github.com/users/pbauer/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/plone/plone.app.contenttypes/labels/03%20type:%20feature%20(plip)","name":"03 type: feature (plip)","color":"0000fa"},{"url":"https://api.github.com/repos/plone/plone.app.contenttypes/labels/22%20status:%20in-progress","name":"22 status: in-progress","color":"fafa00"},{"url":"https://api.github.com/repos/plone/plone.app.contenttypes/labels/32%20needs:%20review","name":"32 needs: review","color":"00fafa"},{"url":"https://api.github.com/repos/plone/plone.app.contenttypes/labels/35%20needs:%20rebase","name":"35 needs: rebase","color":"00fafa"},{"url":"https://api.github.com/repos/plone/plone.app.contenttypes/labels/43%20lvl:%20complex","name":"43 lvl: complex","color":"274e13"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/plone/plone.app.contenttypes/milestones/6","html_url":"https://github.com/plone/plone.app.contenttypes/milestones/Future","labels_url":"https://api.github.com/repos/plone/plone.app.contenttypes/milestones/6/labels","id":1361330,"number":6,"title":"Future","description":null,"creator":{"login":"jensens","id":157140,"avatar_url":"https://avatars.githubusercontent.com/u/157140?v=3","gravatar_id":"","url":"https://api.github.com/users/jensens","html_url":"https://github.com/jensens","followers_url":"https://api.github.com/users/jensens/followers","following_url":"https://api.github.com/users/jensens/following{/other_user}","gists_url":"https://api.github.com/users/jensens/gists{/gist_id}","starred_url":"https://api.github.com/users/jensens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jensens/subscriptions","organizations_url":"https://api.github.com/users/jensens/orgs","repos_url":"https://api.github.com/users/jensens/repos","events_url":"https://api.github.com/users/jensens/events{/privacy}","received_events_url":"https://api.github.com/users/jensens/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2015-10-17T11:21:28Z","updated_at":"2015-11-23T08:01:50Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2014-12-11T12:55:55Z","updated_at":"2016-04-29T21:14:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/plone/plone.app.contenttypes/pulls/196","html_url":"https://github.com/plone/plone.app.contenttypes/pull/196","diff_url":"https://github.com/plone/plone.app.contenttypes/pull/196.diff","patch_url":"https://github.com/plone/plone.app.contenttypes/pull/196.patch"},"body":"See https://dev.plone.org/ticket/20144\r\n\r\n* make all types except File and Image folderish\r\n* add a upgrade-step to migrate non-folderish to folderish\r\n* test folderish documents with allowed_content_types\r\n* test upgrade to folderish types"},"comment":{"url":"https://api.github.com/repos/plone/plone.app.contenttypes/issues/comments/215883556","html_url":"https://github.com/plone/plone.app.contenttypes/pull/196#issuecomment-215883556","issue_url":"https://api.github.com/repos/plone/plone.app.contenttypes/issues/196","id":215883556,"user":{"login":"martior","id":186859,"avatar_url":"https://avatars.githubusercontent.com/u/186859?v=3","gravatar_id":"","url":"https://api.github.com/users/martior","html_url":"https://github.com/martior","followers_url":"https://api.github.com/users/martior/followers","following_url":"https://api.github.com/users/martior/following{/other_user}","gists_url":"https://api.github.com/users/martior/gists{/gist_id}","starred_url":"https://api.github.com/users/martior/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martior/subscriptions","organizations_url":"https://api.github.com/users/martior/orgs","repos_url":"https://api.github.com/users/martior/repos","events_url":"https://api.github.com/users/martior/events{/privacy}","received_events_url":"https://api.github.com/users/martior/received_events","type":"User","site_admin":false},"created_at":"2016-04-29T21:14:22Z","updated_at":"2016-04-29T21:14:22Z","body":"*Proposer:* Philip Bauer[[BR]]\r\n*Seconder:* Johannes Raggam[[BR]]\r\n\r\n\r\n## Abstract\r\n\r\nMake Collection, Event, Document, News Items and Link folderish by default by inheriting from plone.dexterity.content.Container. Image and File stay itemish unless we find a use-case for those.\r\n\r\n\r\n## Motivation\r\n\r\nThis PLIP would:\r\n\r\n- Remove a inconsistency between the default-types and types that are generated ttw (they are folderish).\r\n- Allow developers and users to easily make the types folderish by changing the values for filter_content_types and/or allowed_content_types\r\n- This way editors can create site-structures without using the default-page feature.\r\n- Prepare for a possible removal of the default_page-feature\r\n\r\n\r\n## Proposal & Implementation\r\n\r\nWe would simply change the base-class of said types to Container. For new sites no other changes are necessary.\r\n\r\nObjects in existing sites need to be updated. That upgrade-step runs when upgrading from Plone 5.0a3 to the next version and is also available as a upgrade-step in plone.app.contenttypes (e.g. if you use p.a.c in Plone 4).\r\n\r\nFrom a usability-perspective nothing changes for normal users. Since the FTI's are configured like this: <property name=\"allowed_content_types\"/> you cannot add any types. Only if this setting is changed content can be added to these types.\r\n\r\n\r\n## Deliverables\r\n\r\n- Change the base-class (DONE)\r\n- Upgrade-Step to change existing objects (DONE)\r\n- Don't show the menu-item to add content to a folderish default_page if no content can be added to it (DONE)\r\n- Show folderish types in @@select_default_page (DONE)\r\n- Tests (DONE)\r\n- Documentation (TODO)\r\n- Fix test-failures in other packages (TODO)\r\n\r\n\r\n## Risks\r\n\r\n- Perfomance implications: All tests (including robot-tests) ran in same time.\r\n- Memory-footprint implications: We need to find out if the switch significanlty increases the memory-use of types.\r\n- UI-Problems:\r\n  - Adding content to folderish default_pages. This generally works since there is the link \"Add item to default page\" but it's use could be irritating. By default the link would never show up with the changes in this PLIP since you cannot add content to these types unless you add some types to allowed_content_types for a FTI. If this is the case the type would no longer be selectable as a default_page. For now you can only override this by changing default_page_types in site_properties. This only makes sense in cases where you don't create a structure using folderish documents but if you store images and files inside the document.\r\n  - There is also a js-problem with the link \"Add item to default page\" when @@folder-factories is opened in a popup and you select a type to be added you are redirected to the container instead of to the ++add++ view.\r\n- The new folder_contents shows the add-menu for folderish types even if allowed_content_types is empty.\r\n\r\n## Patricipants\r\n\r\nPhilip Bauer <pbauer>\r\n\r\n\r\n## Progress\r\nWork in plone.app.contenttypes is done in the branch See https://github.com/plone/plone.app.contenttypes/pull/196\r\n\r\n* Change to folderish: DONE\r\n* Upgrade-step: DONE\r\n* Show folderish types in @@select_default_page. The folderish types weere skipped, now they are only skipped if if users can add content. DONE in https://github.com/plone/plone.app.content/commit/f745a13e2d2dd89e2dfcf51cb5d00acc05b29c80. I already commited this since it is also a problem for custom folderish types (like those that are generated ttw).\r\n* Don't show the menu-item to add content to a folderish default_page if no content can be added to it. DONE in https://github.com/plone/plone.app.contentmenu/pull/6. I already did this since it is also a problem for custom folderish types (like those that are generated ttw).\r\n* Test for the upgrade-step: DONE\r\n* Test for folderish types: DONE\r\n\r\n## Alternatives\r\n\r\n1. A optional folderish profile to allow users and developers to have a supported way to get folderish default-types is in the pull-request https://github.com/plone/plone.app.contenttypes/pull/195.\r\n\r\n2. collective.folderishtypes provides folderish types (for AT and DX) as an addon: https://github.com/collective/collective.folderishtypes\r\n\r\nGenerated with: https://gist.github.com/martior/ee2a1ed3e7522103f33cf13a4570456e"}}