How to install "Figures" appsembler

I followed this instruction to install figures on Edx Hawthorn

when i restart the LMS there is an error like this

where should I set webpack_loader? I did update_assets but webpack-stats.json was not found

Hi @taufanbudiman
Have you got any solution for this?

I have the same issue, I am using the 0.3.9 build of figures.

Not yet, I’m still confused about generating webpacks

Hi @anjali
I tried installing with branch build-0.3.9, it worked but the UI was not good. try to install, is it the same as my UI?

@taufanbudiman I am getting the error in branch build-0.3.9

Still I will take a latest pull and try once.

Hi @anjali,
how do you install the application?
I installed using pip install https://github.com/appsembler/figures.git@build-0.39

Check branch build-0.3.9. In the folder figures you find webpack-stats.js

hi, @anjali, Have you successfully installed? I have succeeded.

@taufanbudiman

Could you give detailed steps followed to achieve this?

Hello @taufanbudiman, I have not tried after that, can you give me the steps for installation?

@Selli, @anjali

Enable virtual environment

sudo -H -u edxapp bash
cd
source edxapp_env

Install Figures build-0.3.9

clone figures on folder ~/venvs/edxapp/src/figures , i use version build-0.3.9

git clone -b build-0.3.9 https://github.com/appsembler/figures.git

and then go to the frontend folder, build asset with yarn. First, run yarn to install dependecies and then yarn build to build asset of figures. Frontend assets will be available at ~/venvs/edxapp/src/figures/figures/static . Copy generated frontend assets to staticfiles

cp -r ~/venvs/edxapp/src/figures/figures/static/figures /edx/var/edxapp/staticfiles/

install figures

cd ~/venvs/edxapp/src/figures/
pip install -e .

Add Configuration Settings

cd ~/edx-platform/

Edit lms/envs/production.py and add configuration settings like below

if 'figures.apps.FiguresConfig' in INSTALLED_APPS:
    from figures.settings.lms_production import *
    ENV_TOKENS.setdefault('FIGURES', {})
    update_webpack_loader(WEBPACK_LOADER, ENV_TOKENS['FIGURES'])
    update_celerybeat_schedule(CELERYBEAT_SCHEDULE, ENV_TOKENS['FIGURES'])
    CELERY_IMPORTS += ( 'figures.tasks', )

Edit lms/urls.py and add configuration urls like below

if 'figures' in settings.INSTALLED_APPS:
        urlpatterns += [
                url(r'^figures/', include('figures.urls', namespace='figures')),
        ]

migrate database for figures

~/edx-platform/manage.py lms migrate figures --settings=production

Restart LMS

exit user edxapp and then restart lms.

sudo /edx/bin/supervisorctl restart lms

access figures with https://yourlms.com/figures/

I hope this helps

1 Like

Hi @taufanbudiman im having problems with this step, when accessing the frontend folder if i type

yarn

or

yarn build

It shows me this error:

ERROR: There are no scenarios; must have at least one.

Can you guide me with this step please?

Have you activated Virtualenv and run it as edxapp??

Hi @taufanbudiman, thanks for your answer :slight_smile:

I think that i activate the virtual_env correctly and work as edxapp:

To install figures the first thing i do in the command line is this:

sudo su edxapp -s /bin/bash
cd /edx/app/edxapp
. edxapp_env
. venvs/edxapp/bin/activate

Then git clone the repo:

git clone -b build-0.3.9 https://github.com/appsembler/figures.git

And access the frontend folder:

cd frontend

I then type yarn or yarn build and that when i get the errors.

image
this my version yarn or node.

maybe you can try uninstalling and reinstalling yarn

1 Like

Thanks a lot, that was exactly the problem, yarn version :slight_smile:

Now i can see figures app almost completely, im having just a small problem with the “courses” tab inside figures, it shows nothing, did you have the same problem? I installed the master brach.

This is my LMS LOG (I think the problem is related to the “TemplateDoesNotExist: head-extra.html” error)

Jun 30 16:38:10 X8 [service_variant=lms][django.template][env:sandbox] WARNING [X8 17654] [loader_tags.py:232] - Exception raised while rendering {% include %} for template ‘unknown’. Empty string rendered instead.
Traceback (most recent call last):
File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/template/loader_tags.py”, line 204, in render
template = context.template.engine.get_template(template_name)
File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/template/engine.py”, line 162, in get_template
template, origin = self.find_template(template_name)
File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/template/engine.py”, line 148, in find_template
raise TemplateDoesNotExist(name, tried=tried)
TemplateDoesNotExist: head-extra.html
Jun 30 16:38:10 X8 [service_variant=lms][py.warnings][env:sandbox] WARNING [X8 17647] [filters.py:74] - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/rest_framework/filters.py:74: DeprecationWarni$
DeprecationWarning

My error was due to the version being used in my installation:

I tried following the steps above with a master branch, thats why i was getting the TemplateDoesNotExist error.

If you follow the instructions step by step you wont have problems.

  • Check your yarn version and, if it does not match the screenshoot shared by @taufanbudiman do the following:

sudo apt remove cmdtest (if you have any previous version)

sudo apt remove yarn (just in case)

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

echo “deb https://dl.yarnpkg.com/debian/ stable main” | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt-get update

sudo apt-get install yarn

And please, thank the work of Mr @taufanbudiman :slight_smile:

1 Like