Introduced the modules (model, dicionnary, menus, etc.)

SVN:trunk[509]
This commit is contained in:
Romain Quetiez
2010-06-30 13:11:08 +00:00
parent 0db5fe786a
commit b5d0d78d5f
25 changed files with 3306 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Localized data
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
?>

View File

@@ -0,0 +1,26 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Persistent classes for a CMDB
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
?>

View File

@@ -0,0 +1,40 @@
<?php
SetupWebPage::AddModule(
'itop-basic/1.0.0',
array(
// Identification
//
'label' => 'Change Management',
// Setup
//
'dependencies' => array(
),
'mandatory' => false,
'visible' => true,
// Components
//
'datamodel' => array(
'model.itop-basic.php',
),
'dictionary' => array(
'en.dict.itop-basic.php',
),
'data.struct' => array(
//'data.struct.itop-basic.xml',
),
'data.sample' => array(
//'data.sample.itop-basic.xml',
),
// Documentation
//
'doc.manual_setup' => '/doc/xxx/yyy.htm',
'doc.more_information' => '/doc/xxx/yyy.htm',
)
);
?>

View File

@@ -0,0 +1,51 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Localized data
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
?>

View File

@@ -0,0 +1,26 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Persistent classes for a CMDB
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
?>

View File

@@ -0,0 +1,41 @@
<?php
SetupWebPage::AddModule(
'itop-change-mgmt/1.0.0',
array(
// Identification
//
'label' => 'Change Management',
// Setup
//
'dependencies' => array(
'itop-config-mgmt/1.0.0',
),
'mandatory' => false,
'visible' => true,
// Components
//
'datamodel' => array(
'model.itop-change-mgmt.php',
),
'dictionary' => array(
'en.dict.itop-change-mgmt.php',
),
'data.struct' => array(
//'data.struct.itop-change-mgmt.xml',
),
'data.sample' => array(
//'data.sample.itop-change-mgmt.xml',
),
// Documentation
//
'doc.manual_setup' => '/doc/xxx/yyy.htm',
'doc.more_information' => '/doc/xxx/yyy.htm',
)
);
?>

View File

@@ -0,0 +1,818 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Localized data
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
//////////////////////////////////////////////////////////////////////
// Relations
//////////////////////////////////////////////////////////////////////
//
Dict::Add('EN US', 'English', 'English', array(
'Relation:impacts/Description' => 'Elements impacted by',
'Relation:impacts/VerbUp' => 'Impact...',
'Relation:impacts/VerbDown' => 'Elements impacted by...',
));
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//////////////////////////////////////////////////////////////////////
// Note: The classes have been grouped by categories: bizmodel
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
//
// Class: Organization
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Organization' => 'Organization',
'Class:Organization+' => '',
'Class:Organization/Attribute:name' => 'Name',
'Class:Organization/Attribute:name+' => 'Common name',
'Class:Organization/Attribute:code' => 'Code',
'Class:Organization/Attribute:code+' => 'Organization code (Siret, DUNS,...)',
'Class:Organization/Attribute:status' => 'Status',
'Class:Organization/Attribute:status+' => '',
'Class:Organization/Attribute:status/Value:active' => 'Active',
'Class:Organization/Attribute:status/Value:active+' => 'Active',
'Class:Organization/Attribute:status/Value:inactive' => 'Inactive',
'Class:Organization/Attribute:status/Value:inactive+' => 'Inactive',
'Class:Organization/Attribute:parent_id' => 'Parent',
'Class:Organization/Attribute:parent_id+' => 'Parent organization',
'Class:Organization/Attribute:parent_name' => 'Parent name',
'Class:Organization/Attribute:parent_name+' => 'Name of the parent organization',
));
//
// Class: Location
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Location' => 'Location',
'Class:Location+' => 'Any type of location: Region, Country, City, Site, Building, Floor, Room, Rack,...',
'Class:Location/Attribute:name' => 'Name',
'Class:Location/Attribute:name+' => '',
'Class:Location/Attribute:status' => 'Status',
'Class:Location/Attribute:status+' => '',
'Class:Location/Attribute:status/Value:active' => 'Active',
'Class:Location/Attribute:status/Value:active+' => 'Active',
'Class:Location/Attribute:status/Value:inactive' => 'Inactive',
'Class:Location/Attribute:status/Value:inactive+' => 'Inactive',
'Class:Location/Attribute:org_id' => 'Owner organization',
'Class:Location/Attribute:org_id+' => '',
'Class:Location/Attribute:org_name' => 'Name of the owner organization',
'Class:Location/Attribute:org_name+' => '',
'Class:Location/Attribute:address' => 'Address',
'Class:Location/Attribute:address+' => 'Postal address',
'Class:Location/Attribute:country' => 'Country',
'Class:Location/Attribute:country+' => '',
'Class:Location/Attribute:parent_id' => 'Parent location',
'Class:Location/Attribute:parent_id+' => '',
'Class:Location/Attribute:parent_name' => 'Parent name',
'Class:Location/Attribute:parent_name+' => '',
));
//
// Class: Contact
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Contact' => 'Contact',
'Class:Contact+' => '',
'Class:Contact/Attribute:name' => 'Name',
'Class:Contact/Attribute:name+' => '',
'Class:Contact/Attribute:status' => 'Status',
'Class:Contact/Attribute:status+' => '',
'Class:Contact/Attribute:status/Value:active' => 'Active',
'Class:Contact/Attribute:status/Value:active+' => 'Active',
'Class:Contact/Attribute:status/Value:inactive' => 'Inactive',
'Class:Contact/Attribute:status/Value:inactive+' => 'Inactive',
'Class:Contact/Attribute:org_id' => 'Organization',
'Class:Contact/Attribute:org_id+' => '',
'Class:Contact/Attribute:org_name' => 'Organization',
'Class:Contact/Attribute:org_name+' => '',
'Class:Contact/Attribute:email' => 'Email',
'Class:Contact/Attribute:email+' => '',
'Class:Contact/Attribute:phone' => 'Phone',
'Class:Contact/Attribute:phone+' => '',
'Class:Contact/Attribute:location_id' => 'Location',
'Class:Contact/Attribute:location_id+' => '',
'Class:Contact/Attribute:location_name' => 'Location',
'Class:Contact/Attribute:location_name+' => '',
'Class:Contact/Attribute:ci_list' => 'CIs',
'Class:Contact/Attribute:ci_list+' => 'CIs related to the contact',
'Class:Contact/Attribute:contract_list' => 'Contracts',
'Class:Contact/Attribute:contract_list+' => 'Contracts related to the contact',
'Class:Contact/Attribute:ticket_list' => 'Tickets',
'Class:Contact/Attribute:ticket_list+' => 'Tickets related to the contact',
));
//
// Class: Person
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Person' => 'Person',
'Class:Person+' => '',
'Class:Person/Attribute:first_name' => 'First Name',
'Class:Person/Attribute:first_name+' => '',
'Class:Person/Attribute:employee_id' => 'Employee ID',
'Class:Person/Attribute:employee_id+' => '',
));
//
// Class: Team
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Team' => 'Team',
'Class:Team+' => '',
));
//
// Class: Document
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Document' => 'Document',
'Class:Document+' => '',
'Class:Document/Attribute:name' => 'Name',
'Class:Document/Attribute:name+' => '',
'Class:Document/Attribute:description' => 'Description',
'Class:Document/Attribute:description+' => '',
'Class:Document/Attribute:type' => 'Type',
'Class:Document/Attribute:type+' => '',
'Class:Document/Attribute:type/Value:contract' => 'Contract',
'Class:Document/Attribute:type/Value:contract+' => '',
'Class:Document/Attribute:type/Value:networkmap' => 'Network Map',
'Class:Document/Attribute:type/Value:networkmap+' => '',
'Class:Document/Attribute:type/Value:presentation' => 'Presentation',
'Class:Document/Attribute:type/Value:presentation+' => '',
'Class:Document/Attribute:type/Value:training' => 'Training',
'Class:Document/Attribute:type/Value:training+' => '',
'Class:Document/Attribute:type/Value:whitePaper' => 'White Paper',
'Class:Document/Attribute:type/Value:whitePaper+' => '',
'Class:Document/Attribute:type/Value:workinginstructions' => 'Working Instructions',
'Class:Document/Attribute:type/Value:workinginstructions+' => '',
'Class:Document/Attribute:status' => 'Status',
'Class:Document/Attribute:status+' => '',
'Class:Document/Attribute:status/Value:draft' => 'Draft',
'Class:Document/Attribute:status/Value:draft+' => '',
'Class:Document/Attribute:status/Value:obsolete' => 'Obsolete',
'Class:Document/Attribute:status/Value:obsolete+' => '',
'Class:Document/Attribute:status/Value:published' => 'Published',
'Class:Document/Attribute:status/Value:published+' => '',
'Class:Document/Attribute:ci_list' => 'CIs',
'Class:Document/Attribute:ci_list+' => 'CIs refering to this document',
'Class:Document/Attribute:contract_list' => 'Contracts',
'Class:Document/Attribute:contract_list+' => 'Contracts refering to this document',
'Class:Document/Attribute:ticket_list' => 'Tickets',
'Class:Document/Attribute:ticket_list+' => 'Tickets refering to this document',
'Class:Document:PreviewTab' => 'Preview',
));
//
// Class: ExternalDoc
//
Dict::Add('EN US', 'English', 'English', array(
'Class:ExternalDoc' => 'External Document',
'Class:ExternalDoc+' => 'Document available on another web server',
'Class:ExternalDoc/Attribute:url' => 'Url',
'Class:ExternalDoc/Attribute:url+' => '',
));
//
// Class: Note
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Note' => 'Note',
'Class:Note+' => '',
'Class:Note/Attribute:note' => 'Text',
'Class:Note/Attribute:note+' => '',
));
//
// Class: FileDoc
//
Dict::Add('EN US', 'English', 'English', array(
'Class:FileDoc' => 'Document (file)',
'Class:FileDoc+' => '',
'Class:FileDoc/Attribute:contents' => 'Contents',
'Class:FileDoc/Attribute:contents+' => '',
));
//
// Class: Licence
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Licence' => 'Licence',
'Class:Licence+' => '',
'Class:Licence/Attribute:provider' => 'Provider',
'Class:Licence/Attribute:provider+' => '',
'Class:Licence/Attribute:product' => 'Product',
'Class:Licence/Attribute:product+' => '',
'Class:Licence/Attribute:name' => 'Name',
'Class:Licence/Attribute:name+' => '',
'Class:Licence/Attribute:start' => 'Start date',
'Class:Licence/Attribute:start+' => '',
'Class:Licence/Attribute:end' => 'End date',
'Class:Licence/Attribute:end+' => '',
'Class:Licence/Attribute:key' => 'Key',
'Class:Licence/Attribute:key+' => '',
'Class:Licence/Attribute:scope' => 'Scope',
'Class:Licence/Attribute:scope+' => '',
));
//
// Class: Subnet
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Subnet' => 'Subnet',
'Class:Subnet+' => '',
'Class:Subnet/Attribute:name' => 'Name',
'Class:Subnet/Attribute:name+' => '',
'Class:Subnet/Attribute:description' => 'Description',
'Class:Subnet/Attribute:description+' => '',
'Class:Subnet/Attribute:ip' => 'IP',
'Class:Subnet/Attribute:ip+' => '',
'Class:Subnet/Attribute:ip_mask' => 'IP Mask',
'Class:Subnet/Attribute:ip_mask+' => '',
));
//
// Class: Patch
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Patch' => 'Patch',
'Class:Patch+' => '',
'Class:Patch/Attribute:name' => 'Name',
'Class:Patch/Attribute:name+' => '',
'Class:Patch/Attribute:target_sw' => 'Application scope',
'Class:Patch/Attribute:target_sw+' => 'Target software (OS or application)',
'Class:Patch/Attribute:version' => 'Version',
'Class:Patch/Attribute:version+' => '',
'Class:Patch/Attribute:type' => 'Type',
'Class:Patch/Attribute:type+' => '',
'Class:Patch/Attribute:type/Value:fix' => 'Fix',
'Class:Patch/Attribute:type/Value:fix+' => '',
'Class:Patch/Attribute:type/Value:security' => 'Security',
'Class:Patch/Attribute:type/Value:security+' => '',
'Class:Patch/Attribute:type/Value:servicepack' => 'Service Pack',
'Class:Patch/Attribute:type/Value:servicepack+' => '',
));
//
// Class: Application
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Application' => 'Application',
'Class:Application+' => '',
'Class:Application/Attribute:name' => 'Name',
'Class:Application/Attribute:name+' => '',
'Class:Application/Attribute:description' => 'Description',
'Class:Application/Attribute:description+' => '',
));
//
// Class: lnkPatchToCI
//
Dict::Add('EN US', 'English', 'English', array(
'Class:lnkPatchToCI' => 'lnkPatchToCI',
'Class:lnkPatchToCI+' => '',
'Class:lnkPatchToCI/Attribute:patch_id' => 'Patch',
'Class:lnkPatchToCI/Attribute:patch_id+' => '',
'Class:lnkPatchToCI/Attribute:patch_name' => 'Patch',
'Class:lnkPatchToCI/Attribute:patch_name+' => '',
'Class:lnkPatchToCI/Attribute:ci_id' => 'CI',
'Class:lnkPatchToCI/Attribute:ci_id+' => '',
'Class:lnkPatchToCI/Attribute:ci_name' => 'CI',
'Class:lnkPatchToCI/Attribute:ci_name+' => '',
'Class:lnkPatchToCI/Attribute:ci_status' => 'CI Status',
'Class:lnkPatchToCI/Attribute:ci_status+' => '',
));
//
// Class: FunctionalCI
//
Dict::Add('EN US', 'English', 'English', array(
'Class:FunctionalCI' => 'FunctionalCI',
'Class:FunctionalCI+' => '',
'Class:FunctionalCI/Attribute:name' => 'Name',
'Class:FunctionalCI/Attribute:name+' => '',
'Class:FunctionalCI/Attribute:status' => 'Status',
'Class:FunctionalCI/Attribute:status+' => '',
'Class:FunctionalCI/Attribute:status/Value:implementation' => 'Implementation',
'Class:FunctionalCI/Attribute:status/Value:implementation+' => '',
'Class:FunctionalCI/Attribute:status/Value:obsolete' => 'Obsolete',
'Class:FunctionalCI/Attribute:status/Value:obsolete+' => '',
'Class:FunctionalCI/Attribute:status/Value:production' => 'Production',
'Class:FunctionalCI/Attribute:status/Value:production+' => '',
'Class:FunctionalCI/Attribute:owner_id' => 'Owner organization',
'Class:FunctionalCI/Attribute:owner_id+' => '',
'Class:FunctionalCI/Attribute:owner_name' => 'Owner organization',
'Class:FunctionalCI/Attribute:owner_name+' => '',
'Class:FunctionalCI/Attribute:importance' => 'Importance',
'Class:FunctionalCI/Attribute:importance+' => '',
'Class:FunctionalCI/Attribute:importance/Value:high' => 'High',
'Class:FunctionalCI/Attribute:importance/Value:high+' => '',
'Class:FunctionalCI/Attribute:importance/Value:low' => 'Low',
'Class:FunctionalCI/Attribute:importance/Value:low+' => '',
'Class:FunctionalCI/Attribute:importance/Value:medium' => 'Medium',
'Class:FunctionalCI/Attribute:importance/Value:medium+' => '',
'Class:FunctionalCI/Attribute:contact_list' => 'Contacts',
'Class:FunctionalCI/Attribute:contact_list+' => 'Contacts for this CI',
'Class:FunctionalCI/Attribute:document_list' => 'Documents',
'Class:FunctionalCI/Attribute:document_list+' => 'Documentation for this CI',
'Class:FunctionalCI/Attribute:solution_list' => 'Solutions',
'Class:FunctionalCI/Attribute:solution_list+' => 'Solutions using this CI',
'Class:FunctionalCI/Attribute:finalclass' => 'finalclass',
'Class:FunctionalCI/Attribute:finalclass+' => '',
));
//
// Class: ApplicationInstance
//
Dict::Add('EN US', 'English', 'English', array(
'Class:ApplicationInstance' => 'Application Instance',
'Class:ApplicationInstance+' => '',
'Class:ApplicationInstance/Attribute:device_id' => 'Device',
'Class:ApplicationInstance/Attribute:device_id+' => '',
'Class:ApplicationInstance/Attribute:device_name' => 'Device',
'Class:ApplicationInstance/Attribute:device_name+' => '',
'Class:ApplicationInstance/Attribute:licence_id' => 'Licence',
'Class:ApplicationInstance/Attribute:licence_id+' => '',
'Class:ApplicationInstance/Attribute:licence_name' => 'Licence',
'Class:ApplicationInstance/Attribute:licence_name+' => '',
'Class:ApplicationInstance/Attribute:application_id' => 'Application',
'Class:ApplicationInstance/Attribute:application_id+' => '',
'Class:ApplicationInstance/Attribute:application_name' => 'Application',
'Class:ApplicationInstance/Attribute:application_name+' => '',
'Class:ApplicationInstance/Attribute:version' => 'Version',
'Class:ApplicationInstance/Attribute:version+' => '',
'Class:ApplicationInstance/Attribute:description' => 'Description',
'Class:ApplicationInstance/Attribute:description+' => '',
));
//
// Class: DatabaseInstance
//
Dict::Add('EN US', 'English', 'English', array(
'Class:DatabaseInstance' => 'Database instance',
'Class:DatabaseInstance+' => '',
'Class:DatabaseInstance/Attribute:application_id' => 'Database software',
'Class:DatabaseInstance/Attribute:application_id+' => '',
'Class:DatabaseInstance/Attribute:application_name' => 'Database software',
'Class:DatabaseInstance/Attribute:application_name+' => '',
'Class:DatabaseInstance/Attribute:admin_login' => 'Admin login',
'Class:DatabaseInstance/Attribute:admin_login+' => '',
'Class:DatabaseInstance/Attribute:admin_password' => 'Admin password',
'Class:DatabaseInstance/Attribute:admin_password+' => '',
'Class:DatabaseInstance/Attribute:description' => 'Description',
'Class:DatabaseInstance/Attribute:description+' => '',
));
//
// Class: ApplicationSolution
//
Dict::Add('EN US', 'English', 'English', array(
'Class:ApplicationSolution' => 'Application Solution',
'Class:ApplicationSolution+' => '',
'Class:ApplicationSolution/Attribute:description' => 'Description',
'Class:ApplicationSolution/Attribute:description+' => '',
'Class:ApplicationSolution/Attribute:ci_list' => 'CIs',
'Class:ApplicationSolution/Attribute:ci_list+' => 'CIs composing the solution',
'Class:ApplicationSolution/Attribute:process_list' => 'Processes',
'Class:ApplicationSolution/Attribute:process_list+' => 'Business processes relying on the solution',
));
//
// Class: BusinessProcess
//
Dict::Add('EN US', 'English', 'English', array(
'Class:BusinessProcess' => 'Business Process',
'Class:BusinessProcess+' => '',
'Class:BusinessProcess/Attribute:solution_list' => 'Solutions',
'Class:BusinessProcess/Attribute:solution_list+' => 'Solutions the process is relying on',
'Class:BusinessProcess/Attribute:description' => 'Description',
'Class:BusinessProcess/Attribute:description+' => '',
));
//
// Class: ConnectableCI
//
Dict::Add('EN US', 'English', 'English', array(
'Class:ConnectableCI' => 'Connectable CI',
'Class:ConnectableCI+' => 'Physical CI',
'Class:ConnectableCI/Attribute:brand' => 'Brand',
'Class:ConnectableCI/Attribute:brand+' => '',
'Class:ConnectableCI/Attribute:model' => 'Model',
'Class:ConnectableCI/Attribute:model+' => '',
'Class:ConnectableCI/Attribute:serial_number' => 'Serial Number',
'Class:ConnectableCI/Attribute:serial_number+' => '',
'Class:ConnectableCI/Attribute:asset_ref' => 'Asset Reference',
'Class:ConnectableCI/Attribute:asset_ref+' => '',
));
//
// Class: NetworkInterface
//
Dict::Add('EN US', 'English', 'English', array(
'Class:NetworkInterface' => 'Network Interface',
'Class:NetworkInterface+' => '',
'Class:NetworkInterface/Attribute:device_id' => 'Device',
'Class:NetworkInterface/Attribute:device_id+' => '',
'Class:NetworkInterface/Attribute:device_name' => 'Device',
'Class:NetworkInterface/Attribute:device_name+' => '',
'Class:NetworkInterface/Attribute:logical_type' => 'Logical Type',
'Class:NetworkInterface/Attribute:logical_type+' => '',
'Class:NetworkInterface/Attribute:logical_type/Value:backup' => 'Backup',
'Class:NetworkInterface/Attribute:logical_type/Value:backup+' => '',
'Class:NetworkInterface/Attribute:logical_type/Value:logical' => 'Logical',
'Class:NetworkInterface/Attribute:logical_type/Value:logical+' => '',
'Class:NetworkInterface/Attribute:logical_type/Value:port' => 'Port',
'Class:NetworkInterface/Attribute:logical_type/Value:port+' => '',
'Class:NetworkInterface/Attribute:logical_type/Value:primary' => 'Primary',
'Class:NetworkInterface/Attribute:logical_type/Value:primary+' => '',
'Class:NetworkInterface/Attribute:logical_type/Value:secondary' => 'Secondary',
'Class:NetworkInterface/Attribute:logical_type/Value:secondary+' => '',
'Class:NetworkInterface/Attribute:physical_type' => 'Physical Type',
'Class:NetworkInterface/Attribute:physical_type+' => '',
'Class:NetworkInterface/Attribute:physical_type/Value:atm' => 'ATM',
'Class:NetworkInterface/Attribute:physical_type/Value:atm+' => '',
'Class:NetworkInterface/Attribute:physical_type/Value:ethernet' => 'Ethernet',
'Class:NetworkInterface/Attribute:physical_type/Value:ethernet+' => '',
'Class:NetworkInterface/Attribute:physical_type/Value:framerelay' => 'Frame Relay',
'Class:NetworkInterface/Attribute:physical_type/Value:framerelay+' => '',
'Class:NetworkInterface/Attribute:physical_type/Value:vlan' => 'VLAN',
'Class:NetworkInterface/Attribute:physical_type/Value:vlan+' => '',
'Class:NetworkInterface/Attribute:ip_address' => 'IP Address',
'Class:NetworkInterface/Attribute:ip_address+' => '',
'Class:NetworkInterface/Attribute:ip_mask' => 'IP Mask',
'Class:NetworkInterface/Attribute:ip_mask+' => '',
'Class:NetworkInterface/Attribute:mac_address' => 'MAC Address',
'Class:NetworkInterface/Attribute:mac_address+' => '',
'Class:NetworkInterface/Attribute:speed' => 'Speed',
'Class:NetworkInterface/Attribute:speed+' => '',
'Class:NetworkInterface/Attribute:duplex' => 'Duplex',
'Class:NetworkInterface/Attribute:duplex+' => '',
'Class:NetworkInterface/Attribute:duplex/Value:full' => 'Full',
'Class:NetworkInterface/Attribute:duplex/Value:full+' => '',
'Class:NetworkInterface/Attribute:duplex/Value:half' => 'Half',
'Class:NetworkInterface/Attribute:duplex/Value:half+' => '',
'Class:NetworkInterface/Attribute:duplex/Value:unknown' => 'Unknown',
'Class:NetworkInterface/Attribute:duplex/Value:unknown+' => '',
'Class:NetworkInterface/Attribute:connected_if' => 'Connected to',
'Class:NetworkInterface/Attribute:connected_if+' => 'Connected interface',
'Class:NetworkInterface/Attribute:connected_name' => 'Connected to',
'Class:NetworkInterface/Attribute:connected_name+' => '',
'Class:NetworkInterface/Attribute:connected_if_device_id' => 'Connected device',
'Class:NetworkInterface/Attribute:connected_if_device_id+' => '',
));
//
// Class: Device
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Device' => 'Device',
'Class:Device+' => '',
));
//
// Class: PC
//
Dict::Add('EN US', 'English', 'English', array(
'Class:PC' => 'PC',
'Class:PC+' => '',
'Class:PC/Attribute:cpu' => 'CPU',
'Class:PC/Attribute:cpu+' => '',
'Class:PC/Attribute:ram' => 'RAM',
'Class:PC/Attribute:ram+' => '',
'Class:PC/Attribute:hdd' => 'Hard disk',
'Class:PC/Attribute:hdd+' => '',
'Class:PC/Attribute:os_family' => 'OS Family',
'Class:PC/Attribute:os_family+' => '',
'Class:PC/Attribute:os_version' => 'OS Version',
'Class:PC/Attribute:os_version+' => '',
));
//
// Class: MobileCI
//
Dict::Add('EN US', 'English', 'English', array(
'Class:MobileCI' => 'Mobile CI',
'Class:MobileCI+' => '',
));
//
// Class: MobilePhone
//
Dict::Add('EN US', 'English', 'English', array(
'Class:MobilePhone' => 'Mobile Phone',
'Class:MobilePhone+' => '',
'Class:MobilePhone/Attribute:number' => 'Phone number',
'Class:MobilePhone/Attribute:number+' => '',
'Class:MobilePhone/Attribute:imei' => 'IMEI',
'Class:MobilePhone/Attribute:imei+' => '',
'Class:MobilePhone/Attribute:hw_pin' => 'Hardware PIN',
'Class:MobilePhone/Attribute:hw_pin+' => '',
));
//
// Class: InfrastructureCI
//
Dict::Add('EN US', 'English', 'English', array(
'Class:InfrastructureCI' => 'Infrastructure CI',
'Class:InfrastructureCI+' => '',
'Class:InfrastructureCI/Attribute:description' => 'Description',
'Class:InfrastructureCI/Attribute:description+' => '',
'Class:InfrastructureCI/Attribute:location_id' => 'Location',
'Class:InfrastructureCI/Attribute:location_id+' => '',
'Class:InfrastructureCI/Attribute:location_name' => 'Location',
'Class:InfrastructureCI/Attribute:location_name+' => '',
'Class:InfrastructureCI/Attribute:location_details' => 'Location details',
'Class:InfrastructureCI/Attribute:location_details+' => '',
'Class:InfrastructureCI/Attribute:management_ip' => 'Management IP',
'Class:InfrastructureCI/Attribute:management_ip+' => '',
'Class:InfrastructureCI/Attribute:default_gateway' => 'Default Gateway',
'Class:InfrastructureCI/Attribute:default_gateway+' => '',
));
//
// Class: NetworkDevice
//
Dict::Add('EN US', 'English', 'English', array(
'Class:NetworkDevice' => 'Network Device',
'Class:NetworkDevice+' => '',
'Class:NetworkDevice/Attribute:type' => 'Type',
'Class:NetworkDevice/Attribute:type+' => '',
'Class:NetworkDevice/Attribute:type/Value:WANaccelerator' => 'WAN Accelerator',
'Class:NetworkDevice/Attribute:type/Value:WANaccelerator+' => '',
'Class:NetworkDevice/Attribute:type/Value:firewall' => 'Firewall',
'Class:NetworkDevice/Attribute:type/Value:firewall+' => '',
'Class:NetworkDevice/Attribute:type/Value:hub' => 'Hub',
'Class:NetworkDevice/Attribute:type/Value:hub+' => '',
'Class:NetworkDevice/Attribute:type/Value:loadbalancer' => 'Load Balancer',
'Class:NetworkDevice/Attribute:type/Value:loadbalancer+' => '',
'Class:NetworkDevice/Attribute:type/Value:router' => 'Router',
'Class:NetworkDevice/Attribute:type/Value:router+' => '',
'Class:NetworkDevice/Attribute:type/Value:switch' => 'Switch',
'Class:NetworkDevice/Attribute:type/Value:switch+' => '',
'Class:NetworkDevice/Attribute:ios_version' => 'IOS Version',
'Class:NetworkDevice/Attribute:ios_version+' => '',
'Class:NetworkDevice/Attribute:ram' => 'RAM',
'Class:NetworkDevice/Attribute:ram+' => '',
'Class:NetworkDevice/Attribute:snmp_read' => 'SNMP Read',
'Class:NetworkDevice/Attribute:snmp_read+' => '',
'Class:NetworkDevice/Attribute:snmp_write' => 'SNMP Write',
'Class:NetworkDevice/Attribute:snmp_write+' => '',
));
//
// Class: Server
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Server' => 'Server',
'Class:Server+' => '',
'Class:Server/Attribute:cpu' => 'CPU',
'Class:Server/Attribute:cpu+' => '',
'Class:Server/Attribute:ram' => 'RAM',
'Class:Server/Attribute:ram+' => '',
'Class:Server/Attribute:hdd' => 'Hard Disk',
'Class:Server/Attribute:hdd+' => '',
'Class:Server/Attribute:os_family' => 'OS Family',
'Class:Server/Attribute:os_family+' => '',
'Class:Server/Attribute:os_version' => 'OS Version',
'Class:Server/Attribute:os_version+' => '',
));
//
// Class: Printer
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Printer' => 'Printer',
'Class:Printer+' => '',
'Class:Printer/Attribute:type' => 'Type',
'Class:Printer/Attribute:type+' => '',
'Class:Printer/Attribute:type/Value:Mopier' => 'Mopier',
'Class:Printer/Attribute:type/Value:Mopier+' => '',
'Class:Printer/Attribute:type/Value:Printer' => 'Printer',
'Class:Printer/Attribute:type/Value:Printer+' => '',
'Class:Printer/Attribute:technology' => 'technology',
'Class:Printer/Attribute:technology+' => '',
'Class:Printer/Attribute:technology/Value:Inkjet' => 'Inkjet',
'Class:Printer/Attribute:technology/Value:Inkjet+' => '',
'Class:Printer/Attribute:technology/Value:Laser' => 'Laser',
'Class:Printer/Attribute:technology/Value:Laser+' => '',
'Class:Printer/Attribute:technology/Value:Tracer' => 'Tracer',
'Class:Printer/Attribute:technology/Value:Tracer+' => '',
));
//
// Class: lnkCIToDoc
//
Dict::Add('EN US', 'English', 'English', array(
'Class:lnkCIToDoc' => 'lnkCItoDoc',
'Class:lnkCIToDoc+' => '',
'Class:lnkCIToDoc/Attribute:ci_id' => 'CI',
'Class:lnkCIToDoc/Attribute:ci_id+' => '',
'Class:lnkCIToDoc/Attribute:ci_name' => 'CI',
'Class:lnkCIToDoc/Attribute:ci_name+' => '',
'Class:lnkCIToDoc/Attribute:ci_status' => 'CI Status',
'Class:lnkCIToDoc/Attribute:ci_status+' => '',
'Class:lnkCIToDoc/Attribute:document_id' => 'Document',
'Class:lnkCIToDoc/Attribute:document_id+' => '',
'Class:lnkCIToDoc/Attribute:document_name' => 'Document',
'Class:lnkCIToDoc/Attribute:document_name+' => '',
'Class:lnkCIToDoc/Attribute:document_type' => 'Document Type',
'Class:lnkCIToDoc/Attribute:document_type+' => '',
'Class:lnkCIToDoc/Attribute:document_status' => 'Document Status',
'Class:lnkCIToDoc/Attribute:document_status+' => '',
));
//
// Class: lnkCIToContact
//
Dict::Add('EN US', 'English', 'English', array(
'Class:lnkCIToContact' => 'lnkCIToContact',
'Class:lnkCIToContact+' => '',
'Class:lnkCIToContact/Attribute:ci_id' => 'CI',
'Class:lnkCIToContact/Attribute:ci_id+' => '',
'Class:lnkCIToContact/Attribute:ci_name' => 'CI',
'Class:lnkCIToContact/Attribute:ci_name+' => '',
'Class:lnkCIToContact/Attribute:ci_status' => 'CI Status',
'Class:lnkCIToContact/Attribute:ci_status+' => '',
'Class:lnkCIToContact/Attribute:contact_id' => 'Contact',
'Class:lnkCIToContact/Attribute:contact_id+' => '',
'Class:lnkCIToContact/Attribute:contact_name' => 'Contact',
'Class:lnkCIToContact/Attribute:contact_name+' => '',
'Class:lnkCIToContact/Attribute:contact_email' => 'Contact Email',
'Class:lnkCIToContact/Attribute:contact_email+' => '',
'Class:lnkCIToContact/Attribute:role' => 'Role',
'Class:lnkCIToContact/Attribute:role+' => 'Role of the contact regarding the CI',
));
//
// Class: lnkSolutionToCI
//
Dict::Add('EN US', 'English', 'English', array(
'Class:lnkSolutionToCI' => 'lnkSolutionToCI',
'Class:lnkSolutionToCI+' => '',
'Class:lnkSolutionToCI/Attribute:solution_id' => 'Solution',
'Class:lnkSolutionToCI/Attribute:solution_id+' => '',
'Class:lnkSolutionToCI/Attribute:solution_name' => 'Solution',
'Class:lnkSolutionToCI/Attribute:solution_name+' => '',
'Class:lnkSolutionToCI/Attribute:ci_id' => 'CI',
'Class:lnkSolutionToCI/Attribute:ci_id+' => '',
'Class:lnkSolutionToCI/Attribute:ci_name' => 'CI',
'Class:lnkSolutionToCI/Attribute:ci_name+' => '',
'Class:lnkSolutionToCI/Attribute:ci_status' => 'CI Status',
'Class:lnkSolutionToCI/Attribute:ci_status+' => '',
'Class:lnkSolutionToCI/Attribute:utility' => 'Utility',
'Class:lnkSolutionToCI/Attribute:utility+' => 'Utility of the CI in the solution',
));
//
// Class: lnkProcessToSolution
//
Dict::Add('EN US', 'English', 'English', array(
'Class:lnkProcessToSolution' => 'lnkProcessToSolution',
'Class:lnkProcessToSolution+' => '',
'Class:lnkProcessToSolution/Attribute:solution_id' => 'Solution',
'Class:lnkProcessToSolution/Attribute:solution_id+' => '',
'Class:lnkProcessToSolution/Attribute:solution_name' => 'Solution',
'Class:lnkProcessToSolution/Attribute:solution_name+' => '',
'Class:lnkProcessToSolution/Attribute:process_id' => 'Process',
'Class:lnkProcessToSolution/Attribute:process_id+' => '',
'Class:lnkProcessToSolution/Attribute:process_name' => 'Process',
'Class:lnkProcessToSolution/Attribute:process_name+' => '',
'Class:lnkProcessToSolution/Attribute:reason' => 'Reason',
'Class:lnkProcessToSolution/Attribute:reason+' => 'More information on the link between the process and the solution',
));
//
// Application Menu
//
Dict::Add('EN US', 'English', 'English', array(
'Menu:Class:Organization/Name' => 'Organizations',
'Menu:Class:Organization/Title' => 'ALl Organizations',
'Menu:Class:Application/Name' => 'Applications',
'Menu:Class:Application/Title' => 'All Applications',
'Menu:Audit' => 'Audit',
'Menu:ConfigManagement' => 'Configuration Management',
'Menu:ConfigManagement/Overview' => 'Overview',
'Menu:Class:Contact/Name' => 'Contacts',
'Menu:Class:Person/Name' => 'Persons',
'Menu:Class:Person/Title' => 'All Persons',
'Menu:Class:Team/Name' => 'Teams',
'Menu:Class:Team/Title' => 'All Teams',
'Menu:Class:FileDoc/Name' => 'Documents',
'Menu:Class:FileDoc/Title' => 'All Documents',
'Menu:Class:Location/Name' => 'Locations',
'Menu:Class:Location/Title' => 'All Locations',
'Menu:ConfigManagement:CI' => 'Configuration Items',
'Menu:Class:BusinessProcess/Name' => 'Business Processes',
'Menu:Class:BusinessProcess/Title' => 'All Business Processes',
'Menu:Class:ApplicationSolution/Name' => 'Application Solutions',
'Menu:Class:ApplicationSolution/Title' => 'All Application Solutions',
'Menu:ConfigManagement:Software' => 'Software',
'Menu:Class:Licence/Name' => 'Licences',
'Menu:Class:Licence/Title' => 'All Licences',
'Menu:Class:Patch/Name' => 'Patches',
'Menu:Class:Patch/Title' => 'ALl Patches',
'Menu:Class:ApplicationInstance/Name' => 'Installed Applications',
'Menu:Class:ApplicationInstance/Title' => 'All Installed Applications',
'Menu:Class:DatabaseInstance/Name' => 'Database Instances',
'Menu:Class:DatabaseInstance/Title' => 'All Database Instances',
'Menu:ConfigManagement:Hardware' => 'Hardware',
'Menu:Class:Subnet/Name' => 'Subnets',
'Menu:Class:Subnet/Title' => 'All Subnets',
'Menu:Class:NetworkDevice/Name' => 'Network Devices',
'Menu:Class:NetworkDevice/Title' => 'All Network Devices',
'Menu:Class:Server/Name' => 'Servers',
'Menu:Class:Server/Title' => 'All Servers',
'Menu:Class:Printer/Name' => 'Printers',
'Menu:Class:Printer/Title' => 'All Printers',
'Menu:Class:MobilePhone/Name' => 'Mobile Phones',
'Menu:Class:MobilePhone/Title' => 'All Mobile Phones',
'Menu:Class:PC/Name' => 'Personal Computers',
'Menu:Class:PC/Title' => 'All Personal Computers',
));
?>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
<?php
SetupWebPage::AddModule(
'itop-config-mgmt/1.0.0',
array(
// Identification
//
'label' => 'Configuration Management (CMDB)',
// Setup
//
'dependencies' => array(
//'itop-config-mgmt/1.0.0',
),
'mandatory' => true,
'visible' => true,
// Components
//
'datamodel' => array(
'model.itop-config-mgmt.php',
),
'dictionary' => array(
'en.dict.itop-config-mgmt.php',
),
'data.struct' => array(
//'data.struct.itop-config-mgmt.xml',
),
'data.sample' => array(
//'data.sample.itop-config-mgmt.xml',
),
// Documentation
//
'doc.manual_setup' => '/doc/xxx/yyy.htm',
'doc.more_information' => '/doc/xxx/yyy.htm',
)
);
?>

View File

@@ -0,0 +1,51 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Localized data
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
?>

View File

@@ -0,0 +1,26 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Persistent classes for a CMDB
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
?>

View File

@@ -0,0 +1,41 @@
<?php
SetupWebPage::AddModule(
'itop-incident-mgmt/1.0.0',
array(
// Identification
//
'label' => 'Incident Management',
// Setup
//
'dependencies' => array(
'itop-config-mgmt/1.0.0',
),
'mandatory' => false,
'visible' => true,
// Components
//
'datamodel' => array(
'model.itop-incident-mgmt.php',
),
'dictionary' => array(
'en.dict.itop-incident-mgmt.php',
),
'data.struct' => array(
//'data.struct.itop-incident-mgmt.xml',
),
'data.sample' => array(
//'data.sample.itop-incident-mgmt.xml',
),
// Documentation
//
'doc.manual_setup' => '/doc/xxx/yyy.htm',
'doc.more_information' => '/doc/xxx/yyy.htm',
)
);
?>

View File

@@ -0,0 +1,51 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Localized data
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
?>

View File

@@ -0,0 +1,26 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Persistent classes for a CMDB
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
?>

View File

@@ -0,0 +1,41 @@
<?php
SetupWebPage::AddModule(
'itop-knownerror-mgmt/1.0.0',
array(
// Identification
//
'label' => 'Known Errors Database',
// Setup
//
'dependencies' => array(
'itop-config-mgmt/1.0.0',
),
'mandatory' => false,
'visible' => true,
// Components
//
'datamodel' => array(
'model.itop-knownerror-mgmt.php',
),
'dictionary' => array(
'en.dict.itop-knownerror-mgmt.php',
),
'data.struct' => array(
//'data.struct.itop-knownerror-mgmt.xml',
),
'data.sample' => array(
//'data.sample.itop-knownerror-mgmt.xml',
),
// Documentation
//
'doc.manual_setup' => '/doc/xxx/yyy.htm',
'doc.more_information' => '/doc/xxx/yyy.htm',
)
);
?>

View File

@@ -0,0 +1,51 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Localized data
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
?>

View File

@@ -0,0 +1,26 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Persistent classes for a CMDB
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
?>

View File

@@ -0,0 +1,41 @@
<?php
SetupWebPage::AddModule(
'itop-problem-mgmt/1.0.0',
array(
// Identification
//
'label' => 'Problem Managemen',
// Setup
//
'dependencies' => array(
'itop-config-mgmt/1.0.0',
),
'mandatory' => false,
'visible' => true,
// Components
//
'datamodel' => array(
'model.itop-problem-mgmt.php',
),
'dictionary' => array(
'en.dict.itop-problem-mgmt.php',
),
'data.struct' => array(
//'data.struct.itop-problem-mgmt.xml',
),
'data.sample' => array(
//'data.sample.itop-problem-mgmt.xml',
),
// Documentation
//
'doc.manual_setup' => '/doc/xxx/yyy.htm',
'doc.more_information' => '/doc/xxx/yyy.htm',
)
);
?>

View File

@@ -0,0 +1,51 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Localized data
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
?>

View File

@@ -0,0 +1,26 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Persistent classes for a CMDB
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
?>

View File

@@ -0,0 +1,41 @@
<?php
SetupWebPage::AddModule(
'itop-request-mgmt/1.0.0',
array(
// Identification
//
'label' => 'User request management (Service Desk)',
// Setup
//
'dependencies' => array(
'itop-config-mgmt/1.0.0',
),
'mandatory' => false,
'visible' => true,
// Components
//
'datamodel' => array(
'model.itop-request-mgmt.php',
),
'dictionary' => array(
'en.dict.itop-request-mgmt.php',
),
'data.struct' => array(
//'data.struct.itop-request-mgmt.xml',
),
'data.sample' => array(
//'data.sample.itop-request-mgmt.xml',
),
// Documentation
//
'doc.manual_setup' => '/doc/xxx/yyy.htm',
'doc.more_information' => '/doc/xxx/yyy.htm',
)
);
?>

View File

@@ -0,0 +1,51 @@
<?php
// Copyright (C) 2010 Combodo SARL
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 3 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Localized data
*
* @author Erwan Taloc <erwan.taloc@combodo.com>
* @author Romain Quetiez <romain.quetiez@combodo.com>
* @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
?>

View File

@@ -0,0 +1,466 @@
<?
abstract class Contract extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "name",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "contract",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values"=>new ValueSetEnum('draft,agreed,running'), "sql"=>"status", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeDate("signed", array("allowed_values"=>null, "sql"=>"signed", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeDate("begin", array("allowed_values"=>null, "sql"=>"begin", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeDate("end", array("allowed_values"=>null, "sql"=>"end", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeInteger("cost", array("allowed_values"=>null, "sql"=>"cost", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeEnum("cost_currency", array("allowed_values"=>new ValueSetEnum('dollars,euros'), "sql"=>"cost_currency", "default_value"=>"euros", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("cost_unit", array("allowed_values"=>null, "sql"=>"cost_unit", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("billing_frequency", array("allowed_values"=>null, "sql"=>"billing_frequency", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("contact_list", array("linked_class"=>"lnkContractToContact", "ext_key_to_me"=>"contract_id", "ext_key_to_remote"=>"contact_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("document_list", array("linked_class"=>"lnkContractToDoc", "ext_key_to_me"=>"contract_id", "ext_key_to_remote"=>"document_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("ci_list", array("linked_class"=>"lnkContractToCI", "ext_key_to_me"=>"contract_id", "ext_key_to_remote"=>"ci_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'contact_list', 'document_list', 'ci_list'));
MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency'));
MetaModel::Init_SetZListItems('list', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency'));
}
}
class ProviderContract extends Contract
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "name",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "providercontract",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeEnum("type", array("allowed_values"=>new ValueSetEnum('a,b,c'), "sql"=>"type", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalKey("provider_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"provider_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("provider_name", array("allowed_values"=>null, "extkey_attcode"=>"provider_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("ola", array("allowed_values"=>null, "sql"=>"ola", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("coverage", array("allowed_values"=>null, "sql"=>"coverage", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("customer_list", array("linked_class"=>"lnkProviderToCustomer", "ext_key_to_me"=>"provider_id", "ext_key_to_remote"=>"customer_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("sla_list", array("linked_class"=>"lnkContractToSLA", "ext_key_to_me"=>"contract_id", "ext_key_to_remote"=>"sla_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'contact_list', 'document_list', 'ci_list', 'type', 'provider_id', 'ola', 'coverage', 'customer_list', 'sla_list'));
MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'provider_id', 'ola', 'coverage'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'provider_id', 'ola', 'coverage'));
MetaModel::Init_SetZListItems('list', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'provider_id', 'ola', 'coverage'));
}
}
class CustomerContract extends Contract
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "name",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "customercontract",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeEnum("type", array("allowed_values"=>new ValueSetEnum('x,y,z'), "sql"=>"type", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalKey("customer_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"customer_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("customer_name", array("allowed_values"=>null, "extkey_attcode"=>"customer_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("provider_list", array("linked_class"=>"lnkProviderToCustomer", "ext_key_to_me"=>"customer_id", "ext_key_to_remote"=>"provider_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'contact_list', 'document_list', 'ci_list', 'type', 'customer_id', 'provider_list'));
MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'customer_id'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'customer_id'));
MetaModel::Init_SetZListItems('list', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'customer_id'));
}
}
class lnkProviderToCustomer extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "provider_id",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "lnkprovidertocustomer",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("provider_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"provider_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("provider_name", array("allowed_values"=>null, "extkey_attcode"=>"provider_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalKey("customer_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"customer_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("customer_name", array("allowed_values"=>null, "extkey_attcode"=>"customer_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('provider_id', 'customer_id'));
MetaModel::Init_SetZListItems('advanced_search', array('provider_id', 'customer_id'));
MetaModel::Init_SetZListItems('standard_search', array('provider_id', 'customer_id'));
MetaModel::Init_SetZListItems('list', array('provider_id', 'customer_id'));
}
}
class lnkContractToSLA extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "contract_id",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "lnkcontracttosla",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("contract_id", array("targetclass"=>"Contract", "jointype"=>null, "allowed_values"=>null, "sql"=>"contract_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("contract_name", array("allowed_values"=>null, "extkey_attcode"=>"contract_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalKey("sla_id", array("targetclass"=>"SLA", "jointype"=>null, "allowed_values"=>null, "sql"=>"sla_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("sla_name", array("allowed_values"=>null, "extkey_attcode"=>"sla_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("coverage", array("allowed_values"=>null, "sql"=>"coverage", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('contract_id', 'sla_id', 'coverage'));
MetaModel::Init_SetZListItems('advanced_search', array('contract_id', 'sla_id', 'coverage'));
MetaModel::Init_SetZListItems('standard_search', array('contract_id', 'sla_id', 'coverage'));
MetaModel::Init_SetZListItems('list', array('contract_id', 'sla_id', 'coverage'));
}
}
class lnkContractToDoc extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "contract_id",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "lnkcontracttodoc",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("contract_id", array("targetclass"=>"Contract", "jointype"=>null, "allowed_values"=>null, "sql"=>"contract_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("contract_name", array("allowed_values"=>null, "extkey_attcode"=>"contract_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalKey("document_id", array("targetclass"=>"Document", "jointype"=>null, "allowed_values"=>null, "sql"=>"document_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("document_name", array("allowed_values"=>null, "extkey_attcode"=>"document_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("document_type", array("allowed_values"=>null, "extkey_attcode"=>"document_id", "target_attcode"=>"type", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("document_status", array("allowed_values"=>null, "extkey_attcode"=>"document_id", "target_attcode"=>"status", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('contract_id', 'document_id', 'document_type', 'document_status'));
MetaModel::Init_SetZListItems('advanced_search', array('contract_id', 'document_id', 'document_type', 'document_status'));
MetaModel::Init_SetZListItems('standard_search', array('contract_id', 'document_id', 'document_type', 'document_status'));
MetaModel::Init_SetZListItems('list', array('contract_id', 'document_id', 'document_type', 'document_status'));
}
}
class lnkContractToContact extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "contract_id",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "lnkcontracttocontact",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("contract_id", array("targetclass"=>"Contract", "jointype"=>null, "allowed_values"=>null, "sql"=>"contract_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("contract_name", array("allowed_values"=>null, "extkey_attcode"=>"contract_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalKey("contact_id", array("targetclass"=>"Contact", "jointype"=>null, "allowed_values"=>null, "sql"=>"contact_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("contact_name", array("allowed_values"=>null, "extkey_attcode"=>"contact_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("contact_email", array("allowed_values"=>null, "extkey_attcode"=>"contact_id", "target_attcode"=>"email", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('contract_id', 'contact_id', 'contact_email'));
MetaModel::Init_SetZListItems('advanced_search', array('contract_id', 'contact_id', 'contact_email'));
MetaModel::Init_SetZListItems('standard_search', array('contract_id', 'contact_id', 'contact_email'));
MetaModel::Init_SetZListItems('list', array('contract_id', 'contact_id', 'contact_email'));
}
}
class lnkContractToCI extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "contract_id",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "lnkcontracttoci",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("contract_id", array("targetclass"=>"Contract", "jointype"=>null, "allowed_values"=>null, "sql"=>"contract_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("contract_name", array("allowed_values"=>null, "extkey_attcode"=>"contract_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalKey("ci_id", array("targetclass"=>"FunctionalCI", "jointype"=>null, "allowed_values"=>null, "sql"=>"ci_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("ci_name", array("allowed_values"=>null, "extkey_attcode"=>"ci_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("ci_status", array("allowed_values"=>null, "extkey_attcode"=>"ci_id", "target_attcode"=>"status", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('contract_id', 'ci_id', 'ci_status'));
MetaModel::Init_SetZListItems('advanced_search', array('contract_id', 'ci_id', 'ci_status'));
MetaModel::Init_SetZListItems('standard_search', array('contract_id', 'ci_id', 'ci_status'));
MetaModel::Init_SetZListItems('list', array('contract_id', 'ci_id', 'ci_status'));
}
}
class ServiceType extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "name",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "servicetype",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('name', 'description'));
MetaModel::Init_SetZListItems('advanced_search', array('name', 'description'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'description'));
MetaModel::Init_SetZListItems('list', array('name', 'description'));
}
}
class Service extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "servicetype_id",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "service",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("servicetype_id", array("targetclass"=>"ServiceType", "jointype"=>null, "allowed_values"=>null, "sql"=>"servicetype_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("servicetype_name", array("allowed_values"=>null, "extkey_attcode"=>"servicetype_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('servicetype_id'));
MetaModel::Init_SetZListItems('advanced_search', array('servicetype_id'));
MetaModel::Init_SetZListItems('standard_search', array('servicetype_id'));
MetaModel::Init_SetZListItems('list', array('servicetype_id'));
}
}
class SLA extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "name",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "sla",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalKey("service_id", array("targetclass"=>"Service", "jointype"=>null, "allowed_values"=>null, "sql"=>"service_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("levels_list", array("linked_class"=>"lnkLevelToSLA", "ext_key_to_me"=>"sla_id", "ext_key_to_remote"=>"servicelevel_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('name', 'service_id', 'levels_list'));
MetaModel::Init_SetZListItems('advanced_search', array('name', 'service_id'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'service_id'));
MetaModel::Init_SetZListItems('list', array('name', 'service_id'));
}
}
class ServiceLevel extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "name",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "servicelevel",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeEnum("metric", array("allowed_values"=>new ValueSetEnum('TTO,TTR'), "sql"=>"metric", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("ticket_type", array("allowed_values"=>null, "sql"=>"ticket_type", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("ticket_priorities", array("allowed_values"=>null, "sql"=>"ticket_priorities", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeInteger("value", array("allowed_values"=>null, "sql"=>"value", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("sla_list", array("linked_class"=>"lnkLevelToSLA", "ext_key_to_me"=>"servicelevel_id", "ext_key_to_remote"=>"sla_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('name', 'metric', 'ticket_type', 'ticket_priorities', 'value', 'sla_list'));
MetaModel::Init_SetZListItems('advanced_search', array('name', 'metric', 'ticket_type', 'ticket_priorities', 'value'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'metric', 'ticket_type', 'ticket_priorities', 'value'));
MetaModel::Init_SetZListItems('list', array('name', 'metric', 'ticket_type', 'ticket_priorities', 'value'));
}
}
class lnkLevelToSLA extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,servicemgmt",
"key_type" => "autoincrement",
"name_attcode" => "sla_id",
"state_attcode" => "",
"reconc_keys" => array("name"),
"db_table" => "lnkleveltosla",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("sla_id", array("targetclass"=>"SLA", "jointype"=>null, "allowed_values"=>null, "sql"=>"sla_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("sla_name", array("allowed_values"=>null, "extkey_attcode"=>"sla_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalKey("servicelevel_id", array("targetclass"=>"ServiceLevel", "jointype"=>null, "allowed_values"=>null, "sql"=>"servicelevel_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("servicelevel_name", array("allowed_values"=>null, "extkey_attcode"=>"servicelevel_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('sla_id', 'servicelevel_id'));
MetaModel::Init_SetZListItems('advanced_search', array('sla_id', 'servicelevel_id'));
MetaModel::Init_SetZListItems('standard_search', array('sla_id', 'servicelevel_id'));
MetaModel::Init_SetZListItems('list', array('sla_id', 'servicelevel_id'));
}
}
//////////////////////////////////////////////////////////////////////////////
// Menu:
// +----------------------------------------+
// | My Module |
// +----------------------------------------+
// + All items
// + ...
// + ...
////////////////////////////////////////////////////////////////////////////////////
// Create the top-level group. fRank = 1, means it will be inserted after the group '0', which is usually 'Welcome'
$oMyMenuGroup = new MenuGroup('Menu:MyModule', 1 /* fRank */);
// Create an entry, based on a custom template, for the Configuration management overview, under the top-level group
$oMyMenuNode = new TemplateMenuNode('Menu:MyModule', '../business/templates/configuration_management_menu.html', $oMyMenuGroup->GetIndex(), 0 /* fRank */);
// By default, one entry per class
new OQLMenuNode('Menu:Class:Contract/Name', 'Menu:Class:Contract/Title', 'SELECT Contract', $oMyMenuNode->GetIndex(), 0 /* fRank */);
new OQLMenuNode('Menu:Class:ProviderContract/Name', 'Menu:Class:ProviderContract/Title', 'SELECT ProviderContract', $oMyMenuNode->GetIndex(), 1 /* fRank */);
new OQLMenuNode('Menu:Class:CustomerContract/Name', 'Menu:Class:CustomerContract/Title', 'SELECT CustomerContract', $oMyMenuNode->GetIndex(), 2 /* fRank */);
new OQLMenuNode('Menu:Class:lnkProviderToCustomer/Name', 'Menu:Class:lnkProviderToCustomer/Title', 'SELECT lnkProviderToCustomer', $oMyMenuNode->GetIndex(), 3 /* fRank */);
new OQLMenuNode('Menu:Class:lnkContractToSLA/Name', 'Menu:Class:lnkContractToSLA/Title', 'SELECT lnkContractToSLA', $oMyMenuNode->GetIndex(), 4 /* fRank */);
new OQLMenuNode('Menu:Class:lnkContractToDoc/Name', 'Menu:Class:lnkContractToDoc/Title', 'SELECT lnkContractToDoc', $oMyMenuNode->GetIndex(), 5 /* fRank */);
new OQLMenuNode('Menu:Class:lnkContractToContact/Name', 'Menu:Class:lnkContractToContact/Title', 'SELECT lnkContractToContact', $oMyMenuNode->GetIndex(), 6 /* fRank */);
new OQLMenuNode('Menu:Class:lnkContractToCI/Name', 'Menu:Class:lnkContractToCI/Title', 'SELECT lnkContractToCI', $oMyMenuNode->GetIndex(), 7 /* fRank */);
new OQLMenuNode('Menu:Class:ServiceType/Name', 'Menu:Class:ServiceType/Title', 'SELECT ServiceType', $oMyMenuNode->GetIndex(), 8 /* fRank */);
new OQLMenuNode('Menu:Class:Service/Name', 'Menu:Class:Service/Title', 'SELECT Service', $oMyMenuNode->GetIndex(), 9 /* fRank */);
new OQLMenuNode('Menu:Class:SLA/Name', 'Menu:Class:SLA/Title', 'SELECT SLA', $oMyMenuNode->GetIndex(), 10 /* fRank */);
new OQLMenuNode('Menu:Class:ServiceLevel/Name', 'Menu:Class:ServiceLevel/Title', 'SELECT ServiceLevel', $oMyMenuNode->GetIndex(), 11 /* fRank */);
new OQLMenuNode('Menu:Class:lnkLevelToSLA/Name', 'Menu:Class:lnkLevelToSLA/Title', 'SELECT lnkLevelToSLA', $oMyMenuNode->GetIndex(), 12 /* fRank */);
$oAdminMenu = new MenuGroup('UI:AdminToolsMenu', 999);
$iAdminGroup = $oAdminMenu->GetIndex();
new OQLMenuNode('Menu:Class:ServiceType/Name', 'Menu:Class:ServiceType/Title', 'SELECT ServiceType', $iAdminGroup, 20 /* fRank */);
$oServiceManagementGroup = new MenuGroup('Menu:ServiceManagement', 2 /* fRank */);
new OQLMenuNode('Menu:Class:ProviderContract/Name', 'Menu:Class:ProviderContract/Title', 'SELECT ProviderContract', $oServiceManagementGroup->GetIndex(), 1 /* fRank */);
new OQLMenuNode('Menu:Class:ProviderContract/Name', 'Menu:Class:ProviderContract/Title', 'SELECT ProviderContract', $oServiceManagementGroup->GetIndex(), 2 /* fRank */);
new OQLMenuNode('Menu:Class:ProviderContract/Name', 'Menu:Class:ProviderContract/Title', 'SELECT Service', $oServiceManagementGroup->GetIndex(), 3 /* fRank */);
new OQLMenuNode('Menu:Class:SLA/Name', 'Menu:Class:SLA/Title', 'SELECT SLA', $oServiceManagementGroup->GetIndex(), 4 /* fRank */);
new OQLMenuNode('Menu:Class:ServiceLevel/Name', 'Menu:Class:ServiceLevel/Title', 'SELECT ServiceLevel', $oServiceManagementGroup->GetIndex(), 5 /* fRank */);
?>

View File

@@ -0,0 +1,41 @@
<?php
SetupWebPage::AddModule(
'itop-service-mgmt/1.0.0',
array(
// Identification
//
'label' => 'Service Management (services, SLAs, contracts)',
// Setup
//
'dependencies' => array(
//'itop-service-mgmt/1.0.0',
),
'mandatory' => false,
'visible' => true,
// Components
//
'datamodel' => array(
'model.itop-service-mgmt.php',
),
'dictionary' => array(
'en.dict.itop-service-mgmt.php',
),
'data.struct' => array(
//'data.struct.itop-service-mgmt.xml',
),
'data.sample' => array(
//'data.sample.itop-service-mgmt.xml',
),
// Documentation
//
'doc.manual_setup' => '/doc/xxx/yyy.htm',
'doc.more_information' => '/doc/xxx/yyy.htm',
)
);
?>

View File

@@ -210,5 +210,38 @@ table.formTable {
fclose($hLogFile);
}
}
static $m_aModuleArgs = array(
'label' => 'One line description shown during the interactive setup',
'dependencies' => 'array of module ids',
'mandatory' => 'boolean',
'visible' => 'boolean',
'datamodel' => 'array of data model files',
'dictionary' => 'array of dictionary files',
'data.struct' => 'array of structural data files',
'data.sample' => 'array of sample data files',
'doc.manual_setup' => 'url',
'doc.more_information' => 'url',
);
static $m_aModules = array();
public static function AddModule($sId, $aArgs)
{
foreach (self::$m_aModuleArgs as $sArgName => $sArgDesc)
{
if (!array_key_exists($sArgName, $aArgs))
{
throw new Exception("Module '$sId': missing argument '$sArgName'");
}
}
self::$m_aModules[$sId] = $aArgs;
}
public static function GetModules()
{
return self::$m_aModules;
}
} // End of class
?>