Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LTI Store problem with open edx 17 #5

Open
mkalisch opened this issue Dec 19, 2023 · 5 comments
Open

LTI Store problem with open edx 17 #5

mkalisch opened this issue Dec 19, 2023 · 5 comments

Comments

@mkalisch
Copy link

Hi,

Is LTI Store compatible with tutor 17, based on open edx 17? When I try to build tutor images with LTI Store plugin it returns error. When I try to install LTI Store directly in lms and cms, LTI Store package removes Django 4 and install Django 3 and after this, services (lms, cms) are not available.

Best regards
Mateusz Kalisch

@jdmansour
Copy link

jdmansour commented Jan 2, 2024

I also get an error when trying to install it in open edX 17. This is using tutor, I added git+https://github.com/open-craft/openedx-ltistore.git to OPENEDX_EXTRA_PIP_REQUIREMENTS and did tutor config save and tutor images build openedx and got the following error:

...
> [production 28/30] RUN openedx-assets themes     && openedx-assets collect --settings=tutor.assets     && rdfind -makesymlinks true -followsymlinks true /openedx/staticfiles/:
3.126 Compiling lms sass assets from theme /openedx/themes
3.126     with Sass lookup path: common/static/sass
3.126     with Sass lookup path: node_modules/@edx
3.126     with Sass lookup path: node_modules
3.126     with Sass lookup path: /openedx/themes/openjupyter/lms/static/sass/partials
3.126     with Sass lookup path: /openedx/themes/openjupyter/cms/static/sass/partials
3.126     with Sass lookup path: lms/static/sass/partials
3.126     with Sass lookup path: cms/static/sass/partials
3.126     with Sass lookup path: lms/static/sass
3.126     with Sass lookup path: cms/static/sass
3.425 python manage.py lms --settings=tutor.assets collectstatic --noinput > /dev/null
88.24 Traceback (most recent call last):
88.24   File "manage.py", line 106, in <module>
88.24     execute_from_command_line([sys.argv[0]] + django_args)
88.24   File "/openedx/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
88.24     utility.execute()
88.24   File "/openedx/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
88.24     self.fetch_command(subcommand).run_from_argv(self.argv)
88.24   File "/openedx/venv/lib/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv
88.24     self.execute(*args, **cmd_options)
88.24   File "/openedx/venv/lib/python3.8/site-packages/django/core/management/base.py", line 398, in execute
88.24     output = self.handle(*args, **options)
88.24   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 187, in handle
88.24     collected = self.collect()
88.24   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 128, in collect
88.24     for original_path, processed_path, processed in processor:
88.24   File "/openedx/venv/lib/python3.8/site-packages/require/storage.py", line 175, in post_process
88.24     for path in super_class.post_process(paths, dry_run, **options):
88.24   File "/openedx/edx-platform/openedx/core/djangoapps/theming/storage.py", line 293, in post_process
88.24     yield from super_class.post_process(paths.copy(), dry_run, **options)
88.24   File "/openedx/venv/lib/python3.8/site-packages/pipeline/storage.py", line 42, in post_process
88.24     yield from super_class.post_process(
88.24   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/staticfiles/storage.py", line 399, in post_process
88.24     yield from super().post_process(*args, **kwargs)
88.24   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/staticfiles/storage.py", line 231, in post_process
88.24     for name, hashed_name, processed, _ in self._post_process(paths, adjustable_paths, hashed_files):
88.24   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/staticfiles/storage.py", line 288, in _post_process
88.24     content = pattern.sub(converter, content)
88.24   File "/openedx/edx-platform/openedx/core/djangoapps/theming/storage.py", line 196, in converter
88.24     matched = matches["matched"]
88.24 KeyError: 'matched'
89.36 Traceback (most recent call last):
89.36   File "/openedx/bin/openedx-assets", line 218, in <module>
89.36     main()
89.36   File "/openedx/bin/openedx-assets", line 89, in main
89.36     args.func(args)
89.36   File "/openedx/bin/openedx-assets", line 157, in run_collect
89.36     assets.collect_assets(args.systems, args.settings)
89.36   File "/openedx/edx-platform/pavelib/assets.py", line 606, in collect_assets
89.36     sh(django_cmd(sys, settings, "collectstatic --noinput {logfile_str}".format(
89.36   File "/openedx/venv/lib/python3.8/site-packages/paver/shell.py", line 60, in sh
89.36     return dry(command, runpipe)
89.36   File "/openedx/venv/lib/python3.8/site-packages/paver/easy.py", line 15, in dry
89.36     return func(*args, **kw)
89.36   File "/openedx/venv/lib/python3.8/site-packages/paver/shell.py", line 55, in runpipe
89.36     raise BuildFailure("Subprocess return code: %d" % p.returncode)
89.36 paver.tasks.BuildFailure: Subprocess return code: 1

The traceback looks a bit odd, since the line matched = matches["matched"] does not exist in .../djangoapps/theming/storage.py, but in django/contrib/staticfiles/storage.py one stack level up. I'm not sure what's going on here.

@pkulkark
Copy link
Member

@mkalisch @jdmansour Thanks for reporting the issue. Our team will look into this and post an update here soon.

@jdmansour
Copy link

jdmansour commented Jan 11, 2024

The fix seems to be to just allow Django >= 4.0 in setup.py, see for example this change: 59bbb14

@blazejwiecha
Copy link

So anyone knows how to configure it correctly on tutor local or still not working on v17 ?

@pkulkark
Copy link
Member

@jdmansour Would you be willing to open a pull request with that change? We'll be happy to review and merge it in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants