Feature Wiki

Information about planned and released features

Tabs

reporting data provider

1 Initial Problem

Currently there is no native reporting interface with learning progresses available. Many users (especially commercial users) needs a source for reporting purposes to report the learning progress of the learners.

Currently it’s very hard to collect these data from the different tables of ILIAS.
The detailed needs of the final reports and the subsequent processes are very different.
In many cases, they need to compare the learning data against their own KPIs in other systems.
Because of this the solution needs to be flexible.

It would consume tremendous effort to develop a graphical ILIAS owned reporting interface.
The developed reporting solutions of the ILIAS provider are not as flexible as needed. In regular they tried to build an native Reporting GUI in ILIAS.
In comparison, they do not provide the possible function set of reporting services, which are buiild for this purpose.
As discussed many times - ILIAS needs to be more open for third party tools. Because of this the solution should provide the pure data only.

It’s important to mention, that the most users, which needs a reporting, already own a reporting services server already. There are many free and open source reporting services server available.
(i.e. Microsoft PowerBI Desktop (commercial, free for use), BIRT, Jaspersoft Community, SpagoBI, ClicData Personal etc.)

2 Conceptual Summary

The main idea is a central reporting service.

The reporting service could provide this data to any 3rd party reporting service, which connects to the ILIAS-database.

To activate the reporting service, the administrator has to activate it at Control Panel – Statistics and Learning Progress.
After activation four tables will be created.

 

  1. repsvc_users
    1. userid,
    2. username, first name and all other user profile data
    3. including custom UDF-data fields (max. 40)
  2. repsvc_orgdata
    1. userid
    2. superordinate unit title
    3. organizational unit
    4. users role name
  3. repsvc_progressdata
    1. userid
    2. course id
    3. course name
    4. course metadata fields
    5. learning progress
General process 1 of 2:
A cronjob updates the tables repsvc_users and repsvc_orgdata automatically based on the current data the job has been launched.

UID

userid

name

company

UDF_1

UDF_2

762

22

45

Musterfirma

Dienstwagennutzer

Ersthelfer

Optional: if needed, the user data can be anonymized. (name and last name are anonymized by "user24234", "user 24235"....)


General process 2 of 2:
Each time, a learning progress of any object has been changed, the learning progress will be initally written (or updated if there is already a learning progress recorded for this user and object already) in repsvc_progressdata.

Please note: The tracking of a time period is not object of this feature request and needs to be handled by the 3rd party system.

UID

userid

courseid

status

updated

initally created

2312

22

45

in_progress

29.03.2018 11:22

22.03.2018 11:33

Its clear that the Amount of data may be very high. (user count x course count = maximum data rows)

Due to this, the user may choose in setup:

  • limit reporting objects to objects with reporting enabled
  • limit reporting objects to object types:
    • courses
    • ilias learning module
    • tests
    • groups
    • ,,,
The user may export the upper named tables as CSV-File by in setup.

3 User Interface Modifications

3.1 List of Affected Views

Administration \ Statistics and Learning Progress \ Reporting service (new tab)

3.2 User Interface Details

checkboxes:

1. Reporting service active (yes|no (default))

2. anonymized user data (yes (default) | no)

3.3 New User Interface Concepts

{If the proposal introduces any completely new user interface elements, you might consult UI Kitchen Sink in order to find the necessary information to propose new UI-Concepts. Note that any maintainer might gladly assist you with this.}

4 Technical Information

{The maintainer has to provide necessary technical information, e.g. dependencies on other ILIAS components, necessary modifications in general services/architecture, potential security or performance issues.}

5 Contact

  • Author of the Request: Hesse, Joel [Joel_Hesse]
  • Maintainer: {Please add your name before applying for an initial workshop or a Jour Fixe meeting.}
  • Implementation of the feature is done by: {The maintainer must add the name of the implementing developer.}

6 Funding

If you are interest in funding this feature, please add your name and institution to this list.

7 Discussion

8 Implementation

{The maintainer has to give a description of the final implementation and add screenshots if possible.}

Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

Approval

Approved at {date} by {user}.

Last edited: 4. Apr 2018, 09:25, Hesse, Joel [Joel_Hesse]