commit | 882afaa301101eb062130e04d318d730c7843c69 | [log] [tgz] |
---|---|---|
author | Antonio Tapiador del Dujo <atapiador@ucm.es> | Thu Nov 10 17:13:45 2016 +0100 |
committer | Antonio Tapiador del Dujo <atapiador@ucm.es> | Thu Nov 10 17:21:34 2016 +0100 |
tree | f2f7152eeb13d9d9bf9b423d630e738307d65586 | |
parent | 7a9b03f7180b73f675d4bbc62eea327bad0e578e [diff] |
Add travis-ci support
![](http://php-carbonero.rhcloud.com/swellrt/wp-content/uploads/sites/3/2016/08/Logo-SwellRT-tamanÌos-13.png)
SwellRT is a real-time storage platform. This project includes the server runtime and the JavaScript client for Web applications.
SwellRT enables real-time collaboration in your Web applications: multiple users can share and edit JavaScript objects in real-time with transparent conflict resolution (eventual consistency). Changes are distributed in real-time to any user or App instance using a shared object.
Objects are stored in the server and can be query using the API.
SwellRT provides also out-of-the-box collaborative rich-text editing for Web applications (as Google Docs® or Etherpad) through an extensible text editor Web component and API.
These instructions will get you the latest version of the server up and running in your machine.
Download latest binary release (tar or zip) from GitHub.
Extract server binary files with tar zxvf swellrt-bin-X.Y.Z.tar.gz
.
Run the server from the swellrt folder cd swellrt; ./run-server.sh
(Linux) or swellrt/run-server.bat
(Windows).
Check out demo app at http://localhost:9898/demo.
A docker image of the latest release of SwellRT is provided at Docker Hub:
$ docker pull p2pvalue/swellrt
This image doesn't include a MongoDB server. To pass connection data for a MongoDB instance to the container pass following environment variables to the container:
$ docker run -e MONGODB_HOST=<host> -e MONGODB_PORT=<port> -e MONGODB_DB=<db name> -p 9898:9898 -h swellrt -d p2pvalue/swellrt
Some SwellRT's configuration and data files must be stored out of the Docker container to avoid losing data when the image is updated. Map these folders in your host machine use following parameters:
$ docker run -v <host machine folder>:<docker image folder> -p 9898:9898 -h swellrt -d p2pvalue/swellrt
List of docker's image folders that should be placed outside the container (in your host machine):
/usr/local/swellrt/config
Folder storing all config files. See documentation for details./usr/local/swellrt/log
Folder storing server log./usr/local/swellrt/sessions
Folder storing Web sessions./usr/local/swellrt/avatars
Folder storing user's avatar./usr/local/swellrt/attachments
Folder storing attachment files (when MongoDB is not used as attachment storage).Default configuration is provided in the file reference.conf. To overwrite a property, do create a new file named application.config
in the config folder and put there the property with the new value.
For SwellRT development guide and API reference, please visit our Wiki.
Visit our Gitter Channel.
Clone the SwellRT source code from the GitHub repo:
$ git clone https://github.com/P2Pvalue/swellrt
SwellRT can be setup for eclipse and intellij IDE's.
Running ./gradlew eclipse
or ./gradlew idea
will generate all project files needed. In a situation where dependencies have changed or project structure has changed run ./gradlew cleanEclipse
or ./gradlew cleanIdea
depending on your IDE.
Java 8 and Gradle 2.8+ are required to build the project.
Gradle tasks can be run by:
$ ./gradlew [task name]
Test Tasks:
Compile Tasks:
Run Tasks:
Distribution Tasks:
Server can be debugged launching the run gradle task with following parameters:
./gradlew run --debug-jvm
The Java process will get suspended for the remote debugger connection on the port 5005.
To build the client and server:
$ ./gradlew jar
It will be created in wave/build/libs/wave-*version*.jar
.
The sources can also be packaged into a jar by doing:
$ ./gradlew sourcesJar
This will create a project name-sources.jar in each projects build/libs directory.
Note:
./gradlew pst:jar
then retry.Take a look at the reference.conf to learn about configuration and possible/default values.
The server can be started (on Linux/MacOS) by running ./run-server.sh
or on Windows by running run-server.bat
. Note: must be cd'ed into the root directory.
Or, you can run the server from the compiled classes with Gradle: gradle run
.
The web client will be accessible by default at http://localhost:9898/.
The SwellRT project is based on Apache Wave. Initial work of SwellRT has been funded by the EU research project P2Pvalue and supported by GRASIA research group of the Universidad Complutense of Madrid.
This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.
The following provides more details on the included cryptographic software:
Wave requires the BouncyCastle Java cryptography APIs: http://www.bouncycastle.org/java.html