[Testbot] Plone 4.3 - Python 2.6 - Build # 1928 - Still failing! - 7 failure(s)

jenkins at plone.org jenkins at plone.org
Wed Apr 2 00:39:40 UTC 2014


-------------------------------------------------------------------------------
Plone 4.3 - Python 2.6 - Build # 1928 - Still Failing!
-------------------------------------------------------------------------------

http://jenkins.plone.org/job/plone-4.3-python-2.6/1928/


-------------------------------------------------------------------------------
CHANGES
-------------------------------------------------------------------------------

Repository: plone.app.contenttypes
Branch: refs/heads/master
Date: 2014-04-01T13:53:34+02:00
Author: Philip Bauer (pbauer) <bauer at starzel.de>
Commit: https://github.com/plone/plone.app.contenttypes/commit/e1fa1a235703ea48d1563eae5e18ee1fb21ca7cf

split up profiles so we have one profile per type

Files changed:
A plone/app/contenttypes/profiles.zcml
A plone/app/contenttypes/profiles/collection/metadata.xml
A plone/app/contenttypes/profiles/collection/types.xml
A plone/app/contenttypes/profiles/collection/types/Collection.xml
A plone/app/contenttypes/profiles/core/browserlayer.xml
A plone/app/contenttypes/profiles/core/cssregistry.xml
A plone/app/contenttypes/profiles/core/diff_tool.xml
A plone/app/contenttypes/profiles/core/metadata.xml
A plone/app/contenttypes/profiles/core/rolemap.xml
A plone/app/contenttypes/profiles/document/metadata.xml
A plone/app/contenttypes/profiles/document/types.xml
A plone/app/contenttypes/profiles/document/types/Document.xml
A plone/app/contenttypes/profiles/event/metadata.xml
A plone/app/contenttypes/profiles/event/types.xml
A plone/app/contenttypes/profiles/event/types/Event.xml
A plone/app/contenttypes/profiles/file/metadata.xml
A plone/app/contenttypes/profiles/file/types.xml
A plone/app/contenttypes/profiles/file/types/File.xml
A plone/app/contenttypes/profiles/folder/metadata.xml
A plone/app/contenttypes/profiles/folder/types.xml
A plone/app/contenttypes/profiles/folder/types/Folder.xml
A plone/app/contenttypes/profiles/image/metadata.xml
A plone/app/contenttypes/profiles/image/types.xml
A plone/app/contenttypes/profiles/image/types/Image.xml
A plone/app/contenttypes/profiles/link/metadata.xml
A plone/app/contenttypes/profiles/link/types.xml
A plone/app/contenttypes/profiles/link/types/Link.xml
A plone/app/contenttypes/profiles/newsitem/metadata.xml
A plone/app/contenttypes/profiles/newsitem/types.xml
A plone/app/contenttypes/profiles/newsitem/types/News_Item.xml
M plone/app/contenttypes/configure.zcml
M plone/app/contenttypes/profiles/content/import_steps.xml
M plone/app/contenttypes/profiles/default/metadata.xml
D plone/app/contenttypes/profiles/default/types/Collection.xml
D plone/app/contenttypes/profiles/default/browserlayer.xml
D plone/app/contenttypes/profiles/default/cssregistry.xml
D plone/app/contenttypes/profiles/default/diff_tool.xml
D plone/app/contenttypes/profiles/default/rolemap.xml
D plone/app/contenttypes/profiles/default/types.xml
D plone/app/contenttypes/profiles/default/types/Document.xml
D plone/app/contenttypes/profiles/default/types/Event.xml
D plone/app/contenttypes/profiles/default/types/File.xml
D plone/app/contenttypes/profiles/default/types/Folder.xml
D plone/app/contenttypes/profiles/default/types/Image.xml
D plone/app/contenttypes/profiles/default/types/Link.xml
D plone/app/contenttypes/profiles/default/types/News_Item.xml

diff --git a/plone/app/contenttypes/configure.zcml b/plone/app/contenttypes/configure.zcml
index 1047277..00cdf61 100644
--- a/plone/app/contenttypes/configure.zcml
+++ b/plone/app/contenttypes/configure.zcml
@@ -8,31 +8,7 @@
            i18n_domain="plone.app.contenttypes">
 
   <includeDependencies package="." />
-
-  <gs:registerProfile
-    name="default"
-    title="Dexterity-based Plone Default Types (without example content)"
-    directory="profiles/default"
-    description="This provides Plones default types without adding example comntent"
-    provides="Products.GenericSetup.interfaces.EXTENSION"
-    />
-
-  <gs:registerProfile
-    name="uninstall"
-    title="Uninstall Dexterity-based Plone Default Types"
-    directory="profiles/uninstall"
-    description="Uninstall Base Dexterity content-types and restore Archetypes default-content-types"
-    provides="Products.GenericSetup.interfaces.EXTENSION"
-    />
-
-  <!-- plone.app.contenttypes alternatives to profile-Products.CMFPlone:plone-content -->
-  <gs:registerProfile
-    name="plone-content"
-    title="Dexterity-based Plone Default Types"
-    directory="profiles/content"
-    description="Dexterity content-types used as a replacement for Archetypes default-content-types"
-    provides="Products.GenericSetup.interfaces.EXTENSION"
-    />
+  <include file="profiles.zcml" />
 
   <include package=".behaviors" />
   <include package=".browser" />
diff --git a/plone/app/contenttypes/profiles.zcml b/plone/app/contenttypes/profiles.zcml
new file mode 100644
index 0000000..a3b4641
--- /dev/null
+++ b/plone/app/contenttypes/profiles.zcml
@@ -0,0 +1,106 @@
+<configure xmlns="http://namespaces.zope.org/zope"
+           xmlns:gs="http://namespaces.zope.org/genericsetup"
+           xmlns:zcml="http://namespaces.zope.org/zcml">
+
+  <!-- default plone content (frontpage etc.), depends on all other profiles -->
+  <gs:registerProfile
+    name="plone-content"
+    title="Plone default content-types (with example content) - dexterity"
+    directory="profiles/content"
+    description="Plone default content-types (plone.app.contenttypes)"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <!-- All types, no sample content, depends on types and core -->
+  <gs:registerProfile
+    name="default"
+    title="Plone default content-types (types-definitions) - dexterity"
+    directory="profiles/default"
+    description="Plone default content-types (plone.app.contenttypes)"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <!-- All settings no types, no sample content (only used during migration) -->
+  <gs:registerProfile
+    name="core"
+    title="Plone default content-types (core-functionality)"
+    directory="profiles/core"
+    description="Plone default content-types (plone.app.contenttypes)"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <!-- Types -->
+  <gs:registerProfile
+    name="collection"
+    title="Content-type Collection"
+    directory="profiles/collection"
+    description="Dexterity-based content-type collection"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="document"
+    title="Content-type Document"
+    directory="profiles/document"
+    description="Dexterity-based content-type document"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="event"
+    title="Content-type Event"
+    directory="profiles/event"
+    description="Dexterity-based content-type event"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="file"
+    title="Content-type File"
+    directory="profiles/file"
+    description="Dexterity-based content-type file"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="folder"
+    title="Content-type Folder"
+    directory="profiles/folder"
+    description="Dexterity-based content-type folder"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="image"
+    title="Content-type Image"
+    directory="profiles/image"
+    description="Dexterity-based content-type image"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="link"
+    title="Content-type Link"
+    directory="profiles/link"
+    description="Dexterity-based content-type link"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="newsitem"
+    title="Content-type News Item"
+    directory="profiles/newsitem"
+    description="Dexterity-based content-type News Item"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <!-- Uninstall -->
+  <gs:registerProfile
+    name="uninstall"
+    title="Uninstall Dexterity-based Plone Default Types"
+    directory="profiles/uninstall"
+    description="Uninstall Base Dexterity content-types and restore Archetypes default-content-types"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+</configure>
diff --git a/plone/app/contenttypes/profiles/collection/metadata.xml b/plone/app/contenttypes/profiles/collection/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/collection/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/collection/types.xml b/plone/app/contenttypes/profiles/collection/types.xml
new file mode 100644
index 0000000..9a199a7
--- /dev/null
+++ b/plone/app/contenttypes/profiles/collection/types.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Collection" remove="True"/>
+ <object name="Topic" remove="True"/>
+
+ <object meta_type="Dexterity FTI" name="Collection" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/collection/types/Collection.xml b/plone/app/contenttypes/profiles/collection/types/Collection.xml
new file mode 100644
index 0000000..1b067b4
--- /dev/null
+++ b/plone/app/contenttypes/profiles/collection/types/Collection.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<object name="Collection"
+   meta_type="Dexterity FTI"
+   i18n:domain="plone" xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+
+  <!-- Basic metadata -->
+  <property name="title" i18n:translate="">Collection</property>
+  <property name="description"
+    i18n:translate="">Collection</property>
+  <property name="global_allow">True</property>
+  <property name="filter_content_types">False</property>
+  <property name="allowed_content_types" />
+  <property name="allow_discussion">False</property>
+  <property name="add_permission">plone.app.contenttypes.addCollection</property>
+  <property name="klass">plone.app.contenttypes.content.Collection</property>
+  <property name="schema"></property>
+  <property name="model_source"></property>
+  <property name="model_file">plone.app.contenttypes.schema:collection.xml</property>
+  <property name="behaviors">
+    <element value="plone.app.content.interfaces.INameFromTitle"/>
+    <element value="plone.app.contenttypes.behaviors.collection.ICollection"/>
+    <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+    <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+    <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+    <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
+    <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+  </property>
+
+  <!-- View information -->
+  <property name="default_view">standard_view</property>
+  <property name="default_view_fallback">False</property>
+  <property name="view_methods">
+    <element value="standard_view" />
+    <element value="summary_view" />
+    <element value="all_content" />
+    <element value="tabular_view" />
+    <element value="thumbnail_view" />
+  </property>
+
+  <!-- Method aliases -->
+  <alias from="(Default)" to="(selected layout)"/>
+  <alias from="edit" to="@@edit"/>
+  <alias from="sharing" to="@@sharing"/>
+  <alias from="view" to="@@view" />
+
+  <!-- Actions -->
+  <action title="View" action_id="view" category="object" condition_expr=""
+    url_expr="string:${object_url}" visible="True">
+    <permission value="View"/>
+  </action>
+
+  <action title="Edit" action_id="edit" category="object" condition_expr=""
+    url_expr="string:${object_url}/edit" visible="True">
+    <permission value="Modify portal content"/>
+  </action>
+
+</object>
diff --git a/plone/app/contenttypes/profiles/content/import_steps.xml b/plone/app/contenttypes/profiles/content/import_steps.xml
index 0dff7f4..d13b994 100644
--- a/plone/app/contenttypes/profiles/content/import_steps.xml
+++ b/plone/app/contenttypes/profiles/content/import_steps.xml
@@ -4,5 +4,6 @@
               handler="plone.app.contenttypes.setuphandlers.importContent"
               title="plone.app.contenttypes base content-types">
     plone.app.contenttypes plone-content installation step.
+    <dependency step="typeinfo" />
  </import-step>
 </import-steps>
diff --git a/plone/app/contenttypes/profiles/core/browserlayer.xml b/plone/app/contenttypes/profiles/core/browserlayer.xml
new file mode 100644
index 0000000..6f39600
--- /dev/null
+++ b/plone/app/contenttypes/profiles/core/browserlayer.xml
@@ -0,0 +1,6 @@
+<layers>
+  <layer
+    name="plone.app.contenttypes"
+    interface="plone.app.contenttypes.interfaces.IPloneAppContenttypesLayer"
+    />
+</layers>
\ No newline at end of file
diff --git a/plone/app/contenttypes/profiles/core/cssregistry.xml b/plone/app/contenttypes/profiles/core/cssregistry.xml
new file mode 100644
index 0000000..e8b5068
--- /dev/null
+++ b/plone/app/contenttypes/profiles/core/cssregistry.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<object name="portal_css" meta_type="Stylesheets Registry">
+
+ <stylesheet id="++resource++collection.css" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/core/diff_tool.xml b/plone/app/contenttypes/profiles/core/diff_tool.xml
new file mode 100644
index 0000000..836bb33
--- /dev/null
+++ b/plone/app/contenttypes/profiles/core/diff_tool.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<object>
+  <difftypes>
+    <type portal_type="Document">
+      <field name="any" difftype="Compound Diff for Dexterity types"/>
+    </type>
+    <type portal_type="Event">
+      <field name="any" difftype="Compound Diff for Dexterity types"/>
+    </type>
+    <type portal_type="Link">
+      <field name="any" difftype="Compound Diff for Dexterity types"/>
+    </type>
+    <type portal_type="News Item">
+      <field name="any" difftype="Compound Diff for Dexterity types"/>
+    </type>
+  </difftypes>
+</object>
\ No newline at end of file
diff --git a/plone/app/contenttypes/profiles/core/metadata.xml b/plone/app/contenttypes/profiles/core/metadata.xml
new file mode 100644
index 0000000..0eac03f
--- /dev/null
+++ b/plone/app/contenttypes/profiles/core/metadata.xml
@@ -0,0 +1,11 @@
+<metadata>
+ <version>1101</version>
+ <dependencies>
+  <dependency>profile-plone.app.dexterity:default</dependency>
+  <dependency>profile-plone.app.relationfield:default</dependency>
+  <dependency>profile-plone.app.versioningbehavior:default</dependency>
+  <!-- XXX: For some reason the p.a.d gs workflow is not applied correctly. -->
+  <dependency>profile-plone.app.discussion:default</dependency>
+ </dependencies>
+</metadata>
+
diff --git a/plone/app/contenttypes/profiles/core/rolemap.xml b/plone/app/contenttypes/profiles/core/rolemap.xml
new file mode 100644
index 0000000..035f1b5
--- /dev/null
+++ b/plone/app/contenttypes/profiles/core/rolemap.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<rolemap>
+  <roles>
+    <role name="Manager"></role>
+  </roles>
+  <permissions>
+    <permission name="plone.app.contenttypes: Add Collection" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add Document" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add Event" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add File" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add Folder" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add Image" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add Link" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add News Item" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+  </permissions>
+</rolemap>
diff --git a/plone/app/contenttypes/profiles/default/browserlayer.xml b/plone/app/contenttypes/profiles/default/browserlayer.xml
deleted file mode 100644
index 6f39600..0000000
--- a/plone/app/contenttypes/profiles/default/browserlayer.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<layers>
-  <layer
-    name="plone.app.contenttypes"
-    interface="plone.app.contenttypes.interfaces.IPloneAppContenttypesLayer"
-    />
-</layers>
\ No newline at end of file
diff --git a/plone/app/contenttypes/profiles/default/cssregistry.xml b/plone/app/contenttypes/profiles/default/cssregistry.xml
deleted file mode 100644
index e8b5068..0000000
--- a/plone/app/contenttypes/profiles/default/cssregistry.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<object name="portal_css" meta_type="Stylesheets Registry">
-
- <stylesheet id="++resource++collection.css" />
-
-</object>
diff --git a/plone/app/contenttypes/profiles/default/diff_tool.xml b/plone/app/contenttypes/profiles/default/diff_tool.xml
deleted file mode 100644
index 836bb33..0000000
--- a/plone/app/contenttypes/profiles/default/diff_tool.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<object>
-  <difftypes>
-    <type portal_type="Document">
-      <field name="any" difftype="Compound Diff for Dexterity types"/>
-    </type>
-    <type portal_type="Event">
-      <field name="any" difftype="Compound Diff for Dexterity types"/>
-    </type>
-    <type portal_type="Link">
-      <field name="any" difftype="Compound Diff for Dexterity types"/>
-    </type>
-    <type portal_type="News Item">
-      <field name="any" difftype="Compound Diff for Dexterity types"/>
-    </type>
-  </difftypes>
-</object>
\ No newline at end of file
diff --git a/plone/app/contenttypes/profiles/default/metadata.xml b/plone/app/contenttypes/profiles/default/metadata.xml
index fd3de3e..ff2124f 100644
--- a/plone/app/contenttypes/profiles/default/metadata.xml
+++ b/plone/app/contenttypes/profiles/default/metadata.xml
@@ -1,11 +1,13 @@
 <metadata>
  <version>1101</version>
  <dependencies>
-  <dependency>profile-plone.app.dexterity:default</dependency>
-  <dependency>profile-plone.app.event:default</dependency>
-  <dependency>profile-plone.app.relationfield:default</dependency>
-  <dependency>profile-plone.app.versioningbehavior:default</dependency>
-  <!-- XXX: For some reason the p.a.d gs workflow is not applied correctly. -->
-  <dependency>profile-plone.app.discussion:default</dependency>
+  <dependency>profile-plone.app.contenttypes:event</dependency>
+  <dependency>profile-plone.app.contenttypes:collection</dependency>
+  <dependency>profile-plone.app.contenttypes:document</dependency>
+  <dependency>profile-plone.app.contenttypes:file</dependency>
+  <dependency>profile-plone.app.contenttypes:folder</dependency>
+  <dependency>profile-plone.app.contenttypes:image</dependency>
+  <dependency>profile-plone.app.contenttypes:link</dependency>
+  <dependency>profile-plone.app.contenttypes:newsitem</dependency>
  </dependencies>
 </metadata>
diff --git a/plone/app/contenttypes/profiles/default/rolemap.xml b/plone/app/contenttypes/profiles/default/rolemap.xml
deleted file mode 100644
index 035f1b5..0000000
--- a/plone/app/contenttypes/profiles/default/rolemap.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0"?>
-<rolemap>
-  <roles>
-    <role name="Manager"></role>
-  </roles>
-  <permissions>
-    <permission name="plone.app.contenttypes: Add Collection" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add Document" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add Event" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add File" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add Folder" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add Image" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add Link" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add News Item" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-  </permissions>
-</rolemap>
diff --git a/plone/app/contenttypes/profiles/default/types.xml b/plone/app/contenttypes/profiles/default/types.xml
deleted file mode 100644
index ac9b7eb..0000000
--- a/plone/app/contenttypes/profiles/default/types.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0"?>
-<object meta_type="Plone Types Tool" name="portal_types">
-
- <!-- We remove old ATContentTypes if they exist.
-      Instances of these types can still be looked at since the
-      skin-templates in CMFPlone are there but they cannot be edited -->
- <object name="Collection" remove="True"/>
- <object name="Document" remove="True"/>
- <object name="Event" remove="True"/>
- <object name="File" remove="True"/>
- <object name="Folder" remove="True"/>
- <object name="Image" remove="True"/>
- <object name="Link" remove="True"/>
- <object name="News Item" remove="True"/>
- <object name="Topic" remove="True"/>
-
- <object meta_type="Dexterity FTI" name="Collection" />
- <object meta_type="Dexterity FTI" name="Document" />
- <object meta_type="Dexterity FTI" name="Folder" />
- <object meta_type="Dexterity FTI" name="Link" />
- <object meta_type="Dexterity FTI" name="File" />
- <object meta_type="Dexterity FTI" name="Image" />
- <object meta_type="Dexterity FTI" name="News Item" />
- <object meta_type="Dexterity FTI" name="Event" />
-
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Collection.xml b/plone/app/contenttypes/profiles/default/types/Collection.xml
deleted file mode 100644
index 1b067b4..0000000
--- a/plone/app/contenttypes/profiles/default/types/Collection.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0"?>
-<object name="Collection"
-   meta_type="Dexterity FTI"
-   i18n:domain="plone" xmlns:i18n="http://xml.zope.org/namespaces/i18n">
-
-  <!-- Basic metadata -->
-  <property name="title" i18n:translate="">Collection</property>
-  <property name="description"
-    i18n:translate="">Collection</property>
-  <property name="global_allow">True</property>
-  <property name="filter_content_types">False</property>
-  <property name="allowed_content_types" />
-  <property name="allow_discussion">False</property>
-  <property name="add_permission">plone.app.contenttypes.addCollection</property>
-  <property name="klass">plone.app.contenttypes.content.Collection</property>
-  <property name="schema"></property>
-  <property name="model_source"></property>
-  <property name="model_file">plone.app.contenttypes.schema:collection.xml</property>
-  <property name="behaviors">
-    <element value="plone.app.content.interfaces.INameFromTitle"/>
-    <element value="plone.app.contenttypes.behaviors.collection.ICollection"/>
-    <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-    <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-    <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-    <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
-    <element value="plone.app.relationfield.behavior.IRelatedItems"/>
-  </property>
-
-  <!-- View information -->
-  <property name="default_view">standard_view</property>
-  <property name="default_view_fallback">False</property>
-  <property name="view_methods">
-    <element value="standard_view" />
-    <element value="summary_view" />
-    <element value="all_content" />
-    <element value="tabular_view" />
-    <element value="thumbnail_view" />
-  </property>
-
-  <!-- Method aliases -->
-  <alias from="(Default)" to="(selected layout)"/>
-  <alias from="edit" to="@@edit"/>
-  <alias from="sharing" to="@@sharing"/>
-  <alias from="view" to="@@view" />
-
-  <!-- Actions -->
-  <action title="View" action_id="view" category="object" condition_expr=""
-    url_expr="string:${object_url}" visible="True">
-    <permission value="View"/>
-  </action>
-
-  <action title="Edit" action_id="edit" category="object" condition_expr=""
-    url_expr="string:${object_url}/edit" visible="True">
-    <permission value="Modify portal content"/>
-  </action>
-
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Document.xml b/plone/app/contenttypes/profiles/default/types/Document.xml
deleted file mode 100644
index 61d5f78..0000000
--- a/plone/app/contenttypes/profiles/default/types/Document.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<object name="Document" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">Page</property>
- <property name="description" i18n:translate=""></property>
- <property name="icon_expr"></property>
- <property name="factory">Document</property>
- <property name="add_view_expr">string:${folder_url}/++add++Document</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">document_view</property>
- <property name="view_methods">
-  <element value="document_view"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addDocument</property>
- <property name="klass">plone.app.contenttypes.content.Document</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:document.xml</property>
- <property name="behaviors">
-  <element value="plone.app.content.interfaces.INameFromTitle"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
-  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
-  <element value="plone.app.contenttypes.behaviors.tableofcontents.ITableOfContents"/>
- </property>
- <alias from="(Default)" to="(dynamic view)"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Event.xml b/plone/app/contenttypes/profiles/default/types/Event.xml
deleted file mode 100644
index 08cb111..0000000
--- a/plone/app/contenttypes/profiles/default/types/Event.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-<object name="Event" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
-
- <!-- Basic properties -->
- <property name="title" i18n:translate="">Event</property>
- <property name="description" i18n:translate="">Events can be shown in calendars.</property>
- <property name="icon_expr"></property>
- <property name="allow_discussion">False</property>
-
- <property name="factory">Event</property>
- <property name="add_view_expr">string:${folder_url}/++add++Event</property>
- <property name="link_target"></property>
-
- <!-- Hierarchy control -->
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
-
- <!-- Schema, class and security -->
- <property name="klass">plone.app.contenttypes.content.Event</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:event.xml</property>
- <property name="add_permission">plone.app.contenttypes.addEvent</property>
-
- <!-- Enabled behaviors -->
- <property name="behaviors">
-  <element value="plone.app.event.dx.behaviors.IEventBasic"/>
-  <element value="plone.app.event.dx.behaviors.IEventRecurrence"/>
-  <element value="plone.app.event.dx.behaviors.IEventLocation"/>
-  <element value="plone.app.event.dx.behaviors.IEventAttendees"/>
-  <element value="plone.app.event.dx.behaviors.IEventContact"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-  <element value="plone.app.content.interfaces.INameFromTitle"/>
-  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
-  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
- </property>
-
- <!-- View and aliases -->
- <property name="default_view">event_view</property>
- <property name="default_view_fallback">False</property>
- <property name="immediate_view">view</property>
- <property name="view_methods">
-  <element value="event_view"/>
- </property>
-
- <alias from="event_view" to="@@event_view"/>
- <alias from="(Default)" to="(dynamic view)"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
-
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
-
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/File.xml b/plone/app/contenttypes/profiles/default/types/File.xml
deleted file mode 100644
index 5a073af..0000000
--- a/plone/app/contenttypes/profiles/default/types/File.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<object name="File" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">File</property>
- <property name="description" i18n:translate="">Lets you upload a file to the site.</property>
- <property name="icon_expr"></property>
- <property name="factory">File</property>
- <property name="add_view_expr">string:${folder_url}/++add++File</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">file_view</property>
- <property name="view_methods">
-  <element value="file_view"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addFile</property>
- <property name="klass">plone.app.contenttypes.content.File</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:file.xml</property>
- <property name="behaviors">
-  <element value="plone.app.dexterity.behaviors.metadata.ICategorization"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IPublication"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IOwnership"/>
-  <element value="plone.app.dexterity.behaviors.filename.INameFromFileName"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
- </property>
- <alias from="(Default)" to="@@display-file"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/view"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Folder.xml b/plone/app/contenttypes/profiles/default/types/Folder.xml
deleted file mode 100644
index cf0618b..0000000
--- a/plone/app/contenttypes/profiles/default/types/Folder.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<object name="Folder" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">Folder</property>
- <property name="description" i18n:translate=""></property>
- <property name="icon_expr"></property>
- <property name="factory">Folder</property>
- <property name="add_view_expr">string:${folder_url}/++add++Folder</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">False</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">folder_listing</property>
- <property name="view_methods">
-  <element value="folder_summary_view"/>
-  <element value="folder_full_view"/>
-  <element value="folder_tabular_view"/>
-  <element value="folder_album_view"/>
-  <element value="folder_listing"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addFolder</property>
- <property name="klass">plone.app.contenttypes.content.Folder</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:folder.xml</property>
- <property name="behaviors">
-  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-  <element value="plone.app.content.interfaces.INameFromTitle"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element
-     value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="Products.CMFPlone.interfaces.constrains.ISelectableConstrainTypes"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
-  <element value="plone.app.dexterity.behaviors.nextprevious.INextPreviousToggle"/>
- </property>
- <alias from="(Default)" to="(dynamic view)"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Image.xml b/plone/app/contenttypes/profiles/default/types/Image.xml
deleted file mode 100644
index 78f482e..0000000
--- a/plone/app/contenttypes/profiles/default/types/Image.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<object name="Image" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">Image</property>
- <property name="description"
-     i18n:translate="">Images can be referenced in pages or displayed in an album.</property>
- <property name="icon_expr"></property>
- <property name="factory">Image</property>
- <property name="add_view_expr">string:${folder_url}/++add++Image</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">image_view</property>
- <property name="view_methods">
-  <element value="image_view"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addImage</property>
- <property name="klass">plone.app.contenttypes.content.Image</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:image.xml</property>
- <property name="behaviors">
-  <element value="plone.app.dexterity.behaviors.metadata.ICategorization"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IPublication"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IOwnership"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.filename.INameFromFileName"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
- </property>
- <alias from="(Default)" to="@@display-file"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/view"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Link.xml b/plone/app/contenttypes/profiles/default/types/Link.xml
deleted file mode 100644
index 0e93a14..0000000
--- a/plone/app/contenttypes/profiles/default/types/Link.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0"?>
-<object name="Link" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">Link</property>
- <property name="description" i18n:translate=""></property>
- <property name="icon_expr"></property>
- <property name="factory">Link</property>
- <property name="add_view_expr">string:${folder_url}/++add++Link</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">link_redirect_view</property>
- <property name="view_methods">
-  <element value="link_redirect_view"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addLink</property>
- <property name="klass">plone.app.contenttypes.content.Link</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:link.xml</property>
- <property name="behaviors">
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-  <element value="plone.app.content.interfaces.INameFromTitle"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
- </property>
- <alias from="(Default)" to="(dynamic view)"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/News_Item.xml b/plone/app/contenttypes/profiles/default/types/News_Item.xml
deleted file mode 100644
index 1ad76f6..0000000
--- a/plone/app/contenttypes/profiles/default/types/News_Item.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<object name="News Item" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">News Item</property>
- <property name="description" i18n:translate=""></property>
- <property name="icon_expr"></property>
- <property name="factory">News Item</property>
- <property name="add_view_expr">string:${folder_url}/++add++News Item</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">newsitem_view</property>
- <property name="view_methods">
-  <element value="newsitem_view"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addNewsItem</property>
- <property name="klass">plone.app.contenttypes.content.NewsItem</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:news_item.xml</property>
- <property name="behaviors">
-  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
-  <element value="plone.app.content.interfaces.INameFromTitle"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
-  <element value="plone.app.contenttypes.behaviors.leadimage.ILeadImage"/>
-  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
- </property>
- <alias from="(Default)" to="(dynamic view)"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/document/metadata.xml b/plone/app/contenttypes/profiles/document/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/document/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/document/types.xml b/plone/app/contenttypes/profiles/document/types.xml
new file mode 100644
index 0000000..1a2e4c7
--- /dev/null
+++ b/plone/app/contenttypes/profiles/document/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Document" remove="True"/>
+ <object meta_type="Dexterity FTI" name="Document" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/document/types/Document.xml b/plone/app/contenttypes/profiles/document/types/Document.xml
new file mode 100644
index 0000000..61d5f78
--- /dev/null
+++ b/plone/app/contenttypes/profiles/document/types/Document.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<object name="Document" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">Page</property>
+ <property name="description" i18n:translate=""></property>
+ <property name="icon_expr"></property>
+ <property name="factory">Document</property>
+ <property name="add_view_expr">string:${folder_url}/++add++Document</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">document_view</property>
+ <property name="view_methods">
+  <element value="document_view"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addDocument</property>
+ <property name="klass">plone.app.contenttypes.content.Document</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:document.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.content.interfaces.INameFromTitle"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
+  <element value="plone.app.contenttypes.behaviors.tableofcontents.ITableOfContents"/>
+ </property>
+ <alias from="(Default)" to="(dynamic view)"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>
diff --git a/plone/app/contenttypes/profiles/event/metadata.xml b/plone/app/contenttypes/profiles/event/metadata.xml
new file mode 100644
index 0000000..401a92e
--- /dev/null
+++ b/plone/app/contenttypes/profiles/event/metadata.xml
@@ -0,0 +1,7 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+  <dependency>profile-plone.app.event:default</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/event/types.xml b/plone/app/contenttypes/profiles/event/types.xml
new file mode 100644
index 0000000..218a33b
--- /dev/null
+++ b/plone/app/contenttypes/profiles/event/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Event" remove="True"/>
+ <object meta_type="Dexterity FTI" name="Event" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/event/types/Event.xml b/plone/app/contenttypes/profiles/event/types/Event.xml
new file mode 100644
index 0000000..08cb111
--- /dev/null
+++ b/plone/app/contenttypes/profiles/event/types/Event.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<object name="Event" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+
+ <!-- Basic properties -->
+ <property name="title" i18n:translate="">Event</property>
+ <property name="description" i18n:translate="">Events can be shown in calendars.</property>
+ <property name="icon_expr"></property>
+ <property name="allow_discussion">False</property>
+
+ <property name="factory">Event</property>
+ <property name="add_view_expr">string:${folder_url}/++add++Event</property>
+ <property name="link_target"></property>
+
+ <!-- Hierarchy control -->
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+
+ <!-- Schema, class and security -->
+ <property name="klass">plone.app.contenttypes.content.Event</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:event.xml</property>
+ <property name="add_permission">plone.app.contenttypes.addEvent</property>
+
+ <!-- Enabled behaviors -->
+ <property name="behaviors">
+  <element value="plone.app.event.dx.behaviors.IEventBasic"/>
+  <element value="plone.app.event.dx.behaviors.IEventRecurrence"/>
+  <element value="plone.app.event.dx.behaviors.IEventLocation"/>
+  <element value="plone.app.event.dx.behaviors.IEventAttendees"/>
+  <element value="plone.app.event.dx.behaviors.IEventContact"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+  <element value="plone.app.content.interfaces.INameFromTitle"/>
+  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
+ </property>
+
+ <!-- View and aliases -->
+ <property name="default_view">event_view</property>
+ <property name="default_view_fallback">False</property>
+ <property name="immediate_view">view</property>
+ <property name="view_methods">
+  <element value="event_view"/>
+ </property>
+
+ <alias from="event_view" to="@@event_view"/>
+ <alias from="(Default)" to="(dynamic view)"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+
+</object>
diff --git a/plone/app/contenttypes/profiles/file/metadata.xml b/plone/app/contenttypes/profiles/file/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/file/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/file/types.xml b/plone/app/contenttypes/profiles/file/types.xml
new file mode 100644
index 0000000..7dbb5ff
--- /dev/null
+++ b/plone/app/contenttypes/profiles/file/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="File" remove="True"/>
+ <object meta_type="Dexterity FTI" name="File" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/file/types/File.xml b/plone/app/contenttypes/profiles/file/types/File.xml
new file mode 100644
index 0000000..5a073af
--- /dev/null
+++ b/plone/app/contenttypes/profiles/file/types/File.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<object name="File" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">File</property>
+ <property name="description" i18n:translate="">Lets you upload a file to the site.</property>
+ <property name="icon_expr"></property>
+ <property name="factory">File</property>
+ <property name="add_view_expr">string:${folder_url}/++add++File</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">file_view</property>
+ <property name="view_methods">
+  <element value="file_view"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addFile</property>
+ <property name="klass">plone.app.contenttypes.content.File</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:file.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.dexterity.behaviors.metadata.ICategorization"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IPublication"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IOwnership"/>
+  <element value="plone.app.dexterity.behaviors.filename.INameFromFileName"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+ </property>
+ <alias from="(Default)" to="@@display-file"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/view"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>
diff --git a/plone/app/contenttypes/profiles/folder/metadata.xml b/plone/app/contenttypes/profiles/folder/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/folder/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/folder/types.xml b/plone/app/contenttypes/profiles/folder/types.xml
new file mode 100644
index 0000000..7ae3249
--- /dev/null
+++ b/plone/app/contenttypes/profiles/folder/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Folder" remove="True"/>
+ <object meta_type="Dexterity FTI" name="Folder" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/folder/types/Folder.xml b/plone/app/contenttypes/profiles/folder/types/Folder.xml
new file mode 100644
index 0000000..cf0618b
--- /dev/null
+++ b/plone/app/contenttypes/profiles/folder/types/Folder.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<object name="Folder" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">Folder</property>
+ <property name="description" i18n:translate=""></property>
+ <property name="icon_expr"></property>
+ <property name="factory">Folder</property>
+ <property name="add_view_expr">string:${folder_url}/++add++Folder</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">False</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">folder_listing</property>
+ <property name="view_methods">
+  <element value="folder_summary_view"/>
+  <element value="folder_full_view"/>
+  <element value="folder_tabular_view"/>
+  <element value="folder_album_view"/>
+  <element value="folder_listing"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addFolder</property>
+ <property name="klass">plone.app.contenttypes.content.Folder</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:folder.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+  <element value="plone.app.content.interfaces.INameFromTitle"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element
+     value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="Products.CMFPlone.interfaces.constrains.ISelectableConstrainTypes"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+  <element value="plone.app.dexterity.behaviors.nextprevious.INextPreviousToggle"/>
+ </property>
+ <alias from="(Default)" to="(dynamic view)"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>
diff --git a/plone/app/contenttypes/profiles/image/metadata.xml b/plone/app/contenttypes/profiles/image/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/image/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/image/types.xml b/plone/app/contenttypes/profiles/image/types.xml
new file mode 100644
index 0000000..3fe7435
--- /dev/null
+++ b/plone/app/contenttypes/profiles/image/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Image" remove="True"/>
+ <object meta_type="Dexterity FTI" name="Image" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/image/types/Image.xml b/plone/app/contenttypes/profiles/image/types/Image.xml
new file mode 100644
index 0000000..78f482e
--- /dev/null
+++ b/plone/app/contenttypes/profiles/image/types/Image.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<object name="Image" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">Image</property>
+ <property name="description"
+     i18n:translate="">Images can be referenced in pages or displayed in an album.</property>
+ <property name="icon_expr"></property>
+ <property name="factory">Image</property>
+ <property name="add_view_expr">string:${folder_url}/++add++Image</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">image_view</property>
+ <property name="view_methods">
+  <element value="image_view"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addImage</property>
+ <property name="klass">plone.app.contenttypes.content.Image</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:image.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.dexterity.behaviors.metadata.ICategorization"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IPublication"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IOwnership"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.filename.INameFromFileName"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+ </property>
+ <alias from="(Default)" to="@@display-file"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/view"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>
diff --git a/plone/app/contenttypes/profiles/link/metadata.xml b/plone/app/contenttypes/profiles/link/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/link/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/link/types.xml b/plone/app/contenttypes/profiles/link/types.xml
new file mode 100644
index 0000000..b7f9b37
--- /dev/null
+++ b/plone/app/contenttypes/profiles/link/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Link" remove="True"/>
+ <object meta_type="Dexterity FTI" name="Link" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/link/types/Link.xml b/plone/app/contenttypes/profiles/link/types/Link.xml
new file mode 100644
index 0000000..0e93a14
--- /dev/null
+++ b/plone/app/contenttypes/profiles/link/types/Link.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<object name="Link" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">Link</property>
+ <property name="description" i18n:translate=""></property>
+ <property name="icon_expr"></property>
+ <property name="factory">Link</property>
+ <property name="add_view_expr">string:${folder_url}/++add++Link</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">link_redirect_view</property>
+ <property name="view_methods">
+  <element value="link_redirect_view"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addLink</property>
+ <property name="klass">plone.app.contenttypes.content.Link</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:link.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+  <element value="plone.app.content.interfaces.INameFromTitle"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
+ </property>
+ <alias from="(Default)" to="(dynamic view)"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>
diff --git a/plone/app/contenttypes/profiles/newsitem/metadata.xml b/plone/app/contenttypes/profiles/newsitem/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/newsitem/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/newsitem/types.xml b/plone/app/contenttypes/profiles/newsitem/types.xml
new file mode 100644
index 0000000..b05448b
--- /dev/null
+++ b/plone/app/contenttypes/profiles/newsitem/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="News Item" remove="True"/>
+ <object meta_type="Dexterity FTI" name="News Item" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/newsitem/types/News_Item.xml b/plone/app/contenttypes/profiles/newsitem/types/News_Item.xml
new file mode 100644
index 0000000..1ad76f6
--- /dev/null
+++ b/plone/app/contenttypes/profiles/newsitem/types/News_Item.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<object name="News Item" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">News Item</property>
+ <property name="description" i18n:translate=""></property>
+ <property name="icon_expr"></property>
+ <property name="factory">News Item</property>
+ <property name="add_view_expr">string:${folder_url}/++add++News Item</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">newsitem_view</property>
+ <property name="view_methods">
+  <element value="newsitem_view"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addNewsItem</property>
+ <property name="klass">plone.app.contenttypes.content.NewsItem</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:news_item.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
+  <element value="plone.app.content.interfaces.INameFromTitle"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+  <element value="plone.app.contenttypes.behaviors.leadimage.ILeadImage"/>
+  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
+ </property>
+ <alias from="(Default)" to="(dynamic view)"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>


Repository: plone.app.contenttypes
Branch: refs/heads/master
Date: 2014-04-01T13:55:35+02:00
Author: Philip Bauer (pbauer) <bauer at starzel.de>
Commit: https://github.com/plone/plone.app.contenttypes/commit/d360462c2be2676dd940ef74771657ad52b636d7

better names for import-steps

Files changed:
M plone/app/contenttypes/profiles/content/import_steps.xml
M plone/app/contenttypes/profiles/default/import_steps.xml
M plone/app/contenttypes/setuphandlers.py

diff --git a/plone/app/contenttypes/profiles/content/import_steps.xml b/plone/app/contenttypes/profiles/content/import_steps.xml
index d13b994..6444e63 100644
--- a/plone/app/contenttypes/profiles/content/import_steps.xml
+++ b/plone/app/contenttypes/profiles/content/import_steps.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <import-steps>
  <import-step id="plone.app.contenttypes--plone-content" version="20111108-01"
-              handler="plone.app.contenttypes.setuphandlers.importContent"
+              handler="plone.app.contenttypes.setuphandlers.step_import_content"
               title="plone.app.contenttypes base content-types">
     plone.app.contenttypes plone-content installation step.
     <dependency step="typeinfo" />
diff --git a/plone/app/contenttypes/profiles/default/import_steps.xml b/plone/app/contenttypes/profiles/default/import_steps.xml
index 7c12c75..e1227b4 100644
--- a/plone/app/contenttypes/profiles/default/import_steps.xml
+++ b/plone/app/contenttypes/profiles/default/import_steps.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <import-steps>
  <import-step id="plone.app.contenttypes" version="20140210-01"
-              handler="plone.app.contenttypes.setuphandlers.setupVarious"
+              handler="plone.app.contenttypes.setuphandlers.step_setup_various"
               title="plone.app.contenttypes base content-types">
   <dependency step="typeinfo"/>
     plone.app.contenttypes installation step.
diff --git a/plone/app/contenttypes/setuphandlers.py b/plone/app/contenttypes/setuphandlers.py
index aee7c14..b16c5cf 100644
--- a/plone/app/contenttypes/setuphandlers.py
+++ b/plone/app/contenttypes/setuphandlers.py
@@ -340,7 +340,7 @@ def configure_members_folder(portal, target_language):
             assignable.setBlacklistStatus('content_type', True)
 
 
-def importContent(context):
+def step_import_content(context):
     """Remove existing AT-content and create DX-content instead."""
 
     if context.readDataFile('plone.app.contenttypes_content.txt') is None:
@@ -395,7 +395,7 @@ def _delete_at_example_content(portal):
         portal.manage_delObjects(to_delete)
 
 
-def setupVarious(context):
+def step_setup_various(context):
     if context.readDataFile('plone.app.contenttypes_default.txt') is None:
         return
     portal = context.getSite()


Repository: plone.app.contenttypes
Branch: refs/heads/master
Date: 2014-04-01T13:59:28+02:00
Author: Philip Bauer (pbauer) <bauer at starzel.de>
Commit: https://github.com/plone/plone.app.contenttypes/commit/17bab84dfd08da14960e24dd9ab8e2b8dcae2e51

Only install core-profile with @@pac_installer. Replace AT-fti with DX-fti when migrating each type.

Files changed:
M plone/app/contenttypes/migration/browser.py

diff --git a/plone/app/contenttypes/migration/browser.py b/plone/app/contenttypes/migration/browser.py
index 1a33d77..40318ee 100644
--- a/plone/app/contenttypes/migration/browser.py
+++ b/plone/app/contenttypes/migration/browser.py
@@ -14,6 +14,7 @@
 from plone.browserlayer.interfaces import ILocalBrowserLayerType
 from plone.dexterity.content import DexterityContent
 from plone.dexterity.interfaces import IDexterityContent
+from plone.dexterity.interfaces import IDexterityFTI
 from plone.z3cform.layout import wrap_form
 from pprint import pformat
 from z3c.form import button
@@ -142,6 +143,7 @@ def __call__(self,
                 "Migrating %s objects of type %s" %
                 (amount_to_be_migrated, k)
             )
+            self.installTypeIfNeeded(v['new_type_name'])
             # call the migrator
             v['migrator'](portal)
 
@@ -226,6 +228,20 @@ def resetNotifyModified(self):
                 klass.notifyModified = klass.old_notifyModified
             del klass.old_notifyModified
 
+    def installTypeIfNeeded(self, type_name):
+        """Make sure the dexterity-fti is already installed.
+        If not we run a step that only installs the migrated types fti
+        """
+        tt = getToolByName(self.context, 'portal_types')
+        fti = tt.getTypeInfo(type_name)
+        if IDexterityFTI.providedBy(fti):
+            return
+        ps = getToolByName(self.context, 'portal_setup')
+        profile_name = type_name.lower().replace('_', '')
+        ps.runAllImportStepsFromProfile(
+            'profile-plone.app.contenttypes:%s' % profile_name
+        )
+
 
 class IATCTMigratorForm(Interface):
 
@@ -381,17 +397,30 @@ def pac_installed(self):
 
     @button.buttonAndHandler(_(u'Install'), name='install')
     def handle_install(self, action):
-        messages = IStatusMessage(self.request)
+        """ install p.a.c's core-profile (no fti's).
+        This way the AT-fti's are still valid.
+        """
         url = self.context.absolute_url()
+        # setup = getToolByName(self.context, "portal_setup")
+        # steps = _import_step_registry.listSteps()
+        # steps.remove(u'typeinfo')
+        # profile = 'profile-plone.app.contenttypes:default'
+        # for step in steps:
+        #     setup.runImportStepFromProfile(profile,
+        #                                    step,
+        #                                    run_dependencies=False,
+        #                                    purge_old=False)
+
         qi = getToolByName(self.context, "portal_quickinstaller")
         fail = qi.installProduct(
             'plone.app.contenttypes',
-            profile='plone.app.contenttypes:default'
+            profile='plone.app.contenttypes:core',
         )
         if fail:
+            messages = IStatusMessage(self.request)
             messages.addStatusMessage(fail, type='error')
-        else:
-            url = url + "/@@atct_migrator"
+            self.request.response.redirect(url)
+        url = url + '/@@atct_migrator'
         self.request.response.redirect(url)
 
     @button.buttonAndHandler(


Repository: plone.app.contenttypes
Branch: refs/heads/master
Date: 2014-04-01T15:10:59+02:00
Author: Philip Bauer (pbauer) <bauer at starzel.de>
Commit: https://github.com/plone/plone.app.contenttypes/commit/2dc2b33114f2f0e94250d4656fa4d02f941729fa

fix test

Files changed:
M plone/app/contenttypes/migration/dxmigration.py

diff --git a/plone/app/contenttypes/migration/dxmigration.py b/plone/app/contenttypes/migration/dxmigration.py
index 992d02a..bd8344f 100644
--- a/plone/app/contenttypes/migration/dxmigration.py
+++ b/plone/app/contenttypes/migration/dxmigration.py
@@ -26,12 +26,9 @@ def migrate_atctmetadata(self):
 
 
 def migrate_to_pa_event(context):
-    # Install plone.app.event
-    context.runAllImportStepsFromProfile('profile-plone.app.event:default')
-    # Re-import types to get newest Event type
-    context.runImportStepFromProfile(
-        'profile-plone.app.contenttypes:default',
-        'typeinfo',
+    # Re-import event-profile to get newest Event type
+    context.runAllImportStepsFromProfile(
+        'profile-plone.app.contenttypes:event',
     )
     portal = getSite()
     migrate(portal, DXOldEventMigrator)


Repository: plone.app.contenttypes
Branch: refs/heads/master
Date: 2014-04-01T16:27:09+02:00
Author: Philip Bauer (pbauer) <bauer at starzel.de>
Commit: https://github.com/plone/plone.app.contenttypes/commit/9748870dc875991c9e4252b9df9df51339e547d8

Silently replace FTI's for types without any items

Files changed:
M plone/app/contenttypes/migration/browser.py
M plone/app/contenttypes/migration/utils.py

diff --git a/plone/app/contenttypes/migration/browser.py b/plone/app/contenttypes/migration/browser.py
index 40318ee..54b0894 100644
--- a/plone/app/contenttypes/migration/browser.py
+++ b/plone/app/contenttypes/migration/browser.py
@@ -10,11 +10,11 @@
 from datetime import datetime
 from plone.app.contenttypes.migration import migration
 from plone.app.contenttypes.migration.utils import ATCT_LIST
+from plone.app.contenttypes.migration.utils import installTypeIfNeeded
 from plone.app.contenttypes.migration.utils import isSchemaExtended
 from plone.browserlayer.interfaces import ILocalBrowserLayerType
 from plone.dexterity.content import DexterityContent
 from plone.dexterity.interfaces import IDexterityContent
-from plone.dexterity.interfaces import IDexterityFTI
 from plone.z3cform.layout import wrap_form
 from pprint import pformat
 from z3c.form import button
@@ -143,7 +143,7 @@ def __call__(self,
                 "Migrating %s objects of type %s" %
                 (amount_to_be_migrated, k)
             )
-            self.installTypeIfNeeded(v['new_type_name'])
+            installTypeIfNeeded(v['new_type_name'])
             # call the migrator
             v['migrator'](portal)
 
@@ -228,20 +228,6 @@ def resetNotifyModified(self):
                 klass.notifyModified = klass.old_notifyModified
             del klass.old_notifyModified
 
-    def installTypeIfNeeded(self, type_name):
-        """Make sure the dexterity-fti is already installed.
-        If not we run a step that only installs the migrated types fti
-        """
-        tt = getToolByName(self.context, 'portal_types')
-        fti = tt.getTypeInfo(type_name)
-        if IDexterityFTI.providedBy(fti):
-            return
-        ps = getToolByName(self.context, 'portal_setup')
-        profile_name = type_name.lower().replace('_', '')
-        ps.runAllImportStepsFromProfile(
-            'profile-plone.app.contenttypes:%s' % profile_name
-        )
-
 
 class IATCTMigratorForm(Interface):
 
@@ -401,16 +387,6 @@ def handle_install(self, action):
         This way the AT-fti's are still valid.
         """
         url = self.context.absolute_url()
-        # setup = getToolByName(self.context, "portal_setup")
-        # steps = _import_step_registry.listSteps()
-        # steps.remove(u'typeinfo')
-        # profile = 'profile-plone.app.contenttypes:default'
-        # for step in steps:
-        #     setup.runImportStepFromProfile(profile,
-        #                                    step,
-        #                                    run_dependencies=False,
-        #                                    purge_old=False)
-
         qi = getToolByName(self.context, "portal_quickinstaller")
         fail = qi.installProduct(
             'plone.app.contenttypes',
@@ -420,9 +396,28 @@ def handle_install(self, action):
             messages = IStatusMessage(self.request)
             messages.addStatusMessage(fail, type='error')
             self.request.response.redirect(url)
+        # For types without any instances we want to instantly
+        # replace the AT-FTI's with DX-FTI's.
+        self.installTypesWithoutItems()
+
         url = url + '/@@atct_migrator'
         self.request.response.redirect(url)
 
+    def installTypesWithoutItems(self):
+        catalog = getToolByName(self.context, "portal_catalog")
+        for types_name in [
+            'Event',
+            'Collection',
+            'Document',
+            'File',
+            'Folder',
+            'Image',
+            'Link',
+            'News Item',
+        ]:
+            if not catalog.unrestrictedSearchResults(portal_type=types_name):
+                installTypeIfNeeded(types_name)
+
     @button.buttonAndHandler(
         _(u'label_cancel', default=u'Cancel'), name='cancel')
     def handle_cancel(self, action):
diff --git a/plone/app/contenttypes/migration/utils.py b/plone/app/contenttypes/migration/utils.py
index f0f2292..d6cc772 100644
--- a/plone/app/contenttypes/migration/utils.py
+++ b/plone/app/contenttypes/migration/utils.py
@@ -6,6 +6,7 @@
 from Products.ATContentTypes.interfaces.image import IATImage
 from Products.ATContentTypes.interfaces.link import IATLink
 from Products.ATContentTypes.interfaces.news import IATNewsItem
+from Products.CMFCore.utils import getToolByName
 from archetypes.schemaextender.interfaces import IBrowserLayerAwareExtender
 from archetypes.schemaextender.interfaces import IOrderableSchemaExtender
 from archetypes.schemaextender.interfaces import ISchemaExtender
@@ -13,6 +14,7 @@
 from plone.app.blob.interfaces import IATBlobFile
 from plone.app.blob.interfaces import IATBlobImage
 from plone.app.contenttypes.migration import migration
+from plone.dexterity.interfaces import IDexterityFTI
 from zope.component import getGlobalSiteManager
 from zope.component.hooks import getSite
 
@@ -152,3 +154,19 @@ def _checkForExtenderInterfaces(interface):
             fields = getattr(adapter.factory(None), 'fields', [])
             return [field.getName() for field in fields]
     return []
+
+
+def installTypeIfNeeded(type_name):
+    """Make sure the dexterity-fti is already installed.
+    If not we run a step that only installs the types fti.
+    """
+    portal = getSite()
+    tt = getToolByName(portal, 'portal_types')
+    fti = tt.getTypeInfo(type_name)
+    if IDexterityFTI.providedBy(fti):
+        return
+    ps = getToolByName(portal, 'portal_setup')
+    profile_name = type_name.lower().replace('_', '')
+    ps.runAllImportStepsFromProfile(
+        'profile-plone.app.contenttypes:%s' % profile_name
+    )


Repository: plone.app.contenttypes
Branch: refs/heads/master
Date: 2014-04-02T02:00:26+02:00
Author: Philip Bauer (pbauer) <bauer at starzel.de>
Commit: https://github.com/plone/plone.app.contenttypes/commit/217adc5ba00b170db186c8ef7c9e9a3adbbeaa10

add Changenote and improve wording in @@pac_installer

Files changed:
M docs/CHANGES.rst
M plone/app/contenttypes/migration/pac_installer.pt

diff --git a/docs/CHANGES.rst b/docs/CHANGES.rst
index d11c889..5d75edf 100644
--- a/docs/CHANGES.rst
+++ b/docs/CHANGES.rst
@@ -4,6 +4,16 @@ Changelog
 1.2a2 (unreleased)
 ------------------
 
+- Replace AT-fti with DX-fti when migrating a type.
+  [pbauer]
+
+- Split up profiles so we have one profile per type
+  [pbauer, yenzenz]
+
+- Add form to install pac's core-profile and forward to dx_migration
+  after a successful migration to Plone 5
+  [pbauer]
+
 - Rename atct_album_view to folder_album_view.
   [pbauer]
 
diff --git a/plone/app/contenttypes/migration/pac_installer.pt b/plone/app/contenttypes/migration/pac_installer.pt
index 56852d4..2ee7e0a 100644
--- a/plone/app/contenttypes/migration/pac_installer.pt
+++ b/plone/app/contenttypes/migration/pac_installer.pt
@@ -15,7 +15,7 @@
             <tal:installable tal:condition="view/pac_installable">
                 <h1 class="documentFirstHeading"
                     i18n:translate="">
-                    Install decterity-based default-type and proceed to migration-form?
+                    Install dexterity and proceed to the migration-form?
                 </h1>
                 <div id="content-core">
                     <form metal:use-macro="context/@@ploneform-macros/titlelessform" />
@@ -24,10 +24,10 @@
 
             <tal:installable tal:condition="view/pac_installed">
                 <h1>
-                    Plone.app.contenttypes is already installed
+                    Dexterity is already installed
                 </h1>
                 <p>
-                    <a href="@@atct_migrator">Proceed to migrating your content to dexterity.</a>
+                    <a href="@@atct_migrator">Proceed to migrating your existing content to dexterity.</a>
                 </p>
             </tal:installable>
 


Repository: plone.app.contenttypes
Branch: refs/heads/master
Date: 2014-04-02T02:03:31+02:00
Author: Jens W. Klein (jensens) <jens at bluedynamics.com>
Commit: https://github.com/plone/plone.app.contenttypes/commit/8c5248f392955dfea805faa64bc5df450b6d8bb0

Merge pull request #143 from plone/issue-142-keep-ftis

Replace AT-FTI one at a time when migrating to Plone5

Files changed:
A plone/app/contenttypes/profiles.zcml
A plone/app/contenttypes/profiles/collection/metadata.xml
A plone/app/contenttypes/profiles/collection/types.xml
A plone/app/contenttypes/profiles/collection/types/Collection.xml
A plone/app/contenttypes/profiles/core/browserlayer.xml
A plone/app/contenttypes/profiles/core/cssregistry.xml
A plone/app/contenttypes/profiles/core/diff_tool.xml
A plone/app/contenttypes/profiles/core/metadata.xml
A plone/app/contenttypes/profiles/core/rolemap.xml
A plone/app/contenttypes/profiles/document/metadata.xml
A plone/app/contenttypes/profiles/document/types.xml
A plone/app/contenttypes/profiles/document/types/Document.xml
A plone/app/contenttypes/profiles/event/metadata.xml
A plone/app/contenttypes/profiles/event/types.xml
A plone/app/contenttypes/profiles/event/types/Event.xml
A plone/app/contenttypes/profiles/file/metadata.xml
A plone/app/contenttypes/profiles/file/types.xml
A plone/app/contenttypes/profiles/file/types/File.xml
A plone/app/contenttypes/profiles/folder/metadata.xml
A plone/app/contenttypes/profiles/folder/types.xml
A plone/app/contenttypes/profiles/folder/types/Folder.xml
A plone/app/contenttypes/profiles/image/metadata.xml
A plone/app/contenttypes/profiles/image/types.xml
A plone/app/contenttypes/profiles/image/types/Image.xml
A plone/app/contenttypes/profiles/link/metadata.xml
A plone/app/contenttypes/profiles/link/types.xml
A plone/app/contenttypes/profiles/link/types/Link.xml
A plone/app/contenttypes/profiles/newsitem/metadata.xml
A plone/app/contenttypes/profiles/newsitem/types.xml
A plone/app/contenttypes/profiles/newsitem/types/News_Item.xml
M docs/CHANGES.rst
M plone/app/contenttypes/configure.zcml
M plone/app/contenttypes/migration/browser.py
M plone/app/contenttypes/migration/dxmigration.py
M plone/app/contenttypes/migration/pac_installer.pt
M plone/app/contenttypes/migration/utils.py
M plone/app/contenttypes/profiles/content/import_steps.xml
M plone/app/contenttypes/profiles/default/import_steps.xml
M plone/app/contenttypes/profiles/default/metadata.xml
M plone/app/contenttypes/setuphandlers.py
D plone/app/contenttypes/profiles/default/types/Collection.xml
D plone/app/contenttypes/profiles/default/browserlayer.xml
D plone/app/contenttypes/profiles/default/cssregistry.xml
D plone/app/contenttypes/profiles/default/diff_tool.xml
D plone/app/contenttypes/profiles/default/rolemap.xml
D plone/app/contenttypes/profiles/default/types.xml
D plone/app/contenttypes/profiles/default/types/Document.xml
D plone/app/contenttypes/profiles/default/types/Event.xml
D plone/app/contenttypes/profiles/default/types/File.xml
D plone/app/contenttypes/profiles/default/types/Folder.xml
D plone/app/contenttypes/profiles/default/types/Image.xml
D plone/app/contenttypes/profiles/default/types/Link.xml
D plone/app/contenttypes/profiles/default/types/News_Item.xml

diff --git a/docs/CHANGES.rst b/docs/CHANGES.rst
index d11c889..5d75edf 100644
--- a/docs/CHANGES.rst
+++ b/docs/CHANGES.rst
@@ -4,6 +4,16 @@ Changelog
 1.2a2 (unreleased)
 ------------------
 
+- Replace AT-fti with DX-fti when migrating a type.
+  [pbauer]
+
+- Split up profiles so we have one profile per type
+  [pbauer, yenzenz]
+
+- Add form to install pac's core-profile and forward to dx_migration
+  after a successful migration to Plone 5
+  [pbauer]
+
 - Rename atct_album_view to folder_album_view.
   [pbauer]
 
diff --git a/plone/app/contenttypes/configure.zcml b/plone/app/contenttypes/configure.zcml
index 1047277..00cdf61 100644
--- a/plone/app/contenttypes/configure.zcml
+++ b/plone/app/contenttypes/configure.zcml
@@ -8,31 +8,7 @@
            i18n_domain="plone.app.contenttypes">
 
   <includeDependencies package="." />
-
-  <gs:registerProfile
-    name="default"
-    title="Dexterity-based Plone Default Types (without example content)"
-    directory="profiles/default"
-    description="This provides Plones default types without adding example comntent"
-    provides="Products.GenericSetup.interfaces.EXTENSION"
-    />
-
-  <gs:registerProfile
-    name="uninstall"
-    title="Uninstall Dexterity-based Plone Default Types"
-    directory="profiles/uninstall"
-    description="Uninstall Base Dexterity content-types and restore Archetypes default-content-types"
-    provides="Products.GenericSetup.interfaces.EXTENSION"
-    />
-
-  <!-- plone.app.contenttypes alternatives to profile-Products.CMFPlone:plone-content -->
-  <gs:registerProfile
-    name="plone-content"
-    title="Dexterity-based Plone Default Types"
-    directory="profiles/content"
-    description="Dexterity content-types used as a replacement for Archetypes default-content-types"
-    provides="Products.GenericSetup.interfaces.EXTENSION"
-    />
+  <include file="profiles.zcml" />
 
   <include package=".behaviors" />
   <include package=".browser" />
diff --git a/plone/app/contenttypes/migration/browser.py b/plone/app/contenttypes/migration/browser.py
index 1a33d77..54b0894 100644
--- a/plone/app/contenttypes/migration/browser.py
+++ b/plone/app/contenttypes/migration/browser.py
@@ -10,6 +10,7 @@
 from datetime import datetime
 from plone.app.contenttypes.migration import migration
 from plone.app.contenttypes.migration.utils import ATCT_LIST
+from plone.app.contenttypes.migration.utils import installTypeIfNeeded
 from plone.app.contenttypes.migration.utils import isSchemaExtended
 from plone.browserlayer.interfaces import ILocalBrowserLayerType
 from plone.dexterity.content import DexterityContent
@@ -142,6 +143,7 @@ def __call__(self,
                 "Migrating %s objects of type %s" %
                 (amount_to_be_migrated, k)
             )
+            installTypeIfNeeded(v['new_type_name'])
             # call the migrator
             v['migrator'](portal)
 
@@ -381,19 +383,41 @@ def pac_installed(self):
 
     @button.buttonAndHandler(_(u'Install'), name='install')
     def handle_install(self, action):
-        messages = IStatusMessage(self.request)
+        """ install p.a.c's core-profile (no fti's).
+        This way the AT-fti's are still valid.
+        """
         url = self.context.absolute_url()
         qi = getToolByName(self.context, "portal_quickinstaller")
         fail = qi.installProduct(
             'plone.app.contenttypes',
-            profile='plone.app.contenttypes:default'
+            profile='plone.app.contenttypes:core',
         )
         if fail:
+            messages = IStatusMessage(self.request)
             messages.addStatusMessage(fail, type='error')
-        else:
-            url = url + "/@@atct_migrator"
+            self.request.response.redirect(url)
+        # For types without any instances we want to instantly
+        # replace the AT-FTI's with DX-FTI's.
+        self.installTypesWithoutItems()
+
+        url = url + '/@@atct_migrator'
         self.request.response.redirect(url)
 
+    def installTypesWithoutItems(self):
+        catalog = getToolByName(self.context, "portal_catalog")
+        for types_name in [
+            'Event',
+            'Collection',
+            'Document',
+            'File',
+            'Folder',
+            'Image',
+            'Link',
+            'News Item',
+        ]:
+            if not catalog.unrestrictedSearchResults(portal_type=types_name):
+                installTypeIfNeeded(types_name)
+
     @button.buttonAndHandler(
         _(u'label_cancel', default=u'Cancel'), name='cancel')
     def handle_cancel(self, action):
diff --git a/plone/app/contenttypes/migration/dxmigration.py b/plone/app/contenttypes/migration/dxmigration.py
index 992d02a..bd8344f 100644
--- a/plone/app/contenttypes/migration/dxmigration.py
+++ b/plone/app/contenttypes/migration/dxmigration.py
@@ -26,12 +26,9 @@ def migrate_atctmetadata(self):
 
 
 def migrate_to_pa_event(context):
-    # Install plone.app.event
-    context.runAllImportStepsFromProfile('profile-plone.app.event:default')
-    # Re-import types to get newest Event type
-    context.runImportStepFromProfile(
-        'profile-plone.app.contenttypes:default',
-        'typeinfo',
+    # Re-import event-profile to get newest Event type
+    context.runAllImportStepsFromProfile(
+        'profile-plone.app.contenttypes:event',
     )
     portal = getSite()
     migrate(portal, DXOldEventMigrator)
diff --git a/plone/app/contenttypes/migration/pac_installer.pt b/plone/app/contenttypes/migration/pac_installer.pt
index 56852d4..2ee7e0a 100644
--- a/plone/app/contenttypes/migration/pac_installer.pt
+++ b/plone/app/contenttypes/migration/pac_installer.pt
@@ -15,7 +15,7 @@
             <tal:installable tal:condition="view/pac_installable">
                 <h1 class="documentFirstHeading"
                     i18n:translate="">
-                    Install decterity-based default-type and proceed to migration-form?
+                    Install dexterity and proceed to the migration-form?
                 </h1>
                 <div id="content-core">
                     <form metal:use-macro="context/@@ploneform-macros/titlelessform" />
@@ -24,10 +24,10 @@
 
             <tal:installable tal:condition="view/pac_installed">
                 <h1>
-                    Plone.app.contenttypes is already installed
+                    Dexterity is already installed
                 </h1>
                 <p>
-                    <a href="@@atct_migrator">Proceed to migrating your content to dexterity.</a>
+                    <a href="@@atct_migrator">Proceed to migrating your existing content to dexterity.</a>
                 </p>
             </tal:installable>
 
diff --git a/plone/app/contenttypes/migration/utils.py b/plone/app/contenttypes/migration/utils.py
index f0f2292..d6cc772 100644
--- a/plone/app/contenttypes/migration/utils.py
+++ b/plone/app/contenttypes/migration/utils.py
@@ -6,6 +6,7 @@
 from Products.ATContentTypes.interfaces.image import IATImage
 from Products.ATContentTypes.interfaces.link import IATLink
 from Products.ATContentTypes.interfaces.news import IATNewsItem
+from Products.CMFCore.utils import getToolByName
 from archetypes.schemaextender.interfaces import IBrowserLayerAwareExtender
 from archetypes.schemaextender.interfaces import IOrderableSchemaExtender
 from archetypes.schemaextender.interfaces import ISchemaExtender
@@ -13,6 +14,7 @@
 from plone.app.blob.interfaces import IATBlobFile
 from plone.app.blob.interfaces import IATBlobImage
 from plone.app.contenttypes.migration import migration
+from plone.dexterity.interfaces import IDexterityFTI
 from zope.component import getGlobalSiteManager
 from zope.component.hooks import getSite
 
@@ -152,3 +154,19 @@ def _checkForExtenderInterfaces(interface):
             fields = getattr(adapter.factory(None), 'fields', [])
             return [field.getName() for field in fields]
     return []
+
+
+def installTypeIfNeeded(type_name):
+    """Make sure the dexterity-fti is already installed.
+    If not we run a step that only installs the types fti.
+    """
+    portal = getSite()
+    tt = getToolByName(portal, 'portal_types')
+    fti = tt.getTypeInfo(type_name)
+    if IDexterityFTI.providedBy(fti):
+        return
+    ps = getToolByName(portal, 'portal_setup')
+    profile_name = type_name.lower().replace('_', '')
+    ps.runAllImportStepsFromProfile(
+        'profile-plone.app.contenttypes:%s' % profile_name
+    )
diff --git a/plone/app/contenttypes/profiles.zcml b/plone/app/contenttypes/profiles.zcml
new file mode 100644
index 0000000..a3b4641
--- /dev/null
+++ b/plone/app/contenttypes/profiles.zcml
@@ -0,0 +1,106 @@
+<configure xmlns="http://namespaces.zope.org/zope"
+           xmlns:gs="http://namespaces.zope.org/genericsetup"
+           xmlns:zcml="http://namespaces.zope.org/zcml">
+
+  <!-- default plone content (frontpage etc.), depends on all other profiles -->
+  <gs:registerProfile
+    name="plone-content"
+    title="Plone default content-types (with example content) - dexterity"
+    directory="profiles/content"
+    description="Plone default content-types (plone.app.contenttypes)"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <!-- All types, no sample content, depends on types and core -->
+  <gs:registerProfile
+    name="default"
+    title="Plone default content-types (types-definitions) - dexterity"
+    directory="profiles/default"
+    description="Plone default content-types (plone.app.contenttypes)"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <!-- All settings no types, no sample content (only used during migration) -->
+  <gs:registerProfile
+    name="core"
+    title="Plone default content-types (core-functionality)"
+    directory="profiles/core"
+    description="Plone default content-types (plone.app.contenttypes)"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <!-- Types -->
+  <gs:registerProfile
+    name="collection"
+    title="Content-type Collection"
+    directory="profiles/collection"
+    description="Dexterity-based content-type collection"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="document"
+    title="Content-type Document"
+    directory="profiles/document"
+    description="Dexterity-based content-type document"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="event"
+    title="Content-type Event"
+    directory="profiles/event"
+    description="Dexterity-based content-type event"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="file"
+    title="Content-type File"
+    directory="profiles/file"
+    description="Dexterity-based content-type file"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="folder"
+    title="Content-type Folder"
+    directory="profiles/folder"
+    description="Dexterity-based content-type folder"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="image"
+    title="Content-type Image"
+    directory="profiles/image"
+    description="Dexterity-based content-type image"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="link"
+    title="Content-type Link"
+    directory="profiles/link"
+    description="Dexterity-based content-type link"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <gs:registerProfile
+    name="newsitem"
+    title="Content-type News Item"
+    directory="profiles/newsitem"
+    description="Dexterity-based content-type News Item"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+  <!-- Uninstall -->
+  <gs:registerProfile
+    name="uninstall"
+    title="Uninstall Dexterity-based Plone Default Types"
+    directory="profiles/uninstall"
+    description="Uninstall Base Dexterity content-types and restore Archetypes default-content-types"
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    />
+
+</configure>
diff --git a/plone/app/contenttypes/profiles/collection/metadata.xml b/plone/app/contenttypes/profiles/collection/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/collection/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/collection/types.xml b/plone/app/contenttypes/profiles/collection/types.xml
new file mode 100644
index 0000000..9a199a7
--- /dev/null
+++ b/plone/app/contenttypes/profiles/collection/types.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Collection" remove="True"/>
+ <object name="Topic" remove="True"/>
+
+ <object meta_type="Dexterity FTI" name="Collection" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/collection/types/Collection.xml b/plone/app/contenttypes/profiles/collection/types/Collection.xml
new file mode 100644
index 0000000..1b067b4
--- /dev/null
+++ b/plone/app/contenttypes/profiles/collection/types/Collection.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<object name="Collection"
+   meta_type="Dexterity FTI"
+   i18n:domain="plone" xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+
+  <!-- Basic metadata -->
+  <property name="title" i18n:translate="">Collection</property>
+  <property name="description"
+    i18n:translate="">Collection</property>
+  <property name="global_allow">True</property>
+  <property name="filter_content_types">False</property>
+  <property name="allowed_content_types" />
+  <property name="allow_discussion">False</property>
+  <property name="add_permission">plone.app.contenttypes.addCollection</property>
+  <property name="klass">plone.app.contenttypes.content.Collection</property>
+  <property name="schema"></property>
+  <property name="model_source"></property>
+  <property name="model_file">plone.app.contenttypes.schema:collection.xml</property>
+  <property name="behaviors">
+    <element value="plone.app.content.interfaces.INameFromTitle"/>
+    <element value="plone.app.contenttypes.behaviors.collection.ICollection"/>
+    <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+    <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+    <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+    <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
+    <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+  </property>
+
+  <!-- View information -->
+  <property name="default_view">standard_view</property>
+  <property name="default_view_fallback">False</property>
+  <property name="view_methods">
+    <element value="standard_view" />
+    <element value="summary_view" />
+    <element value="all_content" />
+    <element value="tabular_view" />
+    <element value="thumbnail_view" />
+  </property>
+
+  <!-- Method aliases -->
+  <alias from="(Default)" to="(selected layout)"/>
+  <alias from="edit" to="@@edit"/>
+  <alias from="sharing" to="@@sharing"/>
+  <alias from="view" to="@@view" />
+
+  <!-- Actions -->
+  <action title="View" action_id="view" category="object" condition_expr=""
+    url_expr="string:${object_url}" visible="True">
+    <permission value="View"/>
+  </action>
+
+  <action title="Edit" action_id="edit" category="object" condition_expr=""
+    url_expr="string:${object_url}/edit" visible="True">
+    <permission value="Modify portal content"/>
+  </action>
+
+</object>
diff --git a/plone/app/contenttypes/profiles/content/import_steps.xml b/plone/app/contenttypes/profiles/content/import_steps.xml
index 0dff7f4..6444e63 100644
--- a/plone/app/contenttypes/profiles/content/import_steps.xml
+++ b/plone/app/contenttypes/profiles/content/import_steps.xml
@@ -1,8 +1,9 @@
 <?xml version="1.0"?>
 <import-steps>
  <import-step id="plone.app.contenttypes--plone-content" version="20111108-01"
-              handler="plone.app.contenttypes.setuphandlers.importContent"
+              handler="plone.app.contenttypes.setuphandlers.step_import_content"
               title="plone.app.contenttypes base content-types">
     plone.app.contenttypes plone-content installation step.
+    <dependency step="typeinfo" />
  </import-step>
 </import-steps>
diff --git a/plone/app/contenttypes/profiles/core/browserlayer.xml b/plone/app/contenttypes/profiles/core/browserlayer.xml
new file mode 100644
index 0000000..6f39600
--- /dev/null
+++ b/plone/app/contenttypes/profiles/core/browserlayer.xml
@@ -0,0 +1,6 @@
+<layers>
+  <layer
+    name="plone.app.contenttypes"
+    interface="plone.app.contenttypes.interfaces.IPloneAppContenttypesLayer"
+    />
+</layers>
\ No newline at end of file
diff --git a/plone/app/contenttypes/profiles/core/cssregistry.xml b/plone/app/contenttypes/profiles/core/cssregistry.xml
new file mode 100644
index 0000000..e8b5068
--- /dev/null
+++ b/plone/app/contenttypes/profiles/core/cssregistry.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<object name="portal_css" meta_type="Stylesheets Registry">
+
+ <stylesheet id="++resource++collection.css" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/core/diff_tool.xml b/plone/app/contenttypes/profiles/core/diff_tool.xml
new file mode 100644
index 0000000..836bb33
--- /dev/null
+++ b/plone/app/contenttypes/profiles/core/diff_tool.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<object>
+  <difftypes>
+    <type portal_type="Document">
+      <field name="any" difftype="Compound Diff for Dexterity types"/>
+    </type>
+    <type portal_type="Event">
+      <field name="any" difftype="Compound Diff for Dexterity types"/>
+    </type>
+    <type portal_type="Link">
+      <field name="any" difftype="Compound Diff for Dexterity types"/>
+    </type>
+    <type portal_type="News Item">
+      <field name="any" difftype="Compound Diff for Dexterity types"/>
+    </type>
+  </difftypes>
+</object>
\ No newline at end of file
diff --git a/plone/app/contenttypes/profiles/core/metadata.xml b/plone/app/contenttypes/profiles/core/metadata.xml
new file mode 100644
index 0000000..0eac03f
--- /dev/null
+++ b/plone/app/contenttypes/profiles/core/metadata.xml
@@ -0,0 +1,11 @@
+<metadata>
+ <version>1101</version>
+ <dependencies>
+  <dependency>profile-plone.app.dexterity:default</dependency>
+  <dependency>profile-plone.app.relationfield:default</dependency>
+  <dependency>profile-plone.app.versioningbehavior:default</dependency>
+  <!-- XXX: For some reason the p.a.d gs workflow is not applied correctly. -->
+  <dependency>profile-plone.app.discussion:default</dependency>
+ </dependencies>
+</metadata>
+
diff --git a/plone/app/contenttypes/profiles/core/rolemap.xml b/plone/app/contenttypes/profiles/core/rolemap.xml
new file mode 100644
index 0000000..035f1b5
--- /dev/null
+++ b/plone/app/contenttypes/profiles/core/rolemap.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<rolemap>
+  <roles>
+    <role name="Manager"></role>
+  </roles>
+  <permissions>
+    <permission name="plone.app.contenttypes: Add Collection" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add Document" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add Event" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add File" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add Folder" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add Image" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add Link" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+    <permission name="plone.app.contenttypes: Add News Item" acquire="True">
+      <role name="Manager" />
+      <role name="Site Administrator" />
+      <role name="Owner"/>
+      <role name="Contributor"/>
+    </permission>
+  </permissions>
+</rolemap>
diff --git a/plone/app/contenttypes/profiles/default/browserlayer.xml b/plone/app/contenttypes/profiles/default/browserlayer.xml
deleted file mode 100644
index 6f39600..0000000
--- a/plone/app/contenttypes/profiles/default/browserlayer.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<layers>
-  <layer
-    name="plone.app.contenttypes"
-    interface="plone.app.contenttypes.interfaces.IPloneAppContenttypesLayer"
-    />
-</layers>
\ No newline at end of file
diff --git a/plone/app/contenttypes/profiles/default/cssregistry.xml b/plone/app/contenttypes/profiles/default/cssregistry.xml
deleted file mode 100644
index e8b5068..0000000
--- a/plone/app/contenttypes/profiles/default/cssregistry.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<object name="portal_css" meta_type="Stylesheets Registry">
-
- <stylesheet id="++resource++collection.css" />
-
-</object>
diff --git a/plone/app/contenttypes/profiles/default/diff_tool.xml b/plone/app/contenttypes/profiles/default/diff_tool.xml
deleted file mode 100644
index 836bb33..0000000
--- a/plone/app/contenttypes/profiles/default/diff_tool.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<object>
-  <difftypes>
-    <type portal_type="Document">
-      <field name="any" difftype="Compound Diff for Dexterity types"/>
-    </type>
-    <type portal_type="Event">
-      <field name="any" difftype="Compound Diff for Dexterity types"/>
-    </type>
-    <type portal_type="Link">
-      <field name="any" difftype="Compound Diff for Dexterity types"/>
-    </type>
-    <type portal_type="News Item">
-      <field name="any" difftype="Compound Diff for Dexterity types"/>
-    </type>
-  </difftypes>
-</object>
\ No newline at end of file
diff --git a/plone/app/contenttypes/profiles/default/import_steps.xml b/plone/app/contenttypes/profiles/default/import_steps.xml
index 7c12c75..e1227b4 100644
--- a/plone/app/contenttypes/profiles/default/import_steps.xml
+++ b/plone/app/contenttypes/profiles/default/import_steps.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <import-steps>
  <import-step id="plone.app.contenttypes" version="20140210-01"
-              handler="plone.app.contenttypes.setuphandlers.setupVarious"
+              handler="plone.app.contenttypes.setuphandlers.step_setup_various"
               title="plone.app.contenttypes base content-types">
   <dependency step="typeinfo"/>
     plone.app.contenttypes installation step.
diff --git a/plone/app/contenttypes/profiles/default/metadata.xml b/plone/app/contenttypes/profiles/default/metadata.xml
index fd3de3e..ff2124f 100644
--- a/plone/app/contenttypes/profiles/default/metadata.xml
+++ b/plone/app/contenttypes/profiles/default/metadata.xml
@@ -1,11 +1,13 @@
 <metadata>
  <version>1101</version>
  <dependencies>
-  <dependency>profile-plone.app.dexterity:default</dependency>
-  <dependency>profile-plone.app.event:default</dependency>
-  <dependency>profile-plone.app.relationfield:default</dependency>
-  <dependency>profile-plone.app.versioningbehavior:default</dependency>
-  <!-- XXX: For some reason the p.a.d gs workflow is not applied correctly. -->
-  <dependency>profile-plone.app.discussion:default</dependency>
+  <dependency>profile-plone.app.contenttypes:event</dependency>
+  <dependency>profile-plone.app.contenttypes:collection</dependency>
+  <dependency>profile-plone.app.contenttypes:document</dependency>
+  <dependency>profile-plone.app.contenttypes:file</dependency>
+  <dependency>profile-plone.app.contenttypes:folder</dependency>
+  <dependency>profile-plone.app.contenttypes:image</dependency>
+  <dependency>profile-plone.app.contenttypes:link</dependency>
+  <dependency>profile-plone.app.contenttypes:newsitem</dependency>
  </dependencies>
 </metadata>
diff --git a/plone/app/contenttypes/profiles/default/rolemap.xml b/plone/app/contenttypes/profiles/default/rolemap.xml
deleted file mode 100644
index 035f1b5..0000000
--- a/plone/app/contenttypes/profiles/default/rolemap.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0"?>
-<rolemap>
-  <roles>
-    <role name="Manager"></role>
-  </roles>
-  <permissions>
-    <permission name="plone.app.contenttypes: Add Collection" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add Document" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add Event" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add File" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add Folder" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add Image" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add Link" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-    <permission name="plone.app.contenttypes: Add News Item" acquire="True">
-      <role name="Manager" />
-      <role name="Site Administrator" />
-      <role name="Owner"/>
-      <role name="Contributor"/>
-    </permission>
-  </permissions>
-</rolemap>
diff --git a/plone/app/contenttypes/profiles/default/types.xml b/plone/app/contenttypes/profiles/default/types.xml
deleted file mode 100644
index ac9b7eb..0000000
--- a/plone/app/contenttypes/profiles/default/types.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0"?>
-<object meta_type="Plone Types Tool" name="portal_types">
-
- <!-- We remove old ATContentTypes if they exist.
-      Instances of these types can still be looked at since the
-      skin-templates in CMFPlone are there but they cannot be edited -->
- <object name="Collection" remove="True"/>
- <object name="Document" remove="True"/>
- <object name="Event" remove="True"/>
- <object name="File" remove="True"/>
- <object name="Folder" remove="True"/>
- <object name="Image" remove="True"/>
- <object name="Link" remove="True"/>
- <object name="News Item" remove="True"/>
- <object name="Topic" remove="True"/>
-
- <object meta_type="Dexterity FTI" name="Collection" />
- <object meta_type="Dexterity FTI" name="Document" />
- <object meta_type="Dexterity FTI" name="Folder" />
- <object meta_type="Dexterity FTI" name="Link" />
- <object meta_type="Dexterity FTI" name="File" />
- <object meta_type="Dexterity FTI" name="Image" />
- <object meta_type="Dexterity FTI" name="News Item" />
- <object meta_type="Dexterity FTI" name="Event" />
-
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Collection.xml b/plone/app/contenttypes/profiles/default/types/Collection.xml
deleted file mode 100644
index 1b067b4..0000000
--- a/plone/app/contenttypes/profiles/default/types/Collection.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0"?>
-<object name="Collection"
-   meta_type="Dexterity FTI"
-   i18n:domain="plone" xmlns:i18n="http://xml.zope.org/namespaces/i18n">
-
-  <!-- Basic metadata -->
-  <property name="title" i18n:translate="">Collection</property>
-  <property name="description"
-    i18n:translate="">Collection</property>
-  <property name="global_allow">True</property>
-  <property name="filter_content_types">False</property>
-  <property name="allowed_content_types" />
-  <property name="allow_discussion">False</property>
-  <property name="add_permission">plone.app.contenttypes.addCollection</property>
-  <property name="klass">plone.app.contenttypes.content.Collection</property>
-  <property name="schema"></property>
-  <property name="model_source"></property>
-  <property name="model_file">plone.app.contenttypes.schema:collection.xml</property>
-  <property name="behaviors">
-    <element value="plone.app.content.interfaces.INameFromTitle"/>
-    <element value="plone.app.contenttypes.behaviors.collection.ICollection"/>
-    <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-    <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-    <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-    <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
-    <element value="plone.app.relationfield.behavior.IRelatedItems"/>
-  </property>
-
-  <!-- View information -->
-  <property name="default_view">standard_view</property>
-  <property name="default_view_fallback">False</property>
-  <property name="view_methods">
-    <element value="standard_view" />
-    <element value="summary_view" />
-    <element value="all_content" />
-    <element value="tabular_view" />
-    <element value="thumbnail_view" />
-  </property>
-
-  <!-- Method aliases -->
-  <alias from="(Default)" to="(selected layout)"/>
-  <alias from="edit" to="@@edit"/>
-  <alias from="sharing" to="@@sharing"/>
-  <alias from="view" to="@@view" />
-
-  <!-- Actions -->
-  <action title="View" action_id="view" category="object" condition_expr=""
-    url_expr="string:${object_url}" visible="True">
-    <permission value="View"/>
-  </action>
-
-  <action title="Edit" action_id="edit" category="object" condition_expr=""
-    url_expr="string:${object_url}/edit" visible="True">
-    <permission value="Modify portal content"/>
-  </action>
-
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Document.xml b/plone/app/contenttypes/profiles/default/types/Document.xml
deleted file mode 100644
index 61d5f78..0000000
--- a/plone/app/contenttypes/profiles/default/types/Document.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<object name="Document" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">Page</property>
- <property name="description" i18n:translate=""></property>
- <property name="icon_expr"></property>
- <property name="factory">Document</property>
- <property name="add_view_expr">string:${folder_url}/++add++Document</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">document_view</property>
- <property name="view_methods">
-  <element value="document_view"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addDocument</property>
- <property name="klass">plone.app.contenttypes.content.Document</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:document.xml</property>
- <property name="behaviors">
-  <element value="plone.app.content.interfaces.INameFromTitle"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
-  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
-  <element value="plone.app.contenttypes.behaviors.tableofcontents.ITableOfContents"/>
- </property>
- <alias from="(Default)" to="(dynamic view)"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Event.xml b/plone/app/contenttypes/profiles/default/types/Event.xml
deleted file mode 100644
index 08cb111..0000000
--- a/plone/app/contenttypes/profiles/default/types/Event.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-<object name="Event" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
-
- <!-- Basic properties -->
- <property name="title" i18n:translate="">Event</property>
- <property name="description" i18n:translate="">Events can be shown in calendars.</property>
- <property name="icon_expr"></property>
- <property name="allow_discussion">False</property>
-
- <property name="factory">Event</property>
- <property name="add_view_expr">string:${folder_url}/++add++Event</property>
- <property name="link_target"></property>
-
- <!-- Hierarchy control -->
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
-
- <!-- Schema, class and security -->
- <property name="klass">plone.app.contenttypes.content.Event</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:event.xml</property>
- <property name="add_permission">plone.app.contenttypes.addEvent</property>
-
- <!-- Enabled behaviors -->
- <property name="behaviors">
-  <element value="plone.app.event.dx.behaviors.IEventBasic"/>
-  <element value="plone.app.event.dx.behaviors.IEventRecurrence"/>
-  <element value="plone.app.event.dx.behaviors.IEventLocation"/>
-  <element value="plone.app.event.dx.behaviors.IEventAttendees"/>
-  <element value="plone.app.event.dx.behaviors.IEventContact"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-  <element value="plone.app.content.interfaces.INameFromTitle"/>
-  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
-  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
- </property>
-
- <!-- View and aliases -->
- <property name="default_view">event_view</property>
- <property name="default_view_fallback">False</property>
- <property name="immediate_view">view</property>
- <property name="view_methods">
-  <element value="event_view"/>
- </property>
-
- <alias from="event_view" to="@@event_view"/>
- <alias from="(Default)" to="(dynamic view)"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
-
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
-
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/File.xml b/plone/app/contenttypes/profiles/default/types/File.xml
deleted file mode 100644
index 5a073af..0000000
--- a/plone/app/contenttypes/profiles/default/types/File.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<object name="File" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">File</property>
- <property name="description" i18n:translate="">Lets you upload a file to the site.</property>
- <property name="icon_expr"></property>
- <property name="factory">File</property>
- <property name="add_view_expr">string:${folder_url}/++add++File</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">file_view</property>
- <property name="view_methods">
-  <element value="file_view"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addFile</property>
- <property name="klass">plone.app.contenttypes.content.File</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:file.xml</property>
- <property name="behaviors">
-  <element value="plone.app.dexterity.behaviors.metadata.ICategorization"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IPublication"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IOwnership"/>
-  <element value="plone.app.dexterity.behaviors.filename.INameFromFileName"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
- </property>
- <alias from="(Default)" to="@@display-file"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/view"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Folder.xml b/plone/app/contenttypes/profiles/default/types/Folder.xml
deleted file mode 100644
index cf0618b..0000000
--- a/plone/app/contenttypes/profiles/default/types/Folder.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<object name="Folder" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">Folder</property>
- <property name="description" i18n:translate=""></property>
- <property name="icon_expr"></property>
- <property name="factory">Folder</property>
- <property name="add_view_expr">string:${folder_url}/++add++Folder</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">False</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">folder_listing</property>
- <property name="view_methods">
-  <element value="folder_summary_view"/>
-  <element value="folder_full_view"/>
-  <element value="folder_tabular_view"/>
-  <element value="folder_album_view"/>
-  <element value="folder_listing"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addFolder</property>
- <property name="klass">plone.app.contenttypes.content.Folder</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:folder.xml</property>
- <property name="behaviors">
-  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-  <element value="plone.app.content.interfaces.INameFromTitle"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element
-     value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="Products.CMFPlone.interfaces.constrains.ISelectableConstrainTypes"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
-  <element value="plone.app.dexterity.behaviors.nextprevious.INextPreviousToggle"/>
- </property>
- <alias from="(Default)" to="(dynamic view)"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Image.xml b/plone/app/contenttypes/profiles/default/types/Image.xml
deleted file mode 100644
index 78f482e..0000000
--- a/plone/app/contenttypes/profiles/default/types/Image.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<object name="Image" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">Image</property>
- <property name="description"
-     i18n:translate="">Images can be referenced in pages or displayed in an album.</property>
- <property name="icon_expr"></property>
- <property name="factory">Image</property>
- <property name="add_view_expr">string:${folder_url}/++add++Image</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">image_view</property>
- <property name="view_methods">
-  <element value="image_view"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addImage</property>
- <property name="klass">plone.app.contenttypes.content.Image</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:image.xml</property>
- <property name="behaviors">
-  <element value="plone.app.dexterity.behaviors.metadata.ICategorization"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IPublication"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IOwnership"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.filename.INameFromFileName"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
- </property>
- <alias from="(Default)" to="@@display-file"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/view"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/Link.xml b/plone/app/contenttypes/profiles/default/types/Link.xml
deleted file mode 100644
index 0e93a14..0000000
--- a/plone/app/contenttypes/profiles/default/types/Link.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0"?>
-<object name="Link" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">Link</property>
- <property name="description" i18n:translate=""></property>
- <property name="icon_expr"></property>
- <property name="factory">Link</property>
- <property name="add_view_expr">string:${folder_url}/++add++Link</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">link_redirect_view</property>
- <property name="view_methods">
-  <element value="link_redirect_view"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addLink</property>
- <property name="klass">plone.app.contenttypes.content.Link</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:link.xml</property>
- <property name="behaviors">
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-  <element value="plone.app.content.interfaces.INameFromTitle"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
- </property>
- <alias from="(Default)" to="(dynamic view)"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/default/types/News_Item.xml b/plone/app/contenttypes/profiles/default/types/News_Item.xml
deleted file mode 100644
index 1ad76f6..0000000
--- a/plone/app/contenttypes/profiles/default/types/News_Item.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<object name="News Item" meta_type="Dexterity FTI" i18n:domain="plone"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
- <property name="title" i18n:translate="">News Item</property>
- <property name="description" i18n:translate=""></property>
- <property name="icon_expr"></property>
- <property name="factory">News Item</property>
- <property name="add_view_expr">string:${folder_url}/++add++News Item</property>
- <property name="link_target"></property>
- <property name="immediate_view">view</property>
- <property name="global_allow">True</property>
- <property name="filter_content_types">True</property>
- <property name="allowed_content_types"/>
- <property name="allow_discussion">False</property>
- <property name="default_view">newsitem_view</property>
- <property name="view_methods">
-  <element value="newsitem_view"/>
- </property>
- <property name="default_view_fallback">False</property>
- <property name="add_permission">plone.app.contenttypes.addNewsItem</property>
- <property name="klass">plone.app.contenttypes.content.NewsItem</property>
- <property name="schema"></property>
- <property name="model_source"></property>
- <property name="model_file">plone.app.contenttypes.schema:news_item.xml</property>
- <property name="behaviors">
-  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
-  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
-  <element value="plone.app.content.interfaces.INameFromTitle"/>
-  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
-  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
-  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
-  <element value="plone.app.contenttypes.behaviors.leadimage.ILeadImage"/>
-  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
- </property>
- <alias from="(Default)" to="(dynamic view)"/>
- <alias from="edit" to="@@edit"/>
- <alias from="sharing" to="@@sharing"/>
- <alias from="view" to="(selected layout)"/>
- <action title="View" action_id="view" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}"
-    visible="True" i18n:attributes="title">
-  <permission value="View"/>
- </action>
- <action title="Edit" action_id="edit" category="object" condition_expr=""
-    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
-    visible="True" i18n:attributes="title">
-  <permission value="Modify portal content"/>
- </action>
-</object>
diff --git a/plone/app/contenttypes/profiles/document/metadata.xml b/plone/app/contenttypes/profiles/document/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/document/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/document/types.xml b/plone/app/contenttypes/profiles/document/types.xml
new file mode 100644
index 0000000..1a2e4c7
--- /dev/null
+++ b/plone/app/contenttypes/profiles/document/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Document" remove="True"/>
+ <object meta_type="Dexterity FTI" name="Document" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/document/types/Document.xml b/plone/app/contenttypes/profiles/document/types/Document.xml
new file mode 100644
index 0000000..61d5f78
--- /dev/null
+++ b/plone/app/contenttypes/profiles/document/types/Document.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<object name="Document" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">Page</property>
+ <property name="description" i18n:translate=""></property>
+ <property name="icon_expr"></property>
+ <property name="factory">Document</property>
+ <property name="add_view_expr">string:${folder_url}/++add++Document</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">document_view</property>
+ <property name="view_methods">
+  <element value="document_view"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addDocument</property>
+ <property name="klass">plone.app.contenttypes.content.Document</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:document.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.content.interfaces.INameFromTitle"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
+  <element value="plone.app.contenttypes.behaviors.tableofcontents.ITableOfContents"/>
+ </property>
+ <alias from="(Default)" to="(dynamic view)"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>
diff --git a/plone/app/contenttypes/profiles/event/metadata.xml b/plone/app/contenttypes/profiles/event/metadata.xml
new file mode 100644
index 0000000..401a92e
--- /dev/null
+++ b/plone/app/contenttypes/profiles/event/metadata.xml
@@ -0,0 +1,7 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+  <dependency>profile-plone.app.event:default</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/event/types.xml b/plone/app/contenttypes/profiles/event/types.xml
new file mode 100644
index 0000000..218a33b
--- /dev/null
+++ b/plone/app/contenttypes/profiles/event/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Event" remove="True"/>
+ <object meta_type="Dexterity FTI" name="Event" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/event/types/Event.xml b/plone/app/contenttypes/profiles/event/types/Event.xml
new file mode 100644
index 0000000..08cb111
--- /dev/null
+++ b/plone/app/contenttypes/profiles/event/types/Event.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<object name="Event" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+
+ <!-- Basic properties -->
+ <property name="title" i18n:translate="">Event</property>
+ <property name="description" i18n:translate="">Events can be shown in calendars.</property>
+ <property name="icon_expr"></property>
+ <property name="allow_discussion">False</property>
+
+ <property name="factory">Event</property>
+ <property name="add_view_expr">string:${folder_url}/++add++Event</property>
+ <property name="link_target"></property>
+
+ <!-- Hierarchy control -->
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+
+ <!-- Schema, class and security -->
+ <property name="klass">plone.app.contenttypes.content.Event</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:event.xml</property>
+ <property name="add_permission">plone.app.contenttypes.addEvent</property>
+
+ <!-- Enabled behaviors -->
+ <property name="behaviors">
+  <element value="plone.app.event.dx.behaviors.IEventBasic"/>
+  <element value="plone.app.event.dx.behaviors.IEventRecurrence"/>
+  <element value="plone.app.event.dx.behaviors.IEventLocation"/>
+  <element value="plone.app.event.dx.behaviors.IEventAttendees"/>
+  <element value="plone.app.event.dx.behaviors.IEventContact"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+  <element value="plone.app.content.interfaces.INameFromTitle"/>
+  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
+ </property>
+
+ <!-- View and aliases -->
+ <property name="default_view">event_view</property>
+ <property name="default_view_fallback">False</property>
+ <property name="immediate_view">view</property>
+ <property name="view_methods">
+  <element value="event_view"/>
+ </property>
+
+ <alias from="event_view" to="@@event_view"/>
+ <alias from="(Default)" to="(dynamic view)"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+
+</object>
diff --git a/plone/app/contenttypes/profiles/file/metadata.xml b/plone/app/contenttypes/profiles/file/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/file/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/file/types.xml b/plone/app/contenttypes/profiles/file/types.xml
new file mode 100644
index 0000000..7dbb5ff
--- /dev/null
+++ b/plone/app/contenttypes/profiles/file/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="File" remove="True"/>
+ <object meta_type="Dexterity FTI" name="File" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/file/types/File.xml b/plone/app/contenttypes/profiles/file/types/File.xml
new file mode 100644
index 0000000..5a073af
--- /dev/null
+++ b/plone/app/contenttypes/profiles/file/types/File.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<object name="File" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">File</property>
+ <property name="description" i18n:translate="">Lets you upload a file to the site.</property>
+ <property name="icon_expr"></property>
+ <property name="factory">File</property>
+ <property name="add_view_expr">string:${folder_url}/++add++File</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">file_view</property>
+ <property name="view_methods">
+  <element value="file_view"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addFile</property>
+ <property name="klass">plone.app.contenttypes.content.File</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:file.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.dexterity.behaviors.metadata.ICategorization"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IPublication"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IOwnership"/>
+  <element value="plone.app.dexterity.behaviors.filename.INameFromFileName"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+ </property>
+ <alias from="(Default)" to="@@display-file"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/view"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>
diff --git a/plone/app/contenttypes/profiles/folder/metadata.xml b/plone/app/contenttypes/profiles/folder/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/folder/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/folder/types.xml b/plone/app/contenttypes/profiles/folder/types.xml
new file mode 100644
index 0000000..7ae3249
--- /dev/null
+++ b/plone/app/contenttypes/profiles/folder/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Folder" remove="True"/>
+ <object meta_type="Dexterity FTI" name="Folder" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/folder/types/Folder.xml b/plone/app/contenttypes/profiles/folder/types/Folder.xml
new file mode 100644
index 0000000..cf0618b
--- /dev/null
+++ b/plone/app/contenttypes/profiles/folder/types/Folder.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<object name="Folder" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">Folder</property>
+ <property name="description" i18n:translate=""></property>
+ <property name="icon_expr"></property>
+ <property name="factory">Folder</property>
+ <property name="add_view_expr">string:${folder_url}/++add++Folder</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">False</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">folder_listing</property>
+ <property name="view_methods">
+  <element value="folder_summary_view"/>
+  <element value="folder_full_view"/>
+  <element value="folder_tabular_view"/>
+  <element value="folder_album_view"/>
+  <element value="folder_listing"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addFolder</property>
+ <property name="klass">plone.app.contenttypes.content.Folder</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:folder.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+  <element value="plone.app.content.interfaces.INameFromTitle"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element
+     value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="Products.CMFPlone.interfaces.constrains.ISelectableConstrainTypes"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+  <element value="plone.app.dexterity.behaviors.nextprevious.INextPreviousToggle"/>
+ </property>
+ <alias from="(Default)" to="(dynamic view)"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>
diff --git a/plone/app/contenttypes/profiles/image/metadata.xml b/plone/app/contenttypes/profiles/image/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/image/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/image/types.xml b/plone/app/contenttypes/profiles/image/types.xml
new file mode 100644
index 0000000..3fe7435
--- /dev/null
+++ b/plone/app/contenttypes/profiles/image/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Image" remove="True"/>
+ <object meta_type="Dexterity FTI" name="Image" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/image/types/Image.xml b/plone/app/contenttypes/profiles/image/types/Image.xml
new file mode 100644
index 0000000..78f482e
--- /dev/null
+++ b/plone/app/contenttypes/profiles/image/types/Image.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<object name="Image" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">Image</property>
+ <property name="description"
+     i18n:translate="">Images can be referenced in pages or displayed in an album.</property>
+ <property name="icon_expr"></property>
+ <property name="factory">Image</property>
+ <property name="add_view_expr">string:${folder_url}/++add++Image</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">image_view</property>
+ <property name="view_methods">
+  <element value="image_view"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addImage</property>
+ <property name="klass">plone.app.contenttypes.content.Image</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:image.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.dexterity.behaviors.metadata.ICategorization"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IPublication"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IOwnership"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.filename.INameFromFileName"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+ </property>
+ <alias from="(Default)" to="@@display-file"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/view"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>
diff --git a/plone/app/contenttypes/profiles/link/metadata.xml b/plone/app/contenttypes/profiles/link/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/link/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/link/types.xml b/plone/app/contenttypes/profiles/link/types.xml
new file mode 100644
index 0000000..b7f9b37
--- /dev/null
+++ b/plone/app/contenttypes/profiles/link/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="Link" remove="True"/>
+ <object meta_type="Dexterity FTI" name="Link" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/link/types/Link.xml b/plone/app/contenttypes/profiles/link/types/Link.xml
new file mode 100644
index 0000000..0e93a14
--- /dev/null
+++ b/plone/app/contenttypes/profiles/link/types/Link.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<object name="Link" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">Link</property>
+ <property name="description" i18n:translate=""></property>
+ <property name="icon_expr"></property>
+ <property name="factory">Link</property>
+ <property name="add_view_expr">string:${folder_url}/++add++Link</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">link_redirect_view</property>
+ <property name="view_methods">
+  <element value="link_redirect_view"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addLink</property>
+ <property name="klass">plone.app.contenttypes.content.Link</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:link.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+  <element value="plone.app.content.interfaces.INameFromTitle"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
+ </property>
+ <alias from="(Default)" to="(dynamic view)"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>
diff --git a/plone/app/contenttypes/profiles/newsitem/metadata.xml b/plone/app/contenttypes/profiles/newsitem/metadata.xml
new file mode 100644
index 0000000..4815c23
--- /dev/null
+++ b/plone/app/contenttypes/profiles/newsitem/metadata.xml
@@ -0,0 +1,6 @@
+<metadata>
+ <version>1000</version>
+ <dependencies>
+  <dependency>profile-plone.app.contenttypes:core</dependency>
+ </dependencies>
+</metadata>
diff --git a/plone/app/contenttypes/profiles/newsitem/types.xml b/plone/app/contenttypes/profiles/newsitem/types.xml
new file mode 100644
index 0000000..b05448b
--- /dev/null
+++ b/plone/app/contenttypes/profiles/newsitem/types.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<object meta_type="Plone Types Tool" name="portal_types">
+
+ <object name="News Item" remove="True"/>
+ <object meta_type="Dexterity FTI" name="News Item" />
+
+</object>
diff --git a/plone/app/contenttypes/profiles/newsitem/types/News_Item.xml b/plone/app/contenttypes/profiles/newsitem/types/News_Item.xml
new file mode 100644
index 0000000..1ad76f6
--- /dev/null
+++ b/plone/app/contenttypes/profiles/newsitem/types/News_Item.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<object name="News Item" meta_type="Dexterity FTI" i18n:domain="plone"
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title" i18n:translate="">News Item</property>
+ <property name="description" i18n:translate=""></property>
+ <property name="icon_expr"></property>
+ <property name="factory">News Item</property>
+ <property name="add_view_expr">string:${folder_url}/++add++News Item</property>
+ <property name="link_target"></property>
+ <property name="immediate_view">view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <property name="default_view">newsitem_view</property>
+ <property name="view_methods">
+  <element value="newsitem_view"/>
+ </property>
+ <property name="default_view_fallback">False</property>
+ <property name="add_permission">plone.app.contenttypes.addNewsItem</property>
+ <property name="klass">plone.app.contenttypes.content.NewsItem</property>
+ <property name="schema"></property>
+ <property name="model_source"></property>
+ <property name="model_file">plone.app.contenttypes.schema:news_item.xml</property>
+ <property name="behaviors">
+  <element value="plone.app.dexterity.behaviors.metadata.IDublinCore"/>
+  <element value="plone.app.contenttypes.behaviors.richtext.IRichText"/>
+  <element value="plone.app.content.interfaces.INameFromTitle"/>
+  <element value="plone.app.dexterity.behaviors.discussion.IAllowDiscussion"/>
+  <element value="plone.app.dexterity.behaviors.exclfromnav.IExcludeFromNavigation"/>
+  <element value="plone.app.relationfield.behavior.IRelatedItems"/>
+  <element value="plone.app.contenttypes.behaviors.leadimage.ILeadImage"/>
+  <element value="plone.app.versioningbehavior.behaviors.IVersionable" />
+ </property>
+ <alias from="(Default)" to="(dynamic view)"/>
+ <alias from="edit" to="@@edit"/>
+ <alias from="sharing" to="@@sharing"/>
+ <alias from="view" to="(selected layout)"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}"
+    visible="True" i18n:attributes="title">
+  <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+    icon_expr="" link_target="" url_expr="string:${object_url}/edit"
+    visible="True" i18n:attributes="title">
+  <permission value="Modify portal content"/>
+ </action>
+</object>
diff --git a/plone/app/contenttypes/setuphandlers.py b/plone/app/contenttypes/setuphandlers.py
index aee7c14..b16c5cf 100644
--- a/plone/app/contenttypes/setuphandlers.py
+++ b/plone/app/contenttypes/setuphandlers.py
@@ -340,7 +340,7 @@ def configure_members_folder(portal, target_language):
             assignable.setBlacklistStatus('content_type', True)
 
 
-def importContent(context):
+def step_import_content(context):
     """Remove existing AT-content and create DX-content instead."""
 
     if context.readDataFile('plone.app.contenttypes_content.txt') is None:
@@ -395,7 +395,7 @@ def _delete_at_example_content(portal):
         portal.manage_delObjects(to_delete)
 
 
-def setupVarious(context):
+def step_setup_various(context):
     if context.readDataFile('plone.app.contenttypes_default.txt') is None:
         return
     portal = context.getSite()




-------------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CHANGES.log
Type: application/octet-stream
Size: 168947 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140402/55060b9b/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.log
Type: application/octet-stream
Size: 170255 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140402/55060b9b/attachment-0003.obj>


More information about the Testbot mailing list