Skip to main content

asyncio transactional server to build REST API / Websocket with ZODB

Project description

This is the working project of the next generation plone server based on asyncio.

  • depends on python 3.5

Getting started

We use buildout of course:

python3.5 bootstrap-buildout.py
./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

Creating default content

Once started, you will require to add at least a Plone site to start fiddling around:

curl -X POST -H "Accept: application/json" --user root:root -H "Content-Type: application/json" -d '{
  "@type": "Site",
  "title": "Plone 1",
  "id": "plone",
  "description": "Description"
}' "http://127.0.0.1:8080/zodb1/"

and give permissions to add content to it:

curl -X POST -H "Accept: application/json" --user root:root -H "Content-Type: application/json" -d '{
  "prinrole": {
      "Anonymous User": ["plone.Member", "plone.Reader"]
  }
}' "http://127.0.0.1:8080/zodb1/plone/@sharing"

and create actual content:

curl -X POST -H "Accept: application/json" --user root:root -H "Content-Type: application/json" -d '{
  "@type": "Item",
  "title": "News",
  "id": "news"
}' "http://127.0.0.1:8080/zodb1/plone/"

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 admin

Running dependency graph

Using buildout:

./bin/buildout -c dependency-graph.cfg
./bin/dependencies-eggdeps > docs/dependency-graph.txt

1.0a7 (2016-11-24)

  • add jwt token validator [vangheem]

  • Add to finalize an AsyncUtil when its finishing the software [ramon]

  • 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 [bloodbare]

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


Download files

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

Source Distribution

plone.server-1.0a7.tar.gz (91.3 kB view hashes)

Uploaded Source

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