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)

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.1.0.
  2. Open a PR and merge it.
  3. Then create a Git Tag with for the same version, v18.1.0
git tag v18.1.0
git push origin v18.1.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-18.1.0.tar.gz (9.9 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-18.1.0.tar.gz.

File metadata

File hashes

Hashes for tutor_contrib_richie_site_factory-18.1.0.tar.gz
Algorithm Hash digest
SHA256 06be126f8610062a6ed94a1f068072678120e11e6db744b6168d04a5c63e5d8f
MD5 99efddb911e55f2cc0d2a6a91568c0e9
BLAKE2b-256 c86b3a83486e604d985a73f4a8e141c49cc7184428743c00be20b434d454227c

See more details on using hashes here.

Provenance

The following attestation bundles were made for tutor_contrib_richie_site_factory-18.1.0.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-18.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tutor_contrib_richie_site_factory-18.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59ebbd9e482adc5d0618efd9fe900a04f8270fa58ea76ae20d4448fc1cdd16ea
MD5 e5ccf8ffdfbb3e8e39b63188bb7405b1
BLAKE2b-256 047ce0fbd6c386ed3376c4eb76cab04febf790ce50223548d29b01cbffd69174

See more details on using hashes here.

Provenance

The following attestation bundles were made for tutor_contrib_richie_site_factory-18.1.0-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