Feature Wiki
Tabs
Refactoring of ILIAS Setup
This page is only here for documentation, the content is outdated and the general idea is followed up within the (Project) CLI-Setup.
1 Requirements
Refactoring of ILIAS Setup
At CaT Concepts and Training GmbH, we tried to build an script for automated ILIAS installations, had a look at the ILIAS setup process and found a lot space for improvement. Fabian Schmid simultaniously had a look at the setup while trying to remove MDB2 for PHP 7 compatibility and came to similar conclusions. We thus suggest a refactoring of the ILIAS setup.
Main points of the the refactoring will be:
- New Class Stucture for functionality
- Cleanup ilSetupGUI from functionality
- Remove PEAR
Change PEAR Errorhandling to PHP Base Errorhandling (Exceptions).
Existing Classes
ilSetupGUI
Cleanup the GUI from functionality. The GUI should only handle the rendering of Setup Forms.
ilSetup
Everything inside the old ilSetup will be splittet in several Classes. The new one will only be a facade for the Setup Process. On this way, we get a new use case.
ilLanguage
Looks like it is a copy of „Services/Language/ilLanguage“, but there are many differences especially used for Setup. It is to be discussed we only rename this or merge both Classes.
ilTemplate
Same Problem like ilLanguage.
New Classes
ilStateChecker
This class will detemine the Setupstate by testing predicates on live data. For eaxample this is needed got jump back to the installation point, if something went wrong.
ilDBSetup
This will be merge Class of Install the Database and ilDBUpdate. It is not necessary to split these actions in two Classes. This class will only be used in the ilClient.
ilPreliminariesCheck
Check of preliminary Settings will be Changed. Existings Checks will be moved into single Objects. This gives the Advantage to use Checks seperated and easy add new. ilPreliminariesCheck evaluate these Checks and returns the results.
ilPasswordEncoding
Configures the selected Password Encoder for the Client.
ilIliasIni
Works the ilias.ini.php. Create, write, read or updating the values.
2 Additional Information
- Idea / concept: Hecken, Stefan [shecken]
- Interest in funding: (please indicate if you are interested/able to fund this feature)
- Maintainer: (will be set by Jour Fixe / maintainer)
- Implementation of the feature is done by (will be set by Jour Fixe / maintainer)
- Testcases by: (please add your name if you want to create the testcases for this feature)
3 Discussion
4 Implementation
{please 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: 18. Oct 2024, 16:09, Kunkel, Matthias [mkunkel]