Content Operations

LearningDITA: DITA-based structured learning content in action

Are you considering a structured approach to creating your learning content? We built LearningDITA.com as an example of what DITA and structured learning content can do! In this episode, Sarah O’Keefe and Allison Beatty unpack the architecture of LearningDITA to provide a pattern for other learning content initiatives.

Because we used DITA XML for the content instead of the actual authoring in Moodle, we actually saved a lot of pain for ourselves. With Moodle, the name of the game is low-code/no-code. They want you to manually build out these courses, but we wanted to automate that for obvious reasons. SCORM allowed us to do that by having a transform that would take our DITA XML, put it in SCORM, and then we just upload the SCORM package to Moodle and don’t have to do all the painful things of, you know, “Let’s put a heading two here with this little piece of content.” And the key thing is that allowed us to reuse content.

— Allison Beatty

Related links:

  • Self-paced, online DITA training with LearningDITA.com
  • Structured authoring and XML (white paper), which is also included in our book, Content Transformation
  • Confronting the horror of modernizing content
  • The benefits of structured content for learning & development content
  • Get monthly insights on structured learning content, content operations, and more with our Illuminations newsletter

LinkedIn:

  • Sarah O’Keefe
  • Allison Beatty

Transcript:

Introduction with ambient background music

Christine Cuellar: From Scriptorium, this is Content Operations, a show that delivers industry-leading insights for global organizations.

Bill Swallow: In the end, you have a unified experience so that people aren’t relearning how to engage with your content in every context you produce it.

Sarah O’Keefe: Change is perceived as being risky, you have to convince me that making the change is less risky than not making the change.

Alan Pringle: And at some point, you are going to have tools, technology, and process that no longer support your needs, so if you think about that ahead of time, you’re going to be much better off.

End of introduction

Sarah O’Keefe: Hi everyone, I’m Sarah O’Keefe.

Allison Beatty: And I’m Allison Beatty.

SO: And in this episode, we’re focusing in on the LearningDITA architecture and how it might provide a pattern for other learning content initiatives, including maybe the one that you, the listener, are working on. We have a couple of major components in the learningDITA.com site architecture. We have learner records for the users. We have e-commerce, the way we actually sell the courses and monetize them. That is my personal favorite. And then we have the content itself and assorted relationships and connectors amongst all those pieces. So I’m here with Allison Beatty today, and her job is to explain all those things to us because Allison did all the actual work. So Allison, talk us through these things. Let’s start with Moodle. What is Moodle and what’s it doing in the site architecture?

AB: Okay. So Moodle is an open-source LMS that we-

SO: What’s an LMS?

AB: Learning management system, Sarah.

SO: Thank you.

AB: And we installed Moodle, our own instance of Moodle and customized it as we saw fit for our needs. And that is the component that acts as the layer between the content and the learning experience. So without the Moodle part, it’s just a big chunk of content that you can’t really interact with. And Moodle gives that a place to live.

SO: And then Moodle has the learner records, right?

AB: Yes.

SO: And what about groups? What does that look like?

AB: In Moodle, there’s a cohort functionality which allows us to use groups so that a manager can buy multiple seats and assign them to individuals and keep track of their course progress through group registration rather than individual self-service signups.

SO: So if I were a manager of a group that needs to learn DITA, instead of having to send five or 10 or 50 people individually to our site, I could just sign up once and buy five or 10 or 50 seats in a given course and then assign those via email addresses to all of my people, right?

AB: Exactly.

SO: Okay. So then speaking of buying things, we had to build out this e-commerce layer, which I was apparently traveling the entire time that this was going on, but I heard a lot of discussion about this in our Slack. So what does it look like? What does the commerce piece look like?

AB: Yeah. So it is a site outside of the actual learningDITA.com Moodle site that has a connector into Moodle so that you can buy a course or a group registration in the store, and then you get access to that content in Moodle.

SO: So we have this site, this actually separate site, and if you’re in there, you can do things like buy a course or buy a collection of courses or a number of seats. And then what were some of the fun complications that we ran into there?

AB: Oh yeah. So the fun complications there were figuring out how to set up an commerce site that A, connected to Moodle so that we could sell the courses, and B was able to process taxes and payments and all of that fun stuff. So Moodle has PayPal as a feature just out of the box and the base Moodle source code. But we wanted to accept credit cards directly and so that meant some additional layers, which is how we ended up with the store.scriptorium.com site, which is built on WordPress and uses a connector, the aforementioned connector, to make those two sites talk to each other. So they’re actually, the LMS and the e-commerce piece are totally separate websites, but exist within the same system environment.

SO: And most of you listening to this probably don’t care, but one of the things we learned was that digital training, downloadable training content is sometimes subject to sales tax and sometimes not, depending on the particular state or the particular jurisdiction. So it’s not just, what is sales tax in North Carolina versus what is sales tax in Washington state versus what is it in Oregon? But additionally, in each jurisdiction is this type of training subject to sales tax or not. So we spent a more than optimal amount of time on figuring out all of those things and making sure we get it right, because I’m extremely interested in making sure that those taxes are done correctly and keep us out of trouble.

AB: And the basic PayPal and Moodle wasn’t going to give us that level of granular control and specification.

SO: And typically our customers are looking to pay via credit card. So we’ve got the LMS piece with the learner experience, the actual learning platform. We’ve got the e-commerce piece with the Let’s Take Money piece. And then finally we have the content piece. So what does it look like to actually create these courses and create and manage the content that then eventually goes into Moodle?

AB: Yeah. So the content does have a single source of truth. It is all authored in DITA XML and stored in a central repository. You can see that content in GitHub. It’s open source. We took the DIT XML and we developed a SCORM transform that we could use to hook the content up into Moodle and be able to use all of the grading and progress and prerequisite type things that we needed to flush out the actual learning platform. We had learned a fun lesson along the way that Moodle does not support SCORM 2004. So that required a little bit of backtracking to make sure that we were getting the data into the correct SCORM to get into Moodle. And so because we used it XML for the content instead of the actual authoring in Moodle, we actually saved a lot of pain for ourselves with Moodle. The name of the game with Moodle is low-code/no-code, and they want you to manually build out these courses. But we wanted to automate that for obvious reasons, and SCORM allowed us to do that by having a transform that would take our DITA XML, put it in SCORM, and then we just upload the SCORM package to Moodle and don’t have to do all the painful things of let’s put a heading to here with this little piece of content. And the key thing is that allowed us to reuse content as well. And then if we need to update the content, all we have to do is replace the SCORM package in Moodle.

SO: So currently we have DITA 1.3 content out there. The DITA 2.0 content is under development, and I would say mostly done. We’re mainly waiting for the actual release of the those two chunks of content, although those courses are going to be in GitHub in the DITA training, or I think it’s called Learning DITA now, the Learning DITA project.

AB: Yep.

SO: Separately from that, we’re working on some new courses which are not going to be open sourced, but will be available on Moodle or… Sorry, on learningDITA.com. And so for those of you that are wondering, we’ve got a number of things on our roadmap. I’d love to hear more from people listening to this about what they need out of this. What more advanced courses are you looking for? One thing that we’ve