Skip to content

Tutor plugin that makes it a bit easier to interact with Open edX Commerce WordPress Plugin

License

Notifications You must be signed in to change notification settings

CodeWithEmad/tutor-contrib-wordpress

Repository files navigation

WordPress Plugin for Tutor

PyPI releases AGPL License

Overview

This is a Tutor plugin that provides complete WordPress integration with your Open edX instance. It includes:

If you need help installing the WordPress plugin, check out this installation guide.

Prerequisites

  • Installation of Tutor version >= 15.0.0
  • MySQL database (can use the same one as Open edX)

Installation

Ensure you are using Tutor v15+ (Olive onwards). First, install the plugin by running:

pip install -U tutor-contrib-wordpress

Enable the plugin and run the launch command:

tutor plugins enable wordpress
tutor dev|local|k8s launch

Alternatively, if you already have a running Open edX instance, just run the necessary jobs:

tutor dev|local|k8s do init --limit=wordpress
tutor dev|local|k8s start wordpress

Configuration

The plugin automatically installs WordPress with the Open edX Commerce and Woocommerce plugins. Inside your WordPress admin panel, go to Settings -> Open edX Sync plugin, and configure:

  • Open edX Domain
  • Client ID
  • Client Secret

To verify the connection, click on "Generate JWT Token". If the process is successful, a new token will be generated.

Open edX Sync Plugin Settings in your WordPress Settings

You can retrieve these configuration values by running:

tutor dev|local|k8s do wordpress config

This command will output the current configurations, including the Client ID, Client Secret, Open edX Domain, and WordPress Domain. Here is an example of the output:

===============================================
    WordPress Plugin Configurations
===============================================

Client ID: vvpTamiepPwjZhr0uOQGr5PhYBzp2hQw
Client ID (dev): MlbXk1V3wB7nWPAAyLF3McyfBBMqExa4
Client Secret: MdrgbtU8Q94He3gejF6Zf5MDookoeozO

Open edX Domain: http://local.edly.io:8000
Wordpress Domain: http://site.local.edly.io:8080

Variables

The plugin supports the following configuration variables:

  • WORDPRESS_VERSION: Plugin version
  • WORDPRESS_HOST: WordPress site hostname
  • WORDPRESS_PORT: WordPress port (default: 8080)
  • WORDPRESS_DOCKER_IMAGE: Docker image for WordPress
  • WORDPRESS_OPENEDX_PLUGIN: URL to the Open edX Commerce plugin
  • WORDPRESS_WOOCOMMERCE_PLUGIN: (default: "https://downloads.wordpress.org/plugin/woocommerce.9.4.2.zip") The WooCommerce plugin zip file URL. You can specify a different version if needed.
  • WORDPRESS_OFFICIAL_IMAGE: (default: "wordpress:6.7.1-php8.1") The official WordPress Docker image used as the base for building the plugin's custom image. This image includes PHP and Apache server. You can specify a different version or PHP variant if needed.

Database Settings

  • WORDPRESS_MYSQL_HOST: MySQL host
  • WORDPRESS_MYSQL_PORT: MySQL port
  • WORDPRESS_MYSQL_DATABASE: Database name (default: wordpress)
  • WORDPRESS_MYSQL_USERNAME: Database username
  • WORDPRESS_MYSQL_PASSWORD: Database password (auto-generated)
  • WORDPRESS_TABLE_PREFIX: Table prefix (default: wp_)

Storage Settings

  • WORDPRESS_DATA_VOLUME_SIZE: Size of WordPress persistent volume (default: 5Gi)

OAuth2 Settings

  • WORDPRESS_OAUTH2_SECRET: OAuth2 secret key (auto-generated)
  • WORDPRESS_OAUTH2_KEY_SSO: OAuth2 client ID (auto-generated)
  • WORDPRESS_OAUTH2_KEY_SSO_DEV: OAuth2 development client ID (auto-generated)

Contributing

We welcome all contributions! Feel free to open a Pull Request or an Issue.

License

This software is licensed under the terms of the AGPLv3.

About

Tutor plugin that makes it a bit easier to interact with Open edX Commerce WordPress Plugin

Resources

License

Stars

Watchers

Forks

Packages

No packages published