openedx / platform-roadmap

Tracking the maintenance, enhancement, and advancement of the Open edX project.
11 stars 0 forks source link

Proposal: Certificates Templates Library (Studio UI) #370

Open juliakudriavtseva opened 1 month ago

juliakudriavtseva commented 1 month ago

Abstract

The primary objective of this proposal is to enhance the efficiency of the certificate configuration process for course creators. This improvement targets the needs of course creators who operate within a platform offering multiple courses for diverse learners, each requiring certificates with distinct templates.

The goal will be accomplished by developing tools that enable course authors to select specific templates from the pre-existing certificate templates library, which is managed by the platform administrator.

Implementing this proposal will provide several key benefits:

Detailed Product Proposal

No response

Context & Background (in brief, if a Product Proposal is linked above)

Open edX platform serves a diverse range of educators and learners, offering multiple courses across various disciplines. As the demand for online education continues to grow, so does the need for a streamlined and flexible approach to certificate issuance.

Currently, OeX platform provides a certificate templates library, managed by administrators, which houses a variety of pre-designed certificate templates. However, course creators don’t have an efficient mechanism to select and apply these templates to their courses within the Studio UI. This gap not only leads to the lack of course author’s autonomy and efficiency in managing their course certificates, but also increases the administrative burden on platform managers.

Scope & Approach (in brief, if a Product Proposal is linked above)

Scope of features

Basic Certificate Template Usage

As a course author, I want to select and use a single certificate template from the library for all learners in my course so that I can quickly issue certificates using pre-existing templates without additional configuration.

Certificate Previews for a Template

As a course author, I want to preview certificate with selected template in Certificate Settings so that I can ensure it meets my course requirements.

Value & Impact (in brief, if a Product Proposal is linked above)

The primary beneficiaries of this initiative are educational institutions and organizations aiming to serve a diverse audience of learners, including:

1. Educational Institutions with Blended Study Programs:

Institutions offering online degree programs and certification courses will benefit from the ability to efficiently issue professional certificates. Universities that offer a variety of programs, such as undergraduate degrees, postgraduate degrees, and professional certifications, will be able to issue distinct certificates with appropriate branding and design requirements.

2. Corporate Training Providers that Work with Larger Organizations:

Companies that offer internal training programs and professional development courses can streamline the certificate issuance process for employees. Large corporations that provide training in different areas (e.g. leadership development, technical skills, compliance training, language proficiency) will be able to distinguish between internal training certifications, external professional development courses, and mandatory compliance training certificates, aligning with the corporate branding for each department or training type.

3. Non-Profit Organizations and NGOs:

Organizations focused on educational outreach and development can issue certificates for different training programs and workshops. NGOs providing educational programs in underprivileged areas can use different templates for each program to reflect the unique focus and objectives of the course, offering tailored recognition of the skills acquired.

4. Others:

Additionally, the certificate template library will be highly beneficial for any course author or course-provider organization. By allowing users to select a template from this library, the system increases efficiency and flexibility in certificate creation.

Milestones and/or Epics

Milestone 1: Basic Certificate Template Usage and Preview

Basic Certificate Template Usage

As a course author, I want to select and use a single certificate template from the library for all learners in my course so that I can quickly issue certificates using pre-existing templates without additional configuration.

Acceptance criteria (AC):

  1. The Course Author should be able to choose a certificate template from the instance's certificate template library in the course certificates settings interface in the CMS;
  2. The Course Author should be able to configure general certificate settings, such as course details and signatories, for the certificate that uses the selected template;
  3. When the certificate is activated, all certificates for all learners in the course should be generated using the selected certificate template;
  4. If the course author does not select a certificate template from the library, the platform should generate certificates for learners using the default certificate template specified by the Admin.

image

Certificate Previews for a Template

As a course author, I want to preview certificate with selected template in Certificate Settings so that I can ensure it meets my course requirements.

Acceptance criteria (AC):

  1. The Course author should be able to access a preview of a certificate template in the Certificate Settings interface of the CMS.

Named Release

Sumac

Timeline (in brief, if a Product Proposal is linked above)

TBD

Proposed By

Raccoon Gang

Additional Info

No response

github-actions[bot] commented 1 month ago

Thanks for your submission, @openedx/openedx-product-managers will review shortly.

jmakowski1123 commented 1 month ago

Thanks so much for submitting, @juliakudriavtseva! Overall, this sounds like it would deliver a lot of value for users, and also aligns with the overall platform goals to enhance customization. I have a couple of questions.

  1. Your user stories are really helpful, thanks for putting those together. I want to make sure I understand the scope of what you're proposing to pull out of Django and into the CMS. Would the process of creating certificate templates remain in the Django admin, and the CMS would contain the library of pre-created templates? Or would the process of creating templates be pulled into the CMS as well? Out of these current Django admin capabilities, which ones are you targeting?
Screen Shot 2024-07-18 at 10 51 16 AM
  1. From a Core Product perspective, I define the capability of creating, customizing and generating certificates as part of the core. However, to maximize customization potential here, I wonder if we should explore implementing this via a front-end plugin in Studio. In other words, what would it look like to make the Certificates setting in Studio a pluggable slot? As a platform, we should support a basic feature that enables certificate templates to be created, and we should also support a basic library of re-useable templates. But if that were developed as a plugin, it would open the door to making certification customization extensible. What are you thoughts? Also tapping @arbrandes for feasibility input? The Certificates space in Studio accomplishes a couple of different functions, so would that need to translate into multiple slots?
Screen Shot 2024-07-18 at 10 53 29 AM
  1. I'd also like to tap Scott Dunn and @e0d if there's any overlap here with the credentialing service?

  2. Is this a project RG is already planning to take on? Does it have implementation resources allocated?

GlugovGrGlib commented 1 month ago

Hi @jmakowski1123

I can address some questions and wanted to provide more context around the latest work on credentials.

  1. This wasn't described in details, but I believe initially we proposed continuing with the Django admin approach. In the second milestone, however, we need to consider exposing HTML editing and asset uploads into the CMS UI. In my opinion, it might be useful to implement functionality to create and configure new certificate templates outside the course context and make it accessible from the CMS Home Page, what do you think? I still believe both milestones could potentially be completed before Sumac.

  2. That's a great idea, and we should definitely do it! Meanwhile, it was discussed today in the Frontend Working Group that all plugin slots should have specific names, similar to Hooks in Python code. Extending the course certificate page with additional custom fields to display on the certificate is likely the most common customization, but we should reach out to the community for suggestions on useful customizations for the Certificates page. This way, we can introduce standardized slots on this page.

  3. We are currently working on the proposal for the next phase of the credentials-sharing initiative, which we plan to discuss with Scott and Ed by the end of this month. The items prioritized and that potentially can be completed before Sumac do not overlap in these proposals, as the credentials-sharing proposal focuses on micro-credentials, not Course Certificates. However, future phases for both initiatives depend on finalizing the architectural decision about migrating the Course Certificates from the LMS to the Credentials service, an idea that has been considered since 2020-2021 but has not yet been decided.

  4. RG has development resources to deliver initial phases of this functionality before Sumac. However, RG is looking for a sponsor for the Certificates Templates Library initiative.

juliakudriavtseva commented 1 month ago

Hi @jmakowski1123 !

Glib is right: As of now, we propose to leave the certificate templates configuration in Django admin, while the template selection for a specific course will be implemented in the CMS. This looks like a fairly simple change that can drastically improve the user experience and provide course creators with a significant amount of independence. However, in future milestones, we plan to expand certificate customization exactly as Glib described: providing course creators with a certificate editor within the CMS UI.

jmakowski1123 commented 1 month ago

Thanks @GlugovGrGlib and @juliakudriavtseva ! I agree that a good first step, an MVP, is to simply create the template selection/template library in Studio, and then explore template creation outside of django in future phases.

As for that second stage, I think we'll need to do some discovery work to confirm that it makes sense to keep the workflow for creating certificate templates outside of the course context. This might be a good protoype concept for an administrator dashboard, which also doesn't exist yet but that we've been talking about for a long time.

And good idea for getting community input on customizations for the certificate page. Maybe starting with a forum post? And I'm happy to reach out to a few users as well. Let's centralize findings in Wiki, I've created a space for this project: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/4354703383/Certificate+Templates+Library+in+Studio

marcotuts commented 1 month ago

Having dealt many years ago with the existing Django admin certificate templates and customized template generation (shudder) - It may be helpful also to consider ways of linking the "Certificate html view configurations" with associated "Certificate assets" etc.

As I recall, an HTML template was stored in the first area, and CSS / JS was stored in the second area, and the only link was if you happened to reference the right CSS / JS in the HTML file you generated.

Being able to say that a certificate template A is a bundle of the necessary HTML / JS / CSS might be helpful, compared to the manual and error prone approach for custom HTML certs today.

Thanks for pushing this forward!

juliakudriavtseva commented 3 weeks ago

Hi everyone! Thanks for your input to this proposal!! @jmakowski1123 , so, if I understood correctly, we can now go on with the iteration 1 solution (template selection in CMS) while also preparing the 2nd iteration's proposal (or even several proposals): certificate editing for course creators, general improvements on certificate page and user flow etc, right? I am planning to gather all the ideas and insights and decompose them into tangible tasks so we can create a plan and move forward with it