Skip to main content

JSON representation for content in Plone from 2.0 and above

Project description

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

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]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.jsonify-1.6.tar.gz (37.4 kB view details)

Uploaded Source

Built Distribution

collective.jsonify-1.6-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file collective.jsonify-1.6.tar.gz.

File metadata

  • Download URL: collective.jsonify-1.6.tar.gz
  • Upload date:
  • Size: 37.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for collective.jsonify-1.6.tar.gz
Algorithm Hash digest
SHA256 a222d8315fa5bc63a59b297dffefe025fca4453f739abba2fa7d0731e4e1aee9
MD5 9ba2bd02c55dcbce1d0f63e16f89143f
BLAKE2b-256 dbc565bf41ff655c8d4b9b040f396fd8226cceba7ba02f60c483339ff5b9b426

See more details on using hashes here.

File details

Details for the file collective.jsonify-1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for collective.jsonify-1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d6d8945716b9bbfe757ff3b05d7f9539b13937d161ad01e6af2322a03ac7331d
MD5 42176fea873374a744358559651d3e64
BLAKE2b-256 e5a78ef67c6108abfe674b86da6e1f1f170150888b9057eb2736cf417651ffb6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page