Gemini created this transcript by cleaning up the captioning file from Vimeo. The Scriptorium team reviewed and minimally revised the transcript. Good morning everybody. I'm gonna get started so we can get to lunch on time. My name is Alan Pringle, and today I want to share a story with you about a murder…of a platform, not a person. The investigation into the replacement of that platform, and what we at Scriptorium ultimately did to replatform a failing LMS while still maintaining our single source of truth. --- I've been with Scriptorium since the company was founded in 1997. We are focused on improving organizations' content operations: the way they create, manage, and distribute their content. My background is very much in the liberal arts. Anybody else in here? Yay my people. And I appreciate a good donut. There's a place not far from here called Flaky, Not Flaky, and they make a sconut, which is a cross between a scone and a donut. And I sampled a few of the flavors yesterday and if basically a piece of fried cake is your jam, you need to check that out. --- Quick overview of what I want to talk about. Tell you what LearningDITA.com was and what it is today. How we ultimately killed off the first version of the platform, what we did to investigate replacements, what we did to select and implement the new technology. And some lessons that I hope you'll take home from what I'm about to tell you today. --- So what is LearningDITA? LearningDITA.com is self-paced training about the DITA standard, the Darwin information Typing Architecture XML standard for content. We actually wrote the source content for LearningDITA.com in DITA. DITA has a special group of elements, structures that are expressly meant for learning content and that is what we used to create the site. The way that students interacted with that content was through a WordPress LMS, basically a plugin with LMS features that sat on top of WordPress and in a little over nine years, more than 16,000 people signed up for the site. Here is an architecture diagram of how things were. The source files, the single source of truth. Our DITA XML lives out in GitHub and many of the courses you can go to that link there, github.com/scriptoriumdev/learningdita and download the content yourself and look at it. It is under an Apache open source license so you can pull down that content and look at it and do with it whatever you want. What we did with it is created a transformation process that converted the DITA XML into WordPress XML. Basically we could slurp it into WordPress 'cause it understood the format that we moved it to once it was in that WordPress based LMS students could interact with that content, read the more conceptual information, do the exercises and so on. In addition, we had our customer relationship management system. Our CRM connected to the LMS. That way as students signed up for courses, we track that information and had information about their interaction history with us and the site. It's nice to have that information about people you may be talking to later. --- Full confession. The next three videos you're about to see came from a presentation I did on LearningDITA in 2016. So this is like extreme reuse, hoarding, or both? I'll, I'll cop to both. This is what the site looked like in 2016 and if you're thinking that looks like WordPress from 10 years ago, you're exactly right. When you clicked on the courses link, you would get a little information about how to sign up for the courses and then underneath that was the list of courses. When you selected one of those courses, it would show you a list of all the lessons that were in that particular course. At the end of every one of these lessons, there was an assessment and the student has to pass the assessment with the score of 80% or better to move to the next lesson and then finish the course. Here's what the assessments looked like: they were on their own page. It's probably not a big surprise in WordPress land. Everything is kind of in a page paradigm. So every single assessment question was on its own page. There are multiple assessment types. We have pick any that apply, multiple choice, true false and matching. And with this pick any apply question, I'll answer it correctly. So you can see how the system gave you feedback that you would answer the question incorrectly. So there you go. The green tells you that it's correct as indicated by that little notice at the bottom. In the case of this true false question, I answered it incorrectly. And what you'll see is some feedback as to why that answer was incorrect. Little later on, I'm gonna show you the actual source content for this and how you built-in the intelligence for this kind of interaction into the DITA source itself. --- Starting around November of last year, we started to get pings via our contact form for the site and via email saying, Hey, I cannot get through a quiz. It will not grade a quiz so I can't move through the lessons and finish the course. One of our vendor friends who is actually represented out in the expo hall, they contacted us via our shared Slack channel and said, Hey, I've got a coworker trying to use LearningDITA.com, can't get through quizzes, I've got a client with the same problem. So at that point we knew we had a significant problem and we spent weeks doing some very meticulous troubleshooting trying to figure out what was causing this problem. And after many weeks of investigation, we could not figure out what the problem was and we threw up our hands and said, why are we throwing all of this time down this black hole? We should probably be using this time to investigate a new solution and implement it. So that's what we did and we started to announce that we were going to shut the site down, move it to a new platform late last year and on February 10th we shut it down and this is when the fund began. And by the way, if you're wondering why I, I'm using passive voice in the headline of this slide is because I stole it from Agatha Christie. This is from her 1964, excuse me, 1950 book A Murder is announced. It is a Miss Marble mystery and this is the cover of the 1964 paperback edition I found at a thrift store a while ago. If you're into Agatha Christie, this is a fun one because Ms. Marble is exceptionally feisty at the end of this one. Like surprisingly feisty for an older lady. --- So we had to start the investigation, what are we going to do with the site? And to do that we realized as consultants we needed to turn our consulting eyes on ourselves, essentially consultant, fix yourself. So that was our job. And when we go to work with the client, when the first things we do is develop requirements, work with the client to develop requirements and that often involves guess what spreadsheet fun. So we had some spreadsheet fun and created a spreadsheet with multiple tabs on it and the first tab was kind of the big picture technical things that we wanted that we required really first thing we had to be able to transform our single source of truth that did a content living out in GitHub. There was to be no copy and paste from the old platform to the new or from GitHub to the new platform. Raise your hand if you've ever copied and pasted something because it was the quickest way to get something done. Raise your other hand if you felt really dirty doing it. Yeah, we didn't wanna be in that position, especially as consultants preaching about the single source of truth, that is not a good look. So copy and paste not an option. We also wanted to improve the user experience. The WordPress site was very page-based as I showed you earlier. We wanted to kind of move away from that. Also, we wanted the ability to apply custom branding to let people know, hey, scriptorium made this. For some reason, I don't know why we did this, but early on we created branding that was just for the LearningDITA brand and didn't include Scriptorium in there. So we would tell people, oh yeah, go use LearningDITA. We created it. And people be like, you did that even after we added Scriptorium to the logo, people still didn't know. So we decided we needed to be sure we had the ability to label it very clearly. Scriptorium did this with our branding, our colors and everything. We also needed really flexible e-commerce support. First of all, we realized there was a good chance we were going to sell more than just access to training. What if we wanted to sell small support packages? What if we wanted to sell like office hours that students could pair with the training to get more personalized attention? So we needed the ability to sell things other than just LMS based learning. We also needed to be sure that that e-commerce solution would help us track the taxes that we owed for sales. Different states in the US charge either nothing or different rates for e-learning for example. And we did not want to have to manually be tracking any of that nor our bookkeeping team dealing with any of that. We wanted the e-commerce solution to help track that for us and then tell us, hey, it's time for you to pay this location, this state. We wanted to maintain that connection to our CRM system so we could continue to understand the relationship people were having with our content and registering for courses and buying other items. Finally, we wanted to be sure whatever we did was scalable. We had 16,000 people sign up for the previous version of the site and we also knew we were gonna add even more content to this site beyond what was in the original version. We got up to nine courses I believe and we knew we were gonna do that and then add to it and we already have. So whatever we did needed to handle both an influx of students reaching the thousands just like before. We also needed the ability to add more and more content and actually host video on the platform for example, to integrate it better into the content. So we needed to pick a solution that would grow with us and let us do more and more learning. --- Some of the other tabs on that spreadsheet were, for example, format for LMS consumption. What were we going to transform that DITA source files out in GitHub? What were we going to turn them into? Two of the big choices are SCORM and XAPI. SCORM stands for, and give me a minute here, shareable content object reference model, possibly one of the worst strung together acronym ever. It doesn't quite make sense to me, but what you need to know is that it provides a standard way for you to package up content and interactivity and feed it to an LMS and it understand it standard. Another type of standard for putting content into an LMS is XAPI with the X standing for experience. It's a newer standard. It does have a SCORM layer in it, so it will still work with LMSs, but it also has a way to record interactions beyond that of a learning management system. For example, if you were learning or teaching CPR, they have those mannequins that have sensors inside so it can track how a student interacts with that mannequin. The XAPI standard can record that information and understand it where SCO really isn't designed for that. We also had to figure out what LMS we were going to choose. There are open source choices, there are commercial proprietary solutions. So we had to figure out what's the best fit for us. Finally, the hosting provider, we wanted to be sure we picked someone who specialized in the platform that we chose and that it provided us with the ability to scale up to add more processing power or more memory as required. This is the spreadsheet listing all of the LMSs. And you can see we basically flagged is it open source or commercial? Will it work with scorm? Will it work with XAPI and will it allow external authoring? And what that column there means is basically we needed the ability to go and use our, did a single source of truth and transform it. We couldn't, it wouldn't work for us to have an LMS that only allowed us to author within the confines of that LMS. It would not have been a choice for us. You will notice that the notes column, I have blurred that out because when we put this spreadsheet together, we didn't know I was doing this presentation and we were extremely candid in our assessments of these LMSs and it's a little too spicy to be sharing in public because I don't want LMS vendors coming after me, so you'll have to forgive me for not sharing that with you. --- So some other less technical things that we had to consider were our team's skills, what they already knew how to do. We have a team of consultants who are very good at creating automated publishing pipelines from DITA, everything from PDF to help you name it. And we'd even done SCORM packages for clients in the learning space. So, we had that experience and we needed to build upon it and we needed to be sure whatever we picked would continue to be beneficial for our clients so we could hone our consultant skills so they could continue to grow and learn things that may help our clients down the road. Finally, we wanted something that made an interesting story and you can tell me at the end of this if this is an interesting story. It is to me, maybe not to you. So what do we end up doing? We did decide to go with the DITA to SCORM Publishing Pipeline; xAPI was too much. We didn't need that much. SCORM was what we wanted to do to get the content into the LMS. We already had experience with SCORM packages, so that is what we chose to do. We decided to go with Moodle. Moodle is an open source LMS and there's someone at this conference who was very, very deep into the learning systems and she knows a whole lot about 'em. So I kind of pinged her and said, what are your opinion on these LMSs? And she basically said, be very careful of Moodle and you might run run, run away. That's not bad advice. You've heard about open source technology where people say it's free but not cheap. That definitely applies to Moodle. If you don't have technical expertise, you don't have people who are comfortable basically ripping things apart and putting it back together again, Moodle may not be for you. Our team loves to rip things apart, so that wasn't a problem for us. We did end up deciding to use a hosting provider that specialized in Moodle and you could host your Moodle instance on a virtual private server. The good thing about having the VPS is that we can scale up the memory if it, if we get too much too many students, we can jack the memory up. You can jack up the processing power just like with the PC, just jack it up to handle what you require. Another reason we picked Moodle by going with an open source solution. We weren't really picking favorites. We wouldn't be saying we prefer this vendor because it's an open source solution. We also added onto the Moodle site, a WordPress based store and it has a WordPress plugin that syncs the account information between the store and the Moodle instance. It syncs how much work you've done in a course. It syncs this, your registration information. The reason we went with the WordPress store is that it would help us implement what we needed in regard to calculating and taxing tracking taxes. That's hard to say. And we wanted to be able to sell things that weren't training in the LMS. You can go to store.scriptorium.com and download right now several of our books for free. So that was enabled because we decided not to go strictly with an LMS. We also offer some small consulting packages that you can buy a little bundle of hours. Again, not something you could really sell very easily directly from an LMS. And finally we were able to preserve that connection to our CRM so we could continue to understand how people interact with that content. And here is the solution updated showing what we ended up doing. There's your single source of truth that hasn't changed but we are now publishing the SCORM and there is the store syncing with the Moodle instance and students interact with both to take the courses and to register and purchase for them. And we still are connected to our CRM to understand people's registration and purchase histories. --- I'm gonna roll all the way back to DITA and step you through how a piece of DITA content moves through this system. In DITA, there is a concept of a map. It is essentially a way to establish the order and hierarchy of content that you want to publish. And in this particular map file right here, there is a topic called what is a DTA topic. Oops, little bit too far back up. Inside this DTA topic is three paragraphs and then an unordered list. In addition, there are assessment questions and you can see them all right here. And all of those assessment questions are basically in their own topic. And here is what one of those questions looks like. This is a multiple select question and what's great about DITA is that you can build in that intelligence that I talked about earlier. You can see I flagged the correct responses here. Lc correct response means it's correct and then you have an element for putting in that feedback to offer a student if they answer the question and correctly. And this is what I mean by smart content and the title of this presentation. Because we have baked this intelligence into the source content. If this teacher for example wanted to have a printed quiz, we could create a printed quiz via PDF, they could give that to the students and then we could turn around and create an answer key with this stuff tagged in yellow to let the teacher know this is how you can grade those quizzes. So you're kind of unlimited in the way that you can present this information. We are just distilling it interactively in the score package Ass. A scorn package is essentially a zip file and it's got HTML content in it and you see that lc topic HTML highlighted down there. That is that same DITA content that is now just an HTML file. In addition, underneath this topic file, there is a JavaScript file, questions js and all of the topics with the assessment questions, they're all folded in there into that JavaScript file that helps set up and track that interactivity with the learning management system. --- This is what LearningDITA.com looks like today. This is the Moodle site and I think we succeeded on “must have Scriptorium branding.” We made the logo huge. So it is very clear this is us, this is what store.scriptorium.com looks like. Again, it has our logo on it and there are the courses that are available to you. And if you scroll down you can see we have some office hours and some consulting packages and we've added books since I took this video. By the way, if you click the My Courses menu up top, It will show you the courses that you've registered for. When you click on the start button for a course that you've registered for, it will then open up that courses page. In the Moodle instance, this is the syncing that's happening between WordPress and Moodle via that plugin that we installed. This is what it looks like on the Moodle side. And when you click that Introduction to DITA link, the name of the course, what it will do is throw up a new browser window and in that browser window it essentially plays the SCORM package. It basically takes the information that was in that zip file and it displays it to the student and it tracks the student's interaction and how far they get in that SCORM package. This is what the assessments look like and some of the content out of the box more or less. And I'll confess we did publish it this way at first just to get it out there so people could register, but we realized it was not most attractive. I called it the sea of gray. It's not a lot going on here that's very visually interesting and what we really hated notice how, especially in this question here, question three, that everything is jammed together. There is no grouping visually of stuff. Everything is just stacked up with the same line spacing. It is not very easy to read or to parse visually as chunks. So we wanted to fix that. We have since updated the CSS to make things a little more visually interesting. We've kind of aired out the line spacing, added our corporate colors to the content. And here is that a multiple choice question or pick it, pick all that apply. And what I'm gonna do, I've answered this incorrectly, this first thing is wrong and I'll show you what it looks like. The feedback you get from the system when you answer something incorrectly. We kind of jazzed up the default formatting the blue box for the feedback and then made sure there was some color coding there with green check marks and red Xs to let people know what was right and what was wrong. We also jazzed up the matching questions and it's a drag and drop thing. One of our consultants, Jake Campbell tweaked the JavaScript that's here and I'll show you that. Dragging and dropping originally this was all gray scale again not the easiest thing to see. The colors helped make it look a little easier and when you pick a box you'll notice the color changes and then shifts once you place it. I have pre-answered the questions in this so you can kind of see what it looks like from the student point of view and then what happens when the student submits their answers at the end of the assessment. And when you submit your answers, you'll get your score and you can move on to the next thing or you can move up to get the feedback that what you did right or what you did wrong. If you do not answer with a score of 80% or better, what you'll end up doing is retaking the quiz. You can't go further and Moodle will reorder the question so you're not getting in the same order as you saw before. When you complete a course on the store.scriptorium.com side, you will see that you are done the a hundred percent completed bar and the little green completed signage on the logo for the course. On the Moodle side, you will also get a little button indicating you're done and you can click, actually I went too quick there. Apologies. If you click that certificate of completion link under the course name, the system will serve up a PDF showing that you have completed the course. Moodle does this for us. We just set up a template and then the student will also get an email saying, Hey, you finished the course and you now have a certificate. Because some people need this for example, to prove they finished the course to get it reimbursed by their employer. --- Here's what I hope you take home from this today. When you are looking at times of process change, you've gotta act like a consultant, especially if you can't hire one. And what that means is you've got to step back from the mess, you've gotta step back from the fray and look at things, things with an objective eye. And one of those things is developing requirements before you select tools. This is probably the most important thing I can tell you today. Don't just go buy a tool. Oh it sounds like that's a good match. Don't do that. Stake out your requirements. Let those requirements drive the tools that you pick. Finally, beyond those more technical requirements, you've got to understand there's politics involved and optics. Now because this was us, there wasn't a whole lot of politics involved but there were optics as I mentioned earlier. Can you imagine if we had copied and pasted it from the old site to the new site and people asked us how we put it together, not a good look. So we need to be sure that we had something in place that basically showed the content moving from DITA being transformed automatically and then put into the learning management system because that's the kind of thing our clients have asked for multiple times. Also consider how your system is going to play with others within your organization. Now, because we're smaller, the only thing we were concerned about is maintaining that connection to the CRM that was important to us from a marketing and sales team perspective. But for you, like Sarah O'Keefe mentioned yesterday in her keynote, the issue with silos. So pay attention to how your system is or might interact with other systems. Don't implement a system strictly in isolation, not thinking about how it's going to interact with other systems across your organization. And be sure whatever you do, you scale. Because what you don't wanna do is put something in place and two years later have a requirement that blows it all to Hades. You don't want that. In our case, we knew there was a good chance we were gonna put other things in the store. Consulting packages, books, guess what? Both of those things have happened in a matter of months. So think ahead and be sure whatever you picked scales, we have picked a solution that I really think will grow, especially considering as the demand on the virtual private server increases, we can increase its processing power to handle that. And I will let you enjoy all the titles of Agatha Christie books I've collected over the years. While I tell you, we do have a special coupon code for this event Lab Con 2025 and it will give you 15% off things in our store. And I do wanna point out that book on the left with the mirror cracked and all of the Miss Marple mysteries. I got that when I was 12, so I've been reading her for a while on 40 years or so, or I won't go much more deep into that. So anyways, what questions do you have and where's the mic? Is it still over here? Thank you. If you've got a question, please speak into the mic. Attendee question: Maybe I missed it, but, um, the way from the DITA source, um, uh, content, uh, to the SCORM package, is that via DITA Open Toolkit? Answer: It is the DITA Open Toolkit because our group has really deep experience with the DITA Open Toolkit, and for those who don't know, the DITA open toolkit is an open source technology. It is a collection of technologies that allow you out of the box to transform DITA into several things including HTML and PDF. And what you can do is take those core existing transformations and then build upon them. And in the case of the scoring package, the HTML is part of that. So we took that core and then really basically put it on steroids. 'Cause this is quite heavy duty. This is a pretty complicated transformation process, especially with the interactivity that the scoring package requires to have students be able to do the assessments, for example. You can find me at the Scriptorium booth. You can also find me at my email address. You can find me at LinkedIn and please provide feedback to the conference. Thank you. Appreciate it.