=Paper=
{{Paper
|id=Vol-2815/CERC2020_paper13
|storemode=property
|title=Integration of Pattern-Based Learning Management Systems With Immersive Learning Content
|pdfUrl=https://ceur-ws.org/Vol-2815/CERC2020_paper13.pdf
|volume=Vol-2815
|authors=Michael Winterhagen,Dominic Heutelbeck,Benjamin Wallenborn,Matthias L. Hemmje
|dblpUrl=https://dblp.org/rec/conf/cerc/WinterhagenHWH20
}}
==Integration of Pattern-Based Learning Management Systems With Immersive Learning Content==
Visual Computing and Data Analytics Integration of Pattern-Based Learning Management Systems with Immersive Learning Content Michael Winterhagen1[0000−0002−9487−3544] , Dominic Heutelbeck2[0000−00003−1395−2775] , Benjamin Wallenborn3[0000−0001−9234−5310] , and Matthias L. Hemmje1[0000−0001−8293−2802] 1 Chair of Multimedia and Internet Applications (MMIA), Faculty of Mathematics and Computer Science, University of Hagen, Germany {michael.winterhagen, matthias.hemmje}@fernuni-hagen.de 2 Research Institute for Telecommunication and Cooperation, Germany dheutelbeck@ftk.de 3 University of Hagen, Center for Media and IT (ZMI), Germany benjamin.wallenborn@fernuni-hagen.de Abstract. In our previous e-learning publications we introduced the concepts of Course Authoring Tools (CAT), and of Didactical Structural Templates (DST) which are a further development of the CAT. DSTs are defined as a possibility to describe the pedagogical structure of a course, a study program or an applied game in an abstract way. The idea of DSTs is based on the structure of IMS Learning Design (IMS-LD), which is a quasi-standard for modelling learning structures. We have shown what DSTs are useful for and that there is a need for an editor for DSTs which we already presented in combination with the Didactical Structural Tem- plate Manager (DSTM). In this paper we will focus on and go in deeper detail in implementing the same DST as a classic Learning Management (LMS) course, as a LMS course with applied gaming content and as a stand alone applied game. Therefore, these scenarios will show that it will be possible for learners to switch between different implementations of a specific DST and the learners having the same learning progress as if they had used just one of the implementations of this specific DST. One main contribution is to demonstrate the integration between, web-based, immersive Virtual Reality learning activities developed as native appli- cations, and VR authoring tools by a gateway server. In addition, we present an RESTful API for sharing the DST and the used Competence Profiles to external tools. Keywords: IMS Learning Design ➲ IMS-LD ➲ Didactical Structural Tem- plates ➲ Learning Tools Interoperability ➲ LTI. 1 Introduction Producing learning content for Higher Education Institutes (HEI) consumers is quite complex in Learning Management Systems (LMSs) for producers of Copyright © 2020 for this paper by its authors. Use permitted under Creative Commons License 211 CERC 2020 Attribution 4.0 International (CC BY 4.0). Visual Computing and Data Analytics 2 M. Winterhagen et al. learning content. The Knowledge-Management Ecosystem Portal (KM-EP) [6] is an Educational Portal which contains different management systems. A Course Authoring Tool (CAT) has been introduced in [16] within the KM-EP to reduce this complexity and make it simple to produce learning content in the way that the producers only have to fill in the necessary information and are able to concentrate in producing the learning content instead of configuring the learning content within the LMS. 1.1 Motivation, Problem Statement and Approach The so-called Didactical Structural Templates (DST) have been introduced in [19] and extended in [17]. As described, the DSTs are based on the IMS Learning Design (IMS-LD) [8] and represent the pedagogical structure of a course and cannot only be used as pedagogical structure for creating courses. In fact, the DSTs can also be used as a pedagogical structure for a hybrid environment existing of a ”classical” course with integrated applied gaming content just like a pedagogical structure for applied game which can be a web-based computer game or a Virtual Reality (VR)/ Augmented Reality (AR) based game. Therefore, one DST can have different implementations. The advantage of this approach is, that learners will be able to switch between different implementations of one DST whenever they want to and they have got the same learning progress as if they had used only one specific implementation of this DST. This means if learners like gaming, they can use the applied gaming implementation to work on the learning content. If it is easier for the learners to answer the self-tests or the final test – to stay in the exemplary stated pedagogical structure of a course – as e.g. multiple-choice quizzes, they can switch to a course within an LMS to answer the questions. Within a wide rage of domains, realizing learning activities as immersive experiences, e.g., in VR, may significantly improve the learners experience and success [1]. While tools like the WebXR Device API [15] have the potential to close the gap between traditional browser-based learning and content played out via dedicated VR Hardware. In industrial VR learning environments, specialized hardware-based controllers may be necessary for the appropriate simulation of machine operation, and the virtual environments are of high fidelity, derived from engineering CAD systems. Complex environments, such as models of com- plete factories are very demanding with regards to graphics capabilities of the hardware. Thus, learning activities and self tests in VR often require the use of native application running on a capable machine, connected to specialized controllers. While CATs are often also able to support the authoring of web- based content, immersive applications, both native and WebXR-based, require specialized authoring tools which are able to handle the spatial and graphical content and complex interfaces. In practice, such authoring tools are built on top of game development tools and platforms, such as the Unity [14] or Unreal [5] engine. Such immersive activities are potentially embedded within a DST alongside traditional web-based content. The integration of this type of content into the CERC 2020 212 Visual Computing and Data Analytics Integration of Pattern-Based Learning Management Systems 3 authoring process, deployment and execution of a course instance implementing a DST rises a number of technical and architectural challenges. During web-based learning in a traditional LMS, the use of external web- based tools is well supported by the Learning Tools Interoperability (LTI) [10] Standard by a number of modular APIs and protocols. This allows to start activ- ities implemented using WebGL or WebXR directly. However the reliance of LTI on OAuth [13], Transport Layer Security (TLS) [7], and forwarding between tool server and LMS server for launch requests does prohibit directly launching into a native application installed on the users computer, while retaining authentica- tion and course context information. E.g., launch URLs have to be public TLS secured web-resources. A locally running tool cannot fulfill the TLS requirements running on ’localhost’. To summarize the remainder of this paper addressing our five research ques- tions, which we will require to work on shown below: 1. How can a DST representation be applied to a “classical” course production in an LMS? 2. How is the responsibility of content creation distributed between the different content authoring tools. 3. How can we share and cross-reference content between the different tools and execution environments. 4. Can LTI-style launch requests be realized in order to launch into native applications while retaining the learners authentication and course context? 5. How can native external tools send back results to the LMS? 1.2 Methodology As the basis of our research methodology, the multi-methodological framework of Nunamaker and Chen [12] is used for the structured research and development of information systems. The framework is divided into four phases supporting different methodological strategies: Observation, Theory Building, System De- velopment, and Experimentation. To achieve our research goal to answer our research questions, the methodological phases can be executed repeatedly in any order. It is also possible to return to previous phases. 2 Concepts and Technologies LTI is introduced in [11]. LTI supports a connection between LMSs and external applications like gaming platforms. An applied game prototype based on the Unity Game Engine (Unity) [14] has been introduced in [18]. This prototype is later used as an example for implementing an LTI connection. However, this only works for web-applications and not for desktop-applications. To enable this also for desktop applications, the solution presented in [18] has to be extended. 213 CERC 2020 Visual Computing and Data Analytics 4 M. Winterhagen et al. 3 Conceptual Work After describing the problems and research questions in chapter 1.1 we want to present our conceptual work in this chapter. To realize the DST as an applied game we have different challenges we have to work on, to make this option work: 1. LTI can only be used for web-based applications, not for stand alone or desktop-applications. How can LTI be used for our scenario? 2. How can the applied game access the DST? 3.1 LTI Launch Requests and Services for Immersive Native Applications In this section we present our architecture (see figure 1) and implementation of a technical solution for the above described challenges arising from the need for Immersive Native Applications (INAs) in order to support immersive VR learning content. Overall, the idea is to use a so-called LTI Gateway to mediate between a) the LMS implementing LTI, b) the VR-specific authoring tools, and c) the VR learning tool installed on the users computer. The goal is to support standard LTI 1.3 [10] launch requests to trigger learning activities using the local INA and to allow it to use LTI Advantage [11] services offered by the platform (LMS), e.g. Assignment and Grade Services 2.0 [9]. In LTI 1.3 a platform and an external tool have to be carefully paired and the tool and platforms have to be authorized by the respective administrators. In this process, public keys and several URLs have to be exchanged and unique IDs for tool and platform have to be provisioned. Generally the URLs have to be mutually reachable by the systems hosting either component and it is mandatory for both sides to have all connections secured by TLS supported by the matching certificates. In order to use the INA, it has to be installed locally on the machine used by the learner. While in special circumstances, this may be a dedicated ma- chine where it is possible to assign a DNS entry and to obtain a TLS certificate. Then, the INA could directly support the LTI protocols by running matching background services. However, in practice learners will not use a singe machine shared among them. Thus, even in a learning environment with multiple ma- chines that could fulfill these conditions, in the LTI domain model each machine would constitute a different external tool which implies that in a course the same learning activity on different machines would be listed separately. Further more, it is likely that a course is not consumed by a predetermined number of local learners, but by a variable number of remote learners with machines in uncontrolled environments and behind NAT routers. Thus, a direct provisioning of local installations of the INA as LTI tools is not feasible. In order to use other LTI Advantage services, external tools acquire OAuth 2.0 [13] access tokens. While the OAuth 2.0 standard technically allows for INAs to obtain such tokens directly, it is not guaranteed, that the matching OAuth CERC 2020 214 Visual Computing and Data Analytics Integration of Pattern-Based Learning Management Systems 5 flows are supported by all LMS. However the flows for web-based applications to obtain the tokens is mandatory for the LTI standards. To support both launch request and and LTI Advantage services, a dedicated web-based service, the LTI Gateway is introduced. The LTI Gateway itself acts as a single point of entry and an LTI tool for the platform and is able to relay the launch request to an INA and service calls from the INA to the platform. Thus, pairing between tool and platform only happens once for the gateway and not for each local installation of the INA. The gateway can be referenced in a course like any other external LTI tool. When a user decides to access the learning activity and clicks on the matching link provided by the platform, a standard LTI Launch Request to the gateway is triggered. In the process of the launch request protocol, the gateway obtains information about the user and the context of the launch via different claims stored in the JSON Web Token (JWT) [4] used in the launch. In addition, the gateway obtains an access token to use the platforms LTI Advantage services. The course author may have decided to add additional custom parameters (string key-value pairs) to the launch, which are also made available to the tool in the matching JWT claim. Given, that users may have different sections and activities of a course open at the same time or that users may, often unintentionally, click a launch link multiple times the gateway has both to disambiguate launch requests based on the user and context information. Thus, the gateway is a stateful service which upon receiving a launch request and obtaining the information creates a gateway session identified by the tuple of user identifier and LTI context. Each session has a predefined, decided by the gateway administrator, time to live (TTL) and a randomly generated Base64 encoded 128-bit Universally Unique Identifier (UUID), acting as a session key. For this session, the triple, session key, LTI Advantage access token, and JWT token are persistent in RAM for the TTL. Before creating a new session for a launch request, it is checked if another session for the given triple already exists, which is used if present. After creating, or loading the session, the learner is presented with a TLS secured web page containing information on the origin of the launch and instruc- tions on how to obtain the INA, if the user still needs to install it. The user is presented with a launch link to start the INA. The launch link is structured as follows: [CUSTOM PROTOCOL]:[TOOL NAME]?sessionKey=[SESSION KEY], e.g., i2l:virtualFactory?sessionKey=jhSLqIopUf ZiP86n6VDaA. At install time, the INA registers itself as the handler for the custom protocol (e.g., adding the respective registry entries for Windows). Thus, when clicking the link, the web browser will launch the INA and provide the URL as a command line argument. In this way, the INA is able to obtain the session key. Compared to a direct authorization of the INA and its user via OAuth this opens an attack vector, where on a compromised machine the launch may be intercepted and the session key may be obtained by a malicious application. This however is only possible as a local attack and the key is always encrypted in transit over the network. 215 CERC 2020 Visual Computing and Data Analytics 6 M. Winterhagen et al. We consider this to be an acceptable remaining risk. This requires local code execution privileges which imply further extensive attack potential. Given the session key, the INA can retrieve the session data from the gateway by accessing GET:/launchRequest/{sessionKey}, returning a JSON object containing user information, LTI resource link, line item, and context and custom data provided by the course author. The INA can now start the learning activity according to this information. For each LTI Advance service the gateway also provides matching proxy services which accept the session key as authentication, such as results or scoring services. Whenever the INA accesses the proxy services with the session key, internally the request is mapped to a matching LTI request to the platform, using the stored access token, which is never shared with the INA. 3.2 VR Authoring and Resource Server Figure 1 gives a rough overview of the interaction of the different parts described in the previous sections. Fig. 1. LTI Gateway and VR Authoring Tools Within the VR Authoring Tool, the producers can define the Training Se- quences, Compendium Entries and Media Assets which are published on a server which holds this content. The meaning of this elements are as follows: The Media Assets can be texts or pictures and can be used by Compendium Entries. The Compendium Entries can be understood as elements of knowledge trans- fer. They consist of contents in a specific order. Each content is composed of e.g. CERC 2020 216 Visual Computing and Data Analytics Integration of Pattern-Based Learning Management Systems 7 texts and pictures which are stored as Media Assets. The Compendium Entries e.g. deliver information about the environment of the game or the Training Se- quences. To access the Media Assets, the Compendium Entry has to connect to the content server and download it from there. At last, the Training Sequences can be understood as learning elements of a learning path. This Training Sequences consist of so-called Tasks which are in a specific order and have to be done in the defined order. Each Task contains so- called Objectives which have no specific order. Each Objective will be displayed in a menu in the game. To complete a task, each Objective has to be done completely. Having described the Training Sequences and its structure, we can define a mapping between the IMS-LD and an applied game using the Training Sequences as shown in table 1. Table 1. Mapping IMS-LD - applied game IMS-LD element applied game element method applied game play levels act Training Sequence activity structure Task activity Objective 3.3 Delivering the Structure of a Didactical Structural Template to an External Application In this section we present our technical solution for the above described challenge 2. We support two kinds of delivering the structure of an DST to an external application: 1. The Didactical Structural Template Manager (DSTM) provides the possi- bility to export an DST as XML-file which meets the IMS-LD specification. Therefore, the DST could be exported in this format and can be used to design the structure of the game. 2. The KM-EP provides a Learning Design API which will be described in short in the following. The external application can access this Learning Design API to get all information about the needed DST. The Learning Design API is defined as a Representational State Transfer (REST) [3] with the following endpoints: – GET: /webservice/learningdesign This endpoint returns a list of all available DSTs. – GET: /webservice/learningdesign/{id} This endpoint returns the structure of a specific DST. 217 CERC 2020 Visual Computing and Data Analytics 8 M. Winterhagen et al. The return value of each endpoint is made in JavaScript Object Notation (JSON) [2]. The specific return value’s format will not be explained in detail here. With this both kinds of delivering the DST to an external application, it is possible for e.g. an applied game to access the needed DST. 4 Prototypical Implementation After describing the technical requirements and the technical prerequisites, we are now ready to show, how it is possible to implement a DST as 1. a normal Moodle course, 2. a gamified Moodle course, and 3. an applied game. This will be done within the following subsections. 4.1 Implementing a Didactical Structural Template as a Moodle Course After defining an DST at first we want to implement this into a Moodle course. To do so, we have to go to the DSTM within the KM-EP and press on the install button next to the DST we want to implement. After pressing the install button, the DSTM will implement the selected DST as Moodle course according to the mapping we presented in [17] with default values for each learning element. Therefore, we now have an empty Moodle course created which we have to fill with the needed learning content. To fill this empty Moodle course with learning content, we can now use the CAT within the KM-EP to edit every learning element of the created Moodle course. After saving the changed learning element, the changes will directly be trans- ferred to Moodle. After the complete course has been filled with the needed learning content, the course is ready to be published and used by learners. 4.2 Implementing a Didactical Structural Template as a Gamified Moodle Course As second option we want to implement the same DST of 4.1 as a Moodle course but with an applied game. Before we implement the course, there has to be implemented an applied game with an LTI interface. For our example, we use a web-based applied game implemented with the Unity Engine (Unity) [14]. We already described in detail in [18] how the LTI connection between Moo- dle and the applied game works. We will show exemplary, how the implemented applied game can be included within an Moodle course. At first the URL of the created applied game has to be added as software into the KM-EP.After the applied game is known within the KM-EP, it can be CERC 2020 218 Visual Computing and Data Analytics Integration of Pattern-Based Learning Management Systems 9 referenced by a Moodle course. Therefore, an learning element has to be defined as asset which references the applied game with help of the CAT. When a learning element with an underlying applied game is selected by the learners, the applied game will start and the learning result will be transferred back to the LMS via LTI. 4.3 Implementing a Didactical Structural Template as an Applied Game As third option we want to implement the same DST of 4.1 as a stand alone applied game. In our scenario, this game will be an VR/AR game. Prototypical Implementation of LTI connections for Stand Alone Ap- plications To make it possible to call the LTI Gateway mentioned in 3.1, we have to define an LTI connection in Moodle (see figure 2). Fig. 2. Define LTI connection in Moodle. For our purpose we need at least version 1.3 of the LTI specification. After the LTI connection for the LTI Gateway has been defined within Moodle for a specific learning element, a click on the corresponding learning element will open a website which provides a link to the applied game. After clicking on the provided link, an applied game will be downloaded and started. This applied game will contain the LTI connection to return learning results to Moodle. 5 Conclusions In this paper we have shown how to implement a given DST – as a normal Moodle course, – as a gamified Moodle course, and – as an applied (VR) game without Moodle or another LMS. 219 CERC 2020 Visual Computing and Data Analytics 10 M. Winterhagen et al. We also have extended the LTI connection, which until now only could be used for web-based applications, for stand alone applications via an LTI Gateway. We used this LTI Gateway for an applied game which implemented an DST. To give an external application access to the pedagogical structure of an DST we offered two options: 1. exporting the pedagogical structure of an DST via the extended IMD-LD specification and 2. providing a REST-API which provides the pedagogical structure of an DST in JSON format. If we have two different DSTs, namely DST A and DST B, the learners learning progress can be further developed, when the learners switch between different implementations of DST A. If they switch into an implementation on DST B, they will have anoter, separate learning progress apart from DST A. 5.1 Future Work Future work will be a further formal evaluation of the DSTs and the DSTM, especially in the way to use the DST as pedagogical structure for an applied game without connecting it to a Moodle course. Also a formal further evaluation will be based on learners switching between different implementations of an DST having the same learning progress. The process of creating a Moodle course by installing it from an DST is not as good as it could be. To improve the installation process, it would be desirable to have a wizard, so that the learning content can already be filled in while installing the DST as a course. We also have to extend the possibility to connect to applied games via LTI for desktop-applications. Acknowledgements This publication has been produced in the context of the RAGE and Immerse2Learn projects. The projects have received funding from the European Union’s Hori- zon 2020 Research and Innovation Action under grant agreement No 644187 and from European funds for regional development (EFRE). However, this paper re- flects only the authors’ views and the European Commission is not responsible for any use that may be made of the information it contains. References 1. Allcoat, D., von Mühlen, A.: Learning in virtual reality: Effects on per- formance, emotion and engagement. Research in Learning Technology 26 (2018). https://doi.org/https://doi.org/10.25304/rlt.v26.2140, https://journal. alt.ac.uk/index.php/rlt/article/view/2140 CERC 2020 220 Visual Computing and Data Analytics Integration of Pattern-Based Learning Management Systems 11 2. Crockford, D.: The javascript object notation (json) data interchange format (2017), https://tools.ietf.org/pdf/rfc8259.pdf 3. Fielding, R.T.: Architectural Styles and the Design of Network-based Software Architectures. Ph.D. thesis (2000), https://www.ics.uci.edu/~fielding/pubs/ dissertation/fielding_dissertation_2up.pdf 4. Force, I.E.T.: Rfc 7519 - json web token (jwt) (2015), https://tools.ietf.org/ html/rfc7519 5. Games, E.: The most powerful real-time 3d creation platform - unreal engine (2020), https://www.unrealengine.com/en-US/ 6. Globit-GmbH: Ecosystem portal, https://www.globit.com/#ep 7. IETF: The tls protocol (1999), https://tools.ietf.org/html/rfc2246 8. I.G.L.-Consortium: Learning design specification (2003), https://www.imsglobal. org/learningdesign/index.html 9. I.G.L.-Consortium: Ims learning tools interoperability (lti) assignment and grade services specification (2019), https://www.imsglobal.org/spec/lti-ags/v2p0/ 10. I.G.L.-Consortium: Learning tools interoperability core specification (2019), http: //www.imsglobal.org/spec/lti/v1p3/ 11. I.G.L.-Consortium: Lti v1.3 and lti advantage (2019), https://www.imsglobal. org/activity/learning-tools-interoperability 12. Nunamaker, J.F., Chen, M., Purdin, T.M.D.: System development in infor- mation systems researchs (1990), http://gkmc.utah.edu/7910F/papers/JMIS% 20systems%20development%20in%20IS%20research.pdf 13. OAuth: Oauth 2.0 (2012), https://oauth.net/2/ 14. Unity: Unity technologies, https://unity3d.com/de 15. W3C: Webxr device api (2019), https://www.w3.org/TR/webxr/ 16. Wallenborn, B.: Entwicklung einer innovativen Autorenumgebung für die uni- versitäre Fernlehre. Ph.D. thesis, FernUniversität Hagen (2018), https://ub- deposit.fernuni-hagen.de/receive/mir_mods_00001428 17. Winterhagen, M., Hoang, M.D., Lersch, H., Fischman, F., Then, M., Wallenborn, B., Heutelbeck, D., Fuchs, M., Hemmje, M.: Supporting structural templates for multiple learning systems with standardized qualifications. In: EDULEARN20 Pro- ceedings (2020) 18. Winterhagen, M., Salman, M., Then, M., Wallenborn, B., Neuber, T., Heutelbeck, D., Fuchs, M., Hemmje, M.: Lti-connections between learning management systems and gaming platforms. Journal of Information Technology Research 13 (2020) 19. Winterhagen, M., Then, M., Wallenbrn, B., Hemmje, M.: Towards structural templates for learning management systems taking into account standardized qual- ifications. Tech. rep., FernUniversität Hagen (2019), https://www.researchgate. net/publication/340601087_Towards_Structural_Templates_for_Learning_ Management_Systems_taking_into_account_Standardized_Qualifications 221 CERC 2020