A simple XBlock to add a Slack channel link to Open edX courses.
Project description
Slack XBlock for Open edX
An XBlock that integrates Slack channels directly into Open edX courses, enabling seamless communication between course content and discussions.
Features
- 🚀 Easy integration with existing Slack workspaces
- 🎯 Auto-generated channel names based on course context
- 🎨 Responsive, modern UI design
- ⚙️ Studio-configurable settings
- 📊 Optional analytics and tracking
- 🔧 Flexible channel management
Installation
Development
git clone git@github.com:3N61N33R/slack-xblock.git
cd slack-xblock
pip install -e .
Production
pip install slack-xblock
Configuration
This XBlock requires configuration at both the environment level and within Open edX.
Environment Variables
First, you need to set up the following environment variables in your Open edX instance. You can add these to a .env file or your platform's configuration management system.
Here's an example:
Slack API Credentials
Your bot's xoxb token
SLACK_BOT_TOKEN=
Your app's signing secret
SLACK_SIGNING_SECRET=
Auto-channel creation settings
Set to 'True' to automatically create channels, 'False' to disable
AUTO_CREATE_CHANNELS=True
Prefix for auto-created channel names (e.g., 'course-')
CHANNEL_PREFIX=course-
Suffix for auto-created channel names (e.g., '-discussion')
CHANNEL_SUFFIX=-discussion
Default workspace settings
The main URL of your Slack workspace (e.g., "https://your-team.slack.com")
DEFAULT_WORKSPACE_URL="your-workspace-url"
The invite link for your workspace
WORKSPACE_INVITE_URL="workspace-invite"
-
SLACK_BOT_TOKEN: Your Slack app's Bot User OAuth Token (starts with xoxb-).
-
SLACK_SIGNING_SECRET: The signing secret from your Slack app's "Basic Information" page.
-
AUTO_CREATE_CHANNELS: A boolean (True/False) to enable or disable automatic channel creation.
-
CHANNEL_PREFIX & CHANNEL_SUFFIX: The prefix and suffix for automatically generated channel names. For example, course- and -discussion would create a channel like course-cs101-discussion.
-
DEFAULT_WORKSPACE_URL: The base URL for your Slack workspace.
-
WORKSPACE_INVITE_URL: The public invite link for users to join the workspace.
Open edX Settings
- Add to Open edX settings:
INSTALLED_APPS += ['slack_xblock']
FEATURES['ENABLE_SLACK_XBLOCK'] = True
- Configure in Studio:
- Add Slack component to course units
- Set workspace URL and channel settings
- Customize display options
Usage
For detailed usage instructions, see the Installation Guide.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file slack_xblock-0.1.0.tar.gz.
File metadata
- Download URL: slack_xblock-0.1.0.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a07cfe618c28b74e547d54121723852141887691fc21691466dfae1de33c2dd5
|
|
| MD5 |
55c02fc4aebdd789fa9a32a46ffe55a6
|
|
| BLAKE2b-256 |
180325ae84aa3399cb644ada4915bf354b757524f7e6dd8435008476161121db
|
Provenance
The following attestation bundles were made for slack_xblock-0.1.0.tar.gz:
Publisher:
python-publish.yml on 3N61N33R/slack-xblock
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
slack_xblock-0.1.0.tar.gz -
Subject digest:
a07cfe618c28b74e547d54121723852141887691fc21691466dfae1de33c2dd5 - Sigstore transparency entry: 533436583
- Sigstore integration time:
-
Permalink:
3N61N33R/slack-xblock@0d9340b13d2add614781b4bb3cd2b61ed0bf7056 -
Branch / Tag:
refs/tags/v.0.1.0-alpha1 - Owner: https://github.com/3N61N33R
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@0d9340b13d2add614781b4bb3cd2b61ed0bf7056 -
Trigger Event:
release
-
Statement type:
File details
Details for the file slack_xblock-0.1.0-py3-none-any.whl.
File metadata
- Download URL: slack_xblock-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5ba4ecebfec9905afab9697ba8a547306e69ed55261174f233f5f464e0ffa4c
|
|
| MD5 |
b2098bb1b6dcbd155d9c6e1b487305f8
|
|
| BLAKE2b-256 |
5b8f998764bfee665beaabb56fe66747a9d1228e68113a34f724f0c0196dcb4c
|
Provenance
The following attestation bundles were made for slack_xblock-0.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on 3N61N33R/slack-xblock
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
slack_xblock-0.1.0-py3-none-any.whl -
Subject digest:
f5ba4ecebfec9905afab9697ba8a547306e69ed55261174f233f5f464e0ffa4c - Sigstore transparency entry: 533436584
- Sigstore integration time:
-
Permalink:
3N61N33R/slack-xblock@0d9340b13d2add614781b4bb3cd2b61ed0bf7056 -
Branch / Tag:
refs/tags/v.0.1.0-alpha1 - Owner: https://github.com/3N61N33R
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@0d9340b13d2add614781b4bb3cd2b61ed0bf7056 -
Trigger Event:
release
-
Statement type: