{ "info": { "author": "Ramon & Asko & Nathan", "author_email": "ramon@plone.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: ZODB", "Framework :: Zope3", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "WARNING: `plone.server` has been renamed to guillotina and moved to https://github.com/plone/guillotina\n\nIntroduction\n============\n\n.. image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat\n :target: http://ploneserver.readthedocs.io/en/latest/\n\n.. image:: https://travis-ci.org/plone/plone.server.svg?branch=master\n :target: https://travis-ci.org/plone/plone.server\n\n.. image:: https://img.shields.io/pypi/v/plone.server.svg\n :target: https://pypi.python.org/pypi/plone.server\n\nPlease `read the detailed docs `_\n\n\nThis is the working project of the next generation plone server based on asyncio.\n\n* depends on python >= 3.5\n\n\nGetting started with development\n--------------------------------\n\nWe use buildout of course::\n\n virtualenv .\n ./bin/pip install zc.buildout\n ./bin/buildout\n\nThe buildout installs the app itself, code analysis tools, and a test runner.\n\nRun the zeo\n-----------\n\nTo run the zeo on a different terminal::\n\n ./bin/runzeo -C zeo.cfg\n\n\nRun the server\n--------------\n\n* By default it mounts a zeo server and a ZODB so you need the ZEO server running.\n\nTo run the server::\n\n ./bin/server\n\n\nRun tests\n---------\n\nWe're using py.test::\n\n ./bin/py.test src\n\nand for test coverage::\n\n ./bin/py.test --cov=plone.server src/\n\n\nDefault\n-------\n\nDefault root access can be done with AUTHORIZATION header : Basic root:root\n\n1.0a16 (2017-05-04)\n-------------------\n\n- Fix memory leak in get_current_request\n [vangheem]\n\n- Be able to provide `aiohttp_settings` in config.json to configure parts of\n aiohttp application\n [vangheem]\n\n\n1.0a15 (2017-04-24)\n-------------------\n\n- For aiohttp 2 compatibility fixes\n [vangheem]\n\n\n1.0a14 (2017-04-22)\n-------------------\n\n- Fix aiohttp 2 compatibility\n [vangheem]\n\n\n1.0a13 (2017-02-27)\n-------------------\n\nFixes:\n\n- Fix static file configuration\n [vangheem]\n\n\n1.0a12 (2017-02-27)\n-------------------\n\nFixes:\n\n- HTML renderer can now handle html responses correctly\n [vangheem]\n\n- Renamed settingsForObject to settings_for_object\n [vangheem]\n\n\n1.0a11 (2017-02-22)\n-------------------\n\nFixes:\n\n- Handle NotADirectoryError error when attempting to load b/w compat zcml\n [vangheem]\n\nBreaking changes:\n\n- ACL is now in the object itself so the permission will not be maintained\n [ramonnb]\n\nNew features:\n\n- Executing pending tasks after requests has returned\n [ramonnb]\n\n- Adding the payload on the events that modifies the objects\n [ramonnb]\n\n- Defining local and global roles so they can be used to define @sharing\n On indexing security information we only get the AccessContent permission.\n [ramonnb]\n\n- Install addons can have the context\n [ramonnb]\n\n- Merging zope.securitypolicy\n [ramonnb]\n\n- Adding C optimization for get_current_request\n [ramonnb]\n\n\n1.0a10 (2017-02-01)\n-------------------\n\nFixes:\n\n- Fix issue where correct aiohttp response would not be generated always\n [vangheem]\n\nNew features:\n\n- be able provide your own database factories by providing named utilities for\n the IDatabaseConfigurationFactory interface\n [vangheem]\n\n- install, uninstall methods for addon class can now be async\n [vangheem]\n\n- Support for newt.db\n [ramonnb]\n\n- Be able to define adapters, subscribers, permissions, roles, grant\n with decorators, not zcml\n [vangheem]\n\n- No more zcml in core\n [vangheem]\n\n\n1.0a9 (2017-01-18)\n------------------\n\nFixes:\n\n- Use zope.schema getter and setter to set attributes\n [ramonnb]\n\nNew features:\n\n- Be able to define addons using decorators, not zcml\n [vangheem]\n\n- Be able to define behaviors using decorators, not zcml\n [vangheem]\n\n- Be able to define content types using decorators, not zcml\n [vangheem]\n\n- Catalog reindex as async operation\n [ramonnb]\n\n- RelStorage Support (postgres)\n [ramonnb]\n\n- Adding HTTP Precondition exception\n [ramonnb]\n\n- New way to create services with decorators instead of zcml/json configuration\n [vangheem]\n\n- Add functionality like virtualhost monster to define the urls\n [ramonnb]\n\n- Add new pcreate command\n [vangheem]\n\n- Add new pmigrate command and migration framework\n [vangheem]\n\n- Provide base plone.server.commands.Command class to provide your own commands.\n Commands have been moved in code so you'll need to re-run buildout to get\n pserver to work after this update.\n [vangheem]\n\n- Automatically give authenticated users new `plone.Authenticated` role\n [vangheem]\n\n- Handle error when deserializing content when not authenticated and checking\n permissions\n [vangheem]\n\n- add `pshell` command\n [vangheem]\n\n- Role member for Manager group\n [ramonnb]\n\n\nBreaking changes:\n\n- plone:api zcml directive deprecated in favor of decorator variant\n [vangheem]\n\n\n1.0a8 (2016-12-18)\n------------------\n\n- On deserialization errors, provide error info on what fields could not be\n deserialized in the api response.\n [vangheem]\n\n- Be able to provide data from serializable exception data to be used with\n ErrorResponse objects with Exceptions that implement ISerializableException.\n [vangheem]\n\n- Add Events to enable audit of activity\n [ramonnb]\n\n- Add the JSON Field\n [ramonnb]\n\n- Fix various function naming standard issues to not use camel case.\n [vangheem]\n\n- Fix imports with isort.\n [gforcada]\n\n- remove local component registry\n [vangheem]\n\n- GET @search(plone.SearchContent) passed to search method and\n POST @search(plone.RawSearchContent) passed to query method\n on ICatalogUtility. GET is now meant to be query the search utility will\n do something clever with and POST is meant to be a raw query passed to utility\n [vangheem]\n\n- provide new `plone.SearchContent`, `plone.RawSearchContent` and\n `plone.ManageCatalog` permissions\n [vangheem]\n\n- provide IConstrainTypes adapter interface to override allowed types in a folder\n [vangheem]\n\n- provide dynamic behavior for objects\n [ramonnb]\n\n- provide basic command line utility to interact with APIs\n [vangheem]\n\n- fix fallback cors check\n [vangheem]\n\n- Added zope.event async version on plone.server.events (notify and async handlers)\n [ramonnb]\n\n- Improve code analysis, add configurations for it and remove all tabs.\n [gforcada]\n\n1.0a7 (2016-11-24)\n------------------\n\n- add jwt token validator\n [vangheem]\n\n- Add to finalize an AsyncUtil when its finishing the software\n [ramonnb]\n\n- Remove `AUTH_USER_PLUGINS` and `AUTH_EXTRACTION_PLUGINS`. Authentication now\n consists of auth extractors, user identifiers and token validators.\n [vangheem]\n\n- Correctly check parent object for allowed addable types\n [vangheem]\n\n- Get default values from schema when attribute on object is not set\n [ramonnb]\n\n\n1.0a6 (2016-11-21)\n------------------\n\n- Move authorization to after traversal\n [vangheem]\n\n- Fix issue where you could not save data with the API\n [vangheem]\n\n\n1.0a5 (2016-11-21)\n------------------\n\n- Adding zope.event compatible async handlers for ElasticSearch and other events handlers [@bloodbare]\n- Adding PostCommit and PreCommit Hooks that can be async operations [@bloodbare]\n\n\n1.0a4 (2016-11-19)\n------------------", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/plone/plone.server", "keywords": "asyncio,ZODB,REST,Framework,transactional", "license": "GPL version 3", "maintainer": "", "maintainer_email": "", "name": "plone.server", "package_url": "https://pypi.org/project/plone.server/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/plone.server/", "project_urls": { "Homepage": "https://github.com/plone/plone.server" }, "release_url": "https://pypi.org/project/plone.server/1.0a16/", "requires_dist": null, "requires_python": "", "summary": "asyncio transactional server to build REST API / Websocket with ZODB", "version": "1.0a16" }, "last_serial": 2851932, "releases": { "1.0a10": [ { "comment_text": "", "digests": { "md5": "9f65ed92568f63dcf293394878029427", "sha256": "1306a0d5d5767168ace8a81bf7011d8deff43a2b15172d19a7af193970295292" }, "downloads": -1, "filename": "plone.server-1.0a10.tar.gz", "has_sig": false, "md5_digest": "9f65ed92568f63dcf293394878029427", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145420, "upload_time": "2017-02-01T21:33:09", "url": "https://files.pythonhosted.org/packages/2b/bf/996671c434a5c722f57a98abaa1b6574af564c7236abd9ff31cece85fbf5/plone.server-1.0a10.tar.gz" } ], "1.0a11": [ { "comment_text": "", "digests": { "md5": "753d08b489122dde24dbaeb6e9a6481c", "sha256": "62d3c3ce996b3f30182a8f13d2cc5548889f5cefdaabb2bf84bf629e802c1f8c" }, "downloads": -1, "filename": "plone.server-1.0a11.tar.gz", "has_sig": false, "md5_digest": "753d08b489122dde24dbaeb6e9a6481c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 155442, "upload_time": "2017-02-22T15:16:25", "url": "https://files.pythonhosted.org/packages/68/f8/b2c38a3a4c5b6fb7a88238913aaeffd04329781b1b0626d0c1655caf854e/plone.server-1.0a11.tar.gz" } ], "1.0a12": [ { "comment_text": "", "digests": { "md5": "a845103960616cc33e70b56e75873345", "sha256": "107a02beb9ed47bbc752929a6762abf5ff1cbe24cdb39a4fad6b6b11858e9dcb" }, "downloads": -1, "filename": "plone.server-1.0a12.tar.gz", "has_sig": false, "md5_digest": "a845103960616cc33e70b56e75873345", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 155807, "upload_time": "2017-02-27T15:31:10", "url": "https://files.pythonhosted.org/packages/c1/40/9a99bf799538d56a447768939abf1e6e10c6195ff9204df94c636630f7f2/plone.server-1.0a12.tar.gz" } ], "1.0a13": [ { "comment_text": "", "digests": { "md5": "847918f1c57fd47566188aad733b7ab2", "sha256": "1a52dde74df852071bc7a584a9ccd878ec62b2aeeb3de6f6227a091eb8fd9861" }, "downloads": -1, "filename": "plone.server-1.0a13.tar.gz", "has_sig": false, "md5_digest": "847918f1c57fd47566188aad733b7ab2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 155914, "upload_time": "2017-02-27T19:17:24", "url": "https://files.pythonhosted.org/packages/bb/f1/1dc5412e5c5b0c2075f87be72d1a6df4e831e404aa5eb083b26bd93834b4/plone.server-1.0a13.tar.gz" } ], "1.0a14": [ { "comment_text": "", "digests": { "md5": "7b9b5306d1f99a18bf309b2f275efbb0", "sha256": "0bff7cdb765790097a9f334344653e88633795b566dafbeae9309a69f4b61223" }, "downloads": -1, "filename": "plone.server-1.0a14.tar.gz", "has_sig": false, "md5_digest": "7b9b5306d1f99a18bf309b2f275efbb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156273, "upload_time": "2017-04-23T02:04:39", "url": "https://files.pythonhosted.org/packages/5a/0d/0f474bfa00e56809afd25a6ec5a83e28f2ebbb6a51219b7b7e3fa745c5b3/plone.server-1.0a14.tar.gz" } ], "1.0a15": [ { "comment_text": "", "digests": { "md5": "4ef8bc626b1a997596b6364d24cb0010", "sha256": "c630c5242f56287a04f3cc9b4fc19386cd3e0d946ed34b7a16dfdb2685c95960" }, "downloads": -1, "filename": "plone.server-1.0a15.tar.gz", "has_sig": false, "md5_digest": "4ef8bc626b1a997596b6364d24cb0010", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156331, "upload_time": "2017-04-24T12:31:20", "url": "https://files.pythonhosted.org/packages/0d/aa/fd080a2024e306be1d60bc6a6babb93e694d5a96184011ffb91ac22147be/plone.server-1.0a15.tar.gz" } ], "1.0a16": [ { "comment_text": "", "digests": { "md5": "e36a1f43dc807779e45a9dfc13a7920e", "sha256": "498711ec5ee472365e09a5f95575a887e3821572c2ee373e515c9cec30bad52d" }, "downloads": -1, "filename": "plone.server-1.0a16.tar.gz", "has_sig": false, "md5_digest": "e36a1f43dc807779e45a9dfc13a7920e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156808, "upload_time": "2017-05-04T17:54:29", "url": "https://files.pythonhosted.org/packages/16/72/a4e10f4a9571b1ae4d3d52803850ab3aaae58f2d32180ff0548f1df18492/plone.server-1.0a16.tar.gz" } ], "1.0a2": [ { "comment_text": "", "digests": { "md5": "6c16e82d0ae6fb4f95ef39aa1b8ef209", "sha256": "408c4acc660aafbd7fdbcd16786b55d8391b657f99bc91666a4cfb857f9ba3fa" }, "downloads": -1, "filename": "plone.server-1.0a2-py3-none-any.whl", "has_sig": false, "md5_digest": "6c16e82d0ae6fb4f95ef39aa1b8ef209", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 112503, "upload_time": "2016-11-17T15:48:37", "url": "https://files.pythonhosted.org/packages/8f/9a/cd8be825d103107a2ce3dc41bf27778a13fc0b8f0fcf0e1523f56afe1d0b/plone.server-1.0a2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "076c263d8e0f03027e6f034ae9952864", "sha256": "622fe2fa71f67212c704a682f87254713bc7c6236ea0eeca60b30687b5d406f0" }, "downloads": -1, "filename": "plone.server-1.0a2.tar.gz", "has_sig": false, "md5_digest": "076c263d8e0f03027e6f034ae9952864", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 82900, "upload_time": "2016-11-17T15:48:45", "url": "https://files.pythonhosted.org/packages/a8/bc/ff0be335caec3a9bd379642a718b12611ef4a54acbba90ca10d54ab4381a/plone.server-1.0a2.tar.gz" } ], "1.0a3": [ { "comment_text": "", "digests": { "md5": "2a9ed6cdf02314f486fb3b4b537cf5cd", "sha256": "4951aa471fedda7d0d4babc34b0dc703abb81e12b4120f1119ccfde50609b699" }, "downloads": -1, "filename": "plone.server-1.0a3-py3-none-any.whl", "has_sig": false, "md5_digest": "2a9ed6cdf02314f486fb3b4b537cf5cd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 112504, "upload_time": "2016-11-18T11:23:32", "url": "https://files.pythonhosted.org/packages/75/81/28f8ef6952a8a1841142bb891d732e8162f077bf9997b451f26595cb2b81/plone.server-1.0a3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31d582bc4ddf0bac7d16513ca07684be", "sha256": "08adb64da9645ec9840f5738ec59d98012611c5c47e06e7c9895ff65c70506a9" }, "downloads": -1, "filename": "plone.server-1.0a3.tar.gz", "has_sig": false, "md5_digest": "31d582bc4ddf0bac7d16513ca07684be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83014, "upload_time": "2016-11-18T11:23:17", "url": "https://files.pythonhosted.org/packages/ca/64/685b064b80dd0fc22ed563b3c080ef168f2d000179b3dd24f82a363c49a6/plone.server-1.0a3.tar.gz" } ], "1.0a4": [ { "comment_text": "", "digests": { "md5": "b1d718e60b7a04fbd58079e5696ee9a4", "sha256": "57beac1f4a02a1b19224f00bdc751a6089dba64bd879ebbd8326e6d6426ccc7e" }, "downloads": -1, "filename": "plone.server-1.0a4.tar.gz", "has_sig": false, "md5_digest": "b1d718e60b7a04fbd58079e5696ee9a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85320, "upload_time": "2016-11-19T15:31:42", "url": "https://files.pythonhosted.org/packages/60/2d/37496132a05371af09311ef7588b1f3faf272c39fbcdfabeaf138fee04df/plone.server-1.0a4.tar.gz" } ], "1.0a5": [ { "comment_text": "", "digests": { "md5": "80dcff803cd4f99b65b8d6c9468db90a", "sha256": "40724f92c241541877777bc08f5e84675f92032f8b7850d30fa6bbeeba528b77" }, "downloads": -1, "filename": "plone.server-1.0a5.tar.gz", "has_sig": false, "md5_digest": "80dcff803cd4f99b65b8d6c9468db90a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87337, "upload_time": "2016-11-21T09:59:15", "url": "https://files.pythonhosted.org/packages/29/27/41e46aeedb85c9863e0aa7853abf38f9bc1ea74dd4a216a6dae1949f0655/plone.server-1.0a5.tar.gz" } ], "1.0a6": [ { "comment_text": "", "digests": { "md5": "138a93af90cabc0727d34f9781250c6d", "sha256": "ceedb48bac040cebe544eda2d9c3af960ba7e9833c009d50ec5f3e7dc5099060" }, "downloads": -1, "filename": "plone.server-1.0a6.tar.gz", "has_sig": false, "md5_digest": "138a93af90cabc0727d34f9781250c6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87486, "upload_time": "2016-11-21T15:41:17", "url": "https://files.pythonhosted.org/packages/f3/0c/266e223aee003573e2e7f7e041633583a9bc03137b9a9ebab77796c22f3d/plone.server-1.0a6.tar.gz" } ], "1.0a7": [ { "comment_text": "", "digests": { "md5": "0a453d9a2e5bc96a4f7326e75261c9c7", "sha256": "086f124329460ace68bc640d4cd4d9b570e32a095864098a026cf291ec6ffc96" }, "downloads": -1, "filename": "plone.server-1.0a7.tar.gz", "has_sig": false, "md5_digest": "0a453d9a2e5bc96a4f7326e75261c9c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91338, "upload_time": "2016-11-24T07:43:30", "url": "https://files.pythonhosted.org/packages/2a/62/778cc2109b398ee6b74d2f145956c6549551ebdc728440eea4226a8c27cf/plone.server-1.0a7.tar.gz" } ], "1.0a8": [ { "comment_text": "", "digests": { "md5": "a0c73f1f6912722ff1f9c1d8b5674aa3", "sha256": "ab5fe2ab25f907964cf1962ae1353fae02b5690b28f3dd8f74709e826de9b2f5" }, "downloads": -1, "filename": "plone.server-1.0a8.tar.gz", "has_sig": false, "md5_digest": "a0c73f1f6912722ff1f9c1d8b5674aa3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 99104, "upload_time": "2016-12-18T18:37:10", "url": "https://files.pythonhosted.org/packages/9b/c5/b9c29ab994097b8bf697c0d420bf26d7c52d9cfa53205b74192e6cd4a5d7/plone.server-1.0a8.tar.gz" } ], "1.0a9": [ { "comment_text": "", "digests": { "md5": "19dfab2fc4b7a48dbd90e982db85d902", "sha256": "c9fd18fd0c49ac9281ea365bbdb792af073e52333c308e24820406d488bb71f9" }, "downloads": -1, "filename": "plone.server-1.0a9.tar.gz", "has_sig": false, "md5_digest": "19dfab2fc4b7a48dbd90e982db85d902", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 141447, "upload_time": "2017-01-18T18:11:24", "url": "https://files.pythonhosted.org/packages/fa/78/d439b40f6a2db19fa168edceac66f6f8408c65c050ec842e0a3fac7a08b9/plone.server-1.0a9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e36a1f43dc807779e45a9dfc13a7920e", "sha256": "498711ec5ee472365e09a5f95575a887e3821572c2ee373e515c9cec30bad52d" }, "downloads": -1, "filename": "plone.server-1.0a16.tar.gz", "has_sig": false, "md5_digest": "e36a1f43dc807779e45a9dfc13a7920e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156808, "upload_time": "2017-05-04T17:54:29", "url": "https://files.pythonhosted.org/packages/16/72/a4e10f4a9571b1ae4d3d52803850ab3aaae58f2d32180ff0548f1df18492/plone.server-1.0a16.tar.gz" } ] }