Skip to main content

An edx-platform plugin which manages notices that must be acknowledged

Project description

PyPI CI Codecov Documentation Supported Python versions License

This repo is not currently accepting open source contributions

Overview

This plugin for edx-platform manages notices that a user must acknowledge. It only stores the content of the notices and whether a user has acknowledged them. Presentation and other client side decisions will be left to the frontends that utilize these APIs.

This Django app contains notices that a user must acknowledge before continuing to use the site. This app will have two API endpoints to facilitate that: 1. An endpoint to return links to all notices that the user hasn’t acknowledged. 2. An endpoint to acknowledge that a user has seen the notice. This endpoint’s URL will be passed to the client via the first endpoint.

Documentation

(TODO: Set up documentation)

Developing in Devstack

Make sure the LMS container is running in Devstack, then

git clone git@github.com:edx/platform-plugin-notices.git <devstack_folder>/src
cd <devstack_folder>/devstack
make dev.shell.lms
pip install -e /edx/src/platform-plugin-notices
cd /edx/app/edxapp/edx-platform
./manage.py lms migrate

Once that is done, LMS will pickup the plugin and saves to existing files should cause a devserver restart with your changes. Occasionally when adding a new file, you may need to restart the LMS container in order for it to pickup the changes.

Enabling the Notices Plugin in the LMS

The Notices plugin functionality is enabled via use of a waffle flag. After installation of the plugin you need to do the following in devstack:

  1. Log into the LMS Django Admin (http://localhost:18000/admin/)

  2. Add a new waffle flag (http://localhost:18000/admin/waffle/flag/add/)

  3. Name the waffle flag notices.enable_notices

  4. Set Everyone to Yes

  5. Save the waffle flag.

License

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

Please see LICENSE.txt for details.

How To Contribute

This repo is not currently accepting open source contributions

Reporting Security Issues

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

Support

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 more information about these options, see the Getting Help page.

Change Log

Unreleased

[0.14.55] - 2023-09-25

  • Fixed PyPI Publish workflow

[0.14.53] - 2023-09-22

  • Added Django 4.2 Support

[0.14.20] - 2022-07-01

  • Updating Python Requirements

[0.14.15] - 2022-07-01

  • Updating Python Requirements

[0.14.11] - 2022-06-01

  • Updating Python Requirements

[0.14.4] - 2022-02-14

  • Changed Do not redirect notices/render/{id}/ to login page in case of 403 on mobile request

[0.14.3] - 2022-02-07

  • Update pip-tools

[0.14.2] - 2022-01-28

  • Update Python dependencies

[0.14.1] - 2022-01-05

  • Update Python dependencies

[0.14.0] - 2021-11-24

  • Add logging

[0.13.0] - 2021-11-24

  • Added history table to AcknowledgedNotice

[0.12.0] - 2021-11-2

  • Added support for django 3.2 and dropped support for previous versions

[0.11.8] - 2021-11-10

  • Update Python dependencies

[0.11.7] - 2021-11-10

  • Add userLanguage flag so JavaScript-rendered text can be displayed in the correct language

[0.11.6] - 2021-11-10

  • Add mobile flag so mobile can be disabled in production

[0.11.5] - 2021-11-09

  • Add lang tag to HTML element

[0.11.4] - 2021-11-08

  • Change name of segment event from “acquisition” to “notice”

[0.11.3] - 2021-11-05

  • Allow user to leave page even if API call fails (important for mobile)

[0.11.2] - 2021-11-04

  • Updated Django admin form list display and searchable fields.

[0.11.1] - 2021-10-29

  • fix analytics key in template

[0.11.0] - 2021-11-1

  • Add in a setting to limit the number of days you can snooze a notice.

[0.10.3] - 2021-10-29

  • Fix dismiss button redirecting

[0.10.2] - 2021-10-29

  • fix analytics key

[0.10.1] - 2021-10-29

  • Limit notices to users who were created before it was released

[0.10.0] - 2021-10-25

  • Add segment library for event tracking

[0.9.0] - 2021-10-25

  • Add in a snooze limit feature that will only allow a notice to be snoozed a number of times

[0.8.2] - 2021-10-21

  • Update requirements

[0.8.1] - 2021-10-21

  • Add ability to reshow notice after a snooze period via setting

[0.7.3] - 2021-10-20

  • Make AcknowledgedNotice user editable in the admin for testing purposes

[0.7.2] - 2021-10-19

  • Make AcknowledgedNotice user readonly in the admin for performance

[0.7.1] - 2021-10-19

  • Add Waffle Flag to enable and disable the feature for rollout

[0.6.1] - 2021-10-7

  • Add Python API for retrieving unack’d and active notice data

  • Add Plugin Context API for notice data to support redirects on the LMS Course Dashboard

[0.5.1] - 2021-10-7

  • Disallow dismissal after confirmation of notice

[0.4.1] - 2021-10-7

  • Allow inactive (non-email-verified) users to call APIs

[0.3.1] - 2021-10-1

  • Add mobile calls so notice code can deep link

[0.2.2] - 2021-09-24

  • Add fallback language on render view

  • Add Bearer auth to APIs for mobile

  • Add login requirement to render view

  • Add first edx-platform dependency

[0.2.1] - 2021-09-22

  • Utility functions for custom notice code to use to call APIs

[0.1.1] - 2021-09-16

  • Moved to server rendered notice model

  • Add mandatory types to acknowledgement to track more states

[0.1.0] - 2021-08-19

  • 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-notices-0.14.55.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

edx_notices-0.14.55-py2.py3-none-any.whl (36.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file edx-notices-0.14.55.tar.gz.

File metadata

  • Download URL: edx-notices-0.14.55.tar.gz
  • Upload date:
  • Size: 34.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for edx-notices-0.14.55.tar.gz
Algorithm Hash digest
SHA256 3e17cff0a7c4290cda05567579964fc8afd536991353b2a4c9c0f8cbd967f7e7
MD5 2a652b41d4e337a260e0e1db397e603d
BLAKE2b-256 f85eeb7a5196f878115d59af90bc5f9870954afa24ac09a889ca8c26c10bc4ca

See more details on using hashes here.

File details

Details for the file edx_notices-0.14.55-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for edx_notices-0.14.55-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 43182fab8fa590f8f231eb97ccf6a62859d60813753d4d72933015c2d1500ac3
MD5 a26ade87990780ca7cab94d811e3f8b9
BLAKE2b-256 b8b9c666ecb4c083dacf6d36b627da079b057acbeb6850e448d6dcdb467d4231

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page