This is an implementation in Play of a number of tools to build a Read-Write-Web server using Play2.x and akka. It is very early stages at present and it implements sketches of the following
- A CORS proxy
- An initial implementation of Linked Data Basic Profile
This currently works in the 2.3.x-TLS branch of the fork of Play 2.x, which comes with TLS support and a few more patches.
We use Travis CI to verify the build:
This project is moving fast. If you have any problems don't hesitate to participate, ask questions, whoever small your problem seems to be. There are no stupid questions!
- Chat with us on
- Check our development status at waffle.io:
- Join the co-operating-systems mailing list on google groups
- Submit issues and requests on the issue tracker
- You need at least Java 8 which is being widely adopted by the Scala community. Make sure
JAVA_HOME
ist set properly. - clone this project
- run
$ git clone git://github.com/read-write-web/rww-play.git
To start Play in secure mode with lightweight client certificate verification (for WebID); that is, a self-signed certificate:
$ ./activator
[RWWeb] $ idea with-sources=yes // if you want to run intelliJ
[RWWeb] $ eclipse with-source=true // if you want to run eclipse Scala IDE
[RWWeb] $ compile
[RWWeb] $ run -Dhttps.port=8443 -Dhttp.port=9000 -Dakka.loglevel=DEBUG -Dakka.debug.receive=on -Drww.root.container.path=test_www/ -Dhttp.hostname=localhost -Dhttps.keyStore=conf/generated.keystore -Dhttps.keyStorePassword=password
Then you can direct your browser to: https://localhost:8443/2013/
If you want to have multiple users on your server, it is best to give each user a subdomain for JS security. This will protect his space and his javascript from potentially dangerous javascript code uploaded by others.
To start Play in secure mode with lightweight client certificate verification (for WebID) In file: conf/application.conf set the smtp parameters: host= and user= of your mail provider server.
On Unix in /etc/hosts
add host names for the subdomains you will create, e.g. :
127.0.0.1 jmv.localhost
127.0.0.1 jmv1.localhost
127.0.0.1 jmv2.localhost
(untested in dev branch as of this commit)
The RWW apps are stored in other git repositories.
One can run the script ./install-app.sh
to install or update the RWW apps that we ship with the platform.
Check the script content, it is simply a git clone. ( If installing on a public server make sure the proxy
url is set. )
For subdomains on your local machine you will need to edit /etc/hosts
for each server. For
machines on the web you can just assign all domains to the same ip address.
[RWWeb] $ run -Dhttps.port=8443 -Dhttps.trustStore=noCA -Drww.subdomains=true -Dhttp.hostname=localhost -Drww.subdomains=true -Dsmtp.password=secret
You can the create yourself a subdomain by pointing your browser to the root domain: https://localhost:8443/. This will lead you to the account creation page, which will allow you to create subdomains on your server. An e-mail will be sent to your e-mail address for verification ( but you will be able to find the link in the logs if the e-mail server is not set up).
Further documentation can be found on the rww-play wiki.
Copyright 2013-2014 Henry Story
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.