CloudRef is a web-based tool for managing bibliographical references.
Scientific publication: Oliver Kopp, Uwe Breitenbücher, Tamara Müller: CloudRef – Towards Collaborative Reference Management in the Cloud. ZEUS 2018, CEUR-WS.org
CloudRef supports collaborative work and quality assurance of references. The software consists of an Angular application at the front end and a Java application at the back end. For the front end the admin template "ng2-admin" by Akveo is used.
docker run -p 127.0.0.1:8080:8080 jabref/cloudref
maintainer
/developer
as loginThe user maintainer
has full rights for merging references.
Other users can just be created via the login form and cannot merge if the threshold of 3 was not reached.
Note that the data is stored inside the Docker container and might get lost.
To connect a local folder (e.g., D:\CloudRef
) to docker, use following command:
docker run --rm -v"D:/CloudRef:/root/CloudRef" -p 127.0.0.1:8080:8080 jabref/cloudref
docker build -t cloudref .
docker run -p 127.0.0.1:8080:8080 cloudref
maintainer
/developer
as loginNode version >= 6.0 and NPM version >= 3 required!
Versions can be checked with:
node -v
npm -v
Install dependencies
npm install
sqlite3.exe
into the folder where the database is stored {USER_DIRECTORY}/CloudRef
sqlite3.exe
.open CloudRef.sqlite
Front end: run following command in the "frontend" folder
npm start
Back end: run following command in the "backend" folder
./gradlew run
The application is available at http://localhost:4200 and a Swagger definition of the RESTful web service of the back end at http://localhost:8080/swagger.json.
A user with the role 'MAINTAINER' can additionally edit a suggestion for modification. Furthermore, he can accept and reject suggestions directly. The role of a user cannot be changed through the user interface but in the database.
Possibility to change the role:
sqlite3.exe
into the folder where the database is stored {USER_DIRECTORY}/CloudRef
sqlite3.exe
fileRun
.open CloudRef.sqlite UPDATE User SET role = 'MAINTAINER' WHERE username = {username};
We needed to change the basePath
in DefaultApi.ts
as follows
protected basePath = location.protocol + '//' + location.hostname + ':' + location.port === '4200' ? '8080' : location.port;
In case you regenerate DefaultApi.ts
, please patch this line.