Enterprise support?

I am always surprised to see in the LMS logs reference to /enterprise/api/v1/enterprise-learner/ after trying a payment while we do not use any of the enterprise support. Is there a setting we may have forgotten to set or disabled?

This was the case in Native for Koa and it is still the case in Tutor for Nutmeg.

Any help would be greatly appreciated.

1 Like

Example:

2022-11-14 11:44:01,685 INFO 7 [tracking] [user None] [ip 18.188.138.103] logger.py:41 - {"name": "/enterprise/api/v1/enterprise-learner/", "context": {"user_id": null, "path": "/enterprise/api/v1/enterprise-learner/", "course_id": "", "org_id": "", "enterprise_uuid": ""}, "username": "", "session": "", "ip": "18.188.138.103", "agent": "python-requests/2.27.1 edx-rest-api-client/5.4.1 172.18.0.13", "host": "test-cours.edulib.org", "referer": "", "accept_language": "", "event": "{\"GET\": {\"username\": [\"sambapete\"]}, \"POST\": {}}", "time": "2022-11-14T16:44:01.685455+00:00", "event_type": "/enterprise/api/v1/enterprise-learner/", "event_source": "server", "page": null}

ENABLE_ENTERPRISE_INTEGRATION is still set to false, but I do see that the ecommerce plugin sets these environment variables:
ENTERPRISE_SERVICE_URL
ENTERPRISE_API_URL

Maybe it should only set it if ENABLE_ENTERPRISE_INTEGRATION is true?

These variables were introduced in this PR to resolve this issue. It seems that (once again) we need to define complex settings because of intricate service dependencies. The changes were introduced in Ironwood, I’m not sure whether they are still needed in Nutmeg.

1 Like

Thanks for the explanation @regis
It’s greatly appreciated.

And you helped me discover that even in Koa under Native, these variables were set as part of ecommerce’s base.py and local.py settings with default values even if you did not enable ENABLE_ENTERPRISE_INTEGRATION in edx-plaform.

Intricate service dependencies like you say…

If this is not the appropriate place to ask this question please redirect me. I’m proposing to my organization and developers to adopt edx-enterprise (GitHub - openedx/edx-enterprise) for our Open edX LMS used for training our application’s end user. I reviewed available documentation on GitHub and think I understand the basic concept for how edx-enterprise functions. BUT… I NEED TO VERIFY IF I COMPREHEND IT’S FEATURES AND APPLICABILITY FOR OUR PARTICULAR USE CASE.

The following is how I interpret what I read for how edx-enterprise could be used in our organization:

** Our Open edX Enterprise System will have 2000 Enterprise Customers distinguished by an UUID *

** Each Enterprise Customers has 10 Enterprise Learners which are assigned one of 10 User Roles*

** There are 1000 Enterprise Courses grouped into 10 Enterprise Programs. There is one Enterprise Program for each of the 10 different User Roles*

** Using custom API’s within a proprietary software application, that EACH Enterprise Customer runs, Enterprise Learners accounts will be “automatically” created, activated/deactivated, Linked/Unlinked, and updated for changes. The custom API’s will relay the Enterprise Learners Username, User Password, User Role, associated Enterprise Customers UUID and users’ employment status to the Open edX Enterprise System*

** CAVEAT: Not all Enterprise Customers will want all of the Enterprise Courses that are grouped into the 10 different User Role based Enterprise Programs. This will be known prior to creating a new Enterprise Customers. When such a new Enterprise Customers is created and added to the Open edX Enterprise System, an Enterprise Admin User will modify that Enterprise Customer’s Enterprise Program’s course offering to withhold presenting unwanted Enterprise Courses to their Enterprise Learners.*

ANY COMMENTS OR CLARIFICATIONS TO MY THOUGHTS/UNDERSTANDING OF ENTERPRISE WILL BE GREATLY APPRICIATED. Thanks, Richard G