Skip to main content

Framework for Messaging

Project description

edX Automated Communication Engine (A.C.E.)

License: AGPL v3 Python CI Publish package to PyPi Status PyPI Travis Codecov Documentation Supported Python versions

Purpose

The automated communication engine, A.C.E. for short, is a Django app for messaging learners on the Open edX platform. This app can be installed in any Open edX project, but has only been tested with edx-platform. Email delivery (via Sailthru and Django Email) are the currently supported delivery channels. In the future we may add support for other delivery channels such as push notifications.

Getting Started

For instructions on starting local development, see Getting Started page.

Getting Help

Documentation

See the documentation. If you need more help see below.

More Help

If you’re having trouble, we have discussion forums at https://discuss.openedx.org where you can connect with others in the community.

Our real-time conversations are on Slack. You can request a Slack invitation, then join our community Slack workspace.

For anything non-trivial, the best path is to open an issue in this repository with as many details about the issue you are facing as you can provide.

https://github.com/openedx/edx-ace/issues

For more information about these options, see the help page.

License

The code in this repository is licensed under the AGPL 3.0 unless otherwise noted.

Please see LICENSE.txt for details.

Contributing

Contributions are very welcome.

Please read How To Contribute for details.

Even though they were written with edx-platform in mind, the guidelines should be followed for Open edX code in general.

PR description template should be automatically applied if you are sending PR from github interface; otherwise you can find it at PULL_REQUEST_TEMPLATE.md

Issue report template should be automatically applied if you are sending it from github UI as well; otherwise you can find it at ISSUE_TEMPLATE.md

The Open edX Code of Conduct

All community members are expected to follow the Open edX Code of Conduct.

People

The assigned maintainers for this component and other project details may be found in Backstage. Backstage pulls this data from the catalog-info.yaml file in this repo.

Reporting Security Issues

Please do not report security issues in public. Please email security@openedx.org.

Change Log

Unreleased

[1.15.0] - 2025-04-25

  • Removed edx-braze-client from repo

  • Removed braze_push channel from repo

[1.13.0] - 2025-04-25

  • Added support for Django 5.2

  • Dropped support for Python 3.8

[1.8.0] - 2024-03-06

  • Added support for Python 3.12

  • Dropped support for Django 3.2

[1.7.0] - 2023-07-21

  • Switch from edx-sphinx-theme to sphinx-book-theme since the former is deprecated

  • Added support for django 4.2

[1.6.1] - 2023-02-07

[1.5.0] - 2022-02-15

  • Added support for Django40

  • Removed support for Django22, 30 and 31

[1.4.1] - 2021-12-06

  • Adds in the ability to override frequency caps for Braze emails. Can be accessed via Message options using the key override_frequency_capping. All emails containing the transactional Message option will also override frequency caps.

[1.4.0] - 2021-11-08

  • Deprecate the action_links property

  • Add a get_action_links method and template tag to allow passing arguments to action links

[1.3.1] - 2021-08-17

  • Adjust name handles_delivery_for_message to overrides_delivery_for_message

[1.3.0] - 2021-08-16

  • New channel method handles_delivery_for_message for allowing a default channel to claim a message, even if it would normally be delivered to the configured transactional channel.

  • Braze: Will handle any message defined in ACE_CHANNEL_BRAZE_CAMPAIGNS (using the above new feature) to steal campaign messages from the transactional channel as needed.

[1.2.0] - 2021-07-16

  • Added support for django 3.2

[1.1.1] - 2021-07-09

  • Removed upper constraint from Django

[1.1.0] - 2021-03-26

  • Braze: Add ACE_CHANNEL_BRAZE_FROM_EMAIL setting to override the normal from address

  • Sailthru: Remove Braze rollout waffle flag

[1.0.1] - 2021-03-15

  • Braze: Add an unsubscribe action link

  • Braze: Don’t ask Braze to inline css, as ACE templates already have inline css

[1.0.0] - 2021-03-11

  • BREAKING: Recipient objects now take lms_user_id instead of username

  • New braze_email backend, needing the following new configuration:

    • ACE_CHANNEL_BRAZE_API_KEY

    • ACE_CHANNEL_BRAZE_APP_ID

    • ACE_CHANNEL_BRAZE_REST_ENDPOINT (like rest.iad-01.braze.com)

    • ACE_CHANNEL_BRAZE_CAMPAIGNS (an optional dictionary of ACE message names to Braze campaign identifiers)

[0.1.18] - 2020-11-19

  • Updated he travis-badge in README.rst to point to travis-ci.com

[0.1.17] - 2020-10-19

  • Use IntEnum to avoid silent failure in value comparisons

[0.1.16] - 2020-10-17

  • Fixed Enum usage for Python 3.8 to avoid TypeError when comparing values

[0.1.15] - 2020-03-11

  • Added support for Python 3.8

  • Removed support for Django 2.0 and 2.1

[0.1.14] - 2020-03-11

  • Fix trivial warning from deprecated use of attr library.

[0.1.13] - 2019-12-06

  • Django22 Support.

[0.1.12] - 2019-10-16

  • Reply_to field added in emails.

[0.1.10] - 2018-11-01

  • Django lazy text translations are handled properly.

[0.1.9] - 2018-07-13

  • Updated delivery logging

[0.1.0] - 2017-08-08

  • [Added] First release on PyPI.

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

edx_ace-1.15.0.tar.gz (57.7 kB view details)

Uploaded Source

Built Distribution

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

edx_ace-1.15.0-py2.py3-none-any.whl (65.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file edx_ace-1.15.0.tar.gz.

File metadata

  • Download URL: edx_ace-1.15.0.tar.gz
  • Upload date:
  • Size: 57.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for edx_ace-1.15.0.tar.gz
Algorithm Hash digest
SHA256 638f47dd0fa93506d9c4111d0614c5f4c8be61711d1a0c74b87128b63099e313
MD5 20857622aa3841fdf19368ee7b343913
BLAKE2b-256 53c85f3af78945d647f7083c92a02a03d4deefac4f778967cca291c652ae5bd1

See more details on using hashes here.

File details

Details for the file edx_ace-1.15.0-py2.py3-none-any.whl.

File metadata

  • Download URL: edx_ace-1.15.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 65.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for edx_ace-1.15.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 24f60a856777a2a4ced42ab0d9c0b56289f8080000532795e82e3d17f93e1f31
MD5 2e95836e74089e459ca484bb05ba7038
BLAKE2b-256 6ca961e293cba803cce681d37d442aaed492486094ae34d2a342272b3bf23ee4

See more details on using hashes here.

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