{ "info": { "author": "Rok Garbas", "author_email": "rok@garbas.si", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Plone", "Framework :: Plone :: 4.3", "Programming Language :: Python", "Programming Language :: Python :: 2.4", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7" ], "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.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\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/collective/collective.jsonify", "keywords": "Plone content export json transmogrify", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "collective.jsonify", "package_url": "https://pypi.org/project/collective.jsonify/", "platform": "", "project_url": "https://pypi.org/project/collective.jsonify/", "project_urls": { "Homepage": "https://github.com/collective/collective.jsonify" }, "release_url": "https://pypi.org/project/collective.jsonify/1.4/", "requires_dist": [ "setuptools" ], "requires_python": "", "summary": "JSON representation for content in Plone from 2.0 and above", "version": "1.4" }, "last_serial": 4292848, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "795b5f8685477f9bcbd58814bf66f266", "sha256": "1c33cb1ba71476ed92ac2cbd26cd9caa0da94122c654cf5524375e6d1e36838c" }, "downloads": -1, "filename": "collective.jsonify-0.2.zip", "has_sig": false, "md5_digest": "795b5f8685477f9bcbd58814bf66f266", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30908, "upload_time": "2014-08-18T09:59:22", "url": "https://files.pythonhosted.org/packages/25/47/75044b81fa0444c3bee79e60f42f8ea546e17a21bc0467d4d9756158e968/collective.jsonify-0.2.zip" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "915ff4b49030b5b62ba00c64a6f834d6", "sha256": "42f9d22fd5629388f5d6820fa1c4f19080895c74d9a40c2e512e4cac67c9c260" }, "downloads": -1, "filename": "collective.jsonify-1.0.tar.gz", "has_sig": false, "md5_digest": "915ff4b49030b5b62ba00c64a6f834d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19040, "upload_time": "2015-05-15T23:19:44", "url": "https://files.pythonhosted.org/packages/4c/a9/7c78170e77e0ed859864b9f9ff506d4f069d417a2f5abaf89b8d4bc507ae/collective.jsonify-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "ed1042ca571ad5b76f9532c1c0255764", "sha256": "6afc320950c4bfdae0f8ab94d9fdf4bd38edb12ca1890bdc97c7d262183b577e" }, "downloads": -1, "filename": "collective.jsonify-1.1.tar.gz", "has_sig": false, "md5_digest": "ed1042ca571ad5b76f9532c1c0255764", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18833, "upload_time": "2015-10-22T21:36:18", "url": "https://files.pythonhosted.org/packages/73/bd/2ef94733e630e3d94c4498a0fe99283cab317e206236e02e5be5013c9252/collective.jsonify-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "88a12a6c9bdb6d3469baf9d8f46c4513", "sha256": "ae73f4ea05a3591ebc8ede611d0423e95fb2bb4795d29e5ed3875a271e221b22" }, "downloads": -1, "filename": "collective.jsonify-1.2.tar.gz", "has_sig": false, "md5_digest": "88a12a6c9bdb6d3469baf9d8f46c4513", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19184, "upload_time": "2016-05-24T13:11:00", "url": "https://files.pythonhosted.org/packages/90/1c/63cd20c52c3ebaa43fe0c059fad0cd71d24956aa127658249d83c90d8675/collective.jsonify-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "f478bf2312ea32f10d72c309e04808fe", "sha256": "9fe70f63a813f007ce6af931401e56c49ac26ef5ea65e36b69b5db0fbfd2f2d8" }, "downloads": -1, "filename": "collective.jsonify-1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "f478bf2312ea32f10d72c309e04808fe", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 26676, "upload_time": "2017-12-21T21:01:13", "url": "https://files.pythonhosted.org/packages/4f/a4/72753d01f1b5a10ff3f30bef687aed8608b96f799e429b941b238e32d64f/collective.jsonify-1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d1c6af9137af3a9d16f7afdc90c19d0", "sha256": "50c004ee03fdb28be518f13dfdbd6a193928430d30571b975df9293dc1d56000" }, "downloads": -1, "filename": "collective.jsonify-1.3.tar.gz", "has_sig": false, "md5_digest": "4d1c6af9137af3a9d16f7afdc90c19d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35380, "upload_time": "2017-12-21T21:01:12", "url": "https://files.pythonhosted.org/packages/74/98/8bd3f02a84631b50822aefa2392cb7715d6ff8cddbed82b4d75a0b1a8911/collective.jsonify-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "4736fb8d40cb1e4f3a8a5a256c33b4cb", "sha256": "1712ed731be04a0e09fe871cb79b6c4e7aa17be48d8ff427bbfecaaf0b160d31" }, "downloads": -1, "filename": "collective.jsonify-1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "4736fb8d40cb1e4f3a8a5a256c33b4cb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 27371, "upload_time": "2018-09-20T14:08:40", "url": "https://files.pythonhosted.org/packages/6c/e6/7fd4c0d0120c9a644076440306136b0a023118ce2fe323c4a6acd598ae25/collective.jsonify-1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6e7d681901921591536dc3bfb80750f", "sha256": "f0a00621a4933f520038f019cb5343b509ff92a4fb1907a88b816d5b2f9a4c37" }, "downloads": -1, "filename": "collective.jsonify-1.4.tar.gz", "has_sig": false, "md5_digest": "c6e7d681901921591536dc3bfb80750f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36337, "upload_time": "2018-09-20T14:08:42", "url": "https://files.pythonhosted.org/packages/91/b5/3866d7d3cc9d90bfb85e0448caae96d20ca4c61d805d90a1b4452a6f5c98/collective.jsonify-1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4736fb8d40cb1e4f3a8a5a256c33b4cb", "sha256": "1712ed731be04a0e09fe871cb79b6c4e7aa17be48d8ff427bbfecaaf0b160d31" }, "downloads": -1, "filename": "collective.jsonify-1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "4736fb8d40cb1e4f3a8a5a256c33b4cb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 27371, "upload_time": "2018-09-20T14:08:40", "url": "https://files.pythonhosted.org/packages/6c/e6/7fd4c0d0120c9a644076440306136b0a023118ce2fe323c4a6acd598ae25/collective.jsonify-1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6e7d681901921591536dc3bfb80750f", "sha256": "f0a00621a4933f520038f019cb5343b509ff92a4fb1907a88b816d5b2f9a4c37" }, "downloads": -1, "filename": "collective.jsonify-1.4.tar.gz", "has_sig": false, "md5_digest": "c6e7d681901921591536dc3bfb80750f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36337, "upload_time": "2018-09-20T14:08:42", "url": "https://files.pythonhosted.org/packages/91/b5/3866d7d3cc9d90bfb85e0448caae96d20ca4c61d805d90a1b4452a6f5c98/collective.jsonify-1.4.tar.gz" } ] }