Outcome Surveys
=============================
|pypi-badge| |ci-badge| |codecov-badge| |doc-badge| |pyversions-badge|
|license-badge|
Overview
------------------------
outcome-surveys is a Django app plugin. It will be installed in ``edx-platform`` and integrated in ``lms``. outcome_surveys
plugin will be used to send follow up events for learners who have passed a course.
Development Workflow
--------------------
One Time Setup
~~~~~~~~~~~~~~
.. code-block::
# Clone the repository
git clone git@github.com:edx/outcome-surveys.git
cd outcome-surveys
# Set up a virtualenv using virtualenvwrapper with the same name as the repo and activate it
mkvirtualenv -p python3.8 outcome-surveys
Every time you develop something in this repo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::
# Activate the virtualenv
workon outcome-surveys
# Grab the latest code
git checkout master
git pull
# Install/update the dev requirements
make requirements
# Run the tests and quality checks (to verify the status before you make any changes)
make validate
# Make a new branch for your changes
git checkout -b <your_github_username>/<short_description>
# Using your favorite editor, edit the code to make your change.
vim …
# Run your new tests
pytest ./path/to/new/tests
# Run all the tests and quality checks
make validate
# Make sure to update the semantic version in outcome_surveys/__init__.py
# Make sure to update CHANGELOG.rst
# Commit all your changes
git commit …
git push
# Open a PR and ask for review.
# Merge the PR
# Create and publish a release
License
-------
The code in this repository is licensed under the AGPL 3.0 unless
otherwise noted.
Please see `LICENSE.txt <LICENSE.txt>`_ for details.
How To Contribute
-----------------
Contributions are very welcome.
Please read `How To Contribute <https://github.com/edx/edx-platform/blob/master/CONTRIBUTING.rst>`_ for details.
Even though they were written with ``edx-platform`` in mind, the guidelines
should be followed for all Open edX projects.
The pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you
can find it at `PULL_REQUEST_TEMPLATE.md <.github/PULL_REQUEST_TEMPLATE.md>`_.
The issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you
can find it at `ISSUE_TEMPLATE.md <.github/ISSUE_TEMPLATE.md>`_.
Reporting Security Issues
-------------------------
Please do not report security issues in public. Please email security@edx.org.
Getting 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 more information about these options, see the `Getting Help`_ page.
.. _Slack invitation: https://openedx-slack-invite.herokuapp.com/
.. _community Slack workspace: https://openedx.slack.com/
.. _Getting Help: https://openedx.org/getting-help
.. |pypi-badge| image:: https://img.shields.io/pypi/v/outcome-surveys.svg
:target: https://pypi.python.org/pypi/outcome-surveys/
:alt: PyPI
.. |ci-badge| image:: https://github.com/edx/outcome-surveys/workflows/Python%20CI/badge.svg?branch=master
:target: https://github.com/edx/outcome-surveys/actions
:alt: CI
.. |codecov-badge| image:: https://codecov.io/github/edx/outcome-surveys/coverage.svg?branch=master
:target: https://codecov.io/github/edx/outcome-surveys?branch=master
:alt: Codecov
.. |doc-badge| image:: https://readthedocs.org/projects/outcome-surveys/badge/?version=latest
:target: https://outcome-surveys.readthedocs.io/en/latest/
:alt: Documentation
.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/outcome-surveys.svg
:target: https://pypi.python.org/pypi/outcome-surveys/
:alt: Supported Python versions
.. |license-badge| image:: https://img.shields.io/github/license/edx/outcome-surveys.svg
:target: https://github.com/edx/outcome-surveys/blob/master/LICENSE.txt
:alt: License
Change Log
----------
..
All enhancements and patches to outcome_surveys will be documented
in this file. It adheres to the structure of https://keepachangelog.com/ ,
but in reStructuredText instead of Markdown (for ease of incorporation into
Sphinx documentation and the PyPI description).
This project adheres to Semantic Versioning (https://semver.org/).
.. There should always be an "Unreleased" section for changes pending release.
Unreleased
~~~~~~~~~~
[2.5.1] - 2024-02-22
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Update prepared learners query
[2.5.0] - 2023-11-02
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add management command to trigger segment events for learners who have achieved 30 minutes of learning
[2.4.0] - 2023-03-13
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add support to delete survey responses
[2.3.1] - 2023-03-01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Remove broad exception
[2.3.0] - 2023-02-27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Remove null=True from char and text model fields
[2.1.0] - 2023-02-03
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add uniqe constraints on table fields
* Replace `get_or_create`` with custom implementation
* Gracefully exit command upon `SurveyMonkeyDailyRateLimitConsumed` exception
[2.0.0] - 2023-02-01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Django management command to import data from SurveyMonkey
[1.1.1] - 2022-09-06
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add `already_sent` boolean field in `LearnerCourseEvent` model to store the state for sent events.
* Set `already_sent`` to `True` in `LearnerCourseEvent` model for each triggered event.
[1.1.0] - 2022-07-14
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Make follow up days configurable
[0.1.0] - 2022-07-06
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Added
_____
* First release on PyPI.
Raw data
{
"_id": null,
"home_page": "https://github.com/edx/outcome-surveys",
"name": "outcome-surveys",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "Python edx",
"author": "edX",
"author_email": "oscm@edx.org",
"download_url": "https://files.pythonhosted.org/packages/68/37/68c70cc2caedbe64eb4d3559d7876b06f80db73387affda68ddef0225285/outcome-surveys-2.5.1.tar.gz",
"platform": null,
"description": "Outcome Surveys\n=============================\n\n|pypi-badge| |ci-badge| |codecov-badge| |doc-badge| |pyversions-badge|\n|license-badge|\n\n\n\nOverview\n------------------------\n\noutcome-surveys is a Django app plugin. It will be installed in ``edx-platform`` and integrated in ``lms``. outcome_surveys\nplugin will be used to send follow up events for learners who have passed a course.\n\n\nDevelopment Workflow\n--------------------\n\nOne Time Setup\n~~~~~~~~~~~~~~\n.. code-block::\n\n # Clone the repository\n git clone git@github.com:edx/outcome-surveys.git\n cd outcome-surveys\n\n # Set up a virtualenv using virtualenvwrapper with the same name as the repo and activate it\n mkvirtualenv -p python3.8 outcome-surveys\n\n\nEvery time you develop something in this repo\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n.. code-block::\n\n # Activate the virtualenv\n workon outcome-surveys\n\n # Grab the latest code\n git checkout master\n git pull\n\n # Install/update the dev requirements\n make requirements\n\n # Run the tests and quality checks (to verify the status before you make any changes)\n make validate\n\n # Make a new branch for your changes\n git checkout -b <your_github_username>/<short_description>\n\n # Using your favorite editor, edit the code to make your change.\n vim \u2026\n\n # Run your new tests\n pytest ./path/to/new/tests\n\n # Run all the tests and quality checks\n make validate\n\n # Make sure to update the semantic version in outcome_surveys/__init__.py\n\n # Make sure to update CHANGELOG.rst\n\n # Commit all your changes\n git commit \u2026\n git push\n\n # Open a PR and ask for review.\n\n # Merge the PR\n\n # Create and publish a release\n\nLicense\n-------\n\nThe code in this repository is licensed under the AGPL 3.0 unless\notherwise noted.\n\nPlease see `LICENSE.txt <LICENSE.txt>`_ for details.\n\nHow To Contribute\n-----------------\n\nContributions are very welcome.\nPlease read `How To Contribute <https://github.com/edx/edx-platform/blob/master/CONTRIBUTING.rst>`_ for details.\nEven though they were written with ``edx-platform`` in mind, the guidelines\nshould be followed for all Open edX projects.\n\nThe pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you\ncan find it at `PULL_REQUEST_TEMPLATE.md <.github/PULL_REQUEST_TEMPLATE.md>`_.\n\nThe issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you\ncan find it at `ISSUE_TEMPLATE.md <.github/ISSUE_TEMPLATE.md>`_.\n\nReporting Security Issues\n-------------------------\n\nPlease do not report security issues in public. Please email security@edx.org.\n\nGetting Help\n------------\n\nIf you're having trouble, we have discussion forums at https://discuss.openedx.org where you can connect with others in the community.\n\nOur real-time conversations are on Slack. You can request a `Slack invitation`_, then join our `community Slack workspace`_.\n\nFor more information about these options, see the `Getting Help`_ page.\n\n.. _Slack invitation: https://openedx-slack-invite.herokuapp.com/\n.. _community Slack workspace: https://openedx.slack.com/\n.. _Getting Help: https://openedx.org/getting-help\n\n.. |pypi-badge| image:: https://img.shields.io/pypi/v/outcome-surveys.svg\n :target: https://pypi.python.org/pypi/outcome-surveys/\n :alt: PyPI\n\n.. |ci-badge| image:: https://github.com/edx/outcome-surveys/workflows/Python%20CI/badge.svg?branch=master\n :target: https://github.com/edx/outcome-surveys/actions\n :alt: CI\n\n.. |codecov-badge| image:: https://codecov.io/github/edx/outcome-surveys/coverage.svg?branch=master\n :target: https://codecov.io/github/edx/outcome-surveys?branch=master\n :alt: Codecov\n\n.. |doc-badge| image:: https://readthedocs.org/projects/outcome-surveys/badge/?version=latest\n :target: https://outcome-surveys.readthedocs.io/en/latest/\n :alt: Documentation\n\n.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/outcome-surveys.svg\n :target: https://pypi.python.org/pypi/outcome-surveys/\n :alt: Supported Python versions\n\n.. |license-badge| image:: https://img.shields.io/github/license/edx/outcome-surveys.svg\n :target: https://github.com/edx/outcome-surveys/blob/master/LICENSE.txt\n :alt: License\n\n\nChange Log\n----------\n\n..\n All enhancements and patches to outcome_surveys will be documented\n in this file. It adheres to the structure of https://keepachangelog.com/ ,\n but in reStructuredText instead of Markdown (for ease of incorporation into\n Sphinx documentation and the PyPI description).\n\n This project adheres to Semantic Versioning (https://semver.org/).\n\n.. There should always be an \"Unreleased\" section for changes pending release.\n\nUnreleased\n~~~~~~~~~~\n\n\n[2.5.1] - 2024-02-22\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Update prepared learners query\n\n[2.5.0] - 2023-11-02\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Add management command to trigger segment events for learners who have achieved 30 minutes of learning\n\n[2.4.0] - 2023-03-13\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Add support to delete survey responses\n\n[2.3.1] - 2023-03-01\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Remove broad exception\n\n[2.3.0] - 2023-02-27\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Remove null=True from char and text model fields\n\n[2.1.0] - 2023-02-03\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Add uniqe constraints on table fields\n* Replace `get_or_create`` with custom implementation\n* Gracefully exit command upon `SurveyMonkeyDailyRateLimitConsumed` exception\n\n[2.0.0] - 2023-02-01\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Django management command to import data from SurveyMonkey\n\n[1.1.1] - 2022-09-06\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Add `already_sent` boolean field in `LearnerCourseEvent` model to store the state for sent events.\n* Set `already_sent`` to `True` in `LearnerCourseEvent` model for each triggered event.\n\n[1.1.0] - 2022-07-14\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Make follow up days configurable\n\n\n[0.1.0] - 2022-07-06\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* First release on PyPI.\n\n\n",
"bugtrack_url": null,
"license": "AGPL 3.0",
"summary": "An edx-platform plugin to send and track course events.",
"version": "2.5.1",
"project_urls": {
"Homepage": "https://github.com/edx/outcome-surveys"
},
"split_keywords": [
"python",
"edx"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "37854df8dcb297d100dea48a379ddc2cafb3d2933a7105a3519658b45c4e96f1",
"md5": "2d31a5e63427eaf0fe7a1d8eca609b07",
"sha256": "059eaa74742dde17228228e15707827a5f9ef6bd32ebd6b618c35909da04972a"
},
"downloads": -1,
"filename": "outcome_surveys-2.5.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "2d31a5e63427eaf0fe7a1d8eca609b07",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.8",
"size": 44100,
"upload_time": "2024-02-23T06:58:59",
"upload_time_iso_8601": "2024-02-23T06:58:59.144932Z",
"url": "https://files.pythonhosted.org/packages/37/85/4df8dcb297d100dea48a379ddc2cafb3d2933a7105a3519658b45c4e96f1/outcome_surveys-2.5.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "683768c70cc2caedbe64eb4d3559d7876b06f80db73387affda68ddef0225285",
"md5": "52ea22f6f8128c8828ae71db0fb0af3e",
"sha256": "1d3301f19de59d8bad5c05d9e3485b20bdb699b0708aed052a38bd6a5ac2b3d2"
},
"downloads": -1,
"filename": "outcome-surveys-2.5.1.tar.gz",
"has_sig": false,
"md5_digest": "52ea22f6f8128c8828ae71db0fb0af3e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 39489,
"upload_time": "2024-02-23T06:59:01",
"upload_time_iso_8601": "2024-02-23T06:59:01.251602Z",
"url": "https://files.pythonhosted.org/packages/68/37/68c70cc2caedbe64eb4d3559d7876b06f80db73387affda68ddef0225285/outcome-surveys-2.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-23 06:59:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "edx",
"github_project": "outcome-surveys",
"travis_ci": true,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "outcome-surveys"
}