Skip to content

Commit

Permalink
Use 2 profiles to work for plone4 and plone5
Browse files Browse the repository at this point in the history
  • Loading branch information
gbastien committed Jun 15, 2017
1 parent dccb935 commit b0b1c20
Show file tree
Hide file tree
Showing 20 changed files with 134 additions and 46 deletions.
9 changes: 7 additions & 2 deletions docs/CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,13 @@ Changelog
1.0.7 (unreleased)
------------------

- Nothing changed yet.

- Make package compatible with both Plone4 and Plone5 at the same time :
- Created Plone version specific profiles (plone4 and plone5);
- Removed support for AT in the Plone5 version;
- Adapted demo profile to work with Dexterity (plone.app.contenttypes).
[gbastien]
- Run every tests in 'french' so we are sure that translations work everywhere.
[gbastien]

1.0.6 (2017-05-31)
------------------
Expand Down
46 changes: 2 additions & 44 deletions src/collective/documentgenerator/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:five="http://namespaces.zope.org/five"
xmlns:i18n="http://namespaces.zope.org/i18n"
xmlns:zcml="http://namespaces.zope.org/zcml"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
i18n_domain="collective.documentgenerator">

Expand All @@ -22,50 +23,7 @@
<include package=".helper"/>
<include package=".viewlets" />

<include file="profiles.zcml"/>
<include file="renderer.zcml"/>

<genericsetup:registerProfile
name="default"
title="collective.documentgenerator"
directory="profiles/default"
description="Installs the collective.documentgenerator add-on."
provides="Products.GenericSetup.interfaces.EXTENSION"
/>

<genericsetup:registerProfile
name="demo"
title="collective.documentgenerator demo"
directory="profiles/demo"
description="Installs the collective.documentgenerator demo profile."
provides="Products.GenericSetup.interfaces.EXTENSION"
/>

<genericsetup:importStep
name="collectivedocumentgenerator-postInstall"
title="collective.documentgenerator post_install import step"
description="Post install import step from collective.documentgenerator"
handler=".setuphandlers.post_install">
</genericsetup:importStep>

<genericsetup:upgradeSteps
source="1"
destination="2"
profile="collective.documentgenerator:default">
<genericsetup:upgradeDepends
title="Reapply registry.xml"
description="This will add new parameter 'optimize_tables'"
import_steps="plone.app.registry" />
<genericsetup:upgradeDepends
title="Reapply controlpanel"
description="This will update title and icon that changed"
import_steps="controlpanel" />
</genericsetup:upgradeSteps>

<genericsetup:upgradeStep
title="collective.documentgenerator: upgrade to 3"
source="2"
destination="3"
handler="collective.documentgenerator.migrations.migrate_to_3.migrate"
profile="collective.documentgenerator:default" />

</configure>
74 changes: 74 additions & 0 deletions src/collective/documentgenerator/profiles.zcml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:five="http://namespaces.zope.org/five"
xmlns:i18n="http://namespaces.zope.org/i18n"
xmlns:zcml="http://namespaces.zope.org/zcml"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
i18n_domain="collective.documentgenerator">

<genericsetup:registerProfile
name="universal"
title="collective.documentgenerator"
directory="profiles/common"
description="Installs the collective.documentgenerator add-on."
provides="Products.GenericSetup.interfaces.EXTENSION"
/>

<genericsetup:registerProfile
zcml:condition="have plone-5"
name="default"
title="collective.documentgenerator"
directory="profiles/plone5"
description="Installs the collective.documentgenerator add-on."
provides="Products.GenericSetup.interfaces.EXTENSION"
/>

<genericsetup:registerProfile
zcml:condition="not-have plone-5"
name="default"
title="collective.documentgenerator"
directory="profiles/plone4"
description="Installs the collective.documentgenerator add-on."
provides="Products.GenericSetup.interfaces.EXTENSION"
/>

<genericsetup:registerProfile
name="demo"
title="collective.documentgenerator demo"
directory="profiles/demo"
description="Installs the collective.documentgenerator demo profile."
provides="Products.GenericSetup.interfaces.EXTENSION"
/>

<genericsetup:importStep
name="collectivedocumentgenerator-postInstall"
title="collective.documentgenerator post_install import step"
description="Post install import step from collective.documentgenerator"
handler=".setuphandlers.post_install">
</genericsetup:importStep>

<genericsetup:upgradeSteps
source="1"
destination="2"
profile="collective.documentgenerator:default">
<genericsetup:upgradeDepends
title="Reapply registry.xml"
description="This will add new parameter 'optimize_tables'"
import_steps="plone.app.registry" />
<genericsetup:upgradeDepends
title="Reapply controlpanel"
description="This will update title and icon that changed"
import_steps="controlpanel" />
</genericsetup:upgradeSteps>

<genericsetup:upgradeStep
title="collective.documentgenerator: upgrade to 3"
source="2"
destination="3"
handler="collective.documentgenerator.migrations.migrate_to_3.migrate"
profile="collective.documentgenerator:default" />

<utility factory=".setuphandlers.HiddenProfiles" name="collective.documentgenerator" />
<utility factory=".setuphandlers.HiddenProducts" name="collective.documentgenerator" />

</configure>
7 changes: 7 additions & 0 deletions src/collective/documentgenerator/profiles/plone4/metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0"?>
<metadata>
<dependencies>
<dependency>profile-collective.documentgenerator:universal</dependency>
</dependencies>
<version>3</version>
</metadata>
Empty file.
7 changes: 7 additions & 0 deletions src/collective/documentgenerator/profiles/plone5/metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0"?>
<metadata>
<dependencies>
<dependency>profile-collective.documentgenerator:universal</dependency>
</dependencies>
<version>3</version>
</metadata>
13 changes: 13 additions & 0 deletions src/collective/documentgenerator/profiles/plone5/registry.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<registry>

<records prefix="plone.bundles/collective.documentgenerator"
interface='Products.CMFPlone.interfaces.IBundleRegistry'>
<value key="enabled">True</value>
<value key="csscompilation">++resource++collective.documentgenerator.css/documentgenerator.css</value>
<value key="last_compilation">2016-01-01 00:00:00</value>
<value key="compile">False</value>
<value key="depends">plone</value>
</records>

</registry>
24 changes: 24 additions & 0 deletions src/collective/documentgenerator/setuphandlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
from collective.documentgenerator.content.pod_template import POD_TEMPLATE_TYPES
from collective.documentgenerator.utils import translate as _

from Products.CMFPlone import interfaces as Plone
from Products.CMFQuickInstallerTool import interfaces as QuickInstaller
from zope.interface import implementer

from plone import api
from plone.namedfile.file import NamedBlobFile
try:
Expand Down Expand Up @@ -181,3 +185,23 @@ def install_demo(context):
pod_portal_types=['Document'],
style_template=[style_template.UID()],
)


@implementer(Plone.INonInstallable)
class HiddenProfiles(object):

def getNonInstallableProfiles(self):
"""Do not show on Plone's list of installable profiles."""
return [
u'collective.documentgenerator:universal',
]


@implementer(QuickInstaller.INonInstallable)
class HiddenProducts(object):

def getNonInstallableProducts(self):
"""Do not show on QuickInstaller's list of installable products."""
return [
u'collective.documentgenerator:universal',
]

0 comments on commit b0b1c20

Please sign in to comment.