Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Huge circular dependency Products.CMFPlone with plone.app.layout #314

Closed
jensens opened this issue Dec 2, 2014 · 5 comments
Closed

Huge circular dependency Products.CMFPlone with plone.app.layout #314

jensens opened this issue Dec 2, 2014 · 5 comments

Comments

@jensens
Copy link
Member

jensens commented Dec 2, 2014

Usage of Products.CMFPlone in plone.app.layout

setup.py:42:          'Products.CMFPlone >=4.3',  # XXX: should be 5.0
plone.app.layout.egg-info/PKG-INFO:44:          https://github.com/plone/Products.CMFPlone/issues/153
plone.app.layout.egg-info/PKG-INFO:564:        - Depend on ``Products.CMFPlone`` instead of ``Plone``.
plone.app.layout.egg-info/requires.txt:13:Products.CMFPlone >=4.3
plone/app/layout/sitemap/tests/test_sitemap.py:3:from Products.CMFPlone.interfaces import ISiteSchema
plone/app/layout/sitemap/tests/test_sitemap.py:4:from Products.CMFPlone.interfaces import ISearchSchema
plone/app/layout/sitemap/sitemap.py:5:from Products.CMFPlone.interfaces import IPloneSiteRoot
plone/app/layout/sitemap/sitemap.py:10:from Products.CMFPlone.interfaces import ISiteSchema
plone/app/layout/globals/patterns_settings.py:45:        self.settings = self.registry.get('Products.CMFPlone.TinyMCEsettings')
plone/app/layout/globals/tests/test_portal.py:2:from Products.CMFPlone.interfaces import ISiteSchema
plone/app/layout/globals/tests/test_context.py:6:from Products.CMFPlone.interfaces import INonStructuralFolder
plone/app/layout/globals/tests/test_context.py:7:from Products.CMFPlone.utils import _createObjectByType
plone/app/layout/globals/tests/test_tools.py:2:from Products.CMFPlone.utils import getToolByName
plone/app/layout/globals/portal.py:4:from Products.CMFPlone.interfaces import ISiteSchema
plone/app/layout/globals/portal.py:10:from Products.CMFPlone.interfaces import IPloneSiteRoot
plone/app/layout/globals/context.py:15:from Products.CMFPlone.interfaces import INonStructuralFolder
plone/app/layout/globals/context.py:18:from Products.CMFPlone import utils
plone/app/layout/dashboard/dashboard.py:14:from Products.CMFPlone import PloneMessageFactory as _
plone/app/layout/navigation/navtree.py:7:from Products.CMFPlone import utils
plone/app/layout/viewlets/common.py:19:from Products.CMFPlone.interfaces import ISiteSchema
plone/app/layout/viewlets/common.py:20:from Products.CMFPlone.utils import safe_unicode
plone/app/layout/viewlets/common.py:21:from Products.CMFPlone.interfaces import IPloneSiteRoot
plone/app/layout/viewlets/tests/test_common.py:5:from Products.CMFPlone.interfaces import INonStructuralFolder
plone/app/layout/viewlets/content.py:14:from Products.CMFPlone import PloneMessageFactory as _
plone/app/layout/viewlets/content.py:15:from Products.CMFPlone.utils import base_hasattr
plone/app/layout/viewlets/content.py:16:from Products.CMFPlone.utils import log
plone/app/layout/icons/configure.zcml:32:                Products.CMFPlone.interfaces.IPloneSiteRoot"
plone/app/layout/links/tests/test_rssviewlet.py:3:from Products.CMFPlone.interfaces.syndication import ISiteSyndicationSettings
plone/app/layout/links/viewlets.py:16:from Products.CMFPlone.interfaces.syndication import IFeedSettings
plone/app/layout/links/viewlets.py:17:from Products.CMFPlone.interfaces.syndication import ISiteSyndicationSettings
plone/app/layout/analytics/view.py:1:from Products.CMFPlone.interfaces import ISiteSchema
plone/app/layout/analytics/tests/analytics.txt:19:    >>> from Products.CMFPlone.interfaces import ISiteSchema

Usage of plone.app.layout in Products.CMFPlone

setup.py:94:        'plone.app.layout >=1.1.7dev-r23744',
Products/CMFPlone/resources/browser/resource.py:10:from plone.app.layout.viewlets.common import ViewletBase
Products/CMFPlone/resources/browser/configure.zcml:7:        manager="plone.app.layout.viewlets.interfaces.IScripts"
Products/CMFPlone/resources/browser/configure.zcml:15:        manager="plone.app.layout.viewlets.interfaces.IHtmlHeadLinks"
Products/CMFPlone/profiles/dependencies/registry.xml:53:  <record name="plone.app.layout.globals.bodyClass.depth">
Products/CMFPlone/utils.py:97:        from plone.app.layout.navigation.defaultpage import DefaultPage
Products/CMFPlone/browser/navtree.py:9:from plone.app.layout.navigation.interfaces import INavigationQueryBuilder
Products/CMFPlone/browser/navtree.py:10:from plone.app.layout.navigation.interfaces import INavtreeStrategy
Products/CMFPlone/browser/navtree.py:12:from plone.app.layout.navigation.navtree import NavtreeStrategyBase
Products/CMFPlone/browser/navtree.py:13:from plone.app.layout.navigation.root import getNavigationRoot
Products/CMFPlone/browser/interfaces.py:14:    "It has been moved to plone.app.layout.navigation.interfaces. "
Products/CMFPlone/browser/interfaces.py:16:    INavigationRoot='plone.app.layout.navigation.interfaces:INavigationRoot',
Products/CMFPlone/browser/ploneview.py:22:from plone.app.layout.globals.interfaces import IPatternsSettingsRenderer
Products/CMFPlone/browser/navigation.py:23:from plone.app.layout.navigation.interfaces import INavtreeStrategy
Products/CMFPlone/browser/navigation.py:25:from plone.app.layout.navigation.root import getNavigationRoot
Products/CMFPlone/browser/navigation.py:26:from plone.app.layout.navigation.navtree import buildFolderTree
Products/CMFPlone/browser/configure.zcml:8:    <implements interface="plone.app.layout.navigation.interfaces.INavigationRoot" />
Products/CMFPlone/browser/configure.zcml:12:      <allow interface="plone.app.layout.navigation.interfaces.INavigationQueryBuilder" />
Products/CMFPlone/browser/configure.zcml:35:      for="plone.app.layout.navigation.interfaces.INavigationRoot"
Products/CMFPlone/browser/configure.zcml:105:      for="plone.app.layout.navigation.interfaces.INavigationRoot"
Products/CMFPlone/browser/configure.zcml:143:            provides="plone.app.layout.navigation.interfaces.INavtreeStrategy" />
Products/CMFPlone/browser/configure.zcml:148:            provides="plone.app.layout.navigation.interfaces.INavtreeStrategy" />
Products/CMFPlone/browser/admin.zcml:51:      for="plone.app.layout.navigation.interfaces.INavigationRoot"
Products/CMFPlone/tests/testNextPrevious.py:2:from plone.app.layout.nextprevious.interfaces import INextPreviousProvider
Products/CMFPlone/tests/testNavTree.py:5:from plone.app.layout.navigation.interfaces import INavigationRoot
Products/CMFPlone/tests/testNavTree.py:7:from plone.app.layout.navigation.navtree import NavtreeStrategyBase
Products/CMFPlone/tests/testNavTree.py:8:from plone.app.layout.navigation.navtree import buildFolderTree
Products/CMFPlone/tests/testNavTree.py:9:from plone.app.layout.navigation.root import getNavigationRoot
Products/CMFPlone/patterns/utils.py:3:from plone.app.layout.navigation.root import getNavigationRootObject
Products/CMFPlone/configure.zcml:23:  <include package="plone.app.layout" />
Products/CMFPlone/interfaces/siteroot.py:3:from plone.app.layout.navigation.interfaces import INavigationRoot

I think this needs some discussion.

@davisagli
Copy link
Member

I would propose moving everything from plone.app.layout into CMFPlone and adding backwards-compatible aliases from the old locations. I don't think it's useful for plone.app.layout to be a separate package.

@tisto
Copy link
Member

tisto commented Dec 2, 2014

+1

@jensens
Copy link
Member Author

jensens commented Dec 2, 2014

+1 - but to merge both clean is quite some effort

@gforcada
Copy link
Member

gforcada commented Dec 2, 2014

+1!

@mauritsvanrees
Copy link
Member

This is being handled differently in Plone 6 with PLIP 3395.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants