N°8760: code legacy refactoring around module computation (AnalyzeInstallation)

AnalyzeInstallation refactoring

fix ci call to ModuleInstallationService

ci: fix code style

get rid of itop_version

refactoring: make code simpler

get rid of unused name_db

refactoring setup: rename version_db by installed_version

refactoring setup: rename version_code by available_version

code cleanup: avoid useless runtimeenv instanciation
This commit is contained in:
odain
2025-11-10 16:22:16 +01:00
parent 73f868ac83
commit 76178c16b8
13 changed files with 12464 additions and 151 deletions

View File

@@ -0,0 +1,161 @@
<?php
namespace Combodo\iTop\Test\UnitTest\Setup;
use AnalyzeInstallation;
use Combodo\iTop\Test\UnitTest\ItopTestCase;
use ModuleInstallationService;
class AnalyzeInstallationTest extends ItopTestCase
{
protected function setUp(): void
{
parent::setUp();
$this->RequireOnceItopFile('setup/AnalyzeInstallation.php');
$this->RequireOnceItopFile('setup/ModuleInstallationService.php');
$this->RequireOnceItopFile('setup/modulediscovery.class.inc.php');
$this->RequireOnceItopFile('setup/runtimeenv.class.inc.php');
}
public static function AnalyzeInstallationProvider()
{
//$aModules = json_decode(file_get_contents(__DIR__.'/ressources/priv_modules.json'), true);
$aAnalyzeInstallationOutput = json_decode(file_get_contents(__DIR__.'/ressources/analyze_installation_output.json'), true);
$aAvailableModules = json_decode(file_get_contents(__DIR__.'/ressources/available_modules.json'), true);
return [
'new modules not in DB setup history' => [
'aAvailableModules' => [
'mandatory_module/1.0.0' => [
"mandatory" => true,
"ga" => "bu",
],
'optional_module/6.6.6' => [
"mandatory" => false,
"zo" => "meu",
],
],
'aInstalledModules' => [],
'expected' => [
'_Root_' => [
'installed_version' => '',
'available_version' => '3.3.0-dev-svn',
'name_code' => 'iTop',
],
'mandatory_module' => [
"mandatory" => true,
'installed_version' => '',
'available_version' => '1.0.0',
'install' => [
'flag' => 2,
'message' => 'the module is part of the application',
],
"ga" => "bu",
],
'optional_module' => [
"mandatory" => false,
'installed_version' => '',
'available_version' => '6.6.6',
"zo" => "meu",
'install' => [
'flag' => 1,
'message' => '',
],
],
],
],
'new modules ALREADY in DB setup history' => [
'aAvailableModules' => [
'mandatory_module/1.0.0' => [
"mandatory" => true,
"ga" => "bu",
],
'optional_module/6.6.6' => [
"mandatory" => false,
"zo" => "meu",
],
],
'aInstalledModules' => json_decode(file_get_contents(__DIR__.'/ressources/priv_modules_simpleusecase.json'), true),
'expected' => [
'_Root_' => [
'installed_version' => '3.3.0-dev-svn',
'available_version' => '3.3.0-dev-svn',
'name_code' => 'iTop',
],
'mandatory_module' => [
"mandatory" => true,
'installed_version' => '3.3.0',
'available_version' => '1.0.0',
"ga" => "bu",
'install' => [
'flag' => 2,
'message' => 'the module is part of the application',
],
'uninstall' => [
'flag' => 3,
'message' => 'the module is part of the application',
],
],
'optional_module' => [
"mandatory" => false,
'installed_version' => '3.3.0',
'available_version' => '6.6.6',
"zo" => "meu",
'install' => [
'flag' => 1,
'message' => '',
],
'uninstall' => [
'flag' => 1,
'message' => '',
],
],
],
],
'dummyfirst installation' => [
'aAvailableModules' => [],
'aInstalledModules' => [],
'expected' => [
'_Root_' => [
'installed_version' => '',
'available_version' => '3.3.0-dev-svn',
'name_code' => 'iTop',
],
],
],
'dummy 2nd installation' => [
'aAvailableModules' => [],
'aInstalledModules' => json_decode(file_get_contents(__DIR__.'/ressources/priv_modules2.json'), true),
'expected' => [
'_Root_' => [
'installed_version' => '3.3.0-dev-svn',
'available_version' => '3.3.0-dev-svn',
'name_code' => 'iTop',
],
],
],
'real_case' => [
'aAvailableModules' => $aAvailableModules,
'aInstalledModules' => json_decode(file_get_contents(__DIR__.'/ressources/priv_modules2.json'), true),
'expected' => $aAnalyzeInstallationOutput,
],
];
}
/**
* @dataProvider AnalyzeInstallationProvider
*/
public function testAnalyzeInstallation($aAvailableModules, $aInstalledModules, $expected)
{
$this->SetNonPublicProperty(AnalyzeInstallation::GetInstance(), "aAvailableModules", $aAvailableModules);
//$aModules = json_decode(file_get_contents(__DIR__.'/ressources/priv_modules2.json'), true);
$this->SetNonPublicProperty(ModuleInstallationService::GetInstance(), "aSelectInstall", $aInstalledModules);
$oConfig = $this->createMock(\Config::class);
$modulesPath = [
APPROOT.'extensions',
];
$aModules = AnalyzeInstallation::GetInstance()->AnalyzeInstallation($oConfig, $modulesPath, false, null);
$this->assertEquals($expected, $aModules);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,642 @@
[
{
"0": "330",
"id": "330",
"1": "iTop",
"name": "iTop",
"2": "3.3.0-dev-svn",
"version": "3.3.0-dev-svn",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nBuilt on $WCNOW$",
"comment": "Done by the setup program\nBuilt on $WCNOW$",
"5": "0",
"parent_id": "0",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "331",
"id": "331",
"1": "authent-cas",
"name": "authent-cas",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nVisible (during the setup)",
"comment": "Done by the setup program\nMandatory\nVisible (during the setup)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "332",
"id": "332",
"1": "authent-external",
"name": "authent-external",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "333",
"id": "333",
"1": "authent-ldap",
"name": "authent-ldap",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "334",
"id": "334",
"1": "authent-local",
"name": "authent-local",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nVisible (during the setup)",
"comment": "Done by the setup program\nMandatory\nVisible (during the setup)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "335",
"id": "335",
"1": "combodo-backoffice-darkmoon-theme",
"name": "combodo-backoffice-darkmoon-theme",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"comment": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "336",
"id": "336",
"1": "combodo-backoffice-fullmoon-high-contrast-theme",
"name": "combodo-backoffice-fullmoon-high-contrast-theme",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"comment": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "337",
"id": "337",
"1": "combodo-backoffice-fullmoon-protanopia-deuteranopia-theme",
"name": "combodo-backoffice-fullmoon-protanopia-deuteranopia-theme",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"comment": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "338",
"id": "338",
"1": "combodo-backoffice-fullmoon-tritanopia-theme",
"name": "combodo-backoffice-fullmoon-tritanopia-theme",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"comment": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "339",
"id": "339",
"1": "itop-backup",
"name": "itop-backup",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"comment": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "340",
"id": "340",
"1": "itop-config",
"name": "itop-config",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"comment": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "341",
"id": "341",
"1": "itop-files-information",
"name": "itop-files-information",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nHidden (selected automatically)",
"comment": "Done by the setup program\nOptional\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "342",
"id": "342",
"1": "itop-portal-base",
"name": "itop-portal-base",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"comment": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "343",
"id": "343",
"1": "itop-profiles-itil",
"name": "itop-profiles-itil",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"comment": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "344",
"id": "344",
"1": "itop-sla-computation",
"name": "itop-sla-computation",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"comment": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "345",
"id": "345",
"1": "itop-structure",
"name": "itop-structure",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"comment": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "346",
"id": "346",
"1": "itop-welcome-itil",
"name": "itop-welcome-itil",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"comment": "Done by the setup program\nMandatory\nHidden (selected automatically)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "347",
"id": "347",
"1": "itop-config-mgmt",
"name": "itop-config-mgmt",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-structure\/2.7.1",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-structure\/2.7.1",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "348",
"id": "348",
"1": "itop-attachments",
"name": "itop-attachments",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "349",
"id": "349",
"1": "itop-tickets",
"name": "itop-tickets",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-structure\/2.7.1",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-structure\/2.7.1",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "350",
"id": "350",
"1": "combodo-db-tools",
"name": "combodo-db-tools",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-structure\/3.0.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-structure\/3.0.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "351",
"id": "351",
"1": "itop-core-update",
"name": "itop-core-update",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-files-information\/2.7.0\nDepends on module: combodo-db-tools\/2.7.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-files-information\/2.7.0\nDepends on module: combodo-db-tools\/2.7.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "352",
"id": "352",
"1": "itop-hub-connector",
"name": "itop-hub-connector",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.4.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.4.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "353",
"id": "353",
"1": "itop-oauth-client",
"name": "itop-oauth-client",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-welcome-itil\/3.1.0,",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-welcome-itil\/3.1.0,",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "354",
"id": "354",
"1": "itop-themes-compat",
"name": "itop-themes-compat",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-structure\/3.1.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-structure\/3.1.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "355",
"id": "355",
"1": "itop-datacenter-mgmt",
"name": "itop-datacenter-mgmt",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.2.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.2.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "356",
"id": "356",
"1": "itop-endusers-devices",
"name": "itop-endusers-devices",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.2.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.2.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "357",
"id": "357",
"1": "itop-storage-mgmt",
"name": "itop-storage-mgmt",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.4.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.4.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "358",
"id": "358",
"1": "itop-virtualization-mgmt",
"name": "itop-virtualization-mgmt",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.4.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.4.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "359",
"id": "359",
"1": "itop-bridge-cmdb-ticket",
"name": "itop-bridge-cmdb-ticket",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-tickets\/2.7.0",
"comment": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-tickets\/2.7.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "360",
"id": "360",
"1": "itop-bridge-virtualization-storage",
"name": "itop-bridge-virtualization-storage",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-storage-mgmt\/2.2.0\nDepends on module: itop-virtualization-mgmt\/2.2.0",
"comment": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-storage-mgmt\/2.2.0\nDepends on module: itop-virtualization-mgmt\/2.2.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "361",
"id": "361",
"1": "itop-service-mgmt",
"name": "itop-service-mgmt",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-tickets\/2.0.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-tickets\/2.0.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "362",
"id": "362",
"1": "itop-bridge-cmdb-services",
"name": "itop-bridge-cmdb-services",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-service-mgmt\/2.7.1 || itop-service-mgmt-provider\/2.7.1",
"comment": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-service-mgmt\/2.7.1 || itop-service-mgmt-provider\/2.7.1",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "363",
"id": "363",
"1": "itop-bridge-datacenter-mgmt-services",
"name": "itop-bridge-datacenter-mgmt-services",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-service-mgmt\/2.7.1 || itop-service-mgmt-provider\/2.7.1\nDepends on module: itop-datacenter-mgmt\/3.1.0",
"comment": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-service-mgmt\/2.7.1 || itop-service-mgmt-provider\/2.7.1\nDepends on module: itop-datacenter-mgmt\/3.1.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "364",
"id": "364",
"1": "itop-bridge-endusers-devices-services",
"name": "itop-bridge-endusers-devices-services",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-service-mgmt\/2.7.1 || itop-service-mgmt-provider\/2.7.1\nDepends on module: itop-endusers-devices\/3.1.0",
"comment": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-service-mgmt\/2.7.1 || itop-service-mgmt-provider\/2.7.1\nDepends on module: itop-endusers-devices\/3.1.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "365",
"id": "365",
"1": "itop-bridge-storage-mgmt-services",
"name": "itop-bridge-storage-mgmt-services",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-service-mgmt\/2.7.1 || itop-service-mgmt-provider\/2.7.1\nDepends on module: itop-storage-mgmt\/3.1.0",
"comment": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-service-mgmt\/2.7.1 || itop-service-mgmt-provider\/2.7.1\nDepends on module: itop-storage-mgmt\/3.1.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "366",
"id": "366",
"1": "itop-bridge-virtualization-mgmt-services",
"name": "itop-bridge-virtualization-mgmt-services",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-service-mgmt\/2.7.1 || itop-service-mgmt-provider\/2.7.1\nDepends on module: itop-virtualization-mgmt\/3.1.0",
"comment": "Done by the setup program\nOptional\nHidden (selected automatically)\nDepends on module: itop-config-mgmt\/2.7.1\nDepends on module: itop-service-mgmt\/2.7.1 || itop-service-mgmt-provider\/2.7.1\nDepends on module: itop-virtualization-mgmt\/3.1.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "367",
"id": "367",
"1": "itop-request-mgmt",
"name": "itop-request-mgmt",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-tickets\/2.4.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-tickets\/2.4.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "368",
"id": "368",
"1": "itop-portal",
"name": "itop-portal",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-portal-base\/2.7.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-portal-base\/2.7.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "369",
"id": "369",
"1": "itop-change-mgmt",
"name": "itop-change-mgmt",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.2.0\nDepends on module: itop-tickets\/2.0.0",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)\nDepends on module: itop-config-mgmt\/2.2.0\nDepends on module: itop-tickets\/2.0.0",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
}
]

View File

@@ -0,0 +1,50 @@
[
{
"0": "330",
"id": "330",
"1": "iTop",
"name": "iTop",
"2": "3.3.0-dev-svn",
"version": "3.3.0-dev-svn",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nBuilt on $WCNOW$",
"comment": "Done by the setup program\nBuilt on $WCNOW$",
"5": "0",
"parent_id": "0",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "331",
"id": "331",
"1": "mandatory_module",
"name": "mandatory_module",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nMandatory\nVisible (during the setup)",
"comment": "Done by the setup program\nMandatory\nVisible (during the setup)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "yes"
},
{
"0": "332",
"id": "332",
"1": "optional_module",
"name": "optional_module",
"2": "3.3.0",
"version": "3.3.0",
"3": "2025-11-10 11:50:12",
"installed": "2025-11-10 11:50:12",
"4": "Done by the setup program\nOptional\nVisible (during the setup)",
"comment": "Done by the setup program\nOptional\nVisible (during the setup)",
"5": "330",
"parent_id": "330",
"6": "yes",
"uninstallable": "no"
}
]