``collective.jsonify`` exports your Plone content to JSON_.
Many packages that export data from Plone have complicated dependencies, and so
only work with Plone 3.0 or higher (or not even with 3.0).
``collective.jsonify``'s only dependency is simplejson_. It can be installed in
any Plone version as far back as:
- Plone 2.1 (or probably even Plone 2.0, but not tested)
- Zope 2.6.4 (with CMF rather than Plone)
- Python 2.2
The exported JSON_ is a collective.transmogrifier_ friendly format. Install
``collective.jsonify`` on a site you want to export from, and setup an import
transmogrifier pipeline on the site you're importing to, using the blueprints in
the collective.jsonmigrator_ package.
Alternatively use the provided export script by adding it to an external method as described in `using the exporter`_.
For more information see the documentation_.
:Warning: This product may contain traces of nuts.
:Author: `Rok Garbas`_, *migrating for you since 2008*
:Source: http://github.com/collective/collective.jsonify
.. _`simplejson`: http://pypi.python.org/simplejson
.. _`JSON`: http://en.wikipedia.org/wiki/JSON
.. _`collective.transmogrifier`: http://pypi.python.org/pypi/collective.transmogrifier
.. _`collective.jsonmigrator`: http://pypi.python.org/pypi/collective.jsonmigrator
.. _`using the exporter`: https://collectivejsonify.readthedocs.org/en/latest/#using-the-exporter
.. _`documentation`: https://collectivejsonify.readthedocs.org
.. _`Rok Garbas`: http://www.garbas.si/labs/plone-migration
Changelog
=========
1.6 (2023-02-10)
----------------
- Fix "AttributeError: get" that occurred with collective.jsonify 1.5 on Plone 2.1,
by using objectValues() to list items contained in a folder.
[rpijlman]
- Add additional_wrappers to hook into export as promised by the documentation.
[pbauer]
- Do not export None in a DateTimeField as the string "None".
[pbauer]
1.5 (2020-08-21)
----------------
- Fixing Out of Memory by swapping base64 implementation.
[gogobd]
- Fix acquisition when object in folder has attribute name.
[maartenkling]
- Fallback for TypeError when _get_at_field_value is broken computedfield.
[maartenkling]
- Add runhook support.
[gotcha]
1.4 (2018-09-20)
----------------
- Try Subject and Contributors when subject and contributors give nothing.
[maurits]
- Check if value exists on file like fields
[agitator]
- Export creation_date and modification_date for all objects, not only _is_cmf_only_obj.
For dexterity these values are not present in a schemata, so they are not included as part
of the normal schemata based dexterity export.
[sunew]
- Use self.decode method to get stringified field value when wrapping content
for export.
[instification]
1.3 (2017-12-21)
----------------
- Export plone.app.redirector redirects, if available.
Comply with default expectations of redirector section in plone.app.transmogrifier.
[hvelarde]
- Do not export FormGen and Redirection tools.
[hvelarde]
- Show translations from LinguaPlone if canonical is available.
[agitator]
- Fixed value for unknown fields. The value was never calculated
fresh for these fields, so you got the value of the previous field.
Or you probably got a NameError if this was the first field.
[maurits]
- Fix manifest
- Added `CHANGES.rst merge=union` to `.gitattributes`
[ale-rt]
- Added the history to JSON export.
[rristow]
1.2 (2016-05-24)
----------------
- Do not require simplejson if we already have the native json module
[ale-rt]
- When doing an export with ``export_content`` and having constraints to skip
items, still allow to walk into subitems of the skipped ones - except for
skipped paths, where the whole path is skipped.
[thet]
1.1 (2015-10-22)
----------------
- set json repsonse headers
[jensens]
1.0 (2015-05-16)
----------------
- Let the wrapper test correctly for ``zope.interface`` and ``Interface``
interfaces.
[thet]
- In the wrapper class, call the value in decode, if it's a callable.
[thet]
- When serializing datetime, date, time or DateTime properties, just use the
unicode representation which can be parsed.
[thet]
- When serializing values, if there is no special handler for a field type,
just try to unicode the value.
[thet]
- Fix export of defaultPage and layout. Before, always the defaultPage was set
now layout is always set and defaultPage only, if there is one defined.
[thet]
- Handle plone.formwidget.geolocation Dexterity field types.
[thet]
- Check, if wrapper methods for Zope/CMF objects are Zope/CMF only objects by
testing for Archetypes and Dexterity first.
[thet]
- Add ``BlobField`` for ``get_archetypes_fields``.
[thet]
- Don't try to convert ints to unicode in get_properties().
[djowett]
- Zope 2.6 support for collective.jsonify.
[djowett]
- Fix setup.py to work with Python 2.2.
[djowett]
- Add error type to tracebacks.
[djowett]
- Fix read of NamedBlobImage, NamedFile and NamedBlobFile in dexterity objects.
[djowett]
- Fix read of field for unicode transcoding in dexterity objects.
[djowett]
- Make ``archetypes.schemaextender`` support more generic and handle probably
most use cases.
[thet]
- Add ``_directly_provided`` export field for the object's directly provided
interfaces.
[thet]
- Add json_methods module to own Extension folder, which makes it automatically
available and unnecessary to add it to the instance's Extension folder.
[thet]
- Don't skip ``ComputedField`` fields, but just export their computed value.
Better skip them in your transmogrifier import pipeline.
[thet]
- Allow a ``skip_callback`` function to be passed to the ``export_content``
function. It evaluates to ``True``, if the current visited item should be
excluded from exporting.
[thet]
- Export a content's references as list of UID values.
[thet]
- Declare the ``content_type`` of a field's value only for ``TextField`` and
``StringField``.
[thet]
- Add example buildouts for Plone 2.1, 2.5, 3 and 4.
[thet]
- Declare ``base64`` encoding for _datafield_FIELDNAME structures. This is used
to correctly decode in transmogrify.dexterity.
[thet]
- Add export module from ``collective.blueprint.jsonmigrator`` and modify to
use collective.jsonify wrapper. Use it in Plone 2.1 by adding it as external
method.
[thet]
- PEP 8.
[thet]
- Fixing local roles export.
[realefab]
- Make ATExtensionFields serializable.
[jsbueno]
- Fixes exporting of Image types that use ATBlob.
[jsbueno]
0.2 (2014-08-18)
----------------
- Support p.a.collection QueryField.
[jone]
- Dexterity support.
[djowett]
- Add Blob fields support. Use specific methods to retrieve
filename, content type and size.
[gborelli]
- Add _get_at_field_value to wrappe.Wrapper in order to use accessor method
for Archetypes fields.
[gborelli]
- @@jsonify view added. See README_JSONIFY_VIEW.rst for more
[pieretti]
0.1 (2011-03-14)
----------------
- documentation added
[garbas]
- collection of external methods from ``collective.blueprint.jsonmigrator``
and ``collective.sync_migrator``.
[garbas]
- initial release
[garbas]
Raw data
{
"_id": null,
"home_page": "https://github.com/collective/collective.jsonify",
"name": "collective.jsonify",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "Plone content export json transmogrify",
"author": "Rok Garbas",
"author_email": "rok@garbas.si",
"download_url": "https://files.pythonhosted.org/packages/db/c5/65bf41ff655c8d4b9b040f396fd8226cceba7ba02f60c483339ff5b9b426/collective.jsonify-1.6.tar.gz",
"platform": null,
"description": "``collective.jsonify`` exports your Plone content to JSON_.\n\nMany packages that export data from Plone have complicated dependencies, and so\nonly work with Plone 3.0 or higher (or not even with 3.0).\n``collective.jsonify``'s only dependency is simplejson_. It can be installed in\nany Plone version as far back as:\n\n- Plone 2.1 (or probably even Plone 2.0, but not tested)\n- Zope 2.6.4 (with CMF rather than Plone)\n- Python 2.2\n\nThe exported JSON_ is a collective.transmogrifier_ friendly format. Install\n``collective.jsonify`` on a site you want to export from, and setup an import\ntransmogrifier pipeline on the site you're importing to, using the blueprints in\nthe collective.jsonmigrator_ package.\n\nAlternatively use the provided export script by adding it to an external method as described in `using the exporter`_.\n\nFor more information see the documentation_.\n\n\n:Warning: This product may contain traces of nuts.\n:Author: `Rok Garbas`_, *migrating for you since 2008*\n:Source: http://github.com/collective/collective.jsonify\n\n\n.. _`simplejson`: http://pypi.python.org/simplejson\n.. _`JSON`: http://en.wikipedia.org/wiki/JSON\n.. _`collective.transmogrifier`: http://pypi.python.org/pypi/collective.transmogrifier\n.. _`collective.jsonmigrator`: http://pypi.python.org/pypi/collective.jsonmigrator\n.. _`using the exporter`: https://collectivejsonify.readthedocs.org/en/latest/#using-the-exporter\n.. _`documentation`: https://collectivejsonify.readthedocs.org\n.. _`Rok Garbas`: http://www.garbas.si/labs/plone-migration\n\nChangelog\n=========\n\n1.6 (2023-02-10)\n----------------\n\n- Fix \"AttributeError: get\" that occurred with collective.jsonify 1.5 on Plone 2.1,\n by using objectValues() to list items contained in a folder.\n [rpijlman]\n\n- Add additional_wrappers to hook into export as promised by the documentation.\n [pbauer]\n\n- Do not export None in a DateTimeField as the string \"None\".\n [pbauer]\n\n\n1.5 (2020-08-21)\n----------------\n\n- Fixing Out of Memory by swapping base64 implementation.\n [gogobd]\n\n- Fix acquisition when object in folder has attribute name.\n [maartenkling]\n\n- Fallback for TypeError when _get_at_field_value is broken computedfield.\n [maartenkling]\n\n- Add runhook support.\n [gotcha]\n\n\n1.4 (2018-09-20)\n----------------\n\n- Try Subject and Contributors when subject and contributors give nothing.\n [maurits]\n\n- Check if value exists on file like fields\n [agitator]\n\n- Export creation_date and modification_date for all objects, not only _is_cmf_only_obj.\n For dexterity these values are not present in a schemata, so they are not included as part\n of the normal schemata based dexterity export.\n [sunew]\n\n- Use self.decode method to get stringified field value when wrapping content\n for export.\n [instification]\n\n\n1.3 (2017-12-21)\n----------------\n\n- Export plone.app.redirector redirects, if available.\n Comply with default expectations of redirector section in plone.app.transmogrifier.\n [hvelarde]\n\n- Do not export FormGen and Redirection tools.\n [hvelarde]\n\n- Show translations from LinguaPlone if canonical is available.\n [agitator]\n\n- Fixed value for unknown fields. The value was never calculated\n fresh for these fields, so you got the value of the previous field.\n Or you probably got a NameError if this was the first field.\n [maurits]\n\n- Fix manifest\n- Added `CHANGES.rst merge=union` to `.gitattributes`\n [ale-rt]\n\n- Added the history to JSON export.\n [rristow]\n\n\n1.2 (2016-05-24)\n----------------\n\n- Do not require simplejson if we already have the native json module\n [ale-rt]\n\n- When doing an export with ``export_content`` and having constraints to skip\n items, still allow to walk into subitems of the skipped ones - except for\n skipped paths, where the whole path is skipped.\n [thet]\n\n\n1.1 (2015-10-22)\n----------------\n\n- set json repsonse headers\n [jensens]\n\n\n1.0 (2015-05-16)\n----------------\n\n- Let the wrapper test correctly for ``zope.interface`` and ``Interface``\n interfaces.\n [thet]\n\n- In the wrapper class, call the value in decode, if it's a callable.\n [thet]\n\n- When serializing datetime, date, time or DateTime properties, just use the\n unicode representation which can be parsed.\n [thet]\n\n- When serializing values, if there is no special handler for a field type,\n just try to unicode the value.\n [thet]\n\n- Fix export of defaultPage and layout. Before, always the defaultPage was set\n now layout is always set and defaultPage only, if there is one defined.\n [thet]\n\n- Handle plone.formwidget.geolocation Dexterity field types.\n [thet]\n\n- Check, if wrapper methods for Zope/CMF objects are Zope/CMF only objects by\n testing for Archetypes and Dexterity first.\n [thet]\n\n- Add ``BlobField`` for ``get_archetypes_fields``.\n [thet]\n\n- Don't try to convert ints to unicode in get_properties().\n [djowett]\n\n- Zope 2.6 support for collective.jsonify.\n [djowett]\n\n- Fix setup.py to work with Python 2.2.\n [djowett]\n\n- Add error type to tracebacks.\n [djowett]\n\n- Fix read of NamedBlobImage, NamedFile and NamedBlobFile in dexterity objects.\n [djowett]\n\n- Fix read of field for unicode transcoding in dexterity objects.\n [djowett]\n\n- Make ``archetypes.schemaextender`` support more generic and handle probably\n most use cases.\n [thet]\n\n- Add ``_directly_provided`` export field for the object's directly provided\n interfaces.\n [thet]\n\n- Add json_methods module to own Extension folder, which makes it automatically\n available and unnecessary to add it to the instance's Extension folder.\n [thet]\n\n- Don't skip ``ComputedField`` fields, but just export their computed value.\n Better skip them in your transmogrifier import pipeline.\n [thet]\n\n- Allow a ``skip_callback`` function to be passed to the ``export_content``\n function. It evaluates to ``True``, if the current visited item should be\n excluded from exporting.\n [thet]\n\n- Export a content's references as list of UID values.\n [thet]\n\n- Declare the ``content_type`` of a field's value only for ``TextField`` and\n ``StringField``.\n [thet]\n\n- Add example buildouts for Plone 2.1, 2.5, 3 and 4.\n [thet]\n\n- Declare ``base64`` encoding for _datafield_FIELDNAME structures. This is used\n to correctly decode in transmogrify.dexterity.\n [thet]\n\n- Add export module from ``collective.blueprint.jsonmigrator`` and modify to\n use collective.jsonify wrapper. Use it in Plone 2.1 by adding it as external\n method.\n [thet]\n\n- PEP 8.\n [thet]\n\n- Fixing local roles export.\n [realefab]\n\n- Make ATExtensionFields serializable.\n [jsbueno]\n\n- Fixes exporting of Image types that use ATBlob.\n [jsbueno]\n\n\n0.2 (2014-08-18)\n----------------\n\n- Support p.a.collection QueryField.\n [jone]\n\n- Dexterity support.\n [djowett]\n\n- Add Blob fields support. Use specific methods to retrieve\n filename, content type and size.\n [gborelli]\n\n- Add _get_at_field_value to wrappe.Wrapper in order to use accessor method\n for Archetypes fields.\n [gborelli]\n\n- @@jsonify view added. See README_JSONIFY_VIEW.rst for more\n [pieretti]\n\n\n0.1 (2011-03-14)\n----------------\n\n- documentation added\n [garbas]\n\n- collection of external methods from ``collective.blueprint.jsonmigrator``\n and ``collective.sync_migrator``.\n [garbas]\n\n- initial release\n [garbas]\n",
"bugtrack_url": null,
"license": "GPL",
"summary": "JSON representation for content in Plone from 2.0 and above",
"version": "1.6",
"split_keywords": [
"plone",
"content",
"export",
"json",
"transmogrify"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e5a78ef67c6108abfe674b86da6e1f1f170150888b9057eb2736cf417651ffb6",
"md5": "42176fea873374a744358559651d3e64",
"sha256": "d6d8945716b9bbfe757ff3b05d7f9539b13937d161ad01e6af2322a03ac7331d"
},
"downloads": -1,
"filename": "collective.jsonify-1.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "42176fea873374a744358559651d3e64",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 25048,
"upload_time": "2023-02-10T12:13:00",
"upload_time_iso_8601": "2023-02-10T12:13:00.090843Z",
"url": "https://files.pythonhosted.org/packages/e5/a7/8ef67c6108abfe674b86da6e1f1f170150888b9057eb2736cf417651ffb6/collective.jsonify-1.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dbc565bf41ff655c8d4b9b040f396fd8226cceba7ba02f60c483339ff5b9b426",
"md5": "9ba2bd02c55dcbce1d0f63e16f89143f",
"sha256": "a222d8315fa5bc63a59b297dffefe025fca4453f739abba2fa7d0731e4e1aee9"
},
"downloads": -1,
"filename": "collective.jsonify-1.6.tar.gz",
"has_sig": false,
"md5_digest": "9ba2bd02c55dcbce1d0f63e16f89143f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 37360,
"upload_time": "2023-02-10T12:13:02",
"upload_time_iso_8601": "2023-02-10T12:13:02.192081Z",
"url": "https://files.pythonhosted.org/packages/db/c5/65bf41ff655c8d4b9b040f396fd8226cceba7ba02f60c483339ff5b9b426/collective.jsonify-1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-02-10 12:13:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "collective",
"github_project": "collective.jsonify",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "collective.jsonify"
}