course-access-groups


Namecourse-access-groups JSON
Version 0.6.0 PyPI version JSON
download
home_pagehttps://github.com/appsembler/course-access-groups
SummaryAn Open edX plugin to customize courses access by grouping learners and assigning different permissions to groups.
upload_time2022-08-18 10:48:33
maintainer
docs_urlNone
authorAppsembler
requires_python
license
keywords django appsembler
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            Course Access Groups
====================

|pypi-badge| |codecov-badge| |doc-badge| |pyversions-badge|
|license-badge|


Overview
--------

This is a plugin for the Open edX Platform that provides the Course Access
Group functionality. It can be installed via pip with minimal configuration to
provide an admin panel to allow site administrators to create access groups
and assign courses to them.

Learners upon registration will be automatically
assigned to a specific group, from which it'll be possible to see which
courses they'll be able to see and enroll in.

The classic example is that you'd want to offer different courses to your
``customers``, ``employees`` and offer some courses for everyone. Hence you'd
need to make two groups and assign courses to only learners within those
groups while mark some courses as public ones.

Documentation
-------------

The full documentation is at https://course-access-groups.readthedocs.org.


.. _supported_open_edx_version:

Supported Open edX Version
--------------------------

The bad news, there's none. The good news is that there's a plan to make it
work with the upstream Open edX versions out of the box.

The even better news, is that you can get this plugin to work by
cherry-picking the following pull requests:

 * The `Access Control Backends pull request`_.
 * The `USER_ACCOUNT_ACTIVATED signal`_.
 * The `edx-search integration with the "has_access" function`_.

.. _Access Control Backends pull request: https://github.com/appsembler/edx-platform/pull/491
.. _USER_ACCOUNT_ACTIVATED signal: https://github.com/edx/edx-platform/pull/23296
.. _edx-search integration with the "has_access" function: https://github.com/appsembler/edx-search/pull/12

License
-------

The code in this repository is licensed under the MIT License unless
otherwise noted.

Please see ``LICENSE.txt`` for details.

How To Contribute
-----------------

Contributions are very welcome.

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

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 <https://github.com/appsembler/course-access-groups/blob/master/.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 <https://github.com/appsembler/course-access-groups/blob/master/.github/ISSUE_TEMPLATE.md>`_.

Reporting Security Issues
-------------------------

Please do not report security issues in public. Please email security@appsembler.com.

Getting Help
------------

Have a question about this repository, or about Open edX in general?  Please
refer to this `list of resources`_ if you need any assistance.

.. _list of resources: https://open.edx.org/getting-help


.. |pypi-badge| image:: https://img.shields.io/pypi/v/course-access-groups.svg
    :target: https://pypi.python.org/pypi/course-access-groups/
    :alt: PyPI

.. |codecov-badge| image:: http://codecov.io/github/appsembler/course-access-groups/coverage.svg?branch=master
    :target: http://codecov.io/github/appsembler/course-access-groups?branch=master
    :alt: Codecov

.. |doc-badge| image:: https://readthedocs.org/projects/course-access-groups/badge/?version=latest
    :target: http://course-access-groups.readthedocs.io/en/latest/
    :alt: Documentation

.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/course-access-groups.svg
    :target: https://pypi.python.org/pypi/course-access-groups/
    :alt: Supported Python versions

.. |license-badge| image:: https://img.shields.io/github/license/appsembler/course-access-groups.svg
    :target: https://github.com/appsembler/course-access-groups/blob/master/LICENSE.txt
    :alt: License


Change Log
----------

..
   All enhancements and patches to course_access_groups will be documented
   in this file.  It adheres to the structure of http://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 (http://semver.org/).

.. There should always be an "Unreleased" section for changes pending release.

Unreleased
~~~~~~~~~~

[0.6.0] - 2022-08-17
~~~~~~~~~~~~~~~~~~~~

 * Use tahoe-sites v0.1.2 and refactor related code:
 * Bump django from 2.2.26 to 2.2.27
 * Bump pillow from 9.0.0 to 9.0.1
 * Bump django from 2.2.27 to 2.2.28
 * Bump lxml from 4.6.2 to 4.9.1
 * Added tests for modifying membership rule.
 * Fixed documentation for modifying the membership rule.

[0.5.3] - 2022-01-31
~~~~~~~~~~~~~~~~~~~~

 * Bump pillow from 7.2.0 to 9.0.0
 * Bump django from 2.2.25 to 2.2.26
 * Fix ValueError for inactive users' REGISTER_USER singal

[0.5.2] - 2022-01-05
~~~~~~~~~~~~~~~~~~~~

 * Fix MembershipRule for SSO learners

[0.5.2] - 2021-12-29
~~~~~~~~~~~~~~~~~~~~

 * Bump pillow from 7.2.0 to 8.3.2
 * Bump sqlparse from 0.4.1 to 0.4.2
 * Tests and docs fixes for membership rule PATCH
 * style doc fix for MembershipRule API
 * Bump lxml from 4.6.2 to 4.6.5
 * Bump django from 2.2.24 to 2.2.25
 * add organization_uuid parameter for superusers

[0.5.1] - 2021-09-01
~~~~~~~~~~~~~~~~~~~~

Added
_____

* log exceptions for the USER_ACCOUNT_ACTIVATED signal


[0.5.0] - 2021-07-14
~~~~~~~~~~~~~~~~~~~~

Added
_____

 * Fixes for Django 2.x

Removed
_______

 * Dropped support for Python 2.x and Django 1.x

[0.4.0] - 2021-01-27
~~~~~~~~~~~~~~~~~~~~

Added
_____

* Support python3 and django2

[0.3.0] - 2020-04-06
~~~~~~~~~~~~~~~~~~~~

Added
_____

* Added new APIs /courses/ and /users/
* Few bug fixes


[0.2.0] - 2020-03-11
~~~~~~~~~~~~~~~~~~~~

Added
_____

* First release to be ready for deployment in staging environments.

[0.1.0] - 2019-11-26
~~~~~~~~~~~~~~~~~~~~

Added
_____

* First release on PyPI.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/appsembler/course-access-groups",
    "name": "course-access-groups",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "Django Appsembler",
    "author": "Appsembler",
    "author_email": "omar@appsembler.com",
    "download_url": "https://files.pythonhosted.org/packages/1a/73/67deb7a083ed8a4d3d7cb2c9bd69a8a07a55374cd094f15ef8515cd3fd10/course-access-groups-0.6.0.tar.gz",
    "platform": null,
    "description": "Course Access Groups\n====================\n\n|pypi-badge| |codecov-badge| |doc-badge| |pyversions-badge|\n|license-badge|\n\n\nOverview\n--------\n\nThis is a plugin for the Open edX Platform that provides the Course Access\nGroup functionality. It can be installed via pip with minimal configuration to\nprovide an admin panel to allow site administrators to create access groups\nand assign courses to them.\n\nLearners upon registration will be automatically\nassigned to a specific group, from which it'll be possible to see which\ncourses they'll be able to see and enroll in.\n\nThe classic example is that you'd want to offer different courses to your\n``customers``, ``employees`` and offer some courses for everyone. Hence you'd\nneed to make two groups and assign courses to only learners within those\ngroups while mark some courses as public ones.\n\nDocumentation\n-------------\n\nThe full documentation is at https://course-access-groups.readthedocs.org.\n\n\n.. _supported_open_edx_version:\n\nSupported Open edX Version\n--------------------------\n\nThe bad news, there's none. The good news is that there's a plan to make it\nwork with the upstream Open edX versions out of the box.\n\nThe even better news, is that you can get this plugin to work by\ncherry-picking the following pull requests:\n\n * The `Access Control Backends pull request`_.\n * The `USER_ACCOUNT_ACTIVATED signal`_.\n * The `edx-search integration with the \"has_access\" function`_.\n\n.. _Access Control Backends pull request: https://github.com/appsembler/edx-platform/pull/491\n.. _USER_ACCOUNT_ACTIVATED signal: https://github.com/edx/edx-platform/pull/23296\n.. _edx-search integration with the \"has_access\" function: https://github.com/appsembler/edx-search/pull/12\n\nLicense\n-------\n\nThe code in this repository is licensed under the MIT License unless\notherwise noted.\n\nPlease see ``LICENSE.txt`` for details.\n\nHow To Contribute\n-----------------\n\nContributions are very welcome.\n\nEven though they were written with ``edx-platform`` in mind, the guidelines\nshould be followed for Open edX code in general.\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 <https://github.com/appsembler/course-access-groups/blob/master/.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 <https://github.com/appsembler/course-access-groups/blob/master/.github/ISSUE_TEMPLATE.md>`_.\n\nReporting Security Issues\n-------------------------\n\nPlease do not report security issues in public. Please email security@appsembler.com.\n\nGetting Help\n------------\n\nHave a question about this repository, or about Open edX in general?  Please\nrefer to this `list of resources`_ if you need any assistance.\n\n.. _list of resources: https://open.edx.org/getting-help\n\n\n.. |pypi-badge| image:: https://img.shields.io/pypi/v/course-access-groups.svg\n    :target: https://pypi.python.org/pypi/course-access-groups/\n    :alt: PyPI\n\n.. |codecov-badge| image:: http://codecov.io/github/appsembler/course-access-groups/coverage.svg?branch=master\n    :target: http://codecov.io/github/appsembler/course-access-groups?branch=master\n    :alt: Codecov\n\n.. |doc-badge| image:: https://readthedocs.org/projects/course-access-groups/badge/?version=latest\n    :target: http://course-access-groups.readthedocs.io/en/latest/\n    :alt: Documentation\n\n.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/course-access-groups.svg\n    :target: https://pypi.python.org/pypi/course-access-groups/\n    :alt: Supported Python versions\n\n.. |license-badge| image:: https://img.shields.io/github/license/appsembler/course-access-groups.svg\n    :target: https://github.com/appsembler/course-access-groups/blob/master/LICENSE.txt\n    :alt: License\n\n\nChange Log\n----------\n\n..\n   All enhancements and patches to course_access_groups will be documented\n   in this file.  It adheres to the structure of http://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 (http://semver.org/).\n\n.. There should always be an \"Unreleased\" section for changes pending release.\n\nUnreleased\n~~~~~~~~~~\n\n[0.6.0] - 2022-08-17\n~~~~~~~~~~~~~~~~~~~~\n\n * Use tahoe-sites v0.1.2 and refactor related code:\n * Bump django from 2.2.26 to 2.2.27\n * Bump pillow from 9.0.0 to 9.0.1\n * Bump django from 2.2.27 to 2.2.28\n * Bump lxml from 4.6.2 to 4.9.1\n * Added tests for modifying membership rule.\n * Fixed documentation for modifying the membership rule.\n\n[0.5.3] - 2022-01-31\n~~~~~~~~~~~~~~~~~~~~\n\n * Bump pillow from 7.2.0 to 9.0.0\n * Bump django from 2.2.25 to 2.2.26\n * Fix ValueError for inactive users' REGISTER_USER singal\n\n[0.5.2] - 2022-01-05\n~~~~~~~~~~~~~~~~~~~~\n\n * Fix MembershipRule for SSO learners\n\n[0.5.2] - 2021-12-29\n~~~~~~~~~~~~~~~~~~~~\n\n * Bump pillow from 7.2.0 to 8.3.2\n * Bump sqlparse from 0.4.1 to 0.4.2\n * Tests and docs fixes for membership rule PATCH\n * style doc fix for MembershipRule API\n * Bump lxml from 4.6.2 to 4.6.5\n * Bump django from 2.2.24 to 2.2.25\n * add organization_uuid parameter for superusers\n\n[0.5.1] - 2021-09-01\n~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* log exceptions for the USER_ACCOUNT_ACTIVATED signal\n\n\n[0.5.0] - 2021-07-14\n~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n * Fixes for Django 2.x\n\nRemoved\n_______\n\n * Dropped support for Python 2.x and Django 1.x\n\n[0.4.0] - 2021-01-27\n~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* Support python3 and django2\n\n[0.3.0] - 2020-04-06\n~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* Added new APIs /courses/ and /users/\n* Few bug fixes\n\n\n[0.2.0] - 2020-03-11\n~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* First release to be ready for deployment in staging environments.\n\n[0.1.0] - 2019-11-26\n~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* First release on PyPI.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "An Open edX plugin to customize courses access by grouping learners and assigning different permissions to groups.",
    "version": "0.6.0",
    "split_keywords": [
        "django",
        "appsembler"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "61dc81cde6a6462886332e72cb0c270b",
                "sha256": "95a3794910511f4b156b2487aa975a332a2596a015c9af3264430f9db0f06a44"
            },
            "downloads": -1,
            "filename": "course_access_groups-0.6.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "61dc81cde6a6462886332e72cb0c270b",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 20298,
            "upload_time": "2022-08-18T10:48:32",
            "upload_time_iso_8601": "2022-08-18T10:48:32.248181Z",
            "url": "https://files.pythonhosted.org/packages/36/6b/ada2fa5bc559ac08cb5054072bba0d452bc895963456908bd16fb80386d4/course_access_groups-0.6.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "916e8b092bcccc691b711f82c7d4b4f1",
                "sha256": "7373a0cdeba9d5b0fcea1fa8993e58fdb81ed6d6f261e4e5f1a503a0e0b388d9"
            },
            "downloads": -1,
            "filename": "course-access-groups-0.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "916e8b092bcccc691b711f82c7d4b4f1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 17628,
            "upload_time": "2022-08-18T10:48:33",
            "upload_time_iso_8601": "2022-08-18T10:48:33.963790Z",
            "url": "https://files.pythonhosted.org/packages/1a/73/67deb7a083ed8a4d3d7cb2c9bd69a8a07a55374cd094f15ef8515cd3fd10/course-access-groups-0.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-08-18 10:48:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "appsembler",
    "github_project": "course-access-groups",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "course-access-groups"
}
        
Elapsed time: 0.48289s