Products.CMFDynamicViewFTI


NameProducts.CMFDynamicViewFTI JSON
Version 7.0.2 PyPI version JSON
download
home_pagehttps://pypi.org/project/Products.CMFDynamicViewFTI
SummaryCMFDynamicViewFTI is a product for dynamic views in CMF.
upload_time2023-10-06 22:33:25
maintainer
docs_urlNone
authorPlone Foundation
requires_python>=3.8
licenseZPL
keywords zope cmf plone dynamic view
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Overview
========

CMFDynamicViewFTI is a product for dynamic views in CMF.
The product contains an additional base class for types and a new factory type information (FTI).

The FTI contains two new properties for the default view method and supplementary view methods.
The queryMethodID functionality used for alias lookups is enhanced to support a new keyword (dynamic view).

The BrowserDefaultMixin class adds some methods to classes.
It is not required to make use of the basic features
but it is recommend to subclass your types from the class to gain more functionality.

There are two event subscribers registered:

``zope.container.interfaces.IContainerModifiedEvent``
    unset default page if target no longer exists

``zope.lifecycleevent.interfaces.IObjectMovedEvent``
    rename default page if target was renamed


Source Code
===========

Contributors please read the document `Process for Plone core's development <https://docs.plone.org/develop/coredev/docs/index.html>`_

Sources are at the `Plone code repository hosted at Github <https://github.com/plone/Products.CMFDynamicViewFTI>`_.

Changelog
=========

.. You should *NOT* be adding new change log entries to this file.
   You should create a file in the news directory instead.
   For helpful instructions, please see:
   https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst

.. towncrier release notes start

7.0.2 (2023-10-07)
------------------

Internal:


- Update configuration files.
  [plone devs] (cfffba8c)


7.0.1 (2023-04-15)
------------------

Internal:


- Update configuration files.
  [plone devs] (3333c742)


7.0.0 (2022-12-01)
------------------

Bug fixes:


- Final release for Plone 6.0.0. (#600)


7.0.0a1 (2022-01-19)
--------------------

Breaking changes:


- Plone 6: always use lines for the view_methods property.
  Part of `issue 3305 <https://github.com/plone/Products.CMFPlone/issues/3305>`_.
  Also, remove Python 2 code and the six dependency.
  [maurits] (#3305)


6.0.3 (2020-04-22)
------------------

Bug fixes:


- Minor packaging updates. (#1)


6.0.2 (2019-06-27)
------------------

Bug fixes:


- Fixes plone/Products.CMFPlone#2874
  ``Fatal crash: Fatal Python error: Cannot recover from stack overflow``
  Which crashes the interpreter.
  [jensens] (#20)


6.0.1 (2019-02-08)
------------------

Bug fixes:


- Fixed fallback to default view. [gbastien] (#16)
- Fix some deprecation warnings. [gforcada] (#18)


6.0.0 (2018-11-05)
------------------

Breaking changes:


- Use ulines for view_methods in py3. Fix test for py3. [pbauer] (#15)


6.0.0 (unreleased)
------------------

Breaking changes:

- Test using plone.app.contenttypes instead of Archetypes.
  [davisagli]

Bug fixes:

- Fix adapter lookup on Python 3.
  [ale-rt]


4.1.7 (2018-03-12)
------------------

Bug fixes:

- Fix missing ClassType in Python 3


4.1.6 (2018-01-30)
------------------

New features:

- Add Python 2 / 3 compatibility [davilima6]


4.1.5 (2017-02-12)
------------------

Bug fixes:

- Don't instantiate browser view to check for existence.
  [malthe]


4.1.4 (2016-05-06)
------------------

Bug fixes:

- Removed docstrings from some methods to avoid publishing them.  From
  Products.PloneHotfix20160419.  [maurits]


4.1.3 (2015-07-29)
------------------

- Cleanup: PEP8 et al., security/zca via decorators, ...
  [jensens]


4.1.2 (2015-06-03)
------------------

- Fix https://github.com/plone/Products.CMFPlone/issues/591
  [gotcha]


4.1.1 (2015-05-13)
------------------

- Removed CMFDefault dependency
  [tomgross]

4.1.0 (2015-03-17)
------------------

- When a default object is used as layout for a container,
  if the default object is deleted or moved with cut and paste,
  reset the default_page property of the container.
  [gotcha]

- When a default object is used as layout for a container,
  if the default object is renamed (iow id is changed),
  fix the default_page property of the container.
  [gotcha]

4.0.6 (2015-03-13)
------------------

- Ported tests to plone.app.testing
  [tomgross]

- Removed BBB interface.py module
  [tomgross]

- pep8ify
  [tomgross]


4.0.5 (2013-05-23)
------------------

- Add i18n translation domain to the zcml to remove UserWarning.


4.0.4 (2013-04-06)
------------------

- Add cmf.ModifyViewTemplate zcml permission for "Modify view template"
  [toutpt]

4.0.3 (2012-08-29)
------------------

- Import from zope.browsermenu.
  [hannosch]

4.0.2 - 2011-03-28
------------------

- Revert the BrowserDefaultMixin.__browser_default__ change, it is
  unnecessary. Instead set the ``(Default)`` view alias to ``(dynamic view)``.
  [elro]

4.0.1 - 2011-03-28
------------------

- Provide BrowserDefaultMixin.__browser_default__ so subclasses do not have to
  provide their own.
  [elro]

- Fix BrowserDefaultMixin.__call__ (never normally used in vanilla Plone) to
  work with views. [elro]

- Avoid deprecation warning in Zope 2.13.
  [davisagli]

- Fixed test setup to work with ZCA-based GenericSetup profile registry.
  [davisagli]

4.0 - 2010-07-18
----------------

- No changes.

4.0b1 - 2009-12-27
------------------

- Removed BBB code for CMF prior to 1.6 and fixed import errors in tests.
  [hannosch]

4.0a1 - 2009-11-13
------------------

- Fixed dependency on zope.app.container for the IAdding interface.
  [hannosch]

- Don't use `manage_page_` macros anymore.
  [hannosch]

- Standardized the interface location to an interfaces module.
  [hannosch]

- Updated package metadata.
  [hannosch]

- Declared package dependencies and fixed deprecation warnings for use
  of Globals.
  [hannosch]

- Purged old Zope 2 Interface interfaces for Zope 2.12 compatibility.
  [elro]

3.0.3 - unreleased
------------------

- Adjusted deprecation warnings to point to Plone 4.0 instead of Plone 3.5
  since we changed the version numbering again.
  [hannosch]

3.0.2 - 2008-03-26
------------------

- Made tests compatible with CMF 2.2.
  [hannosch]

3.0.1 - 2007-10-07
------------------

- Copied addWithPresettings.pt from GenericSetup 1.3 branch r79408. This
  fixes a startup error in buildouts caused by the move to an egg.
  [fschulze]

- Adding a Dynamic View FTI through ZMI is back. This closes
  https://dev.plone.org/plone/ticket/6976
  [glenfant]

- Removed migrate module, which didn't work in CMF 2.1 anymore. Use
  GenericSetup profiles for handling portal types instead. This closes
  http://dev.plone.org/plone/ticket/6899.
  [hannosch]

3.0 - 2007-08-09
----------------

- No changes.
  [hannosch]

3.0rc1 - 2007-07-09
-------------------

- Removed some BBB code.
  [hannosch]

- Removed five:registerPackage.
  [hannosch]

3.0b1 - 2007-05-01
------------------

- Updated some import locations. We require a minimum of Zope 2.10 now.
  [hannosch]

- Rename menus - turns out dotted names don't really work with the ZCML
  magic that's creating interfaces on the fly (it's akin to having a
  variable name with a dot in it)
  [optilude]

- Use new displayviews menu to find view titles; rework Z3 view test to use
  a test zcml file.
  [mj]

2.1.2 - 2007-04-22
------------------

- Removed bogus test setup. All the stuff is done by the layer anyway.
  [stefan]

- Removed tests/runalltests.py and tests/framework.py.
  To run tests use Zope's testrunner:
  ./bin/zopectl test --nowarn -s Products.CMFDynamicViewFTI
  [stefan]

2.1.1 - 2007-02-10
------------------

- Removed the view alias of index.html, as this would block uploading of
  files called index.html into folders. You can enable this in your own
  types if you want.
  [hannosch]

2.1.0 - 2006-09-08
------------------

- Implemented fallback to default view:
  If a selected view (i.e. template) does not exist, return the
  default view instead of - ultimately - NotFound. You can enable this
  option by setting the FTI's new 'default_view_fallback' property to True.
  [stefan]

- Converted dummy test sample types to be extension profile based. This
  profile is only registered during test runs.
  [hannosch]

- Slightly adjusted the tests to new CTC version.
  [hannosch]

2.0.0 - 2006-05-15
------------------

- Merged z3-views-integration branch.
  [svincic]

- Making use of Zope 3 interfaces with proper reverse bridges.
  [optilude]

- Fix tests to pass if Five/Zope3 is installed.
  [hannosch]

1.0.4 - 2006-03-19
------------------

- Made 'safe_callable' truly safe by using 'safe_hasattr'.
- Made tests use CMFTestCase. There is no Plone dependency whatsoever.
- Fixed a bug in getViewMethod. A present, but empty 'layout' attribute
  now also returns the default view instead of ''. Returning the empty
  string sends PortalContent.__call__() into a loop.
  [stefan]

1.0.3 - 2006-02-25
------------------

- Added conditional import for typeClasses to make the code CMF1.6
  compatible while staying CMF1.5 backwards compatible.
  [hannosch]

1.0.2 - 2005-12-18
------------------

- Change getViewMethod's 'enforce_available' argument to default to False
  instead of True. If someone goes to the trouble of either using python
  or adding a property to indicate a specific template as the default
  layout, we should let them.
  [rafrombrc]

1.0.1 - 2005-08-09
------------------

- Improved Plone 2.1 integration: getDefaultPage. Replace try/except with a
  better checking for Plone. Bonus: whitespaces cleanup.
  [deo]

- Stop Acquisition for default_page.
  [panjunyong]

1.0.0 - 2005-07-29
------------------

- Initial release.

            

Raw data

            {
    "_id": null,
    "home_page": "https://pypi.org/project/Products.CMFDynamicViewFTI",
    "name": "Products.CMFDynamicViewFTI",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "Zope CMF Plone dynamic view",
    "author": "Plone Foundation",
    "author_email": "plone-developers@lists.sourceforge.net",
    "download_url": "https://files.pythonhosted.org/packages/60/23/7cf0b669f3185f3edab5935e0cb54b59c541f6cbff04a6c3a012b8c630e2/Products.CMFDynamicViewFTI-7.0.2.tar.gz",
    "platform": null,
    "description": "Overview\n========\n\nCMFDynamicViewFTI is a product for dynamic views in CMF.\nThe product contains an additional base class for types and a new factory type information (FTI).\n\nThe FTI contains two new properties for the default view method and supplementary view methods.\nThe queryMethodID functionality used for alias lookups is enhanced to support a new keyword (dynamic view).\n\nThe BrowserDefaultMixin class adds some methods to classes.\nIt is not required to make use of the basic features\nbut it is recommend to subclass your types from the class to gain more functionality.\n\nThere are two event subscribers registered:\n\n``zope.container.interfaces.IContainerModifiedEvent``\n    unset default page if target no longer exists\n\n``zope.lifecycleevent.interfaces.IObjectMovedEvent``\n    rename default page if target was renamed\n\n\nSource Code\n===========\n\nContributors please read the document `Process for Plone core's development <https://docs.plone.org/develop/coredev/docs/index.html>`_\n\nSources are at the `Plone code repository hosted at Github <https://github.com/plone/Products.CMFDynamicViewFTI>`_.\n\nChangelog\n=========\n\n.. You should *NOT* be adding new change log entries to this file.\n   You should create a file in the news directory instead.\n   For helpful instructions, please see:\n   https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst\n\n.. towncrier release notes start\n\n7.0.2 (2023-10-07)\n------------------\n\nInternal:\n\n\n- Update configuration files.\n  [plone devs] (cfffba8c)\n\n\n7.0.1 (2023-04-15)\n------------------\n\nInternal:\n\n\n- Update configuration files.\n  [plone devs] (3333c742)\n\n\n7.0.0 (2022-12-01)\n------------------\n\nBug fixes:\n\n\n- Final release for Plone 6.0.0. (#600)\n\n\n7.0.0a1 (2022-01-19)\n--------------------\n\nBreaking changes:\n\n\n- Plone 6: always use lines for the view_methods property.\n  Part of `issue 3305 <https://github.com/plone/Products.CMFPlone/issues/3305>`_.\n  Also, remove Python 2 code and the six dependency.\n  [maurits] (#3305)\n\n\n6.0.3 (2020-04-22)\n------------------\n\nBug fixes:\n\n\n- Minor packaging updates. (#1)\n\n\n6.0.2 (2019-06-27)\n------------------\n\nBug fixes:\n\n\n- Fixes plone/Products.CMFPlone#2874\n  ``Fatal crash: Fatal Python error: Cannot recover from stack overflow``\n  Which crashes the interpreter.\n  [jensens] (#20)\n\n\n6.0.1 (2019-02-08)\n------------------\n\nBug fixes:\n\n\n- Fixed fallback to default view. [gbastien] (#16)\n- Fix some deprecation warnings. [gforcada] (#18)\n\n\n6.0.0 (2018-11-05)\n------------------\n\nBreaking changes:\n\n\n- Use ulines for view_methods in py3. Fix test for py3. [pbauer] (#15)\n\n\n6.0.0 (unreleased)\n------------------\n\nBreaking changes:\n\n- Test using plone.app.contenttypes instead of Archetypes.\n  [davisagli]\n\nBug fixes:\n\n- Fix adapter lookup on Python 3.\n  [ale-rt]\n\n\n4.1.7 (2018-03-12)\n------------------\n\nBug fixes:\n\n- Fix missing ClassType in Python 3\n\n\n4.1.6 (2018-01-30)\n------------------\n\nNew features:\n\n- Add Python 2 / 3 compatibility [davilima6]\n\n\n4.1.5 (2017-02-12)\n------------------\n\nBug fixes:\n\n- Don't instantiate browser view to check for existence.\n  [malthe]\n\n\n4.1.4 (2016-05-06)\n------------------\n\nBug fixes:\n\n- Removed docstrings from some methods to avoid publishing them.  From\n  Products.PloneHotfix20160419.  [maurits]\n\n\n4.1.3 (2015-07-29)\n------------------\n\n- Cleanup: PEP8 et al., security/zca via decorators, ...\n  [jensens]\n\n\n4.1.2 (2015-06-03)\n------------------\n\n- Fix https://github.com/plone/Products.CMFPlone/issues/591\n  [gotcha]\n\n\n4.1.1 (2015-05-13)\n------------------\n\n- Removed CMFDefault dependency\n  [tomgross]\n\n4.1.0 (2015-03-17)\n------------------\n\n- When a default object is used as layout for a container,\n  if the default object is deleted or moved with cut and paste,\n  reset the default_page property of the container.\n  [gotcha]\n\n- When a default object is used as layout for a container,\n  if the default object is renamed (iow id is changed),\n  fix the default_page property of the container.\n  [gotcha]\n\n4.0.6 (2015-03-13)\n------------------\n\n- Ported tests to plone.app.testing\n  [tomgross]\n\n- Removed BBB interface.py module\n  [tomgross]\n\n- pep8ify\n  [tomgross]\n\n\n4.0.5 (2013-05-23)\n------------------\n\n- Add i18n translation domain to the zcml to remove UserWarning.\n\n\n4.0.4 (2013-04-06)\n------------------\n\n- Add cmf.ModifyViewTemplate zcml permission for \"Modify view template\"\n  [toutpt]\n\n4.0.3 (2012-08-29)\n------------------\n\n- Import from zope.browsermenu.\n  [hannosch]\n\n4.0.2 - 2011-03-28\n------------------\n\n- Revert the BrowserDefaultMixin.__browser_default__ change, it is\n  unnecessary. Instead set the ``(Default)`` view alias to ``(dynamic view)``.\n  [elro]\n\n4.0.1 - 2011-03-28\n------------------\n\n- Provide BrowserDefaultMixin.__browser_default__ so subclasses do not have to\n  provide their own.\n  [elro]\n\n- Fix BrowserDefaultMixin.__call__ (never normally used in vanilla Plone) to\n  work with views. [elro]\n\n- Avoid deprecation warning in Zope 2.13.\n  [davisagli]\n\n- Fixed test setup to work with ZCA-based GenericSetup profile registry.\n  [davisagli]\n\n4.0 - 2010-07-18\n----------------\n\n- No changes.\n\n4.0b1 - 2009-12-27\n------------------\n\n- Removed BBB code for CMF prior to 1.6 and fixed import errors in tests.\n  [hannosch]\n\n4.0a1 - 2009-11-13\n------------------\n\n- Fixed dependency on zope.app.container for the IAdding interface.\n  [hannosch]\n\n- Don't use `manage_page_` macros anymore.\n  [hannosch]\n\n- Standardized the interface location to an interfaces module.\n  [hannosch]\n\n- Updated package metadata.\n  [hannosch]\n\n- Declared package dependencies and fixed deprecation warnings for use\n  of Globals.\n  [hannosch]\n\n- Purged old Zope 2 Interface interfaces for Zope 2.12 compatibility.\n  [elro]\n\n3.0.3 - unreleased\n------------------\n\n- Adjusted deprecation warnings to point to Plone 4.0 instead of Plone 3.5\n  since we changed the version numbering again.\n  [hannosch]\n\n3.0.2 - 2008-03-26\n------------------\n\n- Made tests compatible with CMF 2.2.\n  [hannosch]\n\n3.0.1 - 2007-10-07\n------------------\n\n- Copied addWithPresettings.pt from GenericSetup 1.3 branch r79408. This\n  fixes a startup error in buildouts caused by the move to an egg.\n  [fschulze]\n\n- Adding a Dynamic View FTI through ZMI is back. This closes\n  https://dev.plone.org/plone/ticket/6976\n  [glenfant]\n\n- Removed migrate module, which didn't work in CMF 2.1 anymore. Use\n  GenericSetup profiles for handling portal types instead. This closes\n  http://dev.plone.org/plone/ticket/6899.\n  [hannosch]\n\n3.0 - 2007-08-09\n----------------\n\n- No changes.\n  [hannosch]\n\n3.0rc1 - 2007-07-09\n-------------------\n\n- Removed some BBB code.\n  [hannosch]\n\n- Removed five:registerPackage.\n  [hannosch]\n\n3.0b1 - 2007-05-01\n------------------\n\n- Updated some import locations. We require a minimum of Zope 2.10 now.\n  [hannosch]\n\n- Rename menus - turns out dotted names don't really work with the ZCML\n  magic that's creating interfaces on the fly (it's akin to having a\n  variable name with a dot in it)\n  [optilude]\n\n- Use new displayviews menu to find view titles; rework Z3 view test to use\n  a test zcml file.\n  [mj]\n\n2.1.2 - 2007-04-22\n------------------\n\n- Removed bogus test setup. All the stuff is done by the layer anyway.\n  [stefan]\n\n- Removed tests/runalltests.py and tests/framework.py.\n  To run tests use Zope's testrunner:\n  ./bin/zopectl test --nowarn -s Products.CMFDynamicViewFTI\n  [stefan]\n\n2.1.1 - 2007-02-10\n------------------\n\n- Removed the view alias of index.html, as this would block uploading of\n  files called index.html into folders. You can enable this in your own\n  types if you want.\n  [hannosch]\n\n2.1.0 - 2006-09-08\n------------------\n\n- Implemented fallback to default view:\n  If a selected view (i.e. template) does not exist, return the\n  default view instead of - ultimately - NotFound. You can enable this\n  option by setting the FTI's new 'default_view_fallback' property to True.\n  [stefan]\n\n- Converted dummy test sample types to be extension profile based. This\n  profile is only registered during test runs.\n  [hannosch]\n\n- Slightly adjusted the tests to new CTC version.\n  [hannosch]\n\n2.0.0 - 2006-05-15\n------------------\n\n- Merged z3-views-integration branch.\n  [svincic]\n\n- Making use of Zope 3 interfaces with proper reverse bridges.\n  [optilude]\n\n- Fix tests to pass if Five/Zope3 is installed.\n  [hannosch]\n\n1.0.4 - 2006-03-19\n------------------\n\n- Made 'safe_callable' truly safe by using 'safe_hasattr'.\n- Made tests use CMFTestCase. There is no Plone dependency whatsoever.\n- Fixed a bug in getViewMethod. A present, but empty 'layout' attribute\n  now also returns the default view instead of ''. Returning the empty\n  string sends PortalContent.__call__() into a loop.\n  [stefan]\n\n1.0.3 - 2006-02-25\n------------------\n\n- Added conditional import for typeClasses to make the code CMF1.6\n  compatible while staying CMF1.5 backwards compatible.\n  [hannosch]\n\n1.0.2 - 2005-12-18\n------------------\n\n- Change getViewMethod's 'enforce_available' argument to default to False\n  instead of True. If someone goes to the trouble of either using python\n  or adding a property to indicate a specific template as the default\n  layout, we should let them.\n  [rafrombrc]\n\n1.0.1 - 2005-08-09\n------------------\n\n- Improved Plone 2.1 integration: getDefaultPage. Replace try/except with a\n  better checking for Plone. Bonus: whitespaces cleanup.\n  [deo]\n\n- Stop Acquisition for default_page.\n  [panjunyong]\n\n1.0.0 - 2005-07-29\n------------------\n\n- Initial release.\n",
    "bugtrack_url": null,
    "license": "ZPL",
    "summary": "CMFDynamicViewFTI is a product for dynamic views in CMF.",
    "version": "7.0.2",
    "project_urls": {
        "Homepage": "https://pypi.org/project/Products.CMFDynamicViewFTI"
    },
    "split_keywords": [
        "zope",
        "cmf",
        "plone",
        "dynamic",
        "view"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2c62cddf8b99723e9378f6b748d3e61f62a40161c7cbbe62ac7cf58ba068c05f",
                "md5": "0009862f4115d437e99b0dc70ce2e656",
                "sha256": "97655971d97f0d0b9ee9b977850157ff071384662ec5c5356d8231dd4c394057"
            },
            "downloads": -1,
            "filename": "Products.CMFDynamicViewFTI-7.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0009862f4115d437e99b0dc70ce2e656",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 23310,
            "upload_time": "2023-10-06T22:33:24",
            "upload_time_iso_8601": "2023-10-06T22:33:24.440375Z",
            "url": "https://files.pythonhosted.org/packages/2c/62/cddf8b99723e9378f6b748d3e61f62a40161c7cbbe62ac7cf58ba068c05f/Products.CMFDynamicViewFTI-7.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "60237cf0b669f3185f3edab5935e0cb54b59c541f6cbff04a6c3a012b8c630e2",
                "md5": "7c187df964cc319039223013215ec2f6",
                "sha256": "e0a31489e8d2cd42733afa518906ec7cb73f38fb84e977fbed1c4e4fb39877b1"
            },
            "downloads": -1,
            "filename": "Products.CMFDynamicViewFTI-7.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "7c187df964cc319039223013215ec2f6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 27115,
            "upload_time": "2023-10-06T22:33:25",
            "upload_time_iso_8601": "2023-10-06T22:33:25.997934Z",
            "url": "https://files.pythonhosted.org/packages/60/23/7cf0b669f3185f3edab5935e0cb54b59c541f6cbff04a6c3a012b8c630e2/Products.CMFDynamicViewFTI-7.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-06 22:33:25",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "products.cmfdynamicviewfti"
}
        
Elapsed time: 0.12657s