N°3117 Refactor of datamodel and dictionnaries for the sake of modularity

- New module itop-bridge-cmdb-ticket to cope with the need to install only the CMDB or/and ticketing
	- New module itop-structure to hold declarations required by iTop independently from ITIL. Note that these declarations should ideally be moved to application/datamodel.application.xml or core/datamodel.core.xml. Anyhow, the compiler suffers a few limitations and it has been decided to create this module as a workaround.
	- Split of known-error module into itop-faq-light and itop-knownerror-light
This commit is contained in:
odain
2020-09-09 11:09:52 +02:00
parent 2ff6658a56
commit 54eb86a16b
123 changed files with 2974 additions and 2181 deletions

View File

@@ -0,0 +1,83 @@
<?php
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-faq-light/2.8.0',
array(
// Identification
//
'label' => 'Frequently Asked Questions Database',
'category' => 'business',
// Setup
//
'dependencies' => array(
'itop-structure/2.7.0',
),
'mandatory' => false,
'visible' => true,
'installer' => 'KnownErrorMgmtInstaller',
// Components
//
'datamodel' => array(
'model.itop-faq-light.php',
),
'data.struct' => array(
//'data.struct.itop-knownerror-mgmt.xml',
),
'data.sample' => array(
'data.sample.faq-domains.xml',
),
// Documentation
//
'doc.manual_setup' => '', // No manual installation instructions
'doc.more_information' => '',
// Default settings
//
'settings' => array(
),
)
);
if (!class_exists('KnownErrorMgmtInstaller'))
{
// Module installation handler
//
class KnownErrorMgmtInstaller extends ModuleInstallerAPI
{
public static function BeforeWritingConfig(Config $oConfiguration)
{
// If you want to override/force some configuration values, do it here
return $oConfiguration;
}
/**
* Handler called before creating or upgrading the database schema
* @param $oConfiguration Config The new configuration of the application
* @param $sPreviousVersion string PRevious version number of the module (empty string in case of first install)
* @param $sCurrentVersion string Current version number of the module
*/
public static function BeforeDatabaseCreation(Config $oConfiguration, $sPreviousVersion, $sCurrentVersion)
{
if (strlen($sPreviousVersion) > 0)
{
// If you want to migrate data from one format to another, do it here
self::RenameClassInDB('FAQcategory', 'FAQCategory');
}
}
/**
* Handler called after the creation/update of the database schema
* @param $oConfiguration Config The new configuration of the application
* @param $sPreviousVersion string PRevious version number of the module (empty string in case of first install)
* @param $sCurrentVersion string Current version number of the module
*/
public static function AfterDatabaseCreation(Config $oConfiguration, $sPreviousVersion, $sCurrentVersion)
{
}
}
}