Skip to main content

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

  1. Add to Open edX settings:
INSTALLED_APPS += ['slack_xblock']
FEATURES['ENABLE_SLACK_XBLOCK'] = True
  1. 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


Download files

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

Source Distribution

slack_xblock-0.1.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

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

slack_xblock-0.1.0-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

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

Hashes for slack_xblock-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a07cfe618c28b74e547d54121723852141887691fc21691466dfae1de33c2dd5
MD5 55c02fc4aebdd789fa9a32a46ffe55a6
BLAKE2b-256 180325ae84aa3399cb644ada4915bf354b757524f7e6dd8435008476161121db

See more details on using hashes here.

Provenance

The following attestation bundles were made for slack_xblock-0.1.0.tar.gz:

Publisher: python-publish.yml on 3N61N33R/slack-xblock

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

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

Hashes for slack_xblock-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5ba4ecebfec9905afab9697ba8a547306e69ed55261174f233f5f464e0ffa4c
MD5 b2098bb1b6dcbd155d9c6e1b487305f8
BLAKE2b-256 5b8f998764bfee665beaabb56fe66747a9d1228e68113a34f724f0c0196dcb4c

See more details on using hashes here.

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

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