ILIAS
release_8 Revision v8.19
|
An objective is a desired state of the system that is supposed to be created by the setup. More...
Public Member Functions | |
getHash () | |
Get a hash for this objective. More... | |
getLabel () | |
Get a label that describes this objective. More... | |
isNotable () | |
Get to know if this is an interesting objective for a human. More... | |
getPreconditions (Environment $environment) | |
Objectives might depend on other objectives. More... | |
achieve (Environment $environment) | |
Objectives can be achieved. More... | |
isApplicable (Environment $environment) | |
Get to know whether the objective is applicable. More... | |
An objective is a desired state of the system that is supposed to be created by the setup.
This interface would benefit from generics, in fact it would be parametrized with a Config-type.
Definition at line 30 of file Objective.php.
ILIAS\Setup\Objective::achieve | ( | Environment | $environment | ) |
Objectives can be achieved.
They might add resources to the environment when they have been achieved.
This method needs to be idempotent for a given environment. That means: if this is executed a second time, nothing new should happen. Or the other way round: if the environment already looks like desired, the objective should not take any further actions when this is called.
Implemented in ILIAS\Setup\ObjectiveCollection, ilDatabaseUpdateStepsExecutedObjective, ilDataCollectionObjective, and ilLoggingConfigStoredObjective.
Referenced by ILIAS\Setup\Objective\MigrationObjective\getPreconditions().
ILIAS\Setup\Objective::getHash | ( | ) |
Get a hash for this objective.
The hash of two objectives must be the same, if they are the same objective, with the same config on the same environment, i.e. if the one is achieved the other is achieved as well because they are the same.
Implemented in ILIAS\Setup\Artifact\BuildArtifactObjective, ILIAS\Setup\Metrics\CollectedObjective, ILIAS\Setup\Condition\ExternalConditionObjective, ILIAS\Setup\Objective\CallableObjective, ILIAS\Setup\Objective\ObjectiveWithPreconditions, ILIAS\Setup\ObjectiveCollection, ILIAS\Setup\Objective\DirectoryCreatedObjective, ilDatabaseUpdateStepsExecutedObjective, ILIAS\Setup\Objective\MigrationObjective, ILIAS\Setup\Objective\AdminConfirmedObjective, ILIAS\Setup\Objective\ClientIdReadObjective, ILIAS\Setup\Objective\Tentatively, ILIAS\Setup\Objective\NullObjective, and ilLoggingConfigStoredObjective.
Referenced by ILIAS\Setup\ObjectiveIterator\markAsFailed().
ILIAS\Setup\Objective::getLabel | ( | ) |
Get a label that describes this objective.
Implemented in ILIAS\Setup\Artifact\BuildArtifactObjective, ILIAS\Setup\Objective\ObjectiveWithPreconditions, ILIAS\Setup\ObjectiveCollection, ILIAS\Setup\Condition\ExternalConditionObjective, ILIAS\Setup\Metrics\CollectedObjective, ILIAS\Setup\Objective\CallableObjective, ILIAS\Setup\Objective\DirectoryCreatedObjective, ilDatabaseUpdateStepsExecutedObjective, ILIAS\Setup\Objective\AdminConfirmedObjective, ILIAS\Setup\Objective\MigrationObjective, ILIAS\Setup\Objective\ClientIdReadObjective, ILIAS\Setup\Objective\Tentatively, ILIAS\Setup\Objective\NullObjective, and ilLoggingConfigStoredObjective.
ILIAS\Setup\Objective::getPreconditions | ( | Environment | $environment | ) |
Objectives might depend on other objectives.
UnachievableException | if the objective is not achievable |
Implemented in ILIAS\Setup\ObjectiveCollection, ilDatabaseUpdateStepsExecutedObjective, ilDataCollectionObjective, and ilLoggingConfigStoredObjective.
ILIAS\Setup\Objective::isApplicable | ( | Environment | $environment | ) |
Get to know whether the objective is applicable.
Don't change the environment or cause changes on services in the environment. Just check if this objective needs to be achieved, either currently or at all. In case of doubt whether the objective is applicable or not return true.
Implemented in ilDatabaseUpdateStepsExecutedObjective, ILIAS\Setup\ObjectiveCollection, and ilLoggingConfigStoredObjective.
ILIAS\Setup\Objective::isNotable | ( | ) |
Get to know if this is an interesting objective for a human.
Implemented in ILIAS\Setup\Artifact\BuildArtifactObjective, ILIAS\Setup\Objective\ObjectiveWithPreconditions, ILIAS\Setup\ObjectiveCollection, ILIAS\Setup\Condition\ExternalConditionObjective, ILIAS\Setup\Objective\DirectoryCreatedObjective, ILIAS\Setup\Metrics\CollectedObjective, ILIAS\Setup\Objective\CallableObjective, ILIAS\Setup\Objective\MigrationObjective, ilDatabaseUpdateStepsExecutedObjective, ILIAS\Setup\Objective\AdminConfirmedObjective, ILIAS\Setup\Objective\ClientIdReadObjective, ILIAS\Setup\Objective\Tentatively, ILIAS\Setup\Objective\NullObjective, and ilLoggingConfigStoredObjective.