ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilDatabaseUpdateSteps Interface Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Inheritance diagram for ilDatabaseUpdateSteps:
+ Collaboration diagram for ilDatabaseUpdateSteps:

Public Member Functions

 prepare (\ilDBInterface $db)
 Prepare the execution of the steps. More...
 

Detailed Description

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning This interface tags classes that contain database update steps. It has no requirements for any methods (currently), but instead is just used to mark all classes containing update steps. The steps are then executed via ilDatabaseUpdateStepsExecutedObjective.

A soft requirement (which can not be expressed via this interface) is, that the methods containing db-updates fit a certain naming scheme.

Implement update steps on one or more tables by creating methods that follow this schema:

public function step_1() { ... }

The ilDatabaseUpdateStepsExecutedObjective will figure out which of them haven't been performed yet and need to be executed.

If one class takes care of only one table or a set of related tables it will be easier to maintain.

If for some reason you rely on other objectives, e.g. steps from other db-update classes, split the according update steps into two classes and use the precondition mechanism of the objectives to express the dependency.

Definition at line 43 of file interface.ilDatabaseUpdateSteps.php.

Member Function Documentation

◆ prepare()

ilDatabaseUpdateSteps::prepare ( \ilDBInterface  $db)

Prepare the execution of the steps.

Do not use anything from the globals or the DIC inside your steps, only use the instance of the database provided here.

Implemented in ILIAS\Test\Setup\Test10DBUpdateSteps, ilWebResourceDropValidSteps, ILIAS\Setup\BlogDBUpdateSteps, ILIAS\COPage\IntLink\Setup\LinkDBUpdateSteps, ILIAS\EmployeeTalk\Setup\ilEmployeeTalkDBUpdateSteps, ILIAS\Exercise\Setup\ilExerciseDBUpdateSteps, ILIAS\GlobalScreen_\UI\Footer\Setup\DB100, ILIAS\LearningModule\Setup\LearningModuleDBUpdateSteps, ILIAS\Repository\Setup\RepositoryDBUpdateSteps, ILIAS\User\Setup\DBUpdateSteps10, ilWebResourceDBUpdateSteps, ILIAS\Setup\DBUpdateSteps10, ilIntroduceComponentArtifactDBUpdateSteps, ILIAS\COPage\Setup\ilCOPageDBUpdateSteps, ILIAS\Object\Setup\ilObjectDBUpdateSteps, ILIAS\ItemGroup\Setup\ilItemGroupDBUpdateSteps, ILIAS\MediaCast\Setup\ilMediaCastDBUpdateSteps, ILIAS\MediaObjects\Setup\ilMediaObjectsDBUpdateSteps, ilMDControlledVocabsUpdateSteps, ILIAS\Portfolio\Setup\ilPortfolioDBUpdateSteps, ilSessionDBUpdateSteps9, ILIAS\Style\Content\Setup\ilStyleDBUpdateSteps, ILIAS\Wiki\Setup\ilWiki8HotfixDBUpdateSteps, ILIAS\Wiki\Setup\ilWikiDBUpdateSteps, ILIAS\Setup\DBUpdateSteps8, ILIAS\Setup\ilBookingManager8HotfixDBUpdateSteps, ILIAS\Setup\ilBookingManagerDBUpdateSteps, ilCalendarDBUpdateSteps10, ilCalendarDBUpdateSteps9, ILIAS\Cloud\RemoveCloudDBUpdate, ILIAS\SurveyQuestionPool\Setup\SurveyQuestionPoolDBUpdateSteps, ILIAS\components\Table\Setup\LegacyTableUpdateSteps11, ILIAS\Test\Setup\Test9DBUpdateSteps, ilAccessRBACDeleteDbkSteps, ilGlossaryDBUpdateSteps, ilGlossaryDBUpdateSteps11, ILIAS\Setup\ilHelpDBUpdateSteps, ILIAS\Object\Setup\ilObject9DBUpdateSteps, ilIndividualAssessmentRectifyMembersTableDBUpdateSteps, ilLearningSequenceRectifyPostConditionsTableDBUpdateSteps, ilLearningSequenceRegisterNotificationType, ilMDCopyrightUpdateSteps, ilMDLOMUpdateSteps, ilMDUpdateSteps10, ILIAS\Setup\ilNotesDBUpdateSteps, ilSkillDBUpdateSteps, ilSoapWsdlPathUpdateStep, and ilECSDBUpdateSteps.


The documentation for this interface was generated from the following file: