Feature Wiki

Information about planned and released features

Tabs

(Project) Continuous Refactoring Initiative

Samoila, Oliver [oliver.samoila], 09 JUL 2024

The project 'Continuous Refactoring Initiative' was closed.

It has become evident that there is insufficient interest in and opportunities for continuous and feature-independent investment in the refactoring of our code base.

I would like to thank all the people and institutions involved for the resources they have contributed.

This is a project page that bundles several development activities which belong for the entire ILIAS code base.

1 Aim of Project

The PHP 8 project was the biggest refactoring project ILIAS has gone through so far.
In the project we agreed on three development stages: Must-Packages, Should-Packages and Sustainability-Packages.
In general, must-packages were contracted and implemented. However, there was still a lot more to do – even if PHP 8 compatibility was to be achieved by the end of the PHP 8 project.
 
One can never point out enough that we achieved this goal as a community of the willing.

Many community-members were either already aware, or became aware in the meantime of the project, that we had to take care of the future of ILIAS - regardless of features.
ILIAS needs resources for its basic maintenance.

Developers/Maintainers who want to commit themselves to more extensive refacrtoring of their components - and thus to quality assurance and maintenance - should be supported for treatment of Should- and Sustainability-Packages and much more. This also can concern code style, the extension of unit tests, software architecture, PHP deprecations, performance issues and other tasks.

2 Involved Maintainers and Stakeholders

Probably all Core Maintainer: 

  • Schmid, Fabian 
  • Killing, Alexander 
  • Meyer, Stefan
  • Jansen, Michael
  • Kohnle, Uwe
  • Famula, Thomas
  • Amstutz, Timon
  • Klees, Richard
  • Kunkel, Matthias
  • Neumann, Fred
  • Großkopf, Katrin
  • Strassner, Denis
  • Schenk, Ralf
  • Kergomard, Stephan
  • Becker, Maximilian
  • Vollbach, Guido
  • Smaisz, Ingmar
  • Per Pascal Seeland
  • Thibeau Fuhrer

3 Timeline

 
until February 2023

        

 
Collection of all project tasks that are to be further refactored for ILIAS 9
 

 
until October 2023

 
Code refactoring and reviews of them in above mentioned project tasks
 

 
from May 2023

 
same her for ILIAS 10  –  Continuous Refactoring and Reviewing
 

 
during the runtime

 
Fundraising and project management
 

4 Components that has been further refactored

Component

Maintainer / Developer

Refactoring

in contracted parts completed

Global Cache

Fabian Schmid

implemented

Competence Management

Thomas Famula

partly implemented

Services_Preview

Fabian Schmid

implemented

UI-Service/KitchenSink

Contributer: Fabian Schmid

implemented

Dashboard

Lukas Scharmer

partly implemented

Services_Utilities » Exec-Calls/zip/unzip

Fabian Schmid

implemented

Component

Maintainer / Developer

Refactoring

in contracted parts completed

5 Contributions

  • Universität Hannover / Land Niedersachsen
  • Universität Bern
  • ILIAS open source e-Learning e.V.
  • Hochschule für Polizei und öffentliche Verwaltung Nordrhein-Westfalen
  • Duale Hochschule Baden-Würrtemberg
  • Technische Hochschule Ostwestfalen-Lippe

This is a continuation of the efforts from the extensive involvement of the Community in the PHP 8 project.

Please contact Samoila, Oliver [oliver.samoila] to get involved.

6 General Discussion

Please discuss specific questions of feature requests on the related feature wiki pages. This discussion section is only for a general discussion of the project and its realisation.

JourFixe, ILIAS [jourfixe], 21 FEB 2022: Samoila, Oliver [oliver.samoila] presented the project at the Big Projects Jour Fixe and answered questions.

  • Relevance for strategic ILIAS development: very high for sustainability of ILIAS
  • Plan for ILIAS 9: See project page
  • Chance of realisation: use of quality assurance funds of ILIAS association; personell: depending on free capacities until October
  • Dependencies: to be clarified for each component
  • Impact on other development activities: to be clarified for each refactoring

Statement Technical Board, 2022 Apr 6: The Technical Board agrees that continuous refactoring is a key aspect in ILIAS. We believe that we need strategies to ensure, that this refactoring activity will continuously accompany the work on ILIAS OSS. Since we believe this to be a necessary task for all future ILIAS versions, we do not give this special priority for the next ILIAS versions. However, we fully support and endorse activities around it for ALL upcoming ILIAS versions. Since we believe ILIAS Refinement to be a continuous project, we should take care to only support measures that we have the capacity to sustain for all releases in years to come.

JourFixe, ILIAS [jourfixe], 27 NOV 2023: Oliver presented the planned steps for the project for ILIAS 10. No additional comments.

The Technical Board agrees that continuous refactoring is a key aspect in ILIAS. We believe that we need strategies to ensure, that this refactoring activity will continuously accompany the work on ILIAS OSS. Since we believe this to be a necessary task for all future ILIAS versions, we do not give this special priority for the next ILIAS versions. However, we fully support and endorse activities around it for ALL upcoming ILIAS versions. Since we believe ILIAS Refinement to be a continuous project, we should take care to only support measures that we have the capacity to sustain for all releases in years to come. We see that this project can and should be considered whenever a component is updated or expanded.

Statement UX/UI/A11y-Experts, 6 DEC 2023

A modern and stable code architecture is necessary to enable and tackle improvements in UI/UX/accessibility. The project has already brought significant improvements in the past. We therefore welcome this Big Development Project and would give this a prioritization level 2.

08 DEC 2023: Refactoring the ILIAS source code is a crucial part of our sustainability strategy and must be pursued on an ongoing basis. The Product Manager strongly recommends that ILIAS Society and ILIAS users should provide this initiative with the means to keep components up-to-date, stable and secure on an annual basis.

Last edited: 18. Oct 2024, 17:42, Kunkel, Matthias [mkunkel]