asyncio transactional server to build REST API / Websocket with ZODB
Project description
WARNING: plone.server has been renamed to guillotina and moved to https://github.com/plone/guillotina
Introduction
Please read the detailed docs
This is the working project of the next generation plone server based on asyncio.
depends on python >= 3.5
Getting started with development
We use buildout of course:
virtualenv . ./bin/pip install zc.buildout ./bin/buildout
The buildout installs the app itself, code analysis tools, and a test runner.
Run the zeo
To run the zeo on a different terminal:
./bin/runzeo -C zeo.cfg
Run the server
By default it mounts a zeo server and a ZODB so you need the ZEO server running.
To run the server:
./bin/server
Run tests
We’re using py.test:
./bin/py.test src
and for test coverage:
./bin/py.test --cov=plone.server src/
Default
Default root access can be done with AUTHORIZATION header : Basic root:root
1.0a16 (2017-05-04)
Fix memory leak in get_current_request [vangheem]
Be able to provide aiohttp_settings in config.json to configure parts of aiohttp application [vangheem]
1.0a15 (2017-04-24)
For aiohttp 2 compatibility fixes [vangheem]
1.0a14 (2017-04-22)
Fix aiohttp 2 compatibility [vangheem]
1.0a13 (2017-02-27)
Fixes:
Fix static file configuration [vangheem]
1.0a12 (2017-02-27)
Fixes:
HTML renderer can now handle html responses correctly [vangheem]
Renamed settingsForObject to settings_for_object [vangheem]
1.0a11 (2017-02-22)
Fixes:
Handle NotADirectoryError error when attempting to load b/w compat zcml [vangheem]
Breaking changes:
ACL is now in the object itself so the permission will not be maintained [ramonnb]
New features:
Executing pending tasks after requests has returned [ramonnb]
Adding the payload on the events that modifies the objects [ramonnb]
Defining local and global roles so they can be used to define @sharing On indexing security information we only get the AccessContent permission. [ramonnb]
Install addons can have the context [ramonnb]
Merging zope.securitypolicy [ramonnb]
Adding C optimization for get_current_request [ramonnb]
1.0a10 (2017-02-01)
Fixes:
Fix issue where correct aiohttp response would not be generated always [vangheem]
New features:
be able provide your own database factories by providing named utilities for the IDatabaseConfigurationFactory interface [vangheem]
install, uninstall methods for addon class can now be async [vangheem]
Support for newt.db [ramonnb]
Be able to define adapters, subscribers, permissions, roles, grant with decorators, not zcml [vangheem]
No more zcml in core [vangheem]
1.0a9 (2017-01-18)
Fixes:
Use zope.schema getter and setter to set attributes [ramonnb]
New features:
Be able to define addons using decorators, not zcml [vangheem]
Be able to define behaviors using decorators, not zcml [vangheem]
Be able to define content types using decorators, not zcml [vangheem]
Catalog reindex as async operation [ramonnb]
RelStorage Support (postgres) [ramonnb]
Adding HTTP Precondition exception [ramonnb]
New way to create services with decorators instead of zcml/json configuration [vangheem]
Add functionality like virtualhost monster to define the urls [ramonnb]
Add new pcreate command [vangheem]
Add new pmigrate command and migration framework [vangheem]
Provide base plone.server.commands.Command class to provide your own commands. Commands have been moved in code so you’ll need to re-run buildout to get pserver to work after this update. [vangheem]
Automatically give authenticated users new plone.Authenticated role [vangheem]
Handle error when deserializing content when not authenticated and checking permissions [vangheem]
add pshell command [vangheem]
Role member for Manager group [ramonnb]
Breaking changes:
plone:api zcml directive deprecated in favor of decorator variant [vangheem]
1.0a8 (2016-12-18)
On deserialization errors, provide error info on what fields could not be deserialized in the api response. [vangheem]
Be able to provide data from serializable exception data to be used with ErrorResponse objects with Exceptions that implement ISerializableException. [vangheem]
Add Events to enable audit of activity [ramonnb]
Add the JSON Field [ramonnb]
Fix various function naming standard issues to not use camel case. [vangheem]
Fix imports with isort. [gforcada]
remove local component registry [vangheem]
GET @search(plone.SearchContent) passed to search method and POST @search(plone.RawSearchContent) passed to query method on ICatalogUtility. GET is now meant to be query the search utility will do something clever with and POST is meant to be a raw query passed to utility [vangheem]
provide new plone.SearchContent, plone.RawSearchContent and plone.ManageCatalog permissions [vangheem]
provide IConstrainTypes adapter interface to override allowed types in a folder [vangheem]
provide dynamic behavior for objects [ramonnb]
provide basic command line utility to interact with APIs [vangheem]
fix fallback cors check [vangheem]
Added zope.event async version on plone.server.events (notify and async handlers) [ramonnb]
Improve code analysis, add configurations for it and remove all tabs. [gforcada]
1.0a7 (2016-11-24)
add jwt token validator [vangheem]
Add to finalize an AsyncUtil when its finishing the software [ramonnb]
Remove AUTH_USER_PLUGINS and AUTH_EXTRACTION_PLUGINS. Authentication now consists of auth extractors, user identifiers and token validators. [vangheem]
Correctly check parent object for allowed addable types [vangheem]
Get default values from schema when attribute on object is not set [ramonnb]
1.0a6 (2016-11-21)
Move authorization to after traversal [vangheem]
Fix issue where you could not save data with the API [vangheem]
1.0a5 (2016-11-21)
Adding zope.event compatible async handlers for ElasticSearch and other events handlers [@bloodbare]
Adding PostCommit and PreCommit Hooks that can be async operations [@bloodbare]
1.0a4 (2016-11-19)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.