Skip to content

Releases: openedx/edx-organizations

Dropped support for python3.5

12 Jan 10:15
054a5e8
Compare
Choose a tag to compare

Package Updates:

  • Dropped support for python3.5
  • Added tests for Django3.0 & Django3.1.

Dropped support for python3.5

12 Jan 08:48
bb51faa
Compare
Choose a tag to compare

Package Updates:

  • Dropped support for python3.5
  • Added tests for Django3.0 & Django3.1.

Allow organizations and linkages to be bulk-added as inactive

06 Jan 20:27
f7c4b7f
Compare
Choose a tag to compare

Add a new optional flag activate to both:

  • api.bulk_add_organizations and
  • api.bulk_add_organization_courses,
    defaulting to True, which is the current behavior.

With activate=False, those functions will set the active flag on newly created objects to False. Furthermore, they will not re-activate any existing objects. The purpose of this is to allow us to backfill the Organization and OrganizationCourse tables on production instances without introducing any new active data. We intend to expose this flag as a command-line flag in the edx-platform bulk_add_orgs_and_org_courses command.

This release also upgrades testing requirements and makes some minor code changes.

No breaking changes.

Return bulk-add results instead of logging them

14 Dec 23:21
46ce3e7
Compare
Choose a tag to compare

api.bulk_add_organizations and api.bulk_add_organization_courses previously logged the organizations and organization-course linkages they were about to create/reactivate.

This was somewhat helpful, but parsing the log output by hand is more time-consuming and error prone than simply returning the data and allowing the caller decide how to process it

Part of TNL-7774.

Stop checking for FEATURES['ORGANIZATIONS_APP'] setting

10 Dec 20:23
4ee55b0
Compare
Choose a tag to compare

We originally checked the deprecated FEATURES['ORGANIZATIONS_APP'] setting as an alternative to the new ORGANIZATIONS_AUTOCREATE settting, but since we're going to give ORGANIZATIONS_AUTOCREATE a default value in edx-platform anyway, the fallback check will never even be reached. Having the fallback check in the edx-organizations codebase is more misleading than anything else.

This is effectively a no-op change.

Related to TNL-7646.

Fixes to bulk-creation queries

30 Nov 21:15
Compare
Choose a tag to compare

Fixes database queries in api.bulk_add_organizations and api.bulk_add_organization_courses.

Part of TNL-7646.

Add dry-run option to bulk_add functions

25 Nov 22:07
ed0381d
Compare
Choose a tag to compare

api.bulk_add_organizations and api.bulk_add_organization_courses each take an new optional boolean argument: dry_run.

When dry_run==True, the bulk-add functions will log what organizations and organization-course linkages would be created or reactivated,
but they will not apply the changes to the database.

Part of TNL-7646.

Add API functions for bulk-adding organizations & organization-courses

17 Nov 14:51
Compare
Choose a tag to compare

Two new functions were added to organizations.api:

  • bulk_add_organizations(organization_data_items)
  • bulk_add_organization_courses(organization_course_pairs)

Both use Django's bulk_create and bulk_update functions to allow insertion of many rows in a constant number of queries. They will aid in the creation of the upcoming edx-platform backfill_orgs_and_org_courses management command.

The release also resolves some trivial RemovedInDjango40Warnings.

No breaking changes since 6.0.0.

Part of TNL-7645.

Make organization short_names unique

13 Nov 14:43
Compare
Choose a tag to compare

The short_name field on the Organization model has been made unique.

This makes the model reflective of a reality that already exists on edX.org, and realizes an informal assumption that we make throughout edx-platform code.

For Open edX instances that enable FEATURES['ORGANIZATIONS_APP'], running this migration will fail if you have rows in the LMS/Studio organizations_organizationtable with identical values of short_name (noting that "identical" is case-insensitive for MySQL). If your instance has organizations with identical short_names, the easiest fix is to delete conflicting rows via Django admin (making sure that they have no inbound references from other model instances), and the re-attempting to run the migration. You probably would have wanted to do this anyway.

Add API functions to support phase-in of database-backed organizations

19 Oct 21:51
Compare
Choose a tag to compare

See ADR #1 for context.

In this PR, we add four new API functions to support the phase-in of database-backed organizations:

  • is_autocreation_enabled
  • ensure_organization
  • get_course_organization
  • get_course_organization_id

There are no breaking changes in this release. A follow-up release (6.0.0) with breaking changes will be necessary.