Feature Wiki

Information about planned and released features

Tabs

Abandon ECS Interface

1 Reasons to Abandon Feature

The implementation of ECS in ILIAS extends across many different places in the code, with references to ECS currently appearing in around 23 components.

  • AccessControl
  • Administration
  • AdvancedMetaData
  • Authentication
  • Category
  • Course
  • File
  • Glossary
  • Group
  • ILIASObject
  • InfoScreen
  • LearningModule
  • RemoteCategory
  • RemoteCourse
  • RemoteFile
  • RemoteGlossary
  • RemoteGroup
  • RemoteLearningModule
  • RemoteTest
  • RemoteWiki
  • Repository
  • Test
  • Wiki

The implementation is currently not at the desired level with regard to PHP8 and general standards for the code. this already leads to various errors in ILIAS 8 under PHP8. the problem is that ECS is not tested within the framework of community testing and therefore errors are not found at an early stage. 

The lack of PHP8 compatibility sometimes means that other components no longer work when the ECS interface is activated.

From our point of view, ECS must fulfil two things in order to continue to be offered in the core:

  • the implementation must be tested as part of community testing so that errors can be found and rectified at an early stage
  • the implementation should be refactored so that ECS code is not required in the components.

As of ILIAS 8, it is not possible to use ECS. there are currently too many critical bugs that prevent the use of ECS. 

Longest open

Days

0020110 - CMS connection: metadata isn’t mapped to (extended) ILIAS course metadata

2653

0033652 - Not all ECS-Auth-information that are linked to an ECS-Hash are used to validate an Ilias-login-link

636

0035666 - ECS Kursfreigaben führen zu Fehler

531

0037104 - ECS course is not released when its availability period starts

393

0037447 - ilRemoteObjectBase::getOrganization(): Return value must be of type string, null returned

328

0037448 - Error calling ECS service: Error calling curl_exec().

328

0037449 - ilRemoteObjectBaseListGUI::_lookupOrganization(): Return value must be of type string, null returned

328

0040703 - ECS-freigegebene Kurse anderer Hochschulen können nicht genutzt werden

56

0040707 - Zuordnung von ECS-Kathegorien im Adminbereich führt zum Absturz

56

0040790 - bei Zugriff auf externen ECS-Kurs/-Kategorie landet man irgendwo auf dem externen ILIAS

50

2 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.}

3 Contact

  • Author of the Request: Schmid, Fabian [fschmid]
  • 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.}

4 Funding

Removing the feature from the ILIAS code base might need funding. If you are interest in funding this request, please add your name and institution to this list.

  • ...

5 Discussion

Use the following discussion section to express your objections against this request or your consent to get rid of this feature.

Auch für uns an der Uni Münster ist der ECS für unseren stetig wachsenden E-Learning-Cluster "unirep-online" überaus wichtig. Der ECS kann im Kooperationstool von ILIAS  nicht überbewertet werden.

Lowe, Simon [simon.lowe] 02 MAY 2024: From the point of view of the FH Dortmund and other Universities of the ILIAS-NRW Community the ECS Interface is an essential part of ILIAS and can not be abandoned.

Hoyer, Philip [philiphoyer] (10.05.2024): The ECS functionality of ILIAS is a core feature of our European alliance EPICUR and the EPICUR Inter-University Campus platform (learn.epicur.education), which connects ILIAS and Moodle LMS from 9 universities from across Europe. Therefore we strongly suggest to keep the ECS feature in ILIAS and instead raise the code quality to ILIAS standards, fix the open bugs and include the ECS feature in testing procedures.

Glaubitz, Marko [mglaubitz] 09 May 2024: The ECS interface is the centerpiece for connecting the campus managent system HISinOne with ILIAS for many German universities. The University of Freiburg uses the ECS in two European University cooperations and to connect our HISinOne to 3 ILIAS installations. Besides pushing the ECS / CampusConnect in these contexts, we have found a new development partner for the Moodle CampusConnect plugins, which have received a complete overhaul and we have closed the gap between the state of implementation on a feature level between ILIAS and Moodle. The plugins will soon be published - testing is in full motion right now. CampusConnect offers a unique way of interconnecting LMS in self-service scenarios. LTI cannot cater for this purpose. Thus, we strongly advocate not abandoning the ECS interface from the ILIAS core.

Bogen, Christian [bogen] 2024-05-16: I concur with the previous speakers. CampusConnect is a decisive feature for quite a few universities. Abandoning it would be tantamount to telling us to use another LMS.

Also I can vouch for the fact that are currently no critical bugs hindering the use of the ESC Interface in ILIAS 8. As Marko wrote, testcases are nearing completion.

Schmid, Fabian [fschmid] 2024-05-28: Ich schreibe dies auf Deutsch, damit keine Lost-in-Translation Situationen entstehen. Der Text ist im übrigen wohlwollend, konstruktiv und frei von negativen Konnotationen zu verstehen.

Vielen Dank für eure Rückmeldungen! Mir ist durchaus klar, dass ECS bei einigen Institutionen einen zentralen Use-Case darstellt und strategisch natürlich wichtig und nicht wegzudenken ist. Hintergrund des Requests sind genau zwei Dinge:

Einerseits müssen Requests – egal ob Feature oder Abandon – bis zum Feature Freeze eines Releases eingetragen werden, daher hatte ich mich entschlossen, diesen Request für 10 einzutragen, hauptsächlich aber der Vollständigkeit halber und auch um eine Stelle zur Dokumentation der Diskussion zu haben. Zu den Beweggründen nachher gleich mehr, ich bin aber dankbar, dass die Diskussion nun bereits beginnt, auch wenn ich dafür eigentlich den Weg via SIG und Maintainer noch aufgreifen wollte, aus zeitlichen Gründen ist das bisher nicht geschehen. Ich werde mich aber baldmöglichst auf diesen Wegen melden. Nur zur Klärung: Der Abandon-Request existiert zwar, wurde aber bisher weder für den JF angemeldet noch vorgeschlagen.

die Beweggründe sind derzeit, dass die Umsetzung von ECS in ILIAS 8 dazu führt, dass auch andere Komponenten teils nicht mehr funktionieren. Hintergrund ist primär, dass das vereinbarte Mindestziel des PHP8-Refactorings in ECS nie erreicht wurde, das führt – unter PHP 8 (nicht 7.4) zu Fehlern, welche nur durch heruntergeschraubtes error-reporting-level oder Patches umgangen werden können. Selbst damit waren wir nicht in der Lage, dass ECS selber – das Zugreifen auf externe Kurse – funktionierte. Dieser Zustand hat bei uns (sr.solutions) dazu geführt, dass Updates komplett blockiert waren. Ab diesem Moment habe ich versucht nachzuvollziehen, wo ECS eigentlich steht, dabei habe ich einerseits entdeckt, dass dies nie über Testrail getestet wird (damit war auch klar, warum das fehlende PHP8-Refactoring nicht aufgefallen war). Dass keine Testsuite für ECS existiert, ist für die Planbarkeit sehr schwierig, weil hätten wir bspw. gewusst, dass die Testsuite bisher nicht erfolgreich durchgeführt werden konnte, hätten wir bereits frühzeitig Massnahmen ergreifen können. Die Fehler sind dann aber halt erst zu einem späten Zeitpunkt aufgetaucht.

Ich bin sehr gerne bereit  zusammen mit dem Maintainer eine Strategie zu entwickeln, wie
- einerseits das fehlende PHP8 Refactoring nachgeholt werden kann, inkl. erforderlichem Review
- ECS mittelfristig so umgebaut werden kann, dass nicht ECS-Code in zig Komponenten erforderlich ist, was zu Seiteneffekten führt (in unserem Fall waren sämtliche Kurs-Einstellungsseiten nicht mehr aufrufbar, unabhängig davon, ob diese Kurse für ECS aktiviert wurden oder nicht, einfach sobald eine ECS Konfiguration vorhanden ist).

Ich bin der Meinung, dass ECS die nötige «Liebe» und Aufmerksamkeit und damit auch Ressourcen erhalten sollte, die es verdient resp. benötigt. Das vor allem solange, wie auch andere Komponenten davon betroffen sind, wenn im internen Code Fehler auftreten. Ich begrüsse sehr, dass es bez. Testrail nun – das wusste ich bisher nicht – nun Bestrebungen gibt, ECS über das Community-Testing abdecken zu können. Das Ist bei allen anderen Komponenten auch erforderlich und so musste man bspw. vor einiger Zeit einen LDAP-Dienst einrichten, damit bspw. die LDAP-Anbindung auch getestet werden kann. Dasselbe ist bspw. bei Shibboleth, WOPI und diversen anderen Komponenten der Fall, die eine Abhängigkeit zu einem externen Dienst haben.

Papendick, Sigmar [sigmar.papendick] For the sake of completeness: We at the University of Konstanz are also absolutely dependent on the ECS interface, as it is not only used to link courses in university cooperations (e.g. with the PH Thurgau / Switzerland and the University of Stuttgart), but above all to exchange data with our campus management system HISinONE: Every day, course information and course registrations are transferred from HISinONE as the leading system to ILIAS via the ECS interface; this affects a total of over 1400 courses and over 11000 students.

Sesterhenn, Fabian [sesterhenn], 2024-05-28: As I understand it ECS is critical to integrate ILIAS with HisInOne. Because of this it is very likely that we will need ECS in the future and therefore would like to keep the feature alive and well.

Heinze, Frauke [fheinze], 2024-05-28: Just for the sake of completenes too: MLU Halle also wants to stick with the ECS interface.
CampusConnect/ECS has been used in the Saxony-Anhalt/Leipzig university network since 2016. There are contractual collaborations in research and teaching, for example in degree programmes or bilateral continuing education courses. MLU is currently in the process of switching to HISinOne - I can't estimate what the abolition of ECS would mean here, but here I agree again: it is likely that we will also need ECS here in the future.
I can now better understand the motives of sr.solution/Fabian, I am glad that the FR is not in the JF, and hope we can find a good solution.

Schmid, Fabian [fschmid], 2024-07-11: The proposal seems to have had the effect that the institutions using it are more concerned with how to proceed with ECS in ILIAS. I very much hope that the problems that have arisen can be solved soon. nevertheless, the issue of refactoring, that ECS code is not required in various components, should be taken up again. 
However, we can probably avoid an "Abandon ECS".

6 Implementation

{The maintainer has to give a description of the final implementation and possible consequences for existing installations.}

Removed Testcases

The following testcases have been removed from Testrail or modified because the feature is no longer part of the ILIAS core.

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

Approval

Approved at {date} by {user}.

Last edited: 11. Jul 2024, 08:47, Schmid, Fabian [fschmid]