March 2, 2022

Bypass Set Course Mode for Create and Activate Certificate in Studio Open edX

Activities, Android Developer, Ansible, Apache2, Atlassian, Ayo Belajar Linux, Bestpath Network, BLC Telkom Klaten, BSD, Caddy Server, Case Study, Cisco, Cisco Indonesia, Cloud Computing, Cockpit, Custom Weapons, Docker, E-Learning, Engenius, Error, FreeBSD, FreeBSD Indonesia, Komunitas Pengguna Linux Indonesia, KPLI Bulukumba, KPLI Klaten, Let's Encrypt, Linux, MacOS, Microsoft Azure, Microsoft SQL Server, MikroTik, MikroTik Indonesia, MySQL, Nginx, Open edX, OpenSID, Others, PHP, phpMyAdmin, PostgreSQL, Proxmox, Python, Redash, Sendy, SSH, Stories, Subnetting, TP-Link, Ubiquiti, Unix, Virtualization, Windows, X-Mosque, Faizar Septiawan, Icar, siBunglonGanteng, Orang Ganteng, siBunglonLabs

By default from Open edX, you need to perform several steps to add and activate certificates in courses such as adding course modes, adding course certificates, activating certificates, etc.

But things can be simplified, you can add and activate certificates without adding course mode.

Note: It is recommended that you set the enrollment mode default to honor, so that courses participants can generate certificates.

  1. Go to Open edX server console.

  2. Open and edit file /edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/certificates.py.

  3. Find the following codes snippet:

    ...
      course_modes = [
          mode.slug for mode in CourseMode.modes_for_course(
              course_id=course.id, include_expired=True
          ) if mode.slug != 'audit'
      ]
    ...
    
  4. Then update the code, remove part if mode.slug != 'audit'. See the following codes snippet:

    ...
      course_modes = [
          mode.slug for mode in CourseMode.modes_for_course(
              course_id=course.id, include_expired=True
          )
      ]
    ...
    
  5. Restart CMS services.