=====================================
Migration eines Produkts zu Plone 4.1
=====================================
Für die Migration auf Plone 4.1 sollten die folgenden Änderungen beachtet werden.
Geänderte Abhängigkeiten von ``Plone`` zu ``Products.CMFPlone``
===============================================================
Aktualisieren der ``setup.py``-Datei
------------------------------------
In der ``setup.py``-Datei sollte bisher folgendes stehen::
install_requires=[
'setuptools',
'Plone',
],
Stattdessen sollte in Plone 4.1 folgendes verwendet werden::
install_requires=[
'setuptools',
'Products.CMFPlone',
],
Auch sollten hier die anderen Pakete aufgelistet werden, von denen das Paket abhängt, z.B. ``Products.Archetypes`` oder ``plone.app.portlets``.
Aktualisieren der Berechtigungen
--------------------------------
Sofern ``pages`` etc. in einer ``zcml``-Datei mit ener CMF-Core-Permission geschützt sind, muss die ``configure.zcml``-Datei ergänzt werden um::
Aktualisieren der Aliase
------------------------
Einige ältere Import-Aliase funktionieren in Plone 4.1 nicht mehr und müssen ersetzt werden:
+--------------------------------------------------------+--------------------------------------------------------+
| Frühere Plone-Versionen | Plone 4.1 |
+========================================================+========================================================+
| ``from Products.CMFPlone import Batch`` | ``from Products.CMFPlone.PloneBatch import Batch`` |
+--------------------------------------------------------+--------------------------------------------------------+
| ``from zope.app.interface import queryType`` | ``from zope.app.content import queryType`` |
+--------------------------------------------------------+--------------------------------------------------------+
| ``from Products.Five.formlib import formbase`` | ``from five.formlib import formbase`` |
+--------------------------------------------------------+--------------------------------------------------------+
Generic-Setup-Profil für die Versionierung
==========================================
Ab Plone 4.1 kann die Konfiguration zur Versionierung eigener Artikeltypen im Profil ``repositorytool.xml`` angegeben werden. Genaue Angaben hierzu finden Sie in
- `Enabling versioning on your custom content-types`_
- `History and Versioning`_
.. _`Enabling versioning on your custom content-types`: http://plone.org/documentation/manual/developer-manual/archetypes/appendix-practicals/enabling-versioning-on-your-custom-content-types
.. _`History and Versioning`: http://collective-docs.readthedocs.org/en/latest/content/history.html
Wenn Sie von Plone 4.0 aktualisieren, erhalten Sie vermutlich folgende Fehlermeldung::
ImportError: cannot import name DEFAULT_POLICIES
Um die Kompatibilität Ihres Produkts mit Plone 4.1 wiederherzustellen, muss für Ihren bisherigen Code in der ``setuphandlers.py``-Datei eine Bedingung angegeben werden, also z.B. statt::
from Products.CMFEditions.setuphandlers import DEFAULT_POLICIES
sollte folgendes angegeben werden::
try:
from Products.CMFEditions.setuphandlers import DEFAULT_POLICIES
# we're on plone < 4.1, configure versionable types manually
setVersionedTypes(portal)
except ImportError:
# repositorytool.xml will be used
pass
Für Plone 4.1 wird die Konfiguration zur Versionierung der Artikel im Profil ``repositorytool.xml`` angegeben::