This year, the Open edX Conference will be held from July 2 – 5, 2024 in Stellenbosch, South Africa. I’m […]
Arguably, one of the biggest things about the most recent Open edX release, Koa, is that it officially supports the deployment of (some of) the newfangled micro-frontends edX has been putting out. Among them is edX Publisher, also known as frontend-app-publisher, and we at OpenCraft feel it warrants some introduction in addition to what’s in the README - much like we did for the Gradebook MFE.
(You’ll see this post duplicate some of what’s in the README. Don’t sweat it, we’re not plagiarizing; we wrote that too!)
Contrary to some of the Open edX IDAs, running Publisher is completely optional. As such, it may not be easy to decide whether you have a pressing need for it. This post’s raison d'être is to help you decide. (And if the text doesn’t live up to it, it’ll at least tell you how to try it out for yourself!)
Let’s start by looking at what Publisher is not.
You guessed it. Publisher is not a course authoring tool. And it definitely doesn’t replace Studio for the editing of course content.
However, it does fill the same niche that some Studio features do, particularly as they relate to creating and editing course metadata. Put simply, if you use Publisher, you’ll no longer use Studio when creating courses, configuring their settings, writing about pages, and instantiating course runs. You’ll do so via Publisher - but will still go to Studio to flesh out course content.
edx created Publisher primarily to make it possible for courses to undergo a draft, review, and publish cycle, in a workflow that resembles Github reviews:
This is not all, though. In implementing the above, Publisher also:
Publisher is most useful for organizations that:
If your organization doesn’t fall into one of the above, Publisher can still be useful but will likely not be considered mission-critical.
Sure thing! Let’s start by using it on a devstack. It’s rather easy: just follow the devstack setup instructions. The default setup will get you a basic frontend-app-publisher instance all ready to go!
Once your devstack is up and running, open a browser and direct it to https://localhost:18400. If you’re not already logged in to the LMS, use the default “edx@example.com” account, with password “edx”. Once in, this is what you’ll see:
Note: If you get a connection reset error, the MFE likely did not finish compiling. It's sensitive to slow internet connections, and does not like being behind a proxy. Check if it was compiled correctly via make frontend-app-publisher-logs.
You might recognize the demonstration course: this is the same one that has shipped with the devstack for as many years. And above it, note the ability to create a new course, filter by status (“In review”, “Published”, “Scheduled”, and “Unsubmitted”), and search by name. Quite an improvement over Studio!
If you click on the demonstration course, you’ll see a page where you can edit the course’s metadata and create runs.
Not really, no. This is just a presentation-layer feature that makes it easier to manage metadata. From the point of view of the learner using the LMS, it’s still all runs.
They’re much easier to create with Publisher, though. Simply click on “Add Course Run”, and after configuring it, you’ll see it “Unpublished”, like the Jan-25-2021 one you can see above. After you set all the run’s metadata, you can submit it for review by course staff with the click of a button:
This is probably enough for you to get the gist. For a more detailed feature-by-feature guide, refer to the Introduction to Publisher chapter of the courseware development documentation.
Note: Can’t get comments working? That’s probably because to do so you must first configure integration with Salesforce. See this decision document in the course-discovery repository. In essence, if you don’t have a Salesforce account, you’re out of luck.
As an MFE, Publisher must communicate with other Open edX IDAs to do its job. The three whose APIs are consumed directly can be gleaned from its default environment files: LMS, Studio, and Discovery. The first two are a given, but for proper functioning of Publisher one needs to set up Discovery. Discovery must be made aware that Publisher is in use via the ENABLE_PUBLISHER setting. It will then be responsible for integrating course runs into other Open edX services such as eCommerce and Programs.
Both Studio and the LMS use of the same ENABLE_PUBLISHER setting, but its primary effect is to forbid the editing of course about pages in Studio. (The relevant fields actually disappear from the /settings/details page for a course.) This makes sense, as producing about pages is Publisher’s main purpose, after all.
Can’t get Publisher to work, or want a demonstration? Get in touch! We’ll lend you a hand!
Cover image: "Print press" by Herkie is licensed under CC BY-SA 2.0
This year, the Open edX Conference will be held from July 2 – 5, 2024 in Stellenbosch, South Africa. I’m […]
The arrival of new AI technology has sent the world of online education abuzz. The new technologies have brought new […]
Open edX presents Content Tagging! "Tagging" has been a long-requested feature for managing content in Studio, and now OpenCraft is finally designing and […]