2023 PRODUCT DESCRIPTION DOCUMENT E-LEARNING MANAGEMENT SYSTEM Table of Contents ACRONYMS AND ABBREVIATIONS .................................................................................................................................... 1 GLOSSARY OF TERMS AND DEFINITION ............................................................................................................................ 2 PURPOSE AND INTENDED AUDIENCE ............................................................................................................................... 3 INTRODUCTION OF EDUCORE360 ..................................................................................................................................... 4 TYPES OF E-LEARNING CONTENT .................................................................................................................................. 4 Computer-Based Training (CBT)/Web-Based Training (WBT)................................................................................... 4 Game Based Learning/Serious Games ...................................................................................................................... 5 Micro Content ........................................................................................................................................................... 6 Mobile Content ......................................................................................................................................................... 6 Simulations and Simulation Games .......................................................................................................................... 7 Augmented Reality/Mixed Reality/Virtual Reality .................................................................................................... 7 Videos/Learning Videos ............................................................................................................................................ 8 TARGET AUDIENCE: ....................................................................................................................................................... 8 TARGET PLATFORMS ..................................................................................................................................................... 9 WHY EDUCORE360? .................................................................................................................................................. 9 PURPOSE OF EDUCORE360 ......................................................................................................................................... 10 QUALITY OF EDUCORE360 .......................................................................................................................................... 10 ADVANTAGES OF EDUCORE360 .................................................................................................................................. 11 OVERALL EDUCORE360 DESCRIPTION ............................................................................................................................ 12 EDUCORE360 FEATURES ................................................................................................................................................. 13 GENERAL FEATURES .................................................................................................................................................... 14 ADMINISTRATIVE FEATURES ....................................................................................................................................... 20 User Classes and Characteristics ............................................................................................................................. 24 NON-FUNCTIONAL FEATURES OF EDUCORE360 INCLUDE: ............................................................................................ 25 EDUCORE360 SERVER ENVIRONMENT ........................................................................................................................... 26 SYSTEM SPECIFICATION .................................................................................................................................................. 27 System Architecture .................................................................................................................................................... 27 Server Side Component Diagram ................................................................................................................................ 28 Database Schema ........................................................................................................................................................ 29 Quiz module database schema ............................................................................................................................... 32 EDUCORE360 Network Structure .............................................................................................................................. 35 OPERATIONAL REQUIREMENTS ...................................................................................................................................... 41 Server ...................................................................................................................................................................... 41 Client Devices .......................................................................................................................................................... 41 Internet Connectivity .............................................................................................................................................. 42 User skills ................................................................................................................................................................ 42 Safety Requirements ............................................................................................................................................... 43 Security Requirements ............................................................................................................................................ 43 User Support ........................................................................................................................................................... 43 Local Host .................................................................................................................................................................... 44 Requirements for Hosting EDUCORE360 ................................................................................................................ 44 Cloud Host ................................................................................................................................................................... 45 OFFLINE MODE................................................................................................................................................................ 46 SYSTEM ARCHITECTURE .................................................................................................................................................. 47 SYSTEM SECURITY ....................................................................................................................................................... 47 PROJECT TEAM ................................................................................................................................................................ 49 APPENDICES .................................................................................................................................................................... 51 ACRONYMS AND ABBREVIATIONS CMS Content Management System EA Enterprise Architecture ERD Entity Relationship Diagram FTP File Transfer Protocol ICT Information and Communication Technology IEC Information, Education, and Communication IP Internet Protocol IPR Intellectual Property Rights IS Information Security ISO International Standards Organization ISP Internet Service Provider IT Information Technology ITS Information Technology Security LDAP Lightweight Directory Access Protocol LMS Learning Management System NITA-U National IT Authority- Uganda PC Personal Computer PHP Hypertext Pre-processor RAM Random Access Memory SCORM Sharable Content Object Reference Model SSL Secure Socket Layer ToS Terms of Service WWW World Wide Web GLOSSARY OF TERMS AND DEFINITION TERM Guideline DEFINITION AND DESCRIPTION An explanation that clarifies what should be done and how to achieve the objectives set out in policies. Information Security Refers to the preservation of confidentiality, integrity and availability of information. In addition, it may also involve other properties, such as authenticity, accountability, nonrepudiation, and reliability. Information Security Event Identified occurrence of a system, service or network state indicating a possible breach of information security policy or failure of safeguards, or a previously unknown situation that may be security relevant. Access The process and procedure by which records are made available for use. Content Management System Online systems that are designed to support classroom learning in academic settings such as universities and high schools. Learning Management System This refers to an electronic registrar which performs various enrolment tasks. It can also be defined as software that automates the administration of training events. System Documentation Written explanations of functions and procedures related to all aspects of an electronic information system. Server A computer or device on a network that manages network resources Restricted Access “Restricted Access” is a means of access that entails identification of the person who is granted certain rights of access. The means of access may also involve the logging of requests made by the person during a session. Remote Access Patch “Remote access” means the ability to access learning materials without having to be physically present where the materials are kept. Threat Additional piece of software code developed to address problems or vulnerabilities (commonly called “bugs”) in software. Vulnerability Any circumstance or event which is deliberate or unintentional with the potential for causing harm to a system. Critical Success Factors A flaw in the design or configuration of software that has security implications. Vulnerability can be exploited by a malicious entity to gain greater access or privileges than is authorized. Key Performance Indicators Represents a factor that must be present if an objective is to be attained. Specific measure of an organization’s performance in an area of business. It is a general concept with different implementations depending on the type of business and goals of the organization. KPIs are a particular category of Performance Indicators and they provide an organization with quantifiable measurements of factors the organization deems important for its longterm success. PURPOSE AND INTENDED AUDIENCE EduCore360 Product Description Document (PDD) describes the features, functionality and architecture of the e-Learning Management System (LMS) implemented by 10 (ten) Consultants at MFI Document Solutions Limited (MFI) on Lumumba Avenue, Kampala, Uganda. The overall architecture of EduCore360, including the database schema and recommended operational models are described in the document. The details of both the hardware and software requirements for operating the EduCore360 are discussed. In addition, the document details the database schema and technologies used to implement the e-Learning system. Furthermore, assumptions for optimal operation of the EduCore360 are stated. A few illustrative interfaces to guide the reader on how to implement some of the tasks are also presented. The document is intended for e-Learning system administrators and maintenance technicians. It will also be used by management of MFI to make decisions on training requirements for EduCore360 administrators and LMS deployment models. The document is prepared in-line with the MFI IT solutions team understanding of the local operational constraints at MFI and diverse clients. The underlying technical description of the Content Management System (CMS) is based on the customized MOODLE architecture, this is because the EduCore360 implementation is based on the MOODLE framework. The document has been prepared by: Prepared By: a. Jackline Ayesiza b. Zawedde Brenda c. Nabakooza Shebrah Reviewed by: d. Wamani Derrick Any request for clarification on this document should be addressed to the four (4) Lead Consultants through MFI. 3 INTRODUCTION OF EDUCORE360 An e-Learning system, also known as an online learning platform, is a computer-based system that delivers educational content and resources over the internet. It provides an alternative to traditional classroom-based learning and allows learners to access educational materials from anywhere and at any time. E-Learning systems are used in a variety of settings, including higher education, and corporate training environments. EduCore360 is a web-based e-learning management system designed for educational institutions, businesses, and training centres to manage and deliver online learning courses. It is an all-in-one platform that provides everything needed to create, manage, and deliver courses and trainings online. EduCore360 is scalable, secure, and easy to use, and it offers a range of features that make it the perfect choice for those looking to implement a successful e-learning program. The main purpose of EduCore360 is to provide learners with access to high-quality educational content, trainings and resources. It can be used to deliver courses, training programs, and selfpaced learning opportunities. One of the key advantages of EduCore360 is flexibility. Learners can access educational materials at their own pace and schedule, making it more convenient for those with busy schedules or geographical constraints. EduCore360 is also more cost-effective than traditional classroom-based learning, as they do not require the physical infrastructure and resources associated with traditional education. Overall, e-Learning systems have become an important tool for delivering education in the 21st century and have changed the way people learn and acquire knowledge. They are expected to continue to evolve and become an integral part of education in the future. TYPES OF E-LEARNING CONTENT E-learning content includes a range of materials that can be more or less sophisticated in the use of media and level of interactivity. Types of e-learning content are as follows: 1. 2. 3. 4. 5. 6. 7. Computer-Based Training (CBT)/Web-Based Training (WBT) Game Based Learning/Serious Games Micro Content Mobile Content Simulations and Simulation Games Augmented Reality/Mixed Reality/Virtual Reality Videos/Learning Videos Computer-Based Training (CBT)/Web-Based Training (WBT) EduCore360, teachers and coaches will employ different computer-based e-learning methods. A typical e-learning content format is computer-based training (CBT). Computer-aided learning using multimedia learning programs and learning software that has been around since the 1980s. The emphasis with this kind of multimedia learning is on self-study independent of fixed hours and locations. 4 What are the differences between computer-based training and web-based training? Computer-based training (CBT) Computer-based training is usually restricted to certain content. The participants of a course are provided with content that does not require internet access. For example, via a CD-ROM or DVD. Exemplary fields of application for computer-based training are software training, learning languages, corporate advanced training and child learning programs. Further synonyms for online learning with the computer are computer-based learning or the outdated term tele learning. Web-based training (WBT) Web-based learning formats such as web-based training (WBT) are the natural progression of computer-based training. Participants require internet access for web-based training. They attend a virtual classroom together. The learning content is retrieved not from a physical data medium, but rather online via internet or intranet. A synchronous or asynchronous computer-based communication and interaction between participants, other learners and teachers is possible with WBT. A synonym for web-based training is the term web-based learning (WBL). Game Based Learning/Serious Games Game-based learning will allow players to acquire new knowledge using a digital game. Usually gamers play voluntarily and for leisure alone. Game-based learning will utilize the fun factor of games for educational purposes. Serious games playfully impart serious learning content. With game-based learning, the learning objectives are elaborately integrated into the game’s world. Gamification, by contrast, integrates short, game-typical elements into an, in essence, gameunrelated context. Both kinds of knowledge transfer are expected to increase the learner’s motivation and intrinsically improve the learning process. The following, partly synonymous, terms referring to game-based learning are in use: game-based learning (GBL) digital game-based learning (DGBL) serious games edutainment digital learning games educational games learning with videogames The most common games used for game-based learning are learning games. Their content, use and flow are designed according to educational criteria and, in part, attuned to teaching curricula. The indicators of a good learning game are: 5 a motivating storyline clear rules active participation and control of the player (self-efficacy experience) no concrete expectation or direct benefit Micro Content Use of utilized small, attractive bits of information and micro moments that help call attention to new information and incite the recipient to a positive interaction. The content is separated for users in a maximum of ten tasks. Sometimes smaller bits of content. For instance, when explaining new features of a machine to employees or implementing a new sales routine. Micro media and micro content formats consist of small building blocks, such as small texts single images short video or audio sequences These small learning sequences (micro media) are especially suited for usage in mobile devices, such as smartphones and tablets. The preferred media for these learning chunks are video sequences ranging from 3 to 15 minutes in length. Using micro content, companies enable their employees to organize learning independently, taking into consideration their available time. Mobile Content The term mobile content refers to all digital content accessible by mobile and portable devices. These include texts, images, videos, music, podcasts and gaming apps. Mobile content has created an entirely new form of location-independent learning (mobile learning). New apps, such as e-learning apps or interactive learning apps, enable personalized learning on smartphones, smartwatches and tablets. With mobile content, users can integrate small bits of learning into their digital daily routine. Technologies such as GPS, NFC and augmented reality make interactive mobile learning convenient and user friendly. Also, in the context of corporate advanced learning, mobile content is gaining in importance as an additional learning channel, because mobile content can elaborate on and extend blended learning units. Advantages of mobile content Mobile content allows learning on the go. Mobile content supports need-based and problem-oriented learning. Mobile content encourages interaction and communication between learners and teachers. What are the framework conditions of mobile learning? Storage on mobile devices is limited. Internet access is not always available at full bandwidth. Learning environments are usually not free of distractions and attention span is rather short. 6 Content representation is restricted by a smaller screen size. Simulations and Simulation Games Computer simulations (in short simulations) and simulation games are interactive computer software with which learners perform virtual experiments in a controlled environment. To that end the learner enters precise parameters in the e-learning program. The program then visualizes the reaction of the system over the course of the virtual experiment. The aim of this virtual skill training is to achieve familiarity with the system and understanding of its effect causalities. It is prudent to use simulations and simulation games online, in order to train certain abilities and make process connections comprehensible. Its use is also especially convenient in instances where a real-life experiment might be too dangerous, expensive or infeasible due to ethical reasons. Examples of simulations: In a flight simulator, prospective pilots practice the complex operating of a plane in a simulated environment. They practice, for example, take-offs and landings under difficult weather conditions, and the response protocol for technical difficulties. The advantage over training in the real environment: nobody comes to any harm. Examples of simulation games: In a simulation game, the players simulate controlling a complex social system without any risks or side effects. Examples of this are simulation games in vocational training (e.g. virtual professional training), simulation games in class (simulation game school), simulation games in economics (e.g. virtual team training), and simulation games in higher education (for college students). For the development of computer simulation software or a simulation game it is instrumental that the functions of the system to be simulated are known, and can be represented mathematically depending on user input. Potential input interfaces are, for instance, input fields or slide controls. Augmented Reality/Mixed Reality/Virtual Reality Computer enhanced perception or augmented reality as a learning environment is still in the early phases of development. However, the potential of learning programs that impart real solutions in virtual worlds, while making the experience come alive, is enormous. For instance, prospective physicians can practice gesture-based, difficult operations in interactive virtual realities. Students can go on excursions to perform scientific experiments and receive the next procedural step and additional information via a pair of virtual reality glasses. Virtual information enriches the real environment of the students. For learning languages and better understanding artwork, too, augmented reality, mixed reality and virtual reality tools are the means of choice. Augmented reality (AR): There are several programs available for learning with augmented reality (augmented reality learning, also known as augmented reality education). These include augmented reality learning programs, augmented reality learning software, augmented reality apps and augmented reality games. Mixed reality (MR): This technology merges the natural perception of the user with computer- generated reality. Digital content is integrated into the real world. 7 Virtual reality (VR): Typical virtual reality learning tools are, for instance, virtual reality apps and learning programs that simulate virtual learning environments. The advantages of virtual, mixed and augmented reality learning environments are: They appeal to all senses. They increase motivation and dedication. They encourage self-controlled learning. They promote cooperation. They improve learning performance and retention in long-term memory. They make spatial structures comprehensible. Videos/Learning Videos Learning with videos is fun, comfortable and takes little time. Accordingly, After all, a picture is worth a thousand words. Learning video usage by examples: Learning videos for children are a growing market (e.g. elementary school learning videos). Ideally, they are able to present even complex issues in a simple and comprehensible fashion. An equally large potential lies with learning videos in corporate advanced training (advanced training learning videos, education learning videos). Screencasts explain, by means of digital videos, common questions about software to users. Universities record entire lecture series on video and make them accessible to students online. YouTube’s streaming service is a popular platform for learning videos on which many private and commercial users create video tutorials and learning videos. Examples of these are talking head or sketch videos. Animations are a special type of learning video. They can skilfully illustrate complex scientific relations, for example. How effective is learning with videos? The advantage of learning videos: a well-made learning video appeals to more senses and creates a stronger relation to the real world. The targeted use of musical elements also emphasizes content. Advisable is a length between 7 and 15 minutes. If videos are too long, they will not hold the viewers’ attention. TARGET AUDIENCE: The target audience for EduCore360 can vary depending on the specific system and its intended use. However, some common target audiences for EduCore360 include: 1. Higher education students: EduCore360 will be used to deliver online courses and programs for students in higher education institutions, such as colleges and universities. 8 2. Corporate training: EduCore360 will be used by many organisations to deliver training programs for employees. EduCore360 can be used to provide employees with the knowledge and skills they need to perform their jobs effectively. 3. Self-paced learners: EduCore360 will also be used by individuals seeking to improve their skills and knowledge. EduCore360 will provide self-paced learning opportunities that allow learners to work at their own pace and schedule. 4. Distance learners: EduCore360 also used to provide educational opportunities for learners in remote or underserved areas, who might not have access to traditional classroom-based learning. 5. Continuing education: EduCore360 will also be used to provide continuing education opportunities for professionals, to help them stay current in their field. 6. Language learners: EduCore360 can be used for language learning, providing interactive materials, exercises and assessments to improve language proficiency. In general, an e-Learning system targets a diverse group of learners, from students to professionals, from individuals to organisations and from different ages to different backgrounds. TARGET PLATFORMS ● iPad Compatible: Yes: The system is accessible on all sorts of Tablets and iPads. For as long they have latest versions of browsers. ● Android Compatible: Yes: The Moodle Application supports android version 5.1 or higher for proper functionality. ● Primary Browser: Chrome is preferred but the system is still accessible on other browsers such as Edge, Firefox, safari. Internet explorer is not supported. ● Operating Systems & Browsers - final content will be functional on: Windows, Ubuntu, Open-SUSE, Red Hat, Solaris, etc. WHY EDUCORE360? EduCore360 will be one of the top learning management systems. It will provide teachers and trainers with a toolbox to build customised learning platforms. It will be, secure, feature-rich software platform that runs on any computer server and all common devices to create a webbased virtual learning space containing “courses”. These course spaces are where teachers, educators or trainers create and arrange a wide array of resources and activities into a rich learning experience; where enrolled students and learners interact and work with each other to achieve the learning goals of the course. With EduCore360, we believe that the best learning management systems must support good pedagogical practices, be feature-rich, open source, accessible for all, secure and integrate seamlessly with other platforms. Accessible – EduCore360 will be WCAG 2.1 AA compliant (version 2). Our integrated content accessibility checkers also will help you build courses that accommodate all learners. 9 Secure – EduCore360’s development practices include security by design, and it will enable you to have complete control over your data to meet your local legislation requirements, including GDPR compliance. It will also allow organisations or institutions to own their infrastructure. Flexible and feature-rich – EduCore360 goes beyond the basic content features of most learning platforms and is rich with activities that support good pedagogical practice and require students to actively engage with the learning content and each other in a range of modalities. Integrations – EduCore360 will connect seamlessly with third-party platforms and services; from plagiarism detection to content repositories. Hundreds of thousands of organisations, in every education sector, in every country on the globe, in nearly every language will use EduCore360 to manage their online learning. PURPOSE OF EDUCORE360 The purpose of EduCore360 is to provide an online platform for delivering educational content and resources to learners. It aims to enhance the learning experience by making education more accessible, flexible, and convenient. The goals of EduCore360 includes: EduCore360 will provide learners with the knowledge and skills they need to succeed in their chosen field, regardless of their location or schedule. EduCore360 can also provide a range of features and tools to support the learning process, such as interactive materials, assessments, and learning management systems. These tools can be used to personalise the learning experience, track progress, and provide feedback to learners and educators. QUALITY OF EDUCORE360 The quality of an EduCore360 courses will be enhanced by: LEARNER-CENTRED CONTENT: EduCore360 courses will be relevant and specific to learners’ needs, roles and responsibilities in professional life. Skills, knowledge and information will be provided to this end. GRANULARITY: EduCore360 content will be segmented to facilitate the assimilation of new knowledge and allow flexible scheduling of time for learning. ENGAGING CONTENT: Instructional methods and techniques will be used creatively to develop an engaging and motivating learning experience. INTERACTIVITY: Frequent learner interaction will be needed to sustain attention and promote learning. PERSONALIZATION: Self-paced courses will be customizable to reflect learners’ interests and needs; in instructor-led courses, tutors and facilitators will be able to follow learners’ progress and performance individually. 10 ADVANTAGES OF EDUCORE360 1. Flexibility: EduCore360 will allow students to learn at their own pace and on their own schedule. 2. Cost-effectiveness: EduCore360 will eliminate the need for commuting and other expenses associated with traditional in-person learning. 3. Accessibility: EduCore360 will reach students in remote or underserved areas, and it can also accommodate students with disabilities. 4. Variety: EduCore360 will offer a wide range of course options, including multimedia and interactive content that can make learning more engaging and effective. 5. Self-paced: EduCore360 will be done at a student's own pace, which can be beneficial for students who need extra time on certain subjects, or who need to move quickly through subjects they already know. 6. Convenience: EduCore360 will be done from anywhere, which can be especially beneficial for working professionals and students who have other responsibilities or obligations. 7. Easy to update: EduCore360 material will be updated frequently, which keeps the content current and relevant. 8. Data tracking: EduCore360 will track student progress and provide detailed analytics, which can be used to improve the learning experience and outcomes. 11 OVERALL EDUCORE360 DESCRIPTION This section describes the architecture and operational features of the EDUCORE360. The EDUCORE360 will be based on MOODLE, an open source LMS that is the most widely used globally MOODLE is an abbreviation for “Modular Object-Oriented Dynamic Learning Environment”. The EDUCORE360 is designed to serve educators and students of all categories. MOODLE framework is also in use by large organizations such as CISCO Systems Inc. and the International Telecommunication Union (ITU) to run on-line academies. EDUCORE360 provides a Content Management System at the back-end, which manages learning material and associated learning activities. EDUCORE360 will be web based and optimized for mobile devices, enabling remote access to the system. EDUCORE360 will be platform independent and run on most of the popular operating systems including: Windows, Linux and Mac OS. It will also be web browser independent because it will run on all standard web browsers such as Google Chrome, Internet Explorer and Firefox among others. In the following sections, details of the EDUCORE360 features and functionalities are presented. 12 EDUCORE360 FEATURES EDUCORE360 will use the MOODLE Social Constructionist pedagogy to organize the learning system framework. EDUCORE360 will be easy to learn and use for both first time and experienced users. EDUCORE360 will provide easy generation of PDF documents, quick establishment of courses, setting and grading of assignments. A course in the EDUCORE360 will be viewed on one sheet and downloaded as a singled zip file. Course instructors (teachers) can add multiple files very easily by dragging and dropping on the EDUCORE360 interface. User Dashboard: EDUCORE360 will provide user dashboards progress tracking and support for multimedia classes. Themes EDUCORE360 will include friendly themes, text editor, and support for third party plugins and add-ons (Details are provided in administrator and teacher educator user manuals). It is worth noting that the EDUCORE360 will be organized into modules, with the following as core modules; 1. Course management: EDUCORE360 course will have a sequence of resources and activities grouped into sections. Courses themselves organized into a hierarchical set of categories within EDUCORE360 site. 2. User management: A user is anyone who uses the EDUCORE360. In order to participate in a given course, the user will have to be enrolled on the course as either a teacher or student. 3. Site administration: Providing services of customizing the course and user profiles. 4. The other key modules of the EDUCORE360 are: Reports backup plugins modules. Third party integration through APis with other systems. 13 GENERAL FEATURES In the following sections the key features of EDUCORE360 are: 1. Modern, Easy to Use Interfaces EDUCORE360 interfaces will be designed to be responsive and accessible even by users in low resourced environments (I.e., users with lower bandwidth and lower computing resources like RAM). Furthermore, the EDUCORE360 user interfaces will be designed to be easy to navigate on both desktop and mobile devices. The EDUCORE360 will use a simple user interface layout structure and common labels for menus to facilitate learning and navigation of the LMS. 2. Personalized Dashboard EDUCORE360 will support user profile and course personalization through customization of course layout to suite the individual user preferences. The course material will be displayed in calendar time format (weeks) or simply displayed in systematic modules. The dashboards will also be arranged in such a way that it provides a glance of current tasks and messages. The dashboard will be structured into three columns. The left column providing a menu to manage the course(s), i.e. customize course profiles and manage activities. The middle column displays courses the user is participating in; whereas the right column provides access to support modules like calendar, upcoming events and private files. Figure SEQ Figure \* ARABIC 1 A Typical EDUCORE360 User Dashboard 3. Personalizing a course page When an educator, trainer or a teacher logs on for the first time, it’s important that they go to the settings page to edit the course details. Clicking on the settings sub-page enables the teacher to: 1. 2. 3. 4. 5. 6. Select the unit where the course is located Edit the full name of the course Edit/add the courses short name Edit/add the course id/code Type a statement summarizing what a student can expect to find in the course Select a course display format from among six formats i.e.; Weekly format, Topics format, LAMS course format, social format, Sharable Content Object Reference Model (SCORM) format and Weekly format-CSS/No tables 14 7. Adjust how course modules can be displayed i.e., by setting the number of course modules to be displayed per page. 8. Decide on the number of weeks the course will run for and these could be based on the topics of the course. 9. Specify the starting time of the course (in the teacher’s/user’s own time zone). If the user is using a ‘weekly’ course format; this will affect the display of the weeks. The first week will start on the date set here. This setting will not affect courses using the ‘social’ or ‘topics’ formats. Figure 2: Course setting page 1 10. Set how hidden sections in the course are displayed in order for students and any other people to access them. It will avail two options to the user either collapsing the weeks or making them completely invisible (Figure 4). However, even if the weeks are collapsed the users cannot actually see the hidden activities and texts. 11. A special forum called “News” appears in the ‘weekly’ and ‘topics’ course formats. It is a good place to post notices for all students to see. This setting determines how many recent items appear on a teacher’s course home page and in the in-news box which appears down the right-hand side. If the teacher sets it to “0 news items” then the news box won’t appear. 12. Make available or not available the grade book to students. If a teacher is not interested in using grades in a course, or just wants to hide the gradebook from students, then s/he can disable it from display in the Course Settings. 13. Allow the display of activity reports to the users’ pages, which include detailed access logs. Teachers always have access to these reports, using the button visible on each person’s profile page. Students’ access to their own reports is controlled by the teacher via a course setting. For some courses, these reports can be a useful tool for a student to reflect on their involvement and appearance within the online environment, but for some courses this may not be necessary. 14. Set the largest size of file that can be uploaded by students in this course, limited by the site wide setting created by the administrator. It is possible to further restrict this size through settings within each activity module. 15 Figure 3: Course setting page 2 15. Set restriction for guest’s access to the course. If access to the course needs to be restricted, then it needs to set to No or else is Yes is selected guests will have full access to the course. 16. Set the course’s availability students, depending on preference. For instance, a teacher may require students to follow sequential progression when learning which cannot allow them to access the next course until they have completed another one. 17. Force the use of only one language (English) or choose not to force use of one language. 18. Change the displayed roles used in the course by clicking on the Role Renaming option. For example, a teacher may wish to change ‘Teacher’ to ‘Facilitator’ or ‘Tutor’. Only the displayed name is changed - the underlying role permissions are not affected. 19. Click the Save changes button to effect any changes after adjusting settings for the course. 4. Collaborative Tools and Activities EDUCORE360 will support peer collaboration and learning through discussion forums, wikis, glossaries, and database activities among others. An activity is a general name for a group of features in the LMS course. An activity is an action that a learner performs in order to interact with other students or teacher. There are different types of activities in EDUCORE360 that can be found when the editing menu is turned on and the link ‘Add an activity or resource’ is clicked. Figure 4 illustrates the typical interface in EDUCORE360 when “add activity or resource is clicked”. 16 Figure 4: Activity Pop-up Menu in EDUCORE360 These activities are briefly described below; 1. Assignments: The assignment activity enables teachers to set assignments, as well as grade and provide feedback on uploaded files. Assignments allow the teacher to specify tasks that require students to prepare digital content (in any format) and to submit it by uploading to the server. Typical assignments include essays, projects, and reports among others 2. Chat: Allows participants to have a real-time synchronous discussion on given topic. The chat is often moderated by a teacher or a selected student. 3. Choice: A teacher asks a question and specifies a choice of multiple responses, from which learners select one option. It can be useful as a quick poll to: stimulate thinking about a topic, allow the class to vote on an issue or direction for the course, and or to gather research consent. 4. External tool: Allows participants to interact with Learning Tools Interoperability (LTI) compliant learning resources and activities on other websites. 5. Lesson: A lesson delivers content in an interesting and flexible way. It consists of a number of pages. Each page normally ends with a question and a number of possible answers. Depending on the student’s choice of answer they either progress to the next page or are taken back to a previous page. Navigation through the lesson can be straight forward or complex depending largely on the structure of the material being presented. 6. Feedback: Feedback facilitates collection of opinions on the course. 7. Forum: Allows participants to have synchronized discussions. 8. Glossary: Enables participants to create and maintain a list of definitions, such as a dictionary of key concepts 17 9. Quiz: Allows the teacher to design and set quizzes tests, which may be automatically marked and Feedback and/or to correct the answers shown. 10. SCORM: Enables SCORM packages to be included as course content. 11. Survey: Gathers data from students to help teachers learn about their class and reflect on their own teaching. 12. Wiki: A collection of web pages that anyone can edit or contribute to. 5. Convenient File Management EDUCORE360 will handle files easily by a drag and drop feature from cloud storage services including MS SkyDrive, Dropbox and Google Drive. Besides the LMS will provide a simple and intuitive text editor which is compatible across all browsers and devices, the editor will allow a user format text and add media files with relative ease. 6. The Intuitive Text Editor A text editor is a utility used to create content that is displayed as a web page in the LMS. A number of formatting types will be available to help users create web pages. The text pages will allow insertion of media applications such as photographs or images. By clicking the ‘Compose a text page’ link. Figure 5 illustrates the layout of a text editor in the EDUCORE360 used in the creation of a web page. Labels in Figure 5 are described below: 1. In space 1 titled ‘Name’ the user labels the page they would like to create 2. In space 2, the user uses the text editor to provide a summary of what the page will contain. 3. In space 3, the user provides contents of the page. The user can also type the content in a Word processing document and paste it in here directly. The text editor here allows the user to pick all the formats already placed within the document. Figure 5: Creating a webpage in EDUCORE360 4. Space 4 allows the page developer to decide whether to display the page name and description once it is clicked 18 5. Function 5 saves and returns the user to the course page without fully displaying the text page. 6. Button 6 saves and displays the full text of the just created page. Adding files onto a Course in the EDUCORE360 Figure 6: File addition in EDUCORE360 LMS 1. The space in number 1 in Figure 7 is the name of the file to be uploaded onto the course. 2. Space 2 provides a description of the file that is about to be uploaded 3. Clicking button 3 will open up a pop dialog like the one in Figure 7 which allows a user to choose a file needed to upload and also describe the name that will be used for saving. Figure 7: Select file to upload 4. The ‘Create a Folder’ button in number 5, opens a pop-up window which requires the user to type the name of the folder s/he would like to create 5. Clicking number 5 enables the user to select the files for uploading and dragging them to the window. 6. NB: The user should always ensure that they are uploading files into the specific folders that they have created 19 h) Assignment Module The assignment module will allow teachers to: set an assignment, define the grading scheme, collect work from students, review students’ assignments, and provide feedback to students. The work that students submit is visible only to the teacher and not to the other students unless a group assignment is selected. Figure 8 shows a screen shot of an activity assignment, showing participants’ submission and tools the teacher can use to modify the assignment constrains. Figure 8: Assignment Module Interface i. Notifications EDUCORE360 will have a convenient modern-day communication facility known as a ‘Notification engine’. The engine allows users to send messages and receive alerts on assignments, forum posts, and deadlines, among others. The engine facilitates both broadcast and private communication between parties. Notifications are activated during the course or activity setup. Details of these are provided in the Teachers Training Manual. ADMINISTRATIVE FEATURES a) Customizable Site Design and Layout EDUCORE360 will be designed with a custom theme. But administrators can easily customize a new theme to refresh the look and feel of the LMS. The super-administrator can change theme settings by clicking, Administration > Site administration > Appearance > Themes > Theme settings. If themes are available, the theme list in Figure 10 will display the available themes for course and user. The administrator can preview the available themes in Administration > Site Administration > Appearance > Themes > Themes selector. 20 Figure 9: Theme setting b) Secure Authentication and Enrolment EDUCORE360 will provide user authentication as a means of controlling access to the LMS and ensure accountability among users. The LMS will also provide options for adding or simply enrolling users to courses. Enrolment is the process of making users participants in a given course. At the same time users are usually given a role in the course, which specifies what they are allowed to do (referred as privileges). The EDUCORE360 uses the user-name and password approach to authenticate and grant users access to the LMS functions. Figure 11 shows the typical EDUCORE360 user login interface. The EDUCORE360 users have to provide their authentication credentials in order to have access. 21 Figure 10: EDUCORE360 login Interface NB: For security reasons users are discouraged from checking the “remember username” check box on the EDUCORE360 login page. Users who forget their passwords can request for a password reset via the link ‘Forgotten your username and password’ displayed below the login button. c) Enrolment Methods While the general MOODLE framework provides a number of course enrolment options (MOODLE, 2015), EDUCORE360 will be configured for enhanced security to support only three enrolment options. These are; 1. Manual enrolment – The manual enrolment will enable the site administrator or course teacher to add users to the course manually. This option will provide enhanced security since only verified users are allowed access to the course. However, the main disadvantage is that it adds more work to the course administrators. 2. Self-enrolment - The self-enrolment option will allow users to enrol themselves into a course, but access is only granted after the course teachers or administrator has approved the enrolment request. This option will be ideal when enrolling large number of users, who might be spread in different geographical locations. 3. Guest access - EDUCORE360 will have a guest access option for courses. If enabled, it will allow guest users accessing the site to view course materials but not participate in course activities like discussion forums and submission of assignments. Figure 11 illustrates a typical enrolment window in EDUCORE360 with a number of enrolment options. 22 Figure 11: EDUCORE360 Enrolment Options d) Supports open standards EDUCORE360 will facilitate the importation and exportation of SCORM courses into LMS. SCORM is a set of technical standards developed for e-Learning software products. The main benefit of SCORM is interoperability between e-Learning software products (Advanced Distributed Learning Initiative, 2015). For example, when designing e-Learning content using tools like Articulate, Captivate, Camtasia or Raptivity, SCORM enables the designer to upload content into an LMS. Specifically, the model determines how online learning content and LMS communicate with each other. When using SCORM content can be created in an e-Learning authoring tool like the abovementioned ones and then published by the tool in a SCORM format. To the user, a course in SCORM looks like a simple Zip file when published to SCORM. The Zip package contains all the files needed to make the e-Learning content run in EDUCORE360. Course Development and Management Features This section provides details of course administration in EDUCORE360. Courses in the EDUCORE360 are organized in a hierarchical structure (Figure 12). Courses are created and uploaded by the Administrator/manager and are accessible to everyone on the LMS: The administrator is responsible for creating courses and departmental structures on the LMS. Figure 12: EDUCORE360 course administration structure 23 In addition, the administrator of a given institution/organization/ company manages the LMS users from that place. User management involves; registration of new users, enrolment of users unto the LMS, updating of user privileges and revocation of user privileges. As illustrated in Figure 12, the circles represent a course in EDUCORE360 LMS per category as created by an administrator. User Classes and Characteristics EDUCORE360 has 6 predefined roles. Each role has permissions for a number of actions that can be carried out in the LMS. For example, an administrator, manager and a course creator are able to create new courses, whereas all other roles are denied this right. Likewise, a teacher is allowed to moderate forums, whereas students are only allowed to contribute to them. The EDUCORE360 administrator can define new categories of users (roles). Below we describe the different user categories pre-defined in EDUCORE360. 1. Administrator: any user with an administrator role has full access to the entire system and to all courses in EDUCORE360. The administrator can edit any setting in the LMS. In EDUCORE360, this role has two Categories; super-administrator and administrator. The super-administrator has all privileges on the LMS, while administrators are only responsible for their individual tasks. 2. Course creator: course creators can create new courses, and facilitate (teach) the courses created. Course creators cannot edit and facilitate courses they did not create. 3. Teacher: teachers can do anything within a course assigned to them, including changing or, uploading learning materials, creating learning activities and grading students. 4. Non-editing teacher: Non-editing teachers can teach in courses and grade students but cannot alter any activities 5. Student: students are able to perform allocated tasks within the course. The tasks include: downloading or viewing learning material, responding to chats and discussion forum posts, submitting assignments and contacting the teacher. 6. Guest: Guests have minimal privileges and cannot enter text anywhere in the course. Learning Paths: A Learning Path is a selection of courses tied together for learners to progress through, mastering a particular subject or program. It allows one to enrol multiple users in multiple courses at once saving valuable time. It’s an incredibly simple, yet highly-powerful feature. Courses are largely self-sufficient. The learners finish one course, and they’re automatically added to the next. Competence based Learning: Competency-based learning begins by identifying specific competencies or skills, and enables learners to develop mastery of each competency or skill at their own pace, usually working with a mentor. Learners can develop just the competencies or skills they feel they need (for which increasingly they may receive a ‘badge’ or some form of validated recognition), or can combine a whole set of competencies into a full qualification, such as a certificate, diploma or increasingly a full degree. Learners work individually, usually online, rather than in cohorts. If learners can demonstrate that they already have mastery of a particular competency or skill, through a test or some form of prior learning assessment, they may be allowed to move to the next level of competency without having to repeat a prescribed course of study for the prior competency. Competency-based learning attempts to break away from the regularly scheduled classroom model, where students study the same subject matter at the same speed in a cohort of fellow students. 24 NON-FUNCTIONAL FEATURES OF EDUCORE360 INCLUDE: Non-functional features of the EduCore360 system refers to the system's characteristics that are not directly related to its functionality but are still important for its overall performance and usability. These features describe how well the system works and how it can be used in different environments and scenarios. 1. 2. 3. 4. 5. 6. 7. 8. Security: This function ensures that the system is secure and protects against unauthorised access. Highlighting the measures, the system takes to protect user data, such as encryption and secure login protocols. Scalability: This function enables the system to manage a large number of users and courses. The system can accommodate an increasing number of students and courses as the user base grows without affecting performance. Usability: This feature makes the system easy to navigate and use for both lecturers and students. The intuitive user interface and clear navigation of the system, as well as the availability of a user manual and help resources. Accessibility: This function allows users with disabilities to access the system and its functions. Highlighting compliance with accessibility standards such as WCAG and the availability of accessibility options such as screen readers, keyboard navigation, etc. Performance: This function ensures that the system loads and runs quickly for all users. This system uses modern technologies and load tests are carried out to ensure that the system can handle high traffic without delays. Reliability: This function ensures that the system is always available and functions properly. It is illustrated by the fact that the system has redundant servers and contingency plans to minimise downtime and ensure data availability. Integration: This function allows the system to be integrated with other software and systems, such as student information systems and external apps. This can be explained by the availability of APIs and the ease of integration with other systems. Localisation: This function allows the system to be used in different languages and regions. It is exemplified by the system's support for multiple languages and the availability of localisation options such as date and currency format. 25 EDUCORE360 SERVER ENVIRONMENT EDUCORE360 running on the Apache server and the following configuration details must be noted by the system administrator. 1. EDUCORE360 PHP installation is configured with the Lightweight Directory Access Protocol (LDAP) extension. LDAP is a software protocol for enabling system administrators to locate organizations, individuals, and other resources such as files and devices in a network, whether on the public Internet or on a corporate intranet. 2. The LDAP server must have a fixed internet protocol address e.g. 192.168.181.203. 3. When using MS-AD, EDUCORE360 requires a non- privileged user account to bind to the LDAP server. This is not necessary with certain LDAP servers, but MS-AD requires this and it would not hurt if a user signs up for it even if the LDAP server does not need it. The user should make sure that this account and its password do not expire. The password should be as strong as possible. The user only has to type this password once when configuring EDUCORE360. The default setting of EDUCORE360 does not use MSAD therefore, users do not need to worry about this constraint. 4. All EDUCORE360 users’ details are in an organizational unit called MOODLE users, which is right under EDUCORE360 LDAP root. 26 SYSTEM SPECIFICATION EDUCORE360 architecture, key features and the associated database schema is discussed. Given the complexity of the EDUCORE360 with more than 150 tables and hundreds of modules, only the key features are described to help the LMS administrator and IT support teams have a fair understanding of the underlying technology framework of the LMS. System Architecture EDUCORE360 deployment architecture (Figure 13), will illustrate how the different components of the LMS are organized and how they interact with each other. As alluded to in the previous sections, EDUCORE360 will be web-based and designed on a client server architecture. The LMS will be designed to be accessed over institutional/company infrastructure or via mobile clients as illustrated in Figure 13. In order to guarantee the necessary security for both the LMS and its contents, there is need to use firewalls at both the server side and client side in order to filter traffic and minimize cyber security threats on the LMS. The server side of the LMS is made up of four (4) key components namely; the operating system, the apache webserver, the MySQL server and the MOODEL content management system (CMS). This combination forms the learning management system. EDUCORE360 will be designed with an Application Programming Interface (API) that supports user authentication using third party credentials over the external database as illustrated in Figure 13. EDUCORE360 will provide interfaces (Functions) to perform; user management, course management, course display settings and reporting. The following are the four services provided by the LMS: a) The user management modules provide interfaces for creating users, editing user profiles, and revocation of user privileges. b) The course management modules provide for creating courses, editing course settings, enrolling users onto the course, uploading learning material, enabling activities, and grading students work. c) The course display module provides interfaces for customizing the course lay and user profiles. d) The reporting module enables teachers and LMS administrators to monitor user actions on the LMS. 27 Figure 13: EDUCORE360 deployment architecture Server-Side Component Diagram The server-side component diagram shows the technical elements of LMS as illustrated in Figure 15. The client devices access the LMS via a web browser using the Hyper Text Transfer Protocol (HTTP). The LMS on a technical level is made up of, the MOODLE CMS with associated scripting utilities, a MySQL database, an apache webserver, the operation system, and a LAMP or WAMP server. The L/W/M –AMP server activities the PHP server, enabling the delivery of learning contents from the database to the client through the HTTP interface Figure 14: EDUCORE360 Component Diagram 28 Database Schema EDUCORE360 LMS database has about 192 tables, making the database schema very complicated to work with. The good news is that LMS administrators do not have to understand it all at once. Some modules can be ignored if they are not of immediate interest to them. This section illustrates the core database tables in these groups to help system administrators manage EDUCORE360 database. The database structure is defined in install.xml files inside the db folder in each plugin. For example, mod/forum/ db/install.xml contains the database definition for the forum module. lib/db/install.xml defines the tables used by MOODLE core. The install.xml files contain comments that should explain the purpose of each table and column. These comments can be turned into human- readable documents by going to Site administration -> Development -> XMLDB editor in the user’s MOODLE installation. Below we highlight some of the tables in the EDUCORE360 database structure. a) Configuration module tables config “id” BIGINT NOT NULL, “name” NVARCHAR (255) NOT NULL, “value” NVARCHAR (-1) NOT NULL config_log “id” BIGINT NOT NULL, “userid” BIGINT NOT NULL, “Time modified” BIGINT NOT NULL, “plugin” NVARCHAR (100) NULL, “name” NVARCHAR (100) NOT NULL, “value” NVARCHAR (-1) NULL, “oldvalue” NVARCHAR (-1) NULL config_plugins “id” BIGINT NOT NULL, “plugin” NVARCHAR (100) NOT NULL, “name” NVARCHAR (100) NOT NULL, “value” NVARCHAR (-1) NOT NUL Users and their profiles tables user “id” BIGINT NOT NULL, “auth” NVARCHAR (20) NOT NULL, “confirmed” SMALLINT NOT NULL, “policyagreed” SMALLINT NOT NULL, “deleted” SMALLINT NOT NULL, “suspended” SMALLINT NOT NULL, “mnethostid” BIGINT NOT NULL, “username” NVARCHAR (100) NOT NULL, “password” NVARCHAR (32) NOT NULL, “idnumber” NVARCHAR (255) NOT NULL, “firstname” NVARCHAR (100) NOT NULL, “lastname” NVARCHAR (100) NOT NULL, “email” NVARCHAR(100) NOT NULL, “emailstop” SMALLINT NOT NULL, “icq” NVARCHAR (15) NOT NULL, “skype” NVARCHAR (50) NOT NULL, “yahoo” NVARCHAR (50) NOT NULL, “aim” NVARCHAR (50) NOT NULL, “msn” NVARCHAR (50) NOT NULL, “phone1” NVARCHAR(20) NOT NULL, “phone2” NVARCHAR(20) NOT NULL, “institution” NVARCHAR(40) NOT NULL, “department” NVARCHAR(30) NOT NULL, “address” NVARCHAR(70) NOT NULL, “city” NVARCHAR(120) NOT NULL, “country” 29 NVARCHAR(2) NOT NULL, “lang” NVARCHAR(30) NOT NULL, “theme” NVARCHAR(50) NOT NULL, “timezone” NVARCHAR(100) NOT NULL, “firstaccess” BIGINT NOT NULL, “lastaccess” BIGINT NOT NULL, “lastlogin” BIGINT NOT NULL, “currentlogin” BIGINT NOT NULL, “lastip” NVARCHAR (45) NOT NULL, “secret” NVARCHAR (15) NOT NULL, “picture” BIGINT NOT NULL, “url” NVARCHAR (255) NOT NULL, “description” NVARCHAR (-1) NULL, “descriptionformat” SMALLINT NOT NULL, “mailformat” SMALLINT NOT NULL, “maildigest” SMALLINT NOT NULL, “maildisplay” SMALLINT NOT NULL, “htmleditor” SMALLINT NOT NULL, “autosubscribe” SMALLINT NOT NULL, “trackforums” SMALLINT NOT NULL, “timecreated” BIGINT NOT NULL, “timemodified” BIGINT NOT NULL, “trustbitmask” BIGINT NOT NULL, “imagealt” NVARCHAR (255) NULL, “screenreader” SMALLINT NOT NULL user_enrolments “id” BIGINT NOT NULL, “status” BIGINT NOT NULL, “enrolid” BIGINT NOT NULL, “userid” BIGINT NOT NULL, “timestart” BIGINT NOT NULL, “timeend” BIGINT NOT NULL, “modifierid” BIGINT NOT NULL, “timecreated” BIGINT NOT NULL, “timemodified” BIGINT NOT NULL user_info_category “id” BIGINT NOT NULL, “name” NVARCHAR (255) NOT NULL, “sortorder” BIGINT NOT NULL user_info_data “id” BIGINT NOT NULL, “userid” BIGINT NOT NULL, “fieldid” BIGINT NOT NULL, “data” NVARCHAR (-1) NOT NULL, “dataformat” SMALLINT NOT NULL user_info_field “id” BIGINT NOT NULL, “shortname” NVARCHAR (255) NOT NULL, “name” NVARCHAR (-1) NOT NULL, “datatype” NVARCHAR (255) NOT NULL, “description” NVARCHAR (-1) NULL, “descriptionformat” SMALLINT NOT NULL, “categoryid” BIGINT NOT NULL, “sortorder” BIGINT NOT NULL, “required” SMALLINT NOT NULL, “locked” SMALLINT NOT NULL, “visible” SMALLINT NOT NULL, “forceunique” SMALLINT NOT NULL, “signup” SMALLINT NOT NULL, “defaultdata” NVARCHAR (-1) NULL, “defaultdataformat” SMALLINT NOT NULL, “param1” NVARCHAR (-1) NULL, “param2” NVARCHAR (-1) NULL, “param3” NVARCHAR (-1) NULL, “param4” NVARCHAR (-1) NULL, “param5” NVARCHAR (-1) NULL 30 user_last access Stores details about the objects and activities the user performs on the LMS “id” BIGINT NOT NULL, “userid” BIGINT NOT NULL, “courseid” BIGINT NOT NULL, “timeaccess” BIGINT NOT NULL user_preferences “id” BIGINT NOT NULL, “userid” BIGINT NOT NULL, “name” NVARCHAR (255) NOT NULL, “value” NVARCHAR (1333) NOT NULL user_private_key “id” BIGINT NOT NULL, “script” NVARCHAR (128) NOT NULL, “value” NVARCHAR (128) NOT NULL, “userid” BIGINT NOT NULL, “instance” BIGINT NULL, “iprestriction” NVARCHAR (255) NULL, “validuntil” BIGINT NULL, “timecreated” BIGINT NULL The relationships between the different tables described above in the EDUCORE360 LMS in illustrated by the entity relationship diagram illustrated in figure 15. 1. Users Tables 31 Figure 15: User Profile ER Diagram in EDUCORE360. Quiz module database schema Figure 16 below illustrates the different tables in the quiz modules and their relationships. 32 Figure 16: The ER Diagram for Quiz Module in EDUCORE360 The Roles and Capabilities database schema The roles and capabilities database schema describe the characteristics of the different entities and the relationships with each other. The section introduces 3 key concepts namely: Role: Defines a role, its name, etc. Other parts of the role definition are stored in the role capabilities and role_ context_levels tables. Capabilities: Defines the various permissions that can be granted. Context: Context is a scope in EDUCORE360, for example the whole system, a course, a particular activity. The type is given by context level, and depending on context level, instance_ id points to one of a number of different tables. The following are the tables in the module; 1. role_allow_assign 33 2. 3. 4. 5. 6. 7. Defines which roles can assign other roles role_allow_override Defines which roles can override other roles role_allow_switch Defines which roles can switch to other roles role_assignments Defines which users are assigned which roles in which contexts role_capabilities Defines the permission for each capability in either a role definition (if contextid points to the system context) or a role override (if contextid points to some other context) role_context_levels Defines the context levels at which each role can be assigned. role_names Is used to implement the feature where roles can be given different names in different courses (or, more generally, contexts) Figure 17: Role module ER diagram 34 EDUCORE360 Network Structure The EDUCORE360 at the high level has system component database structures which are composed of 12 tables, namely; mnet_application, mnet_enrol_assignments, mnet_enrol_course, mnet_host, mnet_host2service, mnet_log, mnet_rpc, mnet_service, mnet_service2rpc, mnet_session and mnet_sso_access_control. Figure 19 illustrates the relationship between the tables. Figure 18: EDUCORE360 Network Structure ER diagram 35 a) Backup and restore The backup and restore module of the EDUCORE360 learning management system has the following tables: backup_config, backup_courses, backup_files, backup_ids and backup log. Figure 20 illustrates the relationship between the tables and other modules of the LMS. Figure 19: ER diagram for Backup and restore module for the EDUCORE360 36 b) Course Module and Related Table The course module has seven core tables which are; Course_sections, modules, course_modules, Course_allowed_ modules, Course, Forum and Groups. Figure 21 illustrates the Entity Relationship (ER) diagram for this module. Figure 20: Courses Module ER Diagram 37 c) EDUCORE360 grading Module database structure EDUCORE360 uses the MOODLE grading module to provide grading services. The provision of feedback is one of the key activities in the learning process. The module has 13 core tables that store content. Figure 21 shows the entity relationship diagram of the grading module tables for the EDUCORE360. Figure 21: Grading Module ER Diagram d) Groups and groupings database structure The database for groups and grouping module consists of the following tables: groups “id” BIGINT NOT NULL, “courseid” BIGINT NOT NULL, “name” NVARCHAR (254) NOT NULL, 38 “description” NVARCHAR (-1) NULL, “descriptionformat” SMALLINT NOT NULL, “enrolmentkey” NVARCHAR (50) NULL, “picture” BIGINT NOT NULL, “hidepicture” SMALLINT NOT NULL, “timecreated” BIGINT NOT NULL, “timemodified” BIGINT NOT NULL, “idnumber” NVARCHAR (100) NOT NULL groups_members “id” BIGINT NOT NULL, “groupid” BIGINT NOT NULL, “userid” BIGINT NOT NULL, “timeadded” BIGINT NOT NULL groupings “id” BIGINT NOT NULL, “courseid” BIGINT NOT NULL, “name” NVARCHAR (255) NOT NULL, “description” NVARCHAR (-1) NULL, “descriptionformat” SMALLINT NOT NULL, “configdata” NVARCHAR (-1) NULL, “timecreated” BIGINT NOT NULL, “timemodified” BIGINT NOT NULL, “idnumber” NVARCHAR (100) NOT NULL groupings_groups “id” BIGINT NOT NULL, “groupingid” BIGINT NOT NULL, “groupid” BIGINT NOT NULL, “timeadded” BIGINT NOT NULL The entity relationship diagram in Figure 22 illustrates the relationship between the tables in the groups and grouping module of the EDUCORE360. Figure 22: Groups and Grouping ER Diagram 39 Messaging sub-System The messaging system of composed of the following tables; the EDUCORE360 learning management is Message “id” BIGINT NOT NULL, “useridfrom” BIGINT NOT NULL, “useridto” BIGINT NOT NULL, “subject” NVARCHAR(1) NULL, “fullmessage” NVARCHAR(-1) NULL, “fullmessageformat” SMALLINT NULL, “fullmessagehtml” NVARCHAR(-1) NULL, “smallmessage” NVARCHAR(-1) NULL, “notification” SMALLINT NULL, “contexturl” NVARCHAR(-1) NULL, “contexturlname” NVARCHAR(-1) NULL, “timecreated” BIGINT NOT NULL message_contacts “id” BIGINT NOT NULL, “userid” BIGINT NOT NULL, “contactid” BIGINT NOT NULL, “blocked” SMALLINT NOT NULL message_processors “id” BIGINT NOT NULL, “name” NVARCHAR(166) NOT NULL, “enabled” SMALLINT NOT NULL message_providers “id” BIGINT NOT NULL, “name” NVARCHAR(100) NOT NULL, “component” NVARCHAR(200) NOT NULL, “capability” NVARCHAR(255) NULL message_read “id” BIGINT NOT NULL, “useridfrom” BIGINT NOT NULL, “useridto” BIGINT NOT NULL, “subject” NVARCHAR(1) NULL, “fullmessage” NVARCHAR(-1) NULL, “fullmessageformat” SMALLINT NULL, “fullmessagehtml” NVARCHAR(-1) NULL, “smallmessage” NVARCHAR(-1) NULL, “notification” SMALLINT NULL, “contexturl” NVARCHAR(-1) NULL, “contexturlname” NVARCHAR(-1) NULL, “timecreated” BIGINT NOT NULL, “timeread” BIGINT NOT NULL message_working “id” BIGINT NOT NULL, “unreadmessageid” BIGINT NOT NULL, “processorid” BIGINT NOT NULL 40 OPERATIONAL REQUIREMENTS This section defines the various requirements that EDUCORE360 needs to operate effectively. They range from Servers (application and database servers), hardware, Internet connectivity, user skill set, and security. Server The desired minimal specifications are listed in Table 1 below. Table 1: EDUCORE360 hosting server specification LMS Application Server Up to 8,000 users Dual Core Intel Xeon 2.8 GHz Processors 2 GB RAM 4x36GB 15K HDD in a RAID 5 Configuration OS: Linux Red Hat 10 Linux Red Hat Enterprise Adv. server Linux Fedora Linux Debian Ubuntu Server 9.04 Windows 2008 or higher Database Server Up to 8,000 users Dual Core intel xeon 2.8 GHz processors 3GB RAM 4x36 GB HDD in a RAID 5 configuration MySQL Server Client Devices The minimum hardware and software requirements for interaction with the EDUCORE360 using a Personal Computer (PC), include the following minimal specifications for the PC as listed in Table 2. Table 2: Client Specification Feature Processors Memory Operating System Hard Drive Other accessories Monitor Browser Specification 2.0GHz 1+ Gigabyte Window Vista, Win 7, Win 8, Mac OS, Linux distributions 20 Gigabyte Head Set, Sound card, Microphone 1024x728 pixel resolution See the details below 41 To access EDUCORE360, the user device needs to support one or more of the compatible browsers listed below. 1. On a PC/Windows machine; Internet Explorer 10, Firefox 4 or later version, Google Chrome 11 or later version, Opera 9 or later version. 2. On Mac; Firefox 4 or later version, Safari 5 or later version, Google Chrome 11 or later version, Opera 9 or later version. a) Browser Settings The security Level should be set at medium, cookies and JavaScript should be enabled. b) Viewers/Players/Plug-ins To view or access course content one or more of the following plug-in depending on the type of content posted in the course need to be installed. 1. Microsoft Word or simple a Word processor is recommended as course instructors who frequently use Microsoft Word for their course documents 2. Microsoft PowerPoint or any presentation software 3. Adobe Acrobat Reader for PDF files 4. Adobe Flash Player for Adobe Flash content The memory, processor and storage requirements on the client device depends on the type of content being accessed and the speed of the Internet connection. Internet Connectivity Internet connection requirements have to be viewed from both the client side and the server side. On the client devices like personal computers and tablets, a link throughput of 256kbps is required for a user to access to multimedia content and live streaming of video content. But if the content is mainly text-based with optimized Graphics, a link of 32kbps is sufficient. On the server side the bandwidth requirement is determined based on the number of active users with running sessions on the server and the type of content they would be accessing. If an unlimited number of fully developed courses and about 500 users is considered, then the minimal bandwidth of 500 GB (Gigabyte) per month on the server is required. For ideal performance, 1-TB (Terabyte) per month would be required for 500 Users. User skills All users must be proficient in Microsoft Office applications like Word processors and Spreadsheets. Learners and course facilitators (teachers) alike would need to be proficient in Internet and web technologies. The specific skill sets for different user groups are listed in Table 3. 42 Table 3: User skill sets User Category Teacher educator Students EDUCORE360 Administrator Skill set Skills in content development and content development tools like EXE are a must have. Basic computing skills like Word processing, managing Internet connections and web browsing. The IT technical personnel must be conversant with client-server web systems and have excellent understanding of the operation of CMS. IT support personnel must be proficient in scripting language like PHP and database technologies especially MySQL, since EDUCORE360 uses MySQL database. The IT support team must have excellent skills in management of either Linux based servers or Windows servers. A good knowledge of the Apache server is key to support the EDUCORE360 learning management system. Safety Requirements For the LMS to work effectively and efficiently, both the software and the hardware must be protected from natural and man-made threats. If the LMS is locally hosted, the room hosting the critical infrastructure like servers and Internet gateways MUST be water and fire proof. The servers must be placed in a physically secure environment that has controlled access by authorized personnel. In a local hosting situation, the servers and Internet connectivity devices must also be installed in air-conditioned rooms. Security Requirements In order to guarantee the availability and reliability of the e-learning services delivered through EDUCORE360, the Internet connection on the LMS servers should have an availability guarantee of 99.999%. The availability can be enhanced by implementation of mirrored servers, redundant Internet connection link and regular backup of the LMS contents. Furthermore, in order to guarantee the integrity of course materials such as student assessment and their grades and protection of Intellectual Property Rights (IPR), EDUCORE360 implements a Role-based access control for all users. Secondly, course instructors are encouraged to convert Learning material into protected formats that preserve the Integrity of the content Such as protected PDF files and SCOARM course formats among others. Furthermore, the EDUCORE360 authentication scheme enforces the principle of strong password construction by enforcing and validating password salting. The LMS stores user passwords in encrypted formats to minimize risks of accidental leak through database compromise. Relatedly, confidentiality of courses and learning materials is achieved through effective implementation of role-based user privilege management. User Support The EDUCORE360 being a MOODLE-based LMS has a large community of users and hence, users benefit from nearly 24hour support. Furthermore, Eight Tech Consults Ltd will be 43 available to provide any specific use support beyond the mandatory 3 months after the launch of EDUCORE360 at a reasonable fee. Eight Tech Consults offers both on-line and on-site support services. Proposed EduCore360 Operational Model This section focuses on the proposed modes of operation for the LMS, they include the local and the cloud hosted services. The section discusses how each mode is implemented, it advantages and disadvantages. Local Host Requirements for Hosting EDUCORE360 The following consideration must be made when deciding to host the LMS locally at MFI. a) Availability of appropriate IT infrastructure: this essentially comes down to three key areas: hardware, software, and network speed. EDUCORE360 needs a highperformance server with sufficient storage and RAM to deliver a great e-learning experience. Assuming the number of users is 500, the LMS server should, and at a bare minimum have the following specifications. 1. Hardware: 1. Disk space: 160MB free (minimum) plus as much as users need to store materials. A minimum of 25 GB is probably realistic. 2. Backups: at least the same again (at a remote location preferably) as above to keep backups of the site 3. Memory: 1GB (min), 2GB or more is strongly recommended. The general rule of thumb is that an LMS can support 10 to 20 concurrent users for every 1GB of RAM, but this will vary depending on the specific hardware and software combination and the type of use. ‘Concurrent’ means web server processes in memory at the same time (i.e. users interacting with the system within a window of a few seconds). It does NOT mean people ‘logged in’. 2. Software EDUCORE360 runs on Linux and Windows computers. Linux and Windows are the most common choices (and good support is available). Linux is generally regarded as the optimal platform. The base of EDUCORE360 (MOODLE) is regularly tested with Windows OS, Solaris 10 (Sparc and x64), Mac OS X and Netware 6 operating systems (MOODLE, 2014). 3. Web server EDUCORE360 uses Apache webserver, but can also be configured to work with Internet Information Services (IIS) or other tested servers like lightttpd and LiteSpeed if need arises. If EDUCORE360 fails to install on the web server, the default solution is to configure the web server to serve PHP files. The server version is not critical but EDUCORE360 administrator need to know that using the most update web server version minimizes backward compatibility issues. 44 4. PHP The minimum version is currently 5.3.2. A number of extensions are required; see the PHP page for full details. Installation will halt at the environment check if any of the required extensions are missing. 5. A database MySQL and PostgreSQL are the primary development databases, they are the most comprehensively tested and have extensive documentation and support. Oracle and MySQL are fully supported (note that optional plugins may be untested with these databases) but documentation and online help are not as comprehensive as MySQL/PostgreSQL. If in doubt use MySQL (more documentation) or PostgreSQL (better stability/performance). The user will need the appropriate PHP extension (configured if need be) for a chosen database. 1. 2. 3. 4. 5. MySQL - minimum version 5.1.33 PostgreSQL - minimum version 8.3 MSSQL - minimum version 9.0 Oracle - minimum version 10.2 SQLite - minimum version 2.0. Availability of skills to manage the server: If EDUCORE360 is to be hosted locally at MFI, attention must be paid on training IT administrators to internally support the LMS. The IT personnel in that case must be familiar with Linux (the preferred Operating System to run the LMS), MySQL, Apache and PHP. 6. External Access of Locally Hosted LMS If the LMS is hosted locally, accessing the LMS over the local network is faster than the Internet. However, from the project conception it is clear that EDUCORE360 will have many remote users. In such a case the Internet link capacity at MFI must be increased considerably to dedicated link of minimal of 25MBps. One has to remember that limited bandwidth will adversely affect the speed of EDUCORE360 and frustrate both the teachers and learners. Given the costs involved and risks, a local host for EDUCORE360 is NOT recommended. Cloud Host The server requirements for Cloud Host are the same. The advantages of cloud hosting include; a dedicated server with guarantee availability of 99.999%, no need to hire EDUCORE360 system administrators, service reliability among others. Others include easy integration with existing web services like e-mail and on-line calendars. Therefore, a cloud hosting option for EDUCORE360 is recommended. 45 OFFLINE MODE This section defines the various requirements EDUCORE360 will need to operate EDUCORE360 in offline mode. It is not recommended for MOODLE users to adapt the MOODLE offline mode for large scale use since the underlying technology is still under development. Therefore, any attempts to deployment a MOODLE based LMS into offline mode must be done by experienced LMS developers to address the numerous error and support issues that would normally arise. Accordingly, the consultant does not recommend the three user/client to venture in offline mode deployment of EDUCORE360 given above reasons. In general, Offline mode of EDUCORE360 would allow users (both teacher and student) to work even when they are not connected to the Internet. For EDUCORE360 to work offline; 1. Users must download and install the MOODLE offline client from MOODLE Offline Project website at http://mooffline.sourceforge.net/ onto their client devices, i.e., laptops, tablet, etc. 2. Then the clients have to be configured to point to the correct LMS server (site). Also, the LMS server must be configured to synchronize with offline clients. When users first connect to Offline EDUCORE360, a locally installed utility on any drive will automatically download all the pages required for it to work offline from the server. From that point onwards, the user can work with LMS regardless of whether or not they are connected to Internet. How it works An offline MOODLE LMS has a client-server architecture as the standard LMS. The client part consists of a customized Moodle application (utility) that runs on the users’ local device (computer, tablet or USB). The server part consists of a block to install on a Moodle 2 server. The instructor of a course creates a snapshot of a course, Which is a sort of backup of the course. The client has the ability to connect to the server when the Internet connection is available and download the snapshot of the course to be used in offline mode. It works only with MOODLE framework v.2.2.x., of which EDUCORE360 uses MOODLE version 2.9. Hence, EDUCORE360 has the capability of being used online. What kind of data is copied? The snapshot of the course contains an exact copy of the course, including students’ data (students’ submissions, grades and discussions among others). All this data is accessible to the client (although users’ names and emails are anonymized). This means that this tool cannot be used when private data is stored in the course, otherwise this data becomes public. Challenges Any offline MOODLE based LMS represents, among other things, significant security and privacy challenges. It also has limited documentation and support. The offline LMS as stated by the MOODLE community is not yet stable and therefore its use is NOT recommended until such a time when a stable version is available. 46 SYSTEM ARCHITECTURE The system architecture of EduCore360 is designed to be web-based and will be developed using popular web technologies such as open source, PHP, JavaScript, MySQL, Bootstrap 5, and HTML 5. The system will use a three-tier architecture that includes a presentation layer, an application layer, and a database layer. The presentation layer will be built using HTML 5, Bootstrap 5, and JavaScript. This layer will handle the user interface and user experience of the system, including user input, data visualisation, and reporting. The user interface will be responsive and optimised for different screen sizes, including desktop, tablet, and mobile devices. The application layer will be built using PHP and will handle the business logic and data processing of the system. This layer will handle user authentication, user input validation, and data processing, including calculations, data storage, and retrieval. It will also integrate with other third-party systems such as Course management, Student enrolment, Discussion forums, Video lectures, Quizzes and assessments etc. The database layer will be built using MySQL and will handle the data storage and retrieval of the system. This layer will store all user data, including employee records, attendance records, and performance records. The data will be stored in a normalized form to ensure data integrity and minimize data redundancy. The database layer will also handle data backup and recovery to ensure that data is secure and available at all times. In summary, the system architecture of EduCore360 is designed to be highly scalable, secure, and reliable. It is built using modern web technologies and follows best practices for web development. The architecture provides a flexible and modular framework that can be easily extended and customized to meet the specific needs of different organizations. By following industry best practices, EduCore360 aims to provide a stable and reliable platform that can help organizations manage their learning and development more efficiently and effectively. SYSTEM SECURITY The security of the EduCore360 system is a top priority, and the system is designed to be highly secure and robust. The system will implement various security measures to ensure the confidentiality, integrity, and availability of user data. 1. User Authentication: EduCore360 will use a strong authentication mechanism to verify the identity of users accessing the system. User authentication will be required to access the system, and the system will implement multi-factor authentication (MFA) to increase the level of security. 2. Access Control: The system will use role-based access control (RBAC) to limit access to sensitive data based on user roles and permissions. Access control will ensure that only authorized users can access sensitive data, minimizing the risk of unauthorized data access. 3. Encryption: EduCore360 will encrypt user data both at rest and in transit to protect against unauthorized access. The system will use SSL/TLS protocols to encrypt data in transit, and it will use industry-standard encryption algorithms such as AES to encrypt data at rest. 47 4. Audit Trails: The system will maintain detailed audit trails to track user activity and detect potential security breaches. The audit trails will capture user login attempts, data access, and data modifications, providing a clear record of user activity in the system. 5. Vulnerability Scanning: EduCore360 will undergo regular vulnerability scanning to identify potential security vulnerabilities and ensure that they are addressed in a timely manner. The system will also be updated regularly with the latest security patches to protect against known vulnerabilities. 6. Data Backup and Recovery: The system will have robust data backup and recovery mechanisms to ensure that user data is available at all times. Data will be backed up regularly, and backups will be stored offsite to protect against data loss due to disasters or system failures. 7. Compliance: EduCore360 will be designed to comply with relevant data protection regulations, such as the General Data Protection Regulation (GDPR). In summary, EduCore360 will prioritize system security, implementing a range of security measures to protect user data. The system will use strong authentication, access control, encryption, audit trails, vulnerability scanning, and data backup and recovery mechanisms to ensure the confidentiality, integrity, and availability of user data. By prioritizing security, EduCore360 aims to provide a safe and secure platform for learning and development, minimizing the risk of data breaches and other security incidents. 48 PROJECT TEAM Team Composition and Task Assignments Technical/Managerial Staff Name Wamani Derrick Position Project manager Task(s) ● ● ● ● ● Samuel Ochieng Mugisha Ronald Achalia Elizabeth Wamala Musa Birungi John Bob Database Developers/Admi nistrator ● ● ● ● ● ● ● ● ● ● ● ● ● ● Samuel Ochieng Mugisha Ronald Birungi John Bob Ayesiza Jackline Jonathan Wallas Achalia Elizabeth Wamala Musa UI/UX Designers ● ● ● ● Managing the delivery of multiple complex simultaneous system development projects from design through to release Capable of understanding and contributing to the technical solution from design through to code level Working closely with Development Project Managers and Business Analysts to produce accurate delivery estimates and manage the transition from analysis through to design and delivery Provide regular and effective progress updates to and work closely with Development Project Managers to ensure the management of any delivery risks or issues Define delivery phases of the project including activities, subactivities, and milestones ensuring these are documented and used as the basis for the project event log, issues and risk log and any subsequent reporting Mobile Development & hosting into Google Play Store & Apple Store for ioS Coordinate and manage database activities to support Web Portal development. Provide functional and technical support to ensure performance, operation and stability of database systems. Manage data exporting and importing across database systems. Provide database connectivity and access support throughout the organization. Prepare documentations of all database procedures and guidelines. Provide high level support to customers on a daily basis. Respond to database related queries and issues in a timely fashion. Performing coding assignments. Reviewing code work for accuracy and functionality. Creating and implementing design plans. Analysing code segments regularly. Delegating tasks to team members. Keeping up-to-date with industry trends and technology developments. Conduct research and deconstruct users’ digital interactions and habits. Come up with UI and UX strategies based on URA target goals. Create and maintain digital assets, such as interface design files, wireframes, and interactive mock-ups using {{design and prototyping tools}}. Design, build, and maintain highly reusable JavaScript, HTML and CSS code. 49 Mugisha Ronald Birungi John Bob Jonathan Wallas Achalia Elizabeth Wamala Musa Quality Assurance ● ● ● ● ● ● ● ● ● Mugisha Ronald Birungi John Bob Jonathan Wallas Achalia Elizabeth Wamala Musa System Analyst ● ● ● ● ● Mugisha Ronald Samuel Ochieng Birungi John Bob Ayesiza Jackline Wamala Musa Maimunah Shebrah System Architect ● ● ● ● ● ● Preparing and implementing quality assurance policies and procedures. Performing routine inspections and quality tests. Identifying and resolving workflow and production issues. Ensuring that standards and safety regulations are observed. Addressing and discussing issues and proposed solutions with superiors. Documenting quality assurance activities and creating audit reports. Making recommendations for improvement. Test Scenarios, Test cases, etc. Testing Execution Prioritize requirements from various stakeholders Communicate, translate, and simplify business requirements to ensure buy-in from all stakeholders Assess change-proposals and define solutions to help the organization achieve its goals Discover, organize, and clarify business needs and review/produce specifications for change Work with the Technical Analyst and development team to ensure that they understand the specifications Performing coding assignments. Reviewing code work for accuracy and functionality. Creating and implementing design plans. Analysing code segments regularly. Delegating tasks to team members. Keeping up-to-date with industry trends and technology developments. In addition to project manager and team members, other stakeholders need to be involved at different stages of the project. In particular, project sponsors (those who set the goal for the project and allocate resources) should be involved at the start of the project, when resources, tasks, activities and timelines are defined; they are often in charge of providing the final approval for project release. Representatives of the target audience are also important stakeholders and their involvement in the first stages of the process is crucial to ensure that the course matches the needs of prospective learner. 50 APPENDICES Backup and Recovery: https://docs.google.com/document/d/1GVpcPFHE3Hl1_auprBRvrqQgtzCVd3uYBzB46AxXDCQ/edit Risk Management: https://docs.google.com/document/d/1tZYS9xv2zogmmOonlXad9mMyvSf3KiQMqo2BD7S9QM/edit#heading=h.30j0zll Failover and Backup Development: https://docs.google.com/document/d/1_AdLAIM4S31l4zYkKIaw_Jg6ctY60unsxAM8SzLYgso/edit 51