Skip to main content

Richie site factory plugin for Tutor

Project description

Richie site factory plugin for Tutor

This is a plugin to integrate multiple Richie sites, the learning portal CMS, with Open edX. The integration takes the form of a Tutor plugin.

Dependencies

You should have create your own Richie site factory, go to https://richie.education/docs/cookiecutter/ to know more about it.

Installation

pip install tutor-contrib-richie-site-factory
tutor plugins enable richie-site-factory

Running the Richie plugin will require that you rebuild the "openedx" Docker image:

tutor config save
tutor images build openedx

This step is necessary to install the Richie connector app in edx-platform.

Then, the platform can be launched as usual with:

tutor local quickstart

This plugins allows to run multiple Richie instance sites. So you have to configure each site factory sites so each can be run inside Tutor.

Gettting started

Once your Richie platform is up and running, you will quickly realize that your learning portal is empty. This is because you should first create the corresponding courses and organizations from inside Richie. To do so, start by creating a super user:

tutor local run richie python manage.py createsuperuser

You can then use the credentials you just created at http(s)://yourrichiehost/admin. In development, this is http://courses.local.overhang.io/admin.

Then, refer to the official Richie documentation to learn how to create courses and organizations.

You may also want to fill your learning portal with a demo site -- but be careful not to run this command in production, as it will be difficult to get rid of the demo site afterwards:

# WARNING: do not attempt this in production!
tutor local run richie-<mysite> python manage.py create_demo_site --force

Configuration

This Tutor plugin comes with a few configuration settings:

  • RICHIE_RELEASE_VERSION (default: "v1.27.1") - the default version of the demo site
  • RICHIE_HOST (default: "courses.{{ LMS_HOST }}") - the marketing domain name at which the Open edX will be configured
  • RICHIE_MYSQL_ROOT_USERNAME - (default: {{ MYSQL_ROOT_USERNAME }})
  • RICHIE_MYSQL_ROOT_PASSWORD - (default: {{ MYSQL_ROOT_PASSWORD }})

Other are per site, replace the {site} with the name of your site:

  • RICHIE_{site}_HOST - (default: {site}.{{ LMS_HOST }})
  • RICHIE_{site}_DOCKER_IMAGE - (default: {{ DOCKER_REGISTRY }}fundocker/richie-demo:{{ RICHIE_RELEASE_VERSION }})
  • RICHIE_{site}_BUCKET_NAME - (default: richie-{site}-uploads)
  • RICHIE_{site}_MEDIA_BUCKET_NAME - (default: richie-{site}-media)
  • RICHIE_{site}_ELASTICSEARCH_INDICES_PREFIX - (default: richie-{site})
  • RICHIE_{site}_CACHE_DEFAULT_BACKEND - (default: base.cache.RedisCacheWithFallback)
  • RICHIE_{site}_CACHE_DEFAULT_LOCATION - (default: redis://{{ REDIS_HOST }}:{{ REDIS_PORT }}/2)
  • RICHIE_{site}_CACHE_DEFAULT_OPTIONS - (default: {})
  • RICHIE_{site}_DJANGO_SETTINGS_MODULE - (default: {site}.settings)
  • RICHIE_{site}_DJANGO_CONFIGURATION - (default: Production)
  • RICHIE_{site}_DB_ENGINE - (default: django.db.backends.mysql)
  • RICHIE_{site}_DB_HOST - (default: {{ MYSQL_HOST }})
  • RICHIE_{site}_DB_NAME - (default: richie_{site})
  • RICHIE_{site}_DB_PORT - (default: {{ MYSQL_PORT }})
  • RICHIE_{site}_DB_USER - (default: richie_{site})
  • RICHIE_{site}_MYSQL_INIT - (default: true)
  • RICHIE_{site}_MYSQL_ROOT_USERNAME - (default: {{ RICHIE_MYSQL_ROOT_USERNAME }})
  • RICHIE_{site}_MYSQL_ROOT_PASSWORD - (default: {{ RICHIE_MYSQL_ROOT_PASSWORD }})
  • RICHIE_{site}_ELASTICSEARCH_HOST - (default: {{ ELASTICSEARCH_HOST }})
  • RICHIE_{site}_EDX_BASE_URL - (default: https://{{ LMS_HOST }})
  • RICHIE_{site}_EDX_JS_BACKEND - (default: openedx-hawthorn)
  • RICHIE_{site}_AUTHENTICATION_BASE_URL - (default: https://{{ LMS_HOST }})
  • RICHIE_{site}_AUTHENTICATION_BACKEND - (default: openedx-hawthorn)
  • RICHIE_{site}_OAUTH2_CLIENT_AUTHORIZED_PATH - (default: None)

If you need to completely customize the production environment, you can use the Tutor patch richie-{{site}}-production-env.

These defaults should be enough for most users. To modify any one of them, run:

tutor config save --set RICHIE_SETTING_NAME=myvalue

For instance, to customize the domain name at which Richie will run:

tutor config save --set "RICHIE_HOST=mysubdomain.{{ LMS_HOST }}"

Development

Bind-mount volume:

tutor dev bindmount richie /app/richie

Then, run a development server:

tutor dev runserver --volume=/app/richie richie

The Richie development server will be available at http://courses.local.overhang.io:8003.

Troubleshooting

Do you need help with this plugin? Get in touch by opening a GitHub issue: https://github.com/fccn/tutor-contrib-richie-site-factory/issues/

Release

  1. Increase the version in __about.py file, eg. 18.2.0.
  2. Open a PR and merge it.
  3. Then create a Git Tag with for the same version, v18.2.0
git tag v18.2.0
git push origin v18.2.0

License

This software is licensed under the terms of the AGPLv3. It was originally developed by Overhang.io with a sponsorship of France Université Numérique. Currently, it's maintained by NAU - FCCN|FCT.

France Université Numérique NAU by FCT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tutor_contrib_richie_site_factory-20.0.1.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file tutor_contrib_richie_site_factory-20.0.1.tar.gz.

File metadata

File hashes

Hashes for tutor_contrib_richie_site_factory-20.0.1.tar.gz
Algorithm Hash digest
SHA256 f2716aef215961b7309db9e67b11ccfaff6783982cd640c32d18b342e7a67300
MD5 c9d6b3581486d8b9f0dfb67f01ceba73
BLAKE2b-256 9e27520830f659bf79001a407018725e79487713276db894ae1dd4ed35726444

See more details on using hashes here.

Provenance

The following attestation bundles were made for tutor_contrib_richie_site_factory-20.0.1.tar.gz:

Publisher: publish-pypi.yml on fccn/tutor-contrib-richie-site-factory

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tutor_contrib_richie_site_factory-20.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for tutor_contrib_richie_site_factory-20.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dbfa80a14ef7a03292cde154e296f3f49fd560496db2af7972ee57a538930819
MD5 583c87a9eaaa0b82c329f2ca044dab01
BLAKE2b-256 810a728cd6043e42cf03899e04246ebe5f437ad69c38deed987b2afe25d41a3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tutor_contrib_richie_site_factory-20.0.1-py3-none-any.whl:

Publisher: publish-pypi.yml on fccn/tutor-contrib-richie-site-factory

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page