[Testbot] Plone 5.0 - Python 2.7 - Build # 2112 - Regression! - 1 failure(s)
jenkins at plone.org
jenkins at plone.org
Wed Apr 2 01:01:32 UTC 2014
-------------------------------------------------------------------------------
Plone 5.0 - Python 2.7 - Build # 2112 - Failure!
-------------------------------------------------------------------------------
http://jenkins.plone.org/job/plone-5.0-python-2.7/2112/
-------------------------------------------------------------------------------
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/f5bd9804/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.log
Type: application/octet-stream
Size: 130762 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140402/f5bd9804/attachment-0003.obj>
More information about the Testbot
mailing list