Coder Social home page Coder Social logo

sdos / bluebox-webui Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 7.0 10.19 MB

Bluebox is a web UI for the swift object store with Enterprise Content Management extensions

License: Other

Python 37.74% CSS 2.31% HTML 58.56% Shell 0.83% Dockerfile 0.56%
bluebox swift frontend mcm

bluebox-webui's Introduction

This repo contains the web-UI for the SDOS encrypted object store

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.

Read the PDF

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

demo-deployment

deployment automation for the whole system can be found at:

https://github.com/sdos/deploy-sdos

Screenshots

Login screen

Bluebox

Container list

Bluebox

Object class editing

Bluebox

Create new container, enable SDOS encryption

Bluebox

Object list for SDOS enabled container

Bluebox

Allocation view shows how object keys are distributed in the Key Cascade leaves

Bluebox

Tree view shows the actual nodes of the Key Cascade; work in progress...

Bluebox

Run tasks to extract/identify metadata and delete old objects

Bluebox

Metadata is stored unencrypted and can be shown in list columns

Bluebox

All entity metadata (from swift) can be shown

Bluebox

Analytics module allows querying/visualizing metadata

Bluebox

Overview of all the metadata tables

Bluebox

Visualization result

Bluebox

Dev setup

first setup after new checkout

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

install requirements

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

Running

running after first setup

in the main directory

. setenv.sh
  • for local development/testing: python runApp_Development.py
  • for production: ./runApp_Production.sh

Running on IBM Bluemix (as "Bluemix app") / CloudFoundry

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

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

bluebox-webui's People

Contributors

balogha avatar brandhsn avatar bruehldev avatar christophtrybek avatar flfr-ibm avatar jomaguma avatar timwaizenegger avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.