Cause
By default, a registered user of studio can create a course that does not appear to be the usual usage scenario, and the platform owner prefers a review to allow the user to publish the course
Ideas
Read the wiki!!
For the novice who is tossing edx, I think the first job is two points:
1. Let the platform run up
2. Read through the wiki (configuration wiki and edx-platform wiki)
If you read through the wiki, most of the problems in the initial stages are not really a problem.
Solution Solutions
It is said that now the popular chicken soup must be given a spoon, I will write down an operational solution.
As the official tutorial basically, there are a few of the official wiki is not clear enough, I added their own understanding, no direct translation, not exactly according to their practice, in the local test available, you want to follow the practice of the wiki, you can read the text after the English wiki. Or you can do it with me, if you have any questions, e-mail me:)
Methods a few concepts
The difference between the Is_staff at the Django site level and the course staff at the course level first has to be distinguished from the Site content editor (like login admin), which is only as a member of the course team, has the right to edit the course content, It's application level (no understanding, no relationship)
Allow only users who are marked as Is_staff to create courses
The Course team member (course staff) can still edit the course content after the following settings, while creating the course needs to be approved as a is_staff user. This is logically understandable, as long as the internal members of the platform recognize the ability to create the course
As for how to set the user's is_staff to Yes, you will need to log in to admin using an administrator account, change the Auth table on the line (/admin/auth/user)
Prohibit general users from creating courses
cd /edx/app/edxapp/edx-platform
Changes edx-platform/cms/envs/common.py
added in features‘DISABLE_COURSE_CREATION‘: True
To mark a user as Is_staff
./manage.py lms set_staff emailaddress
The above is the command line version, I prefer to go directly to the admin tag: Use the Super account login to admin, and then go to the Auth user table (/admin/auth/user), select the appropriate user, tick the mayors item on the line
Set up a contact mailbox
If you do the above settings, then the general registered user can not create a course by default, and he does want to create, how does he ask you to mark him as Is_staff?
cd /edx/app/edxapp/edx-platform
Changes edx-platform/cms/envs/common.py
are added in features ‘STUDIO_REQUEST_EMAIL‘:YOUR_EMAIL_ADDRESS
, this mailbox will receive the user's request
Restart Edxapp
sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf restart edxapp:
Ps:birch version is somewhat different, instead:sudo /edx/bin/supervisorctl restart edxapp:
Method Two:
Method one feels somewhat hack, the following scheme seems more elegant
Selectively allow courses to be created
Users who have been marked as Is_staff are not affected by the following methods and can always create courses
Enable Course creation permissions
cd /edx/app/edxapp/edx-platform
Changes edx-platform/cms/envs/common.py
added in features it ‘ENABLE_CREATOR_GROUP‘: True
is important to note that if you adopt this scenario, the reference in scenario one DISABLE_COURSE_CREATION
should not be True
, because DISABLE_COURSE_CREATION
the priority is higher
cd/edx/app/edxapp/edx-platform# Update Database sudo-u www-data/edx/bin/python.edxapp./manage.py cms syncdb--migrate-- Settings AWS--migrate–noinput# Restart Edxapp, the birch version is somewhat different, instead: Sudo/edx/bin/supervisorctl
User Workflow
If you set Enable_creator_group to True, the workflow for a new studio user is this:
- The user creates a new account, and their status in admin table is "not requested".
- When the user enters the studio panel, they will see a message about how to become the creator of the course
- The user can send a request to create a course so that their status becomes "pending".
- If their request is passed, they will receive a notification e-mail
- If the request does not pass, they will also receive a notification e-mail
Course Creator Management
The corresponding management address is/admin/course_creators/coursecreator/
Set up a contact mailbox
Same as Method one
Process the existing course creator
If you want to grant permission to an existing course creator, you can go through this directive ./manage.py cms populate_creators
(well, you have to be in the Edx-platform directory first of All)
Controlling user creation of course permissions