251 Commits

Author SHA1 Message Date
Florian du Garage Num
fa053ac7ae remove hard-coded uid 1000
Some checks failed
Run tests / tests (3.9) (push) Has been cancelled
Sync with private repo / sync (push) Has been cancelled
Run tests / tests (3.12) (push) Has been cancelled
2025-09-30 21:46:06 +02:00
Muhammad Labeeb
18d1825de7
feat: migrate from pylint/black to ruff (#104)
* feat: migrate from pylint/black to ruff

* test: verify python package distribution build when running make test
2025-08-28 18:59:56 +05:00
Ahmed Khalid
c6a0d16a76
Merge pull request #102 from overhangio/teak v20.0.0 2025-06-27 15:57:02 +05:00
Muhammad Labeeb
944b432ca4 v20.0.0 2025-06-05 18:10:15 +05:00
Danyal Faheem
7a31ce81fd
chore: replace site-configuration script with management command (#101)
* chore: replace site-configuration script with management command
The site-configuration script was used to set the value of the COURSE_CATALOG_API_URL
However, this script is being removed in tutor core as it is no longer required
For this reason, we migrate to the provided create_or_update_site_configuration management command in edx-platform
2025-04-22 15:23:18 +05:00
Syed Muhammad Dawoud Sheraz Ali
b189574e03
build: Add hatch_build in sdist to fix installation issues (#100) 2025-03-12 16:14:02 +05:00
Muhammad Faraz Maqsood
5c4daa9318
feat: migrate from setup.py/setuptools to pyproject.toml/hatch (#99)
* feat: migrate to pyproject.toml and hatch

* migrate from setup.py/setuptools to pyproject.toml/hatch.

* add optional dependencies

* fix license and author

* update maintainer name

---------

Co-authored-by: Muhammad Faraz  Maqsood <faraz.maqsood@192.168.10.35>
Co-authored-by: Muhammad Labeeb <mlabeeb03@gmail.com>
2025-03-02 14:14:48 +05:00
Muhammad Labeeb
4386c85adf docs: readme update
- Explicitly state that in order to use SSO with existing LMS admin users, the newly created superuser in discovery must have the same username and email as the LMS user.
2025-01-22 14:44:52 +05:00
Muhammad Faraz Maqsood
d34cc5dc75 docs: add changelog entry 2025-01-22 13:05:26 +05:00
Muhammad Faraz Maqsood
796c0497ec feat: add env variable to enable/disable programs
This commit includes:
- This aligns with the frontend, which now also utilizes this environment variable. To view the frontend related changes, click here: https://github.com/openedx/frontend-app-learner-dashboard/pull/506/files.
- Additionally, it automates the enabling of programs in the "programapiconfig" model on the LMS admin panel through init tasks.
- Update the documentation accordingly.
2025-01-22 13:05:26 +05:00
Syed Muhammad Dawoud Sheraz Ali
6ca50caa5a
build: re-add auto-add for PRs with a different target (#96) 2025-01-21 16:45:48 +05:00
Muhammad Faraz Maqsood
89b63c1d47 doc: add link to instructions to use event-bus 2025-01-09 13:09:40 +05:00
Muhammad Faraz Maqsood
20e381ed25 doc: add changelog entry 2025-01-09 13:09:40 +05:00
Muhammad Faraz Maqsood
604e7f3485 feat: add support to run event-bus in discovery
- add support to consume events from event bus in discovery. Explanation can be viewed here: https://github.com/openedx/event-bus-redis/blob/main/docs/tutor_installation.rst
- close #94
2025-01-09 13:09:40 +05:00
Régis Behmo
d343d1fbd3
feat: upgrade to sumac v19.0.0 2024-12-16 20:38:52 +01:00
Syed Muhammad Dawoud Sheraz Ali
214ae64628 chore: update changelog 2024-12-09 19:09:11 +05:00
Muhammad Faraz Maqsood
b05698b9a3 chore: add is_docker_rootless() in tutor-discovery
- move is_docker_rootless method from tutor to tutor-discovery
- move is_docker_rootless related tests from tutor to tutor-discovery and modify makefile according to it.
2024-11-29 22:31:39 +05:00
Muhammad Faraz Maqsood
403a5e297d feat: add Elasticsearch support in tutor-discovery (#89)
- As Tutor and Open edX have shifted to Meilisearch, and course-discovery still depends on Elasticsearch, running the Elasticsearch container with tutor-discovery will facilitate smoother operation for the course-discovery service.
- It's related PR from tutor: overhangio/tutor#1141.

Co-authored-by: Muhammad Faraz  Maqsood <faraz.maqsood@192.168.10.123>
2024-11-29 22:31:39 +05:00
Muhammad Faraz Maqsood
b89af42406 v19.0.0
upgrade to sumac
2024-11-29 22:31:39 +05:00
Régis Behmo
468662c75c Merge branch 'release' 2024-11-27 18:35:01 +01:00
Syed Muhammad Dawoud Sheraz Ali
1d57879cc8 feat!: Rename branches master->release, nightly->main 2024-11-27 22:33:41 +05:00
Overhang.IO
1807cd8abd Merge remote-tracking branch 'origin/master' into nightly 2024-11-14 16:21:13 +00:00
Muhammad Faraz Maqsood
9090614180
chore: remove Python 3.8 references (#91)
- drop support for python 3.8 and set Python 3.9 as the minimum supported python version.

Co-authored-by: Muhammad Faraz  Maqsood <faraz.maqsood@192.168.10.36>
2024-11-14 21:09:52 +05:00
Hina Khadim
1cc9c3f40c
feat: ubuntu upgrade in dockerfile (#84)
* feat: ubuntu upgrade  in  dockerfile

* fix: set app id to 1000

* fix: remove uwsgi

* fix: remove empty lines

* fix: update  changelog
2024-10-23 16:43:16 +05:00
Régis Behmo
7618ec9f03 docs: *.local.edly.io -> *.local.openedx.io
The default URL to run a local platform switched from local.edly.io to
local.openedx.io. This changes makes it clearer for everyone that Tutor
is to run Open edX.

See: https://github.com/overhangio/tutor/issues/1120
2024-10-17 08:36:40 +02:00
Régis Behmo
deaed2ff07 ci: upgrade vendor actions 2024-10-03 11:16:24 +02:00
Régis Behmo
eae4dd4332 docs: fix author domain name 2024-10-01 09:08:48 +02:00
Emad Rad
07cd392515 reformat: RST syntax
This will clean up the README file to follow the RST format, fixed some typos and improved readability.
2024-07-25 17:51:15 +05:00
Eugene Dyudyunov
06d63b7938 docs: update changelog 2024-07-23 14:34:44 +05:00
Eugene Dyudyunov
d56924e455 fix: pathway API permissions
Grant staff permissions to the catalog_service_user to
fix 403 error during the pathways fetching.

Note: this issue is also described in the readme.

Related discussions:
- https://discuss.openedx.org/t/tutor-discovery-service-api-v1-pathways-403/7995
- https://discuss.openedx.org/t/tutor-discovery-program-issue/10283
2024-07-23 14:34:44 +05:00
Muhammad Faraz Maqsood
85b876cdc7 doc: add an instruction for cache programs for tutor dev mode 2024-07-04 12:55:01 +05:00
Muhammad Faraz Maqsood
a40d767426 refactor: address comments 2024-07-01 19:41:37 +05:00
Muhammad Faraz Maqsood
e7cee6769b doc: add changelog entry 2024-07-01 19:41:37 +05:00
Muhammad Faraz Maqsood
c5e56dfa2c fix: permission denied error for media directory
"""
discovery-1  | PermissionError: [Errno 13] Permission denied: '/openedx/discovery/course_discovery/media/media'
discovery-1  | 2024-06-25 13:35:29,038 ERROR 7 [django.request] /openedx/venv/lib/python3.8/site-packages/django/utils/log.py:241 - Internal Server Error: /admin/course_metadata/program/9/change/
discovery-1  | Traceback (most recent call last):
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
discovery-1  |     response = get_response(request)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
discovery-1  |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 688, in wrapper
discovery-1  |     return self.admin_site.admin_view(view)(*args, **kwargs)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 134, in _wrapper_view
discovery-1  |     response = view_func(request, *args, **kwargs)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/views/decorators/cache.py", line 62, in _wrapper_view_func
discovery-1  |     response = view_func(request, *args, **kwargs)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/sites.py", line 242, in inner
discovery-1  |     return view(request, *args, **kwargs)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django_object_actions/utils.py", line 57, in change_view
discovery-1  |     return super(BaseDjangoObjectActions, self).change_view(
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1889, in change_view
discovery-1  |     return self.changeform_view(request, object_id, form_url, extra_context)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 46, in _wrapper
discovery-1  |     return bound_method(*args, **kwargs)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 134, in _wrapper_view
discovery-1  |     response = view_func(request, *args, **kwargs)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1747, in changeform_view
discovery-1  |     return self._changeform_view(request, object_id, form_url, extra_context)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1798, in _changeform_view
discovery-1  |     self.save_model(request, new_object, form, not add)
discovery-1  |   File "/openedx/discovery/./course_discovery/apps/course_metadata/admin.py", line 462, in save_model
discovery-1  |     super().save_model(request, obj, form, change)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/simple_history/admin.py", line 228, in save_model
discovery-1  |     super().save_model(request, obj, form, change)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1227, in save_model
discovery-1  |     obj.save()
discovery-1  |   File "/openedx/discovery/./course_discovery/apps/course_metadata/models.py", line 3613, in save
discovery-1  |     super().save(*args, **kwargs)
discovery-1  |   File "/openedx/discovery/./course_discovery/apps/course_metadata/models.py", line 102, in save
discovery-1  |     super().save(*args, **kwargs)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django_extensions/db/models.py", line 22, in save
discovery-1  |     super().save(**kwargs)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/db/models/base.py", line 814, in save
discovery-1  |     self.save_base(
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/model_utils/tracker.py", line 375, in inner
discovery-1  |     return original(instance, *args, **kwargs)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/db/models/base.py", line 877, in save_base
discovery-1  |     updated = self._save_table(
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/db/models/base.py", line 981, in _save_table
discovery-1  |     values = [
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/db/models/base.py", line 985, in <listcomp>
discovery-1  |     (getattr(self, f.attname) if raw else f.pre_save(self, False)),
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/db/models/fields/files.py", line 317, in pre_save
discovery-1  |     file.save(file.name, file.file, save=False)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/stdimage/models.py", line 32, in save
discovery-1  |     super().save(name, content, save)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/db/models/fields/files.py", line 93, in save
discovery-1  |     self.name = self.storage.save(name, content, max_length=self.field.max_length)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/core/files/storage/base.py", line 38, in save
discovery-1  |     name = self._save(name, content)
discovery-1  |   File "/openedx/venv/lib/python3.8/site-packages/django/core/files/storage/filesystem.py", line 87, in _save
discovery-1  |     os.makedirs(directory, exist_ok=True)
discovery-1  |   File "/usr/lib/python3.8/os.py", line 213, in makedirs
discovery-1  |     makedirs(head, exist_ok=exist_ok)
discovery-1  |   File "/usr/lib/python3.8/os.py", line 213, in makedirs
discovery-1  |     makedirs(head, exist_ok=exist_ok)
discovery-1  |   File "/usr/lib/python3.8/os.py", line 223, in makedirs
discovery-1  |     mkdir(name, mode)
discovery-1  | PermissionError: [Errno 13] Permission denied: '/openedx/discovery/course_discovery/media/media'
"""
2024-07-01 19:41:37 +05:00
Muhammad Faraz Maqsood
d8b0e6a327 fix: images does not persist
On stopping discovery container and deleting it
And starting it again, images gives 404
2024-07-01 19:41:37 +05:00
Régis Behmo
14684ef2ca fix: docker build deprecation warnings
With the latest Docker upgrade, we got the following warnings during
build:

	FromAsCasing: 'as' and 'FROM' keywords' casing do not match
	LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format
2024-06-21 17:12:57 +02:00
Régis Behmo
790513e486
Merge pull request #74 from overhangio/redwood
Upgrade to Redwood
v18.0.0
2024-06-20 01:52:43 +02:00
Muhammad Faraz Maqsood
48c13d7105 v18.0.0 2024-06-20 01:51:37 +02:00
Muhammad Faraz Maqsood
e63be4fcc3 fix: wrong mime type by adding mime-support
The admin's stylesheets e.g.https://{{DISCOVERY_HOST}}/static/admin/css/base.css, were not loaded because its MIME type appears to be "text/plain", It should be "text/css".
2024-06-07 22:19:39 +05:00
Muhammad Faraz Maqsood
f4ccdf0f95 feat: upgrade to redwood 2024-06-07 22:19:39 +05:00
Overhang.IO
c692e75d17 Merge remote-tracking branch 'origin/master' into nightly 2024-06-04 07:37:10 +00:00
Muhammad Faraz Maqsood
c939b8a654 fix: readme correction v17.0.1 2024-06-04 12:30:44 +05:00
Muhammad Faraz Maqsood
34691b58e2 docs: add a comment explaining the need of root user
=> [minimal  7/19] RUN echo "{}" > /openedx/config.yml                                                                          0.2s
 => ERROR [minimal  8/19] RUN git clone https://github.com/pyenv/pyenv /opt/pyenv --branch v2.3.36 --depth 1                     0.4s
------
 > importing cache manifest from docker.io/overhangio/openedx-discovery:17.0.0-nightly-cache:
------
------
 > [minimal  8/19] RUN git clone https://github.com/pyenv/pyenv /opt/pyenv --branch v2.3.36 --depth 1:
0.341 fatal: could not create work tree dir '/opt/pyenv': Permission denied
------
Dockerfile:36
--------------------
  34 |     ENV PYENV_ROOT /opt/pyenv
  35 |     # USER root
  36 | >>> RUN git clone https://github.com/pyenv/pyenv $PYENV_ROOT --branch v2.3.36 --depth 1
  37 |     # Install Python
  38 |     RUN $PYENV_ROOT/bin/pyenv install $PYTHON_VERSION
--------------------
ERROR: failed to solve: process "/bin/sh -c git clone https://github.com/pyenv/pyenv $PYENV_ROOT --branch v2.3.36 --depth 1" did not complete successfully: exit code: 128
2024-05-02 15:34:21 +05:00
Muhammad Faraz Maqsood
d27b7523e1 fix: fix compile messages error
ModuleNotFoundError: No module named '_sqlite3'
fixed above error on line
>>> RUN python manage.py compilemessages
2024-05-02 15:34:21 +05:00
Muhammad Faraz Maqsood
2f9effded9 add changelog entry 2024-05-02 15:34:21 +05:00
Muhammad Faraz Maqsood
213e4dbc0d enhancement: upgrade python version to 3
.12.2
2024-05-02 15:34:21 +05:00
Muhammad Faraz Maqsood
96d6ba9ca2 v17.0.1 2024-04-25 11:58:24 +05:00
Andrés González
ecff88eb40 fix: Create media directory in Dockerfile.
If the media directory does not exist at the time that
uwsgi is launched, the mapping to /media to serve
media files will not be created.
2024-04-25 11:47:02 +05:00
Danyal-Faheem
4b1ccd4ea5 docs: fix site-configuration url 2024-04-25 11:43:03 +05:00
Muhammad Faraz Maqsood
1b1d90239d remove extra changelog entry 2024-03-21 15:48:19 +05:00