Bluebox is a web UI for the swift object store with Enterprise Content Management extensions. This is the UI for our larger "MCM" research project
Bluebox consists of two parts:
- a small server runtime written in python
- an angularJS frontend
they communicate over an HTTP API. The "frontend" is served by the python app as well but any static HTTP server could be used.
You can find a lot of details about the concepts, as well as about the implementation, in my Dissertation: http://dx.doi.org/10.18419/opus-9571
deployment automation for the whole system can be found at:
https://github.com/sdos/deploy-sdos
make sure to specify a python 3 or higher interpreter for your virtualenv (MCM doesn't support python 2) in the main directory
virtualenv venvBB
. setenv.sh
(included in setenv) source venvBB/bin/activate
pip install -r requirements.txt
cd mcm/Bluebox/angular
yarnpkg install
to leave venv
deactivate
just install the existing reqs
pip install -r requirements.txt
cd mcm/Bluebox/angular
yarnpkg install
install new packages
pip install <package>
cd mcm/Bluebox/angular
yarnpkg add <package>
save new packages to requirements:
pip freeze --local > requirements.txt
cd mcm/Bluebox/angular
yarnpkg add <package>
update existing packages
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U
pip freeze --local > requirements.txt
in the main directory
. setenv.sh
- for local development/testing:
python runApp_Development.py
- for production:
./runApp_Production.sh
this is possible but hasn't been tested in some time.
Procfile
needs to be adapted to execute one of the runners- dynamic connection to a swift service needs to be implemented; static config via the config file should work
configuration of the host/port is done inside the two "run" scripts mentioned above.
configuration of the swift backend connection is in the appConfig.py
file. An example is given by appConfig.example.py