Massive Open Online Courses (MOOCs) aim at transferring knowledge to thousands of learners. Usually they are based consumption-orientated online material and multiple choice tests. TU Dresden and Supinfo took next step of MOOC evolution: Providing pre-configured ERP instances to 1500 students for free and performing student assessment through ERP configuration projects with real companies. This approach comes with challenges: deploying thousands pre-configured ERPs and correcting thousands of praxis configurations. TU Dresden and Subinfo chose ERP5 and SlapOS to be the first to solve these challenges and provide the first MOOC teaching Enterprise Resource Planning.
The MOOC provided by TU Dresden and Supinfo is based on the One Student One ERP (OSOE) project: It aims at creating a new way of teaching management science through the publication of all teaching material under Creative Commons License, through the usage of the Open Source ERP System “ERP5” as a support for management lectures and through the collaboration with real companies to provide students with real world case studies. At the core of the OSOE project is the believe that in order to truly understand the management principles behind ERP Systems, it is necessary to understand how these systems are implemented in a company and to experience the implementation process oneself. The first OSOE lecture was held in May 2009 at Institut Telecom Lille 1, France. Since, then the course has been held in collaboration with universities in Brazil, China, France and Germany. During these iterations, the previous on-site only classes developed into what finally became the MOOC “ERP: Theory, Practice and Configuration”, organized in the first quarter of 2013 by TU Dresden and Supinfo. The course was attended by 1500 students from 18 countries. As formal online registration is only required for the final project part of the course, the number of attendees for the theory and practice parts might be actually higher.
The ERP practice objective for students is to observe how workflows are implemented in an ERP system. Students should practice through tutorials each workflow the same way as company staff does everyday. To accomplish this, one customized ERP5 instance has to be delivered for free to each student. This was accomplished through the open source cloud technology SlapOS. ERP5 instances are provided both online, and pre-installed in a downloadable virtual machine. Students then customize their ERP5 instances using a particular wizard and a standard small business configuration of ERP5.
To make sure that the practice tutorials are always in line with current ERP5 version, Nexedi's open source “RunMyDocs” software is used to include functional tests directly inside the HTML5 documents. Whenever a new version of ERP5 is released, RunMyDocs can execute the OSOE tutorials and make sure that the indications are still correct. During the test execution, RunMyDocs automatically updates screenshots used in the tutorials.
For the praxis project and assessment part of the course, students submit a spreadsheet containing an ERP configuration for a small company. Students worked in groups of three and were allowed to submit 4 iterations of their work, so the ERP5-based submission system had to be designed for 500 submissions at one time and a total of 2000 submissions during the duration of the course. After submission the system checks the Spreadsheet for syntactical errors. ERP5 oood converter engine is used to convert submitted spreadsheets so that students can use either open source libreoffice calc or proprietary spreadsheet software such as Excel.
To assure that the submission system could handle the processing of this amount of spreadsheets from day one, the implementation of a scalability test was mandatory. The test immediately showed that the synchronous processing of spreadsheets was the bottleneck of the whole submission system. After performing all middleware level optimizations such as solving conflict errors and load balancing, the main performance boost was gained by making the conversion and automatic checking of the spreadsheet asynchronous using ERP5 Activities and by putting heavily used form data into ERP5 Catalog for fast indexation. In the end the system performed well with 30 simultaneous submissions even on a standard 4CPU+SSD server, with the responsiveness of the upload step under 0.4 seconds in average and under 0.8 seconds maximum. The results clearly show the importance of preventive scalability testing to identify and solve possible bottlenecks before going live.
The ERP consulting project objective is to teach students how to perform an initial consulting process for an ERP implementation. It uses an online questionnaire with the 90 most important questions to ask to a company during this process. The objective of the questionnaire is to identify those business processes which are not successful enough and which can be improved using an ERP. The goal is to understand how to set the priorities for an ERP implementation. Course participants must find a real company to interview its management. During the project they experience the difficulty to make the management express the successful and unsuccessful business processes and to decide on three priorities for the ERP implementation. For an acceptable result, usually up to four interview iterations are necessary. The correction takes up to two hours with decreasing correction time in later iterations. The MOOC challenge was to assure an efficient online review process and objective corrections of all interviews in all iterations with 28 tutors with differing experience levels working from nine different countries on four continents.
To solve this challenge, a correction suggestion system was designed based on ERP5. The idea is to propose some corrections based on machine learning, so that the tutor can choose the valid corrections more quickly. The training data for the machine learning algorithm was taken from correction of previous OSOE courses. A customized fast-input dialogue was implemented in ERP5. Tutors used this dialogue to quickly correct an answer from the interview by selecting one of the suggested corrections:
The first approach to interface ERP5 with specialized machine learning software was based on a web service. This "fashionable" approach resulted not to be flexible and reliable enough for providing machine learning based correction suggestions for thousands of interviews. Since the web service approach was based on method invocation through XMLRPC, every time one part of the system changed, the web service also had to be adapted. This hurts flexibility which is required for developing a software that implements machine learning approaches which were never tried before. XMLRPC Method invocation also requires both of the interfaced systems to be available at the same time which hurts reliability which is needed when providing a correction system to 28 trainers to correct 500 interviews as fast as possible.
To improve flexibility and reliability, eventually a simple and robust approach based on SQL tables was chosen for the final machine learning interface. It relies on transaction safety of MariaDB for proper queue management. The machine learning software checks periodically, if there is new data in the export table filled by ERP5 SQL Methods. As soon as it finds new data, it processes it and writes the output to a second table which is again checked periodically by ERP5. This way it is not needed to trigger either ERP5 or the machine learning system which makes the interface simpler and more reliable. Both systems can communicate asynchronously through two MariaDB tables. Flexibility is improved because both systems can change and still talk to each other since the common interface is defined though the SQL table structure.