discover d3.2technical specification for discover platform...

37
D 3.2 Technical Specification for the DISCOVER platform Revision: 1.6 Authors: Dani Blanco (CETEMMSA) Project cofunded by the European Commission within the ICT Policy Support Programme Dissemination Level P Public C Confidential, only for members of the consortium and the Commission Services DELIVERABLE Project Acronym: DISCOVER Grant Agreement Number: 297268 Project Title: Digital Inclusion Skills for Carers bringing Opportunities Value and Excellence

Upload: others

Post on 20-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                              

D 3.2 Technical Specification for the DISCOVER platform Revision: 1.6   Authors:    Dani Blanco (CETEMMSA)  

 

Project co‐funded by the European Commission within the ICT Policy Support Programme 

Dissemination Level 

P  Public   

C  Confidential, only for members of the consortium and the Commission Services   

 

DELIVERABLE

 

Project Acronym: DISCOVER Grant Agreement Number: 297268 Project Title: Digital Inclusion Skills for Carers bringing Opportunities Value and Excellence

Page 2: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 2 of 37 

Revision History and Statement of Originality 

  

  Revision History  

Revision Date  Organization  Description #1.0 03rd September 2012 CETEMMSA Technical specification for DISCOVER platform #1.1 18th September 2012 CETEMMSA Draft deliverable circulation #1.2 20th September 2012 CETEMMSA Deliverable completion and corrections #1.3 21st September 2012 CETEMMSA Second draft circulation for contributions #1.4 24th September 2012 CETEMMSA Adding partners contributions #1.5 25th September 2012 CETEMMSA Final draft circulation #1.6 26th September 2012 CETEMMSA Final contributions

  

Statement of originality:   This deliverable contains original unpublished work except where clearly indicated otherwise. Acknowledgement of previously published material and of the work of others has been made through appropriate citation, quotation or both.  

             

Page 3: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 3 of 37 

Table of Content 

REVISION HISTORY AND STATEMENT OF ORIGINALITY 2 TABLE OF CONTENT 3 TABLE OF FIGURES 4 EXECUTIVE SUMMARY 5 1.  INTRODUCTION 6 1.1  OBJECTIVES 6 1.2  PURPOSE 6 1.3  STRUCTURE 6 1.4  INTENDED AUDIENCE 7 2.  GENERAL HARDWARE SPECIFICATION AND NETWORK DISTRIBUTION 8 2.1  OVERALL APPROACH 8 2.2  SERVER HARDWARE SPECIFICATION 8 2.3  USER NUMBER PREDICTION AND TRAFFIC LOAD 9 2.4  HYPOTHETICAL DEPLOYMENT SCENARIO: NETWORK ARCHITECTURE 9 3.  SPECIFICATION OF DISCOVER PLATFORM UNDERLYING COMPONENTS 12 3.1  INTRODUCTION 12 3.2  OPERATING SYSTEM 12 3.3  ADMINISTRATION AND VIRTUALIZATION TOOLS 13 3.3.1  XEN 14 3.3.2  RAID SYSTEM 15 3.4  DISCOVER PLATFORM UNDERLYING COMPONENTS 16 3.4.1  MYSQL DATABASE ENGINE 16 3.4.2  APACHE WEB SERVER 17 4.  SPECIFICATION OF DISCOVER PLATFORM COMPONENTS 20 4.1.  INTRODUCTION 20 4.2.  MOODLE 21 4.3.  MAHARA 24 4.4.  CUSTOMIZATION SPECIFICATION 25 4.5.  SPECIFICATION OF THE INTEGRATION OF MOODLE & MAHARA 29 4.5.1  MOODLE AND MAHARA REQUIREMENTS FOR INTEGRATION 29 4.6.  MOODLE MODULES SPECIFICATION 34 4.7.  SPECIFICATION OF THE INTEGRATION OF DRUPAL WEBSITE & MOODLE PLATFORM 35 4.7.1  MOODLE INTEGRATION MODULE V.6‐X‐2.3 36 4.7.2  QAPI 36 4.8.  ACCESS DEVICES 37  

Page 4: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 4 of 37 

Table of Figures 

FIGURE 1 - SCENARIO CONFIGURATION AND NETWORK ARCHITECTURE 10 FIGURE 2 – DISCOVER PLATFORM LAYER STACK 20 FIGURE 3 – COMMUNICATION BETWEEN LEARNING MANAGEMENT SYSTEM

(LMS) AND SHARABLE CONTENT OBJECT (SCO) 24 FIGURE 4 - POSSIBLE LOOK FOR DISCOVER PLATFORM 26 FIGURE 5 – LOOK OF THE DISCOVER PROJECT WEBSITE 27 FIGURE 6 – DRUPAL THEMES DIAGRAM 28 FIGURE 7 – MOODLE NETWORKING SETTINGS 30 FIGURE 8 – MOODLE NETWORKING SETTINGS 31 FIGURE 9 – MAHARA INSTITUTIONS ADMINISTRATION 32 FIGURE 10 – MAHARA INSTITUTIONS ADMINISTRATION 33 FIGURE 11 – MANAGING OF MOODLE PEERS 33 FIGURE 12 – MOODLE/MAHARA COMMUNICATION 34 FIGURE 13 – MOODLE/DRUPAL WEBSITE COMMUNICATION 36 FIGURE 14 – DISCOVER SINGLE ENTRY POINT SPECIFICATION 37

 

 

 

 

 

Page 5: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 5 of 37 

Executive Summary 

As a  first step before starting the actual development a technical specification  for the design and further development of DISCOVER platform needs  to be defined. This  is, where possible, built on user requirements and needs.  Accordingly,  this document will define  the underlying platform  from which all DISCOVER services and content will be offered. Additional  local systems will be  integrated and offered as services to the platform users later on.  The DISCOVER platform  technical  specifications will describe  the  server  configuration needed  to deal with aspects such as  load and balance control; the services needed to maintain the platform (database engines, application  servers, etc...) and all  components needed  to build  the DISCOVER platform (essentially the integration of the e‐learning system Moodle with the portfolio Mahara); as well  as  any  other  basic  tools, modules  or  components  selected  to  provide  useful  tools  to  the platform environment to be developed. 

 

 

 

Page 6: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 6 of 37 

1. Introduction 

1.1 Objectives 

To define  the DISCOVER platform  technical specification  for  its design and  further development. This covers all the basic aspects of server configuration to host DISCOVER services, definition of the support  services  required  to  run  the DISCOVER platform as well as defining  its own components that configure the base of the DISCOVER platform with  its related tools or modules, and how this integration will be performed. This deliverable is closely related to “D3.3 Technical specification of local systems” and can be considered as the first part of two of the complete specification of the DISCOVER system. 

 1.2 Purpose 

The purpose of  this deliverable  is  to consolidate  the DISCOVER platform  technical  specification. The selection of the involved components, tools or modules that will form the basic structure of the DISCOVER platform will be done according to the previously defined user requirements and needs. This  document will  describe  these  components,  how  they  fit  and  are  integrated  together,  the underlying services needed to support the DISCOVER platform or the optimal server configuration according to the expected traffic load, users, etc... Apart from these components specification, the service will be tested before its release to real users to ensure the best performance. 

1.3 Structure 

This deliverable  is  structured  in  three main  chapters according  to  the  three main aspects of  the DISCOVER platform. 

First, chapter 1 will define the hardware requirements in order to assure the best performance on the  future  deployment  of  the  DISCOVER  platform.  This  section  will  take  care  of  the  server/s hardware  requirements. A  study of  the expected number of users of  the DISCOVER  services and predicted traffic load will result in load/traffic balancing during deployment if required. 

In chapter 2, an overview of the tools, components or services needed to develop the DISCOVER platform will be defined. Basically, an operating system running on the servers will be used to host the  DISCOVER  platform.  Over  it,  some  other  auxiliary  services  or  components  will  be  needed: application  servers, database engines, administration  tools, etc... For each  relevant component a specification  table with  the most  important  features, characteristics and  the version used will be shown. 

Finally, chapter 3 will address the specification of the components of the DISCOVER platform. The basic platform will be formed of essentially the integration of the Moodle e‐learning platform and the Mahara portfolio. Both will be integrated and then customized according to user requirements and needs. This chapter explains how these components will be customized and integrated, which other components or modules will be integrated within the platform and how the users will access the DISCOVER services. 

Page 7: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 7 of 37 

 1.4 Intended audience 

This deliverable  is aimed at  internal use by the consortium, especially by the technical personnel that will be  involved  in  the  technical definition of  the DISCOVER platform,  its design and  further development. Together with the second part of the specification (which will be described  in D3.3) related to the  local systems, this document  intends to be the complete technical specification for the DISCOVER system. 

Page 8: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 8 of 37 

2. General hardware specification and network distribution 

2.1 Overall approach 

This chapter  focuses on the system requirements specification regarding the underlying  layer of the  system  to  be  deployed,  that  is  the  basic  hardware  requirements  to  ensure  an  optimal performance of the DISCOVER services in an hypothetical deployment scenario. 

Firstly, the characteristics of the development server will be described as the starting point for the development  of  the  DISCOVER  platform  and  subsequent  testing.  Secondly,  the  deployment scenario will be described according to the expected traffic  load and number of users previsions, and  is  likely  to  require  a  distribution  server  in  order  to manage  user  requests,  achieve  optimal balance of the traffic generated by the users and distribute the different services that run over the hardware and OS (application servers, database engines...) in the most proper configuration. 

User  numbers  and  traffic  will  be  predicted  to  decide  if  the  hypothetical  deployment  scenario requires a distribution on different servers to assure the service performance. This will help design the optimal hypothetical distribution in preparation of the system deployment. 

2.2 Server hardware specification 

The next features describes the hardware characteristics of the server to be used for the DISCOVER platform. During the development phase, a development server with these characteristics will be used, which  is  separate  from  the  server  that will host  the actual  service. This means  that all  the components needed for the operation of the platform will reside  in the same server and that any development will not impact on user access or performance.  

Development server specifications 

System  Intel Xeon E5606 2.133Ghz 

Manufacturer  Intel 

Category  Hardware 

RAM memory  8GB 

Disk drives  2 HD 1Tb SATA ‐ Raid 1 (Hard) 

Technical characteristics  

 

Essentials 

Launch Date  Q1'11 

Processor Number  E5606 

# of Cores  4 

# of Threads  4 

Clock Speed  2.13 GHz 

Intel® Smart Cache  8 MB 

Bus/Core Ratio  16 

Intel® QPI Speed  4.8 GT/s 

# of QPI Links  2 

Instruction Set  64‐bit 

Page 9: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 9 of 37 

Instruction Set Extensions  SSE4.2 

Embedded Options Available  No 

Lithography  32 nm 

Max TDP  80 W 

VID Voltage Range  0.750V‐1.350V 

Memory specifications 

Max Memory Size  288 GB 

Memory Types  DDR3‐800/1066 

# of Memory Channels  3 

Max Memory Bandwidth  25.6 GB/s 

Physical Address Extensions  40‐bit   

According  to  the  following deployment scenario,  it can be considered  that any server needed  for the distribution of the DISCOVER services into a server network must satisfy these characteristics. 

2.3 User number prediction and traffic load 

One of the most  important aspects to take  into account to define the hardware distribution for a real working  scenario,  is  the  correct  prevision  of  the  expected  number  of  users  the DISCOVER services will  reach  as  this  fact  is  directly  related  to  the  traffic  load  the  service will  be  able  to manage and bear: when more users are simultaneously requesting services data, more resources and better management systems will be needed to balance the traffic load. 

Taking into account this important fact, a prediction on the needs according to a certain number of users can be done looking at the configuration of a real Moodle deployment: In such configuration, two  servers  of  similar  characteristics  to  the  one  that  has  been  specified  to  host  the DISCOVER platform are sized and configured such that each could take on the role of the other if it is needed. That is a security mechanism that assures the service in case one of the servers fails. Configured to handle  a  maximum  of  256  web  connections  each,  it  is  known  that’s  sufficient  for  a  Moodle installation of a size of 25,000‐30,000 students, which  is sufficient to begin to offer the DISCOVER platform services. 

Of course, as we can deduce, the optimal solution for a growing number of users is to configure a totally scalable network model that let the system grow with new servers to respond to increased user requests while a load balancer manages the user traffic and redirects each user request to the most appropriate server in each instance. 

The  following  section  outlines  how  this  hypothetical  distribution  scenario  can  be  configured  to achieve  this  principle:  be  as  scalable  as  possible  to  respond  to  increasing  users’  requests, expanding within the same network architecture and adding new server/balancers to manage the traffic load. 

2.4 Hypothetical deployment scenario: Network architecture 

The  key  to  the appropriate network architecture  for  the working  scenario will be  to  configure a scalable distribution, which will enable the easy increase of network resources and balance traffic 

Page 10: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 10 of 37 

demands of a growing number of users, according to the predictions and premises of the previous section. 

The following figure shows the first response to user requests by a block of load balancers. The load balancers mission is to distribute the traffic of the user requests among the different servers, which offer the DISCOVER services according to their available resources. It is also a safety mechanism. If a server fails the requests to that failing server can be redirected to the others. For example,  load balancers, which are usually virtualized machines running on the same or different servers, can be configured  in  active/passive mode  so  if moodle‐lb‐M  fails moodle‐lb‐N  can  take  over.  The  same happens with database engine  servers and Moodle web  servers. Their principal  role  is  to handle contents  data  and web  connections  and  its  number  can  be  upgraded  in  a  scalable way  if  the number of connections or users  rises, but can also be held on  reserve or as mirror servers  to be used if some of the other production servers fail. 

 

Figure 1 ‐ Scenario configuration and network architecture 

Page 11: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 11 of 37 

Apart from taking into account these recommendations for a hypothetical deployment scenario, it should  be  noted  that  in  a  real working  case  each  server would  be  completely  dedicated  to  a specific  role: data  store, web  server,  load balancer... and may be  in different physical  locations. However, during the development phase while the DISCOVER platform components are going to be integrated, we will use  just one development  server on which  the different  components will be running within the same server.  

Page 12: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 12 of 37 

3. Specification of DISCOVER platform underlying components 

3.1 Introduction 

Once  the hardware  specification has been defined,  it will be needed  to configure  this hardware, and in this case the development server, with the proper software, administrative tools and support components in order to achieve the requirements for deployment at the top level of the DISCOVER platform. 

The  underlying  software  requirements,  which  enable  the  functioning  and  deployment  of  the higher level platform components, can be classified in one of the following categories:  

Operating system (OS): Set of software and tools that manages the resources of the system needed to run other programs. 

Administration  and  virtualization  tools:  Tools  for  the  system management  and  hardware resources virtualization. Virtualization allows splitting physical server resources  in different virtual machines, which is useful during development phase. 

Application  and web  servers: Container  that holds  the web  sites or web  applications  to manage and serve requests; returning the results as HTML that  is  interpreted by the users Internet navigators. To do this some web servers implement other language interpreters (as for example PHP) to perform the translation. 

Data storage and data engines: Data management software that can be accessed through the standard SQL protocol  in order to ask for the data that  is contained on  it.  It holds the users’ data, contents, and  in general any data related to the web applications that need a permanent storage.  

One of the most  important features of all the software components that are going to be used for the development of the DISCOVER platform  is that all of them are totally  free and most of them even open source or using general public licenses (GPL). Open source promotes free redistribution and access to an end product's design and  implementation details, which allows a self‐enhancing diversity of production models,  communication paths, and  interactive  communities, empowering free development and customization according to users’ needs. 

In  the  following  section,  this  chapter will  review which of  these components are needed  for  the deployment of the higher components of the DISCOVER platform  (essentially Moodle + Mahara), specifying  the  versions which are going  to be used, as well any  special  configuration  taking  into account the final requirements for the development of the DISCOVER platform. 

3.2 Operating system 

First of all, any hardware needs to run an operative system to use the resources of the server. This is  the  lowest software  layer, and  is needed  for  the  rest of software components or programs  to function.  Because  of  this,  it  is  defined  as  a  collection  of  software  that  manages  computer hardware and provides common services for computer programs. 

Page 13: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 13 of 37 

There are lots of different operating systems that can be classified in different kinds and categories, but there  is one particularly  interesting as  it  is used worldwide  in many production servers under open  source  license:  Linux,  a Unix‐like operating  system  that was developed without  any  actual Unix code and which code can be read and modified by anyone. Because of this it has been widely adopted for its use on servers. Nowadays there are several popular distributions, such as Red Hat, Debian or Ubuntu. 

The  DISCOVER  platform  development  server  as well  as  any  server  that  finally will  be  used  for production purposes, will run Linux as the operating system, using the Debian Lenny distribution. Detailed features of Linux Debian Lenny distribution can be found in the next table: 

 

Linux operating system 

System  Linux 

Developer  Debian Project Community 

Category  Operating system 

Distribution  Debian 

Codename  Lenny 

Version  5.0.10 

Release Date  February 15th, 2009 

Supported architectures  

 

Alpha  64‐bit PC (amd64)  ARM  EABI ARM  HP PA‐RISC  32‐bit PC (i386)  Intel Itanium IA‐64  MIPS (big endian)  MIPS (little endian)  PowerPC  IBM S/390  SPARC 

 Once the operating system to be used for the development of the DISCOVER platform  is defined, the next steps is to prepare the development environment as is explained in following section. 

3.3 Administration and virtualization tools 

Above  the operating  system  layer  the use of administrative and virtualization  tools  is defined  to improve performance and ease development or integration of other components. Within this group the  utilization  of  the  XEN  virtualization  tool  is  particularly  noteworthy,  as  this  allows  the development server  to be split  into different virtual machines  that can specifically be devoted  to different functions: application server, database engine, etc... This will be used in the development environment to simulate different dedicated servers, while on a deployment scenario these servers will really be physically separated. 

Page 14: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 14 of 37 

Another important administrative tool is the RAID (redundant array of independent disks, originally redundant  array of  inexpensive disks)  configuration, which makes use of  the multiple disk drive components  combining  them  into  a  single  logic  unit.  The  different  architectures  of  RAID implementation  are  followed  by  a  number  to  identify  each  scheme.  The  purpose  of  the  RAID schemas  is  to provide a different balance between  three key goals:  resilience, performance, and capacity. 

The  foundations of  these  tools are explained below, detailing  the configuration  that will be used both  in  the development machine  in  terms of  virtualization as well as  in both development and production in the case of the RAID system. 

3.3.1 XEN 

XEN  is  a  hypervisor  providing  services  that  allow multiple  computer  operating  systems  (OS)  to execute on  the same computer hardware concurrently.  It was originally developed by Cambridge University and nowadays is maintained by a developer community as free software licensed under GNU  General  Public  License  (GPLv2).  Moreover,  most  Linux  distributions  had  included  XEN packages to  interact with the XEN hypervisor and start additional domains, but because XEN was not accepted into the mainline Linux kernel and installation required several kernel patches, some distributions dropped out‐of‐the‐box support  in subsequent releases, although some distributions are again considering its support. 

Server virtualization using XEN provides benefits such as:  

Consolidation leading to increased utilization 

Rapid provisioning 

Dynamic fault tolerance against software failures (through rapid bootstrapping or rebooting) 

Hardware fault tolerance (through migration of a virtual machine to different hardware)  

Ability to securely separate virtual operating systems  

Ability to support legacy software as well as new OS instances on the same computer.  

Moreover,  XEN  support  for  virtual  machine  live  migration  from  one  host  to  another  allows workload balancing and the avoidance of downtime. Virtualization also has benefits when working on  development:  running  the  new  system  as  a  guest  avoids  the  need  to  reboot  the  physical computer whenever a bug occurs. 

For all  these  reasons  that make  the use of XEN  so convenient,  it has been  specified  that  for  the development  environment  the  server  will  be  split  into  two  virtual  machines  simulating  the database server engine and the Moodle DISCOVER platform web server. 

Detailed XEN features are summarized as follows: 

 

XEN virtualization tool 

System  Citrix XenServer  

Developer  The XEN project. XEN source Inc. 

Page 15: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 15 of 37 

Category  Virtualization tool 

Version  6.0.2 (Free Edition) 

Release Date  Launched 2003 (October 21st, 2011 last stable). 

License  GNU General Public License (GPLv2) 

Website  http://www.xen.org 

Supported platforms  

  

Linux BSD OpenSolaris as management host Many OS including Microsoft Windows as guests. 

 

3.3.2 RAID system 

In  computer  sciences, RAID,  acronym  of Redundant Array  of  Inexpensive Disks,  refers  to  a  data storage  system  that  uses multiple  hard  disks  among which  the  data  is  stored  and  replicated. Depending on the configuration of the RAID system, the advantage of the use of this system may include  higher  integrity  and  resistance  against  fails  on  the  data  and  higher  throughput  and efficiency with a higher capability. 

 Capability  of  integration  of  several  low  cost  devices  or  even  older  technology  on  a  set  offering higher capacity, reliability, speed or a combination of these than a last generation more expensive unique device. 

DISCOVER platform server implements a RAID 1 system. That means in this kind of system, which uses  a  system  of mirroring without  parity  or  striping,  data  is written  identically  to  two  drives, thereby producing a mirrored set.  

The read request  is serviced by either of the two drives containing the requested data, whichever one involves least seek time plus rotational latency. Similarly, a write request updates the strips of both drives. The write performance depends on  the  slower of  the  two writes  (i.e.,  the one  that involves larger seek time and rotational latency). 

Page 16: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 16 of 37 

The most relevant parameters of standard RAID 1 level are summarized in the following table:  Description 

Nº drives  Space Efficiency 

Fault Tolerance 

Array Failure Rate 

Read Benefit 

Write Benefit 

 

Mirroring without parity or striping. 

2  1/2  1 drive  r2  2X  1X 

 

 

At least two drives are required to constitute such an array. While more constituent drives may be employed,  many  implementations  deal  with  a  maximum  of  only  two.  The  array  continues  to operate as  long as at  least one drive  is  functioning. With appropriate operating  system  support, there can be increased read performance, and only a minimal write performance reduction. 

3.4 DISCOVER platform underlying components 

In order to finish the specification for the development environment of the DISCOVER platform,  it should be noted that some other support components running over the described operating system are mandatory to be able to develop, integrate and deploy the top level components that will form the DISCOVER platform. In fact, these components are essential to host the components and data offered by the DISCOVER services platform, hold users’ data, serve user requests etc... 

3.4.1 MySQL database engine 

Moodle, and any other  local components that will be  integrated within the DISCOVER platform as specified in D3.3, needs to hold their content and data related to users, among other information, on a permanent storage managed by a database engine. 

Supported  database  engines  by Moodle  include MySQL,  PostgreSQL, MSSQL, Oracle  and  SQLite. MySQL has been specified to be the database engine used for the development of the DISCOVER platform  because  it  is  the  world’s  most  used  open  source  relational  database  management system (RDBMS) that runs as a server providing multi‐user access to a number of databases. 

The MySQL development project has made  its source code available under the terms of the GNU General  Public  License,  as well  as  under  a  variety  of  proprietary  agreements,  and  usually  free software  open  source  projects  that  require  a  database management  system  use MySQL.  Some examples  of  applications  using  MySQL  are  Joomla,  WordPress  or  Drupal,  which  are  content management systems, and also popular World Wide Web products such as Wikipedia, Facebook or Twitter. 

Detailed  features of  the  chosen MySQL distribution  to be used by  the DISCOVER platform  as  its database engine system are summarized in the following table: 

Page 17: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 17 of 37 

 

MySQL database engine 

System  MySQL 

Developer  Sun Microsystems (MySQL AB until February 2008) 

Category  Database engine (RDBMS) 

Version  5.1.63 

Release Date  August 2nd, 2012 (last stable) 

License  GNU General Public License (GPLv2) 

Website  http://www.mysql.org 

Supported platforms  

  

AIX BSDi FreeBSD HP‐UX eComStation i5/OS IRIX Linux Mac OS X Microsoft Windows NetBSD Novell NetWare OpenBSD OpenSolaris OS/2 Warp QNX, Solaris Symbian SunOS SCO OpenServer SCO UnixWare Sanos Tru64 

3.4.2 Apache web server 

Due to the fact that Moodle, which is going to be the base of the DISCOVER platform development, is a web based application, it needs a web application server to run. A web server is the software application  that  helps  deliver  the web  content  that  can  be  accessed  by  the  users  through  the Internet,  and  is  the  container  where  the  web  applications  (websites,  data  storage,  enterprise applications, etc…) reside. 

The  primary  function  of  a web  server  is  to  deliver web  pages  on  request  to  clients  using  the Hypertext Transfer Protocol  (HTTP). This means delivery of HTML documents and any additional content  that may be  included by  a document,  such  as  images,  style  sheets  and  scripts. Moodle contents and pages, as part of a web based application, are consequently translated to HTML and delivered by a web server to the users’ web browsers through the Internet. 

Page 18: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 18 of 37 

Moreover, taking into account that Moodle e‐learning platform is based on PHP script (Hypertext Preprocessor, a kind of general‐purpose server‐side scripting  language originally designed for web development to produce dynamic web pages) a web server supporting the translation of this script into HTML will be needed. 

There exist some different options when choosing a web server, the most important are: 

 

Web server  Vendor  Description 

Apache HTTP server  Apache  Running typically on Unix like operating systems, is a web  server  notable  for  playing  a  key  role  in  the initial  growth  of  the WWW  and  for  supporting  an enormous  variety  of  features  implemented  as optional modules. 

Internet Information Services  Microsoft  Web server application created by Microsoft for use with Windows  supporting HTTP, HTTPS,  FTP,  FTPS, SMTP  and  NNTP,  but  not  PHP,  which  makes  it useless for project purpose. 

Nginx  Nginx  Open source Web server and a reverse proxy server for HTTP,  SMTP,  POP3  and  IMAP  protocols, with  a strong  focus on high concurrency, performance and low memory usage. 

 

With the larger amount of webs hosted worldwide, and a recognized reliability and performance, Apache is the most popular available web server. Therefore it has been chosen as the web server to use for the development and deployment of the DISCOVER platform. Moreover,  it has support for  all  the  essential  additional  features  needed  for  the  correct  development,  integration  and deployment of the DISCOVER platform, such as PHP support to run the Moodle e‐learning platform. 

Like the other tools and components used for the development and deployment of the DISCOVER platform, Apache HTTP server  is an open source  free software developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. 

Page 19: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 19 of 37 

Detailed  features  of  the  Apache web  server  that  is  going  to  be  used  for  the  development  and deployment of the DISCOVER platform is summarized in the following table: 

 

Apache web server 

System  Apache HTTP Server 

Developer  Apache Software Foundation 

Category  Web server 

Version  2.2.16 (PHP version 5.3.3‐7) 

Release Date  1995 (17th April, 2012 last stable) 

License  Apache License 2.0 

Website  http://www.mysql.org 

Supported platforms  

  

Unix FreeBSD Linux Solaris Novell NetWare Mac OS X Microsoft Windows OS/2 

 

Apart from the basic characteristics specified  in the previous table, the Apache web server needs to be configured with some other features for the correct hosting of the DISCOVER platform. The Moodle  based  platform  needs  additional  Apache  features  which  enable,  among  others,  PHP support  for the Moodle/Mahara based platform, SSL support and  integration  facilities needed  for the integration of Moodle e‐learning platform with Mahara portfolio. 

The specification for the required Apache additional modules is described as follows: 

 

Apache web server modules and tools 

PHP   Provided by the mod_php module + libphp5 library. Third party module developed by the PHP group that enables usage of PHP within Apache through the embedding of a PHP interpreter. 

SSL  PHP extension provided by the mod_ssl module. Provides strong cryptography via the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) cryptographic protocols by the help of the Open Source SSL/TLS toolkit OpenSSL. 

CURL  CURL is a command line tool provided as a PHP extension for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. CURL supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume, proxy tunnelling and a busload of other useful tricks. 

Page 20: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 20 of 37 

4. Specification of DISCOVER Platform components 

4.1. Introduction 

On top of the defined structure of hardware and software components sits the DISCOVER platform. The DISCOVER system  is specified as a platform offering different content and  tools  to  the users through a set of services based on a web environment that can be accessed through the  Internet via web browsers on the user PCs or via other mobile devices such as Tablet PCs or Smartphones. 

The DISCOVER platform is based on the Moodle e‐learning environment for the  learning content management, providing specific tools for students and course management, content management and more. Additionally,  it will be  integrated with the Mahara portfolio system, a  framework  for the  management  of  users’  digital  portfolios  which  includes  functionalities  related  to  social networking and interaction between users. 

Following  on  from  the  previous  sections  the  DISCOVER  platform  layer  stack  including  all  its different component elements can be drawn as follows: 

 

 

 

 

 

 

 

Figure 2 – DISCOVER platform layer stack 

Deliverable D3.3 will discuss how the  integration of the  local systems will be performed over the DISCOVER platform based on the  integration of Moodle with Mahara. In the following chapter we will  review  the  specification of  the components  that  form  the DISCOVER platform, how  they are going to be integrated to work together, customized according the users’ needs and how the users will access the offered contents. 

Hardware

Operating System (Linux Debian)

Virtualization tools (XEN)

Administration tools Web server & database engine (Apache + MySQL)

DISCOVER platform (Moodle + Mahara + other modules)

Local systems integration

Page 21: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 21 of 37 

4.2. Moodle 

Moodle (which stands for Modular object oriented dynamic learning environment) is a free source web  based  e‐learning  platform,  also  known  as  course  management  system  (CMS)  or  virtual learning environment (VLE). Among its most relevant features it includes:  

Different users’ roles, including administration, teachers and students. 

Courses and content management with possibility of file upload and download. 

Assignment submission 

Grading 

Social networking: Moodle instant messages, discussion forums... 

Online tools: calendar, news and announcement, quizzes and more. 

Wiki. 

Ease of extension through the development of new modules. 

Possibility of integration with other systems and platforms through the use of data sharing, XML, RPCs, web  services  or  other  communication mechanisms  that  can  be  developed  as Moodle modules.  

Moodle has been specified to be the basis of the DISCOVER platform due to its convenient features, scalability  and  ease  for  the  developers  to  extend Moodle  by  creating  plugins  for  specific  new functionalities. Many  third parties modules are currently available and even users can use PHP language to write and contribute new modules. The development and assistance of open source programmers  has  sped  up  the  development  of  new Moodle modules,  as  well  as  rapidly  fixed possible bugs. 

In  the  following  table, the specification of  the version of Moodle  that  is going  to be used  for  the development and deployment of the DISCOVER platform is summarized:  

Moodle e‐learning platform 

System  Moodle 

Developer  Moodle HQ Moodle Community 

Category  Course management system 

Version  2.3 

Release Date  August 20th, 2002 (25th June, 2012 last stable) 

License  GNU General Public License (GPLv3) 

Website  http://www.moodle.org 

Supported platforms  

  

Unix Linux FreeBSD Windows Mac OS X NetWare In general, any system supporting PHP and database engines. 

Page 22: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 22 of 37 

 

The reason to use v2.x of Moodle  is  it  includes key features regarding to activity completion and completion tracking. It includes the configuration of conditional activities, which enable teachers to restrict the availability of any activity according to certain conditions such as date, grade obtained, or activity completion. Completion tracking allows teachers to specify conditions that define when an activity is considered to be complete (e.g. when a certain number of posts have been made, or a grade has been reached or a choice has been made.) 

The same configuration can be applied to courses, and  in  this way course completion can enable teachers  to specify conditions  that define when a student has completed a course. These can be useful features within the course sites and could easily allow a completion certificate to be released following completion of activities. 

Over this specified version of Moodle, DISCOVER platform is going to use MILES+, which is an out of the box  installation/extension of Moodle 2.x (which name  is really the abbreviation of Medical Inter‐Linked Educational Space). It  is a free source web based e‐learning platform arose from the mEducator project. 

Due  to  its  convenient  features,  scalability  and  ease  for  the  developers  to  extend  it  by  creating plugins for specific new functionalities, MILES+ has been specified to be the base of the DISCOVER platform joining Moodle itself. Among its most relevant features it includes:  

Different users’ roles, including administration, teachers and students. 

Courses and content management with possibility of file upload and download. 

Assignment submission 

Grading 

Social networking: Moodle instant messages, discussion forums, etc. o Supporting of FOAF profile o Views of Users educational resources o Grading of educational resources by the user 

Online tools: calendar, news and announcement, quizzes and more. 

Wiki. 

Ease of extension through the development of new modules. 

Possibility of integration with other systems and platforms through the use of data sharing, XML, RPCs, web  services  or  other  communication mechanisms  that  can  be  developed  as Moodle modules. 

Description of Educational resources with mEducator Ontology/Scheme 

Publishing description of resources as RDF triples accessible from a SPARQL endpoint 

Educimology of Resources o Results of resource searching appeared in a map o Relative resources/knowledge/information appearance 

Repurposing of Educational Resources 

Searching and retrieving educational resources through SPARQL endpoints 

Searching and retrieving resources through web services  

Page 23: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 23 of 37 

In the following table, the specification of the version of MILES+ that is going to extend Moodle that and be used for the development and deployment of the DISCOVER platform is summarized:  

MILES+ ELearning component 

System  MILES+ 

Developer  Moodle HQ Moodle Community AUTH team 

Category  Learning Content management system 

Version  2.2 

Requirements  Moodle v2.2 + 

Release Date  January 2009 ( Sep, 2012 last stable) 

License  GNU General Public License (GPLv3) 

Website  http://www.meducator3.net/milesplus 

Supported platforms  

  

Unix Linux FreeBSD Windows Mac OS X NetWare In general, any system supporting PHP and database engines. 

 

Modern e‐learning environments, like Moodle, have matured, as perceived through the description of  their  structure  and  functions. Modern  standards  such  as  Sharable  Content Object Reference Model  (SCORM),  adapt  requirements  regarding  interoperability,  accessibility,  reusability, affordability, durability, maintainability and adaptability of the  learning material. SCORM  is based on widely accepted technology standards such as XML and JavaScript and it is embraced by a large number  of  providers,  institutions  and  corporations  worldwide.  It  is  also  used  as  the  basis  for evaluation of e‐learning platforms. The  structure and  the  content of  courses  that  follow  SCORM standard is most easily described through the use of metadata. 

Regarding  the  development  of  the  web‐based  courses,  it  involves  not  only  the  availability  of material to the student and the platform to host the course. It imposes mainly the establishment of a teaching method or strategy that will accommodate the design requirements.  

The model assumes  the definition of  learning objects and  learning outcomes  for a specific  target audience and the design of an instructional module incorporating several types of learning material such  as  lecture  notes,  video,  audio,  communication/interaction  activities.  The  above  learning material  may  be  created  using  different  formats,  and  may  be  given  through  synchronous  or asynchronous modes. 

Most modern e‐learning environments, as Moodle with MILES+ do, support the SCORM standard. The  SCORM  standard  provides  a  set  of  functions  to  communicate  with  Learning Management 

Page 24: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 24 of 37 

Systems  (LMS)  like  Moodle.  During  the  execution  of  an  activity,  the  SCORM  environment communicates with LMS through these functions. 

  

  

Figure 3 – Communication between Learning Management System (LMS) and Sharable Content Object (SCO) 

  

The content of the courses will be created by the use of a SCORM editor  (e.g. eXe, XERTE, etc.). Social  Media  tools  have  now  crossed  Moore’s  chasm,  easily  reached  early  majority  and  are currently under  rapid development and evolution. However,  the  idea of  social  learning  software itself, especially in real educational and vocational training scenarios (case of carers), has not been widely  developed  and  exploited,  since  too  few  innovators  and  early  adopters  are  actually  using social media technology to enhance existing training curricula designs and learning behaviors. WEB 2.0 technologies of  learning component‐Moodle will be exploited and best practices derived from consortium  partners  previous  project  (IntraMEDnet,  WideMEDnet,  etc…)  will  foster  DISCOVER enhancement in collaborative learning by the use of Social Media. 

4.3. Mahara 

Mahara  is an open source ePortfolio and social networking web application which allows users with tools to create and maintain a digital portfolio of their learning, and social networking features to allow users to  interact with each other.  It supports Leap2A specification, which allows users to import and export data, to take their content with them from one Mahara installation and import it into another. It also allows limited interoperability between Mahara and other systems supporting the Leap2A standard. 

Page 25: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 25 of 37 

It  is a complement  focused on  the user, and not on  the courses  the user  is participating  in, and because  of  that  is  a  good  complement  to  the Moodle  environment.  Among  its most  relevant features it includes:  

Electronic portfolio, blog and CV constructor. 

Social networking: Users community creation with forum and shared artifacts. 

Media: Integration with other social networks and media tools: RSS, Youtube, etc...  Mahara has been specified to be integrated with Moodle in order to be the ePortfolio offered to the users  for  the DISCOVER platform. The  specification of  this  component  is  summarized  in  the table as follows:  

Mahara e‐portfolio and social networking system 

System  Mahara 

Developer  Catalyst IT Ltd. 

Category  Portfolio 

Version  1.2.6 

Release Date  December 1st, 2006 (November 3rd, 2011 last stable) 

License  GNU General Public License (GPLv3) 

Website  http://www.moodle.org 

Supported platforms  

 

In general, any system supporting Moodle, as it is integrated with Moodle. 

 4.4. Customization specification 

As a flexible open source environment, Moodle already  incorporates tools for the management of different themes and customization of the site through the use of templates. From administration site, it is possible to manage the different themes held in a moodle deployment and easily change between them. Especially for developers, is possible to create and use new themes to give Moodle the desired look, as it is fully customizable. 

Moodle themes folder contains several files and subfolders that compose the structure and style of the users’ view. The subfolder pix of this structure contain all the images used by the theme. Some other relevant files used to customize the theme are summarized next:  

favicon.ico: The little icon showed on the internet navigator when accessing the site. 

header.html & footer.html: These files can be modified to give the header and the footer a customized  look,  and  contain  their own  logo, user name,  start menu, navigation bar  and more. CSS (cascade style sheets) can be used to customize the styles, as well as PHP to show any data from the database or what needed to customize these sections. 

styles.php: This file needs to be referred from header.html to set the bridge to the styles. 

Page 26: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 26 of 37 

config.php: In this file it can be configured how the several style files work together. Themes can be constructed over the standard provided by Moodle or over any other parent theme and can include or exclude several CSS files, where the styles are defined. 

Style sheets: To isolate the page contents from the styles of the web page that configure its presentation, CSS files defining these styles are used. This provides a better accessibility and flexibility, as well as a better design of the website decoupling presentation from contents. To manage easily  style  changes on  the website  (colour,  fonts, etc...),  there are  some CSS files devoted to that: styles_colour.css, styles_fonts.css, styles_layout.css. 

 According  to  that,  contents  layer  is  presented  thanks  to  the  use  of  xHTML,  and  styles  layer  is configured thanks to the CSS files. To connect the  information defined  in both  layers, xHTML tags and links with names within the page are used.  Following these instructions, own customized themes can be created. It will be done to create the theme of the DISCOVER platform view, which will have a look similar to this:  

 

Figure 4 ‐ Possible look for DISCOVER platform 

Regarding to the EU Project DISCOVER website, the view configuration principles are quite similar: it has been deployed with Drupal, an open source CMS which allows  the structure customization through  the use of modules, blocks and  themes, understanding structure as  the place where  the data is shown. In Drupal, like in Moodle, themes establish the look, view and fonts of the site. 

Page 27: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 27 of 37 

Some of  the  components  and modules  that have been used  for  the  customization of  the public DISCOVER project website can be summarized next:  

Drupal base: Main deployment of Drupal need as the base for the rest of components. 

Menu module: Option menu that gives access to the contents. 

Content module: Block with the data contents, which can be pages, news, etc... 

Blog module: Provides a blog for the site. 

Moodle Single Sign On (SSO): Will let the access to Moodle through the use of username and password. 

 A simple structure for the DISCOVER website has been specified, being accessible, friendly and easy to use. Structure of the site can be seen on the next screenshot: 

 

 

Figure 5 – Look of the DISCOVER project website 

 

Page 28: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 28 of 37 

Drupal styles customization is also performed through the use of themes and subthemes. The next diagram  illustrates the  files structure that can be  found on a Drupal typical theme and subtheme configuration: 

 

Figure 6 – Drupal themes diagram 

Some concerns to take into account regarding Drupal theme files and structure can be summarized as follows: 

 

.info (required): All that  is required for Drupal to see a theme  is the ".info" file. Should the theme  require  them, metadata,  style  sheets,  Javascript,  block  regions  and more  can  be defined here. Everything else  is optional. The  internal name of  the  theme  is also derived from this file.  

Template  files  (*.tpl.php):  These  templates  are  used  for  the  (x)HTML  markup  and  PHP variables.  In  some  situations  they may output other  types of data  ‐‐xml  rss  for example. Each  .tpl.php  file  handles  the  output  of  a  specific  themable  chunk  of  data,  and  in  some situations it can handle multiple *.tpl.php files through suggestions. They are optional, and if none exists in a theme it will fall back to the default output.  

template.php: For all  the conditional  logic and data processing of  the output,  there  is  the template.php file. It is not required, but to keep the .tpl.php files tidy it can be used to hold pre‐processors  for  generating  variables  before  they  are merged with  the mark‐up  inside *.tpl.php files. Custom functions, overriding theme functions or any other customization of the raw output should also be done here.  

Page 29: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 29 of 37 

 On  the surface, sub‐themes behave  just  like any other  theme. The only differences are  that  they inherit the resources from their parent themes. To create one, a "base theme" entry inside the .info file  is  needed.  From  there  it will  inherit  the  resources  from  its  parent  theme  and  there  can  be multiple levels of inheritance. 

4.5. Specification of the integration of Moodle & Mahara 

Moodle and Mahara are  complementary  systems,  so  support  tools  for  the  integration between these systems are freely provided. The integration is done with a Single‐Sign‐On (SSO) mechanism, which is a great manner to achieve that.  

The way  in which the  integration works, can be summarized  in the following use case: a user  logs into  one  application,  and  by  clicking  on  especially  crafted  links  that  are  provided  there,  is transparently  authenticated  to  a  second  application, even  though  it may be  running on  another completely different server or site.  

When SSO  is well configured and running,  it can dramatically  improve  the sign‐up experience  for new users of applications with the following features:  

No need to create an account. 

No need to find an unused username. 

No need to think up and remember yet another password. 

No new URL to remember. 

No need to log in to yet another application. 

No need to upload the same profile to the new application.  

With the release of Mahara 0.8.1 and Moodle 2.3, Moodle can now be configured to let the users logging  into Moodle click on a  link that will bring them to the Mahara site, and automatically  log them on to their Mahara account. If they don’t have yet an account on Mahara, their user data will be  imported  from  Moodle,  and  used  to  populate  their  Mahara  account.  Even  some  other information  related  to  the Moodle  users’  profile  (e.g.  profile  picture  in Moodle),  will  also  be imported to their Mahara account. All these features let users to begin to use Mahara account with absolutely zero configurations required. 

4.5.1 Moodle and Mahara requirements for integration 

This section describes the requirements to be achieved by Moodle and Mahara systems in order to be  integrated  together.  Moreover,  the  procedures  needed  to  produce  the  integration  will  be specified. 

To integrate both systems basically two steps will be followed, configuring aspects related to basic networking between Moodle and Mahara and enabling SSO between them. 

First, networking on Moodle will need  to be enabled. To do  that,  the Moodle administration site provides  access  to  networking  parameters.  To  enable  networking  from  “Site  Administration  > 

Page 30: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 30 of 37 

Networking > Settings” all that  is required  is simply to switch the “Networking” value to  ‘On’ and changes will be saved. 

 

 

Figure 7 – Moodle networking settings 

 

Once done in the Moodle side, and before continuing with the rest of configurations in the Moodle side,  it will need to enable the networking features on Mahara side as well. To do this, Mahara  also  provides  an  administration  environment  in which  the  networking  page with  its  features  can  be  found.  To  enable Mahara  networking  the  “Site  configuration  > networking” link should be accessed.  

Once enabled, networking  features  can be observed  (see  figure below). First, WWW  root should be  listed. This root  is the canonical address at which Mahara site can be accessed, and  this  address will  be  used  later  in  the Moodle  site  to  indicate  to  it  in which  address Mahara can be found. 

Beneath  the WWW Root,  Public  encryption  key  can  be  found.  This  is  a  file  of  seemingly random text, beginning with the  line “‐‐‐‐‐ BEGIN CERTIFICATE‐‐‐‐‐“. The expiry date of the key  is  noted  underneath. Mahara  will  automatically  generate  a  new  key  when  this  on expires, and propagate the new key to the related peers (in our case to Moodle). To assure networking  between Mahara  peers,  “Enable  networking”  setting must  be  fixed  to  “Yes” value. 

Page 31: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 31 of 37 

 

 

Figure 8 – Moodle networking settings 

  Once networking settings have been enabled  in both sides, single‐sign on (SSO) mechanism needs to be enabled as well. To enable SSO  in Mahara an  institution needs  to be added and after  that configuration of the Moodle site.  An institution is just another site, Moodle in our case, with which we want to connect the Mahara system. To do  this,  it needs  to  introduce  the  Institution Name  and  Institution display name and configure  the Authentication  plug‐in  value  to  “XMLRPC  – Authenticate  by  SSO  from  an  external application”.   

Page 32: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 32 of 37 

  

Figure 9 – Mahara institutions administration 

  Once XMLRPC communication mechanism is chosen, some of the parameters related to this plug‐in will need to be configured as seen  in the next figure. Especially crucial fields are WWW Root that must be exactly the same as is specified in Moodle site config.php file and “The SSO in field” must be set to ‘On’.  

Page 33: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 33 of 37 

 

Figure 10 – Mahara institutions administration 

  

Once done, Mahara site must be added as a peer to Moodle. This can be done adding it from “Site administration > Networking > Peers” in the Moodle site:   

  

Figure 11 – Managing of Moodle peers 

  

Page 34: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 34 of 37 

Once working according to the specified configuration, Moodle users will have transparent access to  the  manager  through  the  same  Moodle  site.  An  institution  can  have  any  number  of authenticating authorities, and Mahara will try to authenticate users against those until it hits upon an authority that knows the user. An authority could be any system that already stores username and password information for users, for example, a student management system, an email server, and LDAP server or just a plain old database:   

 Figure 12 – Moodle/Mahara communication 

 

4.6. Moodle modules specification 

Many third party Moodle modules are already available and users can even use PHP  language to write and contribute new modules. The development and assistance of open source programmers has sped up the development of new Moodle modules, as well as rapidly fixed possible bugs. 

Typical plugins development includes fields such as:  

Activities, which may include games or other related e‐learning contents. 

Resource types. 

Question types, which allow creating quizzes with several possible answer types,  including multiple choices, true and false, fill in the blank, etc. 

Data field types (for the database activity). 

Graphical themes and customization. 

Authentication methods (can require username and password accessibility) which may allow access to Moodle from other platforms or sites automatically. 

Enrolment methods. 

Content filters.  According to the needs to be covered by the features of the platform, some of the modules to be taken  into account for the development of the DISCOVER platform are specified as follows. These 

Page 35: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 35 of 37 

will be  installed as Moodle modules as part of  the DISCOVER platform and will  include common tools such as:   

Learning activities o Quizzes and questionnaires. o Courses modules. 

Social networking o Discussion forums. o Instant messaging (IM). 

Common tools: o Calendar and agenda. 

Other: o Globalization module to manage Moodle different languages. o Modules for mobile devices viewing, which may include modules to manage or 

create in Moodle the templates suitable for mobile devices. o Plug‐ins for the integration with the local systems or other components that need to 

be  communicated with Moodle based DISCOVER platform  (e.g. Mediasite plug‐in). These  modules,  plug‐ins  and  local  systems  as  well  as  their  communication specification with Moodle will be detailed in D3.3. 

 

4.7. Specification of the integration of Drupal website & Moodle platform 

The DISCOVER platform will be accessed through a single entry point, this means that access to the  DISCOVER  platform will  be  from  the  project  public website  (www.discover4carers.eu).  The DISCOVER platform  itself will then be accessed through a distinctive banner graphic on the home page  of  the  project  website.  This  login  option  will  enable  users  to  register  for  the  DISCOVER platform and to access the contents of the platform. The project website will be the entry door to the whole DISCOVER  platform, which  once  developed will  be  composed  of  the  public web  site (being developed under WP6), and the DISCOVER platform itself including integrated local systems, which will be described in Deliverable D3.3. 

The  project’s  public website will  provide  all  the  information  to  let  the  user  access  the  learning contents, user profile, additional information, etc... So on a multilingual environment provided by the web site the user will find instructions on how to access the DISCOVER platform once registered on it with a username and password. The process which the user will follow to access the DISCOVER platform can then be summarized then as follows:  

On  project  website  there  will  be  an  authentication/access  banner.  There  already  exist Moodle  plugins,  which  may  allow  access  to  Moodle  from  other  platforms  or  sites automatically. 

Once  the  user  is  authenticated,  they will  be  redirected  to DISCOVER  platform,  based  on Moodle,  where  the  contents  will  be  available  depending  on  the  user’s  profile  and permissions. 

Users will be able to access through one transparent interface all the available content and functionalities provided by the underlying components. These include the contents provided 

Page 36: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 36 of 37 

not only by the DISCOVER platform based on Moodle, but also the contents provided by the integration of the local systems, which will be detailed in D3.3. 

 Due to the DISCOVER platform structure, which as it can be seen is composed by several different modules, it will exist on a union between these components through a common integration of user profiles. To do this, the needed modules which are summarized as follow will be implemented: 

4.7.1 Moodle integration module v.6‐x‐2.3 

This is a useful module which allows the integration of the Moodle based DISCOVER platform with Drupal, which  is  the content management  system  in which  the project web  site  is developed.  In particular, “Single Sign On” (SSO) via GET arguments will send to Moodle the authentification of a user to be possible to use Moodle with Drupal. 

4.7.2 QAPI 

Some  other modules  like  “QAPI”  (which  is  the  acronym  of Moodle Quick API)  are  needed.  This software provides an  interface  to create  the needed communication between both  systems.  In this way, user authentication can be done through several techniques: using SSO, OpenID or LDAP. In order to use SSO, the Moodle SSO plug‐in must be used. To use OpenID “OpenID Provider Drupal Module” and “Moodle OpenID plug‐in” must be used, and  finally  to use LDAP “LDAP  integration module” will be required”. 

In order to perform this  integration, versions of both the website and DISCOVER platform will be taken into account, being Drupal 6.2 the version of the project website and Moodle 2.3 the version of the DISCOVER platform. 

 

 

 

  

Figure 13 – Moodle/Drupal website communication 

  

Website (Drupal 6.2) DISCOVER platform (Moodle 2.x+)

Moodle integration plug-in

QAPI plug-in

SSO module

Page 37: DISCOVER D3.2Technical specification for DISCOVER platform ...s3-eu-west-1.amazonaws.com/discover4carers/DISCOVER-D3.2-Tech… · further development of DISCOVER platform needs to

                      Page 37 of 37 

Then,  according  to  this description,  the  following  schema  represents how  the  integration of  the project website and DISCOVER platform will be done  in order to  let the user access the DISCOVER platform through this defined single entry point: 

  

Figure 14 – DISCOVER single entry point specification 

4.8. Access devices 

Thanks  to  the  facilities  provided  by Moodle  features,  the DISCOVER  platform will  be  developed using  different  templates  that will  enable  the  use  of  the  platform  on  several  kinds  of  devices, including PCs, tablets and smartphones. Moodle already  incorporates as part of  its core system a template configuration mechanism that lets the developers configure and create different kinds of templates and views suitable for its view on these different devices. Then, when an user request is received by the DISCOVER platform,  its Moodle base  is able to detect automatically which kind of device  the  request  came  from,  and  choose  the  most  appropriate  template  according  to  the detected device to show the contents on it.