Feature Wiki

Information about planned and released features

Tabs

Setup - Move DB-Updatesteps to Components

1 Initial Problem

Currently all database update steps go to one central file in ILIAS. Especially in hot phases of the development cycle (think: 30th August) this creates a lot of friction between developers. There are indeed some steps that need to be executed in a defined order, but a whole lot of update steps only depends on updates in the same component. Thus every component should get their own location for update steps while providing a mechanism to express inter-component dependencies.

2 Conceptual Summary

Components should provide their own db-update-steps by using the mechanisms from the Setup and the Database-Service. These mechanism will allow to express database updates in the components, as well as dependencies on updates in other components.

The mechanism will be presented to the ILIAS-Developers (an appointment in july is realistic). After that presentation, adding steps to the global db-update files in the setup will only be allowed if the step strictly cannot be added in a component. As for changes in all other components, changes in the setup-folder will then require a PR that needs to be approved by the setup maintainer.

3 User Interface Modifications

3.1 List of Affected Views

-

3.2 User Interface Details

-

3.3 New User Interface Concepts

-

4 Technical Information

PR 2183 shows details how this feature could look code wise. This feature does not imply that db-update steps need to be done in the component or need to be migrated, but instead allows components to do so. The global db-update-file is not removed, although the maintainer of the setup certainly is looking into doing so.

5 Contact

  • Author of the Request: Richard Klees
  • Maintainer: Richard Klees
  • Implementation of the feature is done by: Richard Klees, Nils Haagen

6 Funding

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

7 Discussion

JourFixe, ILIAS [jourfixe], 23 SEP 2019 : Before deciding about this request we need to wait for the feedback of developers on the related PR 2183. We kindly ask all developers to participate in this discussion. Probably, a Skype meeting is helpful to answer existing concerns.

JourFixe, ILIAS [jourfixe], 21 OCT 2019 : We highly appreciate this suggestion and schedule the feature for ILIAS 6. In case, it cannot make it into ILIAS 6 we accept it already for 7 as well. In this case, please update the metadata accordingly.

JourFixe, ILIAS [jourfixe], 28 JUN 2021: We highly appreciate this suggestion and accept it for ILIAS 8. Richard will look for a date to hold a workshop for all interested developers about the impacts of this change and what has to be taken into considerations. Will be announced on developer mailing list.

8 Implementation

Documentation in the Repository.

Test Cases

Since this is a feature of the Database-Service and nothing that can be tested by some user on the interface, there are no testcases. This is tested implicitly on every database change.

Approval

Approved at 2022-05-02 by Klees, Richard [rklees].

Last edited: 2. May 2022, 16:07, Klees, Richard [rklees]