2015-08-31 18:22:50 +02:00
|
|
|
Pillar
|
|
|
|
======
|
2014-04-20 12:09:16 +02:00
|
|
|
|
2015-08-31 18:22:50 +02:00
|
|
|
This is the latest iteration on the Attract project. We are building a unified
|
2016-09-07 11:14:36 +02:00
|
|
|
framework called Pillar. Pillar will combine Blender Cloud and Attract. You
|
2016-01-05 15:50:03 +01:00
|
|
|
can see Pillar in action on the [Blender Cloud](https://cloud.bender.org).
|
2016-09-07 11:14:36 +02:00
|
|
|
|
|
|
|
## Custom fonts
|
|
|
|
|
|
|
|
The icons on the website are drawn using a custom font, stored in
|
|
|
|
[pillar/web/static/font](pillar/web/static/font).
|
|
|
|
This font is generated via [Fontello](http://fontello.com/) by uploading
|
|
|
|
[pillar/web/static/font/config.json](pillar/web/static/font/config.json).
|
|
|
|
|
|
|
|
Note that we only use the WOFF and WOFF2 formats, and discard the others
|
|
|
|
supplied by Fontello.
|
|
|
|
|
|
|
|
After replacing the font files & `config.json`, edit the Fontello-supplied
|
|
|
|
`font.css` to remove all font formats except `woff` and `woff2`. Then upload
|
|
|
|
it to [css2sass](http://css2sass.herokuapp.com/) to convert it to SASS, and
|
2017-06-01 12:10:33 +02:00
|
|
|
place it in [src/styles/font-pillar.sass](src/styles/font-pillar.sass).
|
2016-09-07 11:14:36 +02:00
|
|
|
|
|
|
|
Don't forget to Gulp!
|
2016-09-29 10:01:15 +02:00
|
|
|
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
Make sure your /data directory exists and is writable by the current user.
|
|
|
|
Alternatively, provide a `pillar/config_local.py` that changes the relevant
|
|
|
|
settings.
|
|
|
|
|
|
|
|
```
|
|
|
|
git clone git@git.blender.org:pillar-python-sdk.git ../pillar-python-sdk
|
|
|
|
pip install -e ../pillar-python-sdk
|
|
|
|
pip install -U -r requirements.txt
|
|
|
|
pip install -e .
|
|
|
|
```
|
2017-03-28 16:04:26 +02:00
|
|
|
|
|
|
|
## HDRi viewer
|
|
|
|
|
|
|
|
The HDRi viewer uses [Google VRView](https://github.com/googlevr/vrview). To upgrade,
|
|
|
|
get those files:
|
|
|
|
|
|
|
|
* [three.min.js](https://raw.githubusercontent.com/googlevr/vrview/master/build/three.min.js)
|
|
|
|
* [embed.min.js](https://raw.githubusercontent.com/googlevr/vrview/master/build/embed.min.js)
|
|
|
|
* [loading.gif](https://raw.githubusercontent.com/googlevr/vrview/master/images/loading.gif)
|
|
|
|
|
|
|
|
and place them in `pillar/web/static/assets/vrview`. Replace `images/loading.gif` in `embed.min.js` with `static/pillar/assets/vrview/loading.gif`.
|
|
|
|
|
|
|
|
You may also want to compare their
|
|
|
|
[index.html](https://raw.githubusercontent.com/googlevr/vrview/master/index.html) to our
|
2017-08-30 14:04:15 +02:00
|
|
|
`src/templates/vrview.pug`.
|
2017-03-28 16:04:26 +02:00
|
|
|
|
|
|
|
When on a HDRi page with the viewer embedded, use this JavaScript code to find the current
|
|
|
|
yaw: `vrview_window.contentWindow.yaw()`. This can be passed as `default_yaw` parameter to
|
|
|
|
the iframe.
|
2017-06-02 11:50:02 +02:00
|
|
|
|
|
|
|
## Celery
|
|
|
|
|
|
|
|
Pillar requires [Celery](http://www.celeryproject.org/) for background task processing. This in
|
|
|
|
turn requires a backend and a broker, for which the default Pillar configuration uses Redis and
|
|
|
|
RabbitMQ.
|
|
|
|
|
2017-06-06 15:05:18 +02:00
|
|
|
You can run the Celery Worker using `manage.py celery worker`.
|
|
|
|
|
|
|
|
Find other Celery operations with the `manage.py celery` command.
|
2017-09-09 00:02:24 +02:00
|
|
|
|
2018-10-05 11:35:02 +02:00
|
|
|
## Elasticsearch
|
|
|
|
|
|
|
|
Pillar uses [Elasticsearch](https://www.elastic.co/products/elasticsearch) to power the search engine.
|
|
|
|
You will need to run the `manage.py elastic reset_index` command to initialize the indexing.
|
2019-05-10 15:02:02 +02:00
|
|
|
If you need to reindex your documents in elastic you run the `manage.py elastic reindex` command.
|
2018-10-05 11:35:02 +02:00
|
|
|
|
2017-09-09 00:02:24 +02:00
|
|
|
## Translations
|
|
|
|
|
|
|
|
If the language you want to support doesn't exist, you need to run: `translations init es_AR`.
|
|
|
|
|
|
|
|
Every time a new string is marked for translation you need to update the entire catalog: `translations update`
|
|
|
|
|
|
|
|
And once more strings are translated, you need to compile the translations: `translations compile`
|
|
|
|
|
|
|
|
*To mark strings strings for translations in Python scripts you need to
|
|
|
|
wrap them with the `flask_babel.gettext` function.
|
|
|
|
For .pug templates wrap them with `_()`.*
|