My Data
This repository has been archived on 2023-02-07. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Sybren A. Stüvel 3c487f988b Added cron job to deployment documentation 2019-05-24 10:40:38 +02:00
docker Added cron job to deployment documentation 2019-05-24 10:40:38 +02:00
examples Rename example.sh to submit_benchmark.sh 2018-12-11 15:53:00 +01:00
mydata Migrate from custom oauth module to blender-id-oauth-client 2018-11-06 11:52:31 +01:00
mydata_benchmarks Update LATEST_SCHEMA_VERSION to 2 2018-12-11 15:56:00 +01:00
mydata_main Basic admin backend customization 2018-08-15 16:54:43 +02:00
websrc Queue submissions to Open Data when it's unreachable 2018-11-06 17:12:20 +01:00
.gitignore docker/deploy → docker/staging 2018-11-06 18:31:28 +01:00
.gitmodules Conform directory layout 2018-08-15 11:13:17 +02:00
LICENSE Add sass loader for webpack setup 2018-07-02 20:35:47 +02:00
Pipfile Upgraded blender-id-oauth-client 0.7 → 0.8 2018-11-07 10:49:09 +01:00
Pipfile.lock Upgraded blender-id-oauth-client 0.7 → 0.8 2018-11-07 10:49:09 +01:00
README.md Docs: Make port number consistent 2018-12-11 15:55:23 +01:00
gulp Use gulp pipeline instead of webpack 2018-08-02 16:20:07 +02:00
gulpfile.js Use fonts from Blender Web Assets 2018-08-17 17:57:23 +02:00
manage.py rename main app to web and project to mydata 2018-07-23 20:19:47 +02:00
package-lock.json Ran 'npm install', caused changes in package-lock.json 2018-08-07 12:23:47 +02:00
package.json Update repo links to new official location 2018-08-14 16:27:16 +02:00
setup.cfg Added mypy testing 2018-08-17 10:29:25 +02:00

README.md

Blender My Data

Portal to manage own benchmark results.

Requirements

Development setup

After cloning the Git repo, perform these steps to create a working dev server:

  • Make sure PostgreSQL is running and it has a mydata or similar database available
  • git submodule init and git submodule update
  • Copy mydata/settings.example.py to mydata/settings.py and adjust to your needs
  • Start your virtaulenv with pipenv shell
  • Install requirements with pipenv install
  • Run migrations ./manage.py migrate
  • Install frontend dependencies ./gulp
  • Run application ./manage.py runserver 8003
  • Configure Blender ID to have an OAuth Client with redirect URL http://mydata.local:8003/oauth/authorized
  • Configure a cronjob to run pipenv run ./manage.py sync --flush -v0

Try it out

  1. Submit an example benchmark with a valid Blender ID access_token $ sh examples/submit_benchmark.sh examples/benchmark-v2.json your-blender-id-token You have to create the access_token manually at the moment since we don't have an authorized benchmark tool yet

  2. Open running application in Browser, login with Blender ID and manage your benchmarks.

Migrating from post-OAuth plugin era

In November 2018 we moved from using the oauth module in this project (which is now deleted, so don't bother searching for it except in the Git history) to using the Blender ID OAuth Client Django app. Since this was kinda hard to get correctly working with Django migrations, follow these steps instead:

pipenv run ./manage.py migrate
pipenv run ./manage.py migrate blender_id_oauth_client 0001
pipenv run ./manage.py dbshell
drop table blender_id_oauth_client_oauthtoken;
alter table oauth_oauthtoken rename to blender_id_oauth_client_oauthtoken;
alter sequence oauth_oauthtoken_id_seq rename to blender_id_oauth_client_oauthtoken_seq;
\q (or Ctrl+D)
pipenv run ./manage.py migrate

This rolls back the blender_id_oauth_client migrations to a point in time where it used the same database model as mydata, then moves the mydata token table to the new Django app. After that, the migrations are re-run to split the tokens table into tokens + OAuth user mapping.