From 328edd115aa1b12887d0fa473d5ac5cf0b6b0df4 Mon Sep 17 00:00:00 2001 From: Denis Flaven Date: Wed, 7 Jul 2010 11:01:30 +0000 Subject: [PATCH] Preparing for the 1.0 beta release... final adjustments SVN:trunk[591] --- business/templates/welcome_menu.html | 12 +- core/config.class.inc.php | 2 +- dictionaries/dictionary.itop.ui.php | 27 ++- images/welcome.jpg | Bin 37902 -> 23197 bytes .../module.itop-change-mgmt.php | 4 +- modules/itop-change-mgmt-1.0.0/overview.html | 22 ++ modules/itop-config-mgmt-1.0.0/cis_menu.html | 20 ++ .../itop-config-mgmt-1.0.0/contacts_menu.html | 22 ++ .../data.sample.ApplicationInstance.xml | 25 ++ .../data.sample.Contact.xml | 29 +++ .../data.sample.DBServerInstance.xml | 14 ++ .../data.sample.DatabaseInstance.xml | 11 + .../data.sample.FunctionalCI.xml | 97 ++++++++ .../data.sample.Location.xml | 23 ++ .../data.sample.NetworkInterface.xml | 103 ++++++++ ...ation.xml => data.sample.Organization.xml} | 6 +- .../data.sample.Software.xml | 23 ++ .../data.sample.application.xml | 58 ----- .../data.sample.business.xml | 25 -- .../data.sample.contact.xml | 41 ---- .../data.sample.lnkCIToContact.xml | 3 + .../data.sample.lnkProcessToSolution.xml | 8 + .../data.sample.lnkSolutionToCI.xml | 18 ++ .../data.sample.lnkTeamToContact.xml | 13 ++ .../data.sample.location.xml | 13 -- .../data.sample.server.xml | 43 ---- .../data.sample.team.xml | 11 - .../en.dict.itop-config-mgmt.php | 3 + .../model.itop-config-mgmt.php | 14 +- .../module.itop-config-mgmt.php | 22 +- modules/itop-config-mgmt-1.0.0/overview.html | 21 ++ .../module.itop-incident-mgmt.php | 4 +- .../itop-incident-mgmt-1.0.0/overview.html | 20 ++ .../module.itop-knownerror-mgmt.php | 2 +- .../module.itop-problem-mgmt.php | 2 +- .../module.itop-request-mgmt.php | 4 +- modules/itop-request-mgmt-1.0.0/overview.html | 21 ++ .../data.sample.Contract.xml | 29 +++ .../data.sample.SLA.xml | 27 +++ .../data.sample.SLT.xml | 45 ++++ .../data.sample.Service.xml | 3 + .../data.sample.ServiceSubcategory.xml | 13 ++ .../data.sample.contracttosla.xml | 8 - .../data.sample.customercontract.xml | 15 -- .../data.sample.lnkContractToSLA.xml | 13 ++ .../data.sample.lnkSLTToSLA.xml | 51 ++++ .../data.sample.service.xml | 21 -- .../data.sample.servicesubcategory.xml | 63 ----- .../data.sample.sla.xml | 39 ---- .../data.sample.slt.xml | 129 ----------- .../data.sample.slttosla.xml | 219 ------------------ .../en.dict.itop-service-mgmt.php | 2 +- .../module.itop-service-mgmt.php | 16 +- modules/itop-service-mgmt-1.0.0/overview.html | 14 ++ .../itop-tickets-1.0.0/model.itop-tickets.php | 12 +- setup/index.php | 24 +- setup/xmldataloader.class.inc.php | 6 +- 57 files changed, 789 insertions(+), 746 deletions(-) create mode 100644 modules/itop-change-mgmt-1.0.0/overview.html create mode 100644 modules/itop-config-mgmt-1.0.0/cis_menu.html create mode 100644 modules/itop-config-mgmt-1.0.0/contacts_menu.html create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.ApplicationInstance.xml create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.Contact.xml create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.DBServerInstance.xml create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.DatabaseInstance.xml create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.FunctionalCI.xml create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.Location.xml create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.NetworkInterface.xml rename modules/itop-config-mgmt-1.0.0/{data.sample.organization.xml => data.sample.Organization.xml} (75%) create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.Software.xml delete mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.application.xml delete mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.business.xml delete mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.contact.xml create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.lnkCIToContact.xml create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.lnkProcessToSolution.xml create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.lnkSolutionToCI.xml create mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.lnkTeamToContact.xml delete mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.location.xml delete mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.server.xml delete mode 100644 modules/itop-config-mgmt-1.0.0/data.sample.team.xml create mode 100644 modules/itop-config-mgmt-1.0.0/overview.html create mode 100644 modules/itop-incident-mgmt-1.0.0/overview.html create mode 100644 modules/itop-request-mgmt-1.0.0/overview.html create mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.Contract.xml create mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.SLA.xml create mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.SLT.xml create mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.Service.xml create mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.ServiceSubcategory.xml delete mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.contracttosla.xml delete mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.customercontract.xml create mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.lnkContractToSLA.xml create mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.lnkSLTToSLA.xml delete mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.service.xml delete mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.servicesubcategory.xml delete mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.sla.xml delete mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.slt.xml delete mode 100644 modules/itop-service-mgmt-1.0.0/data.sample.slttosla.xml create mode 100644 modules/itop-service-mgmt-1.0.0/overview.html diff --git a/business/templates/welcome_menu.html b/business/templates/welcome_menu.html index f469524d1..5e6b8e506 100644 --- a/business/templates/welcome_menu.html +++ b/business/templates/welcome_menu.html @@ -29,24 +29,24 @@ display: list-item;

- - diff --git a/core/config.class.inc.php b/core/config.class.inc.php index 7c2c98d0a..7f1c01566 100644 --- a/core/config.class.inc.php +++ b/core/config.class.inc.php @@ -14,7 +14,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -define('ITOP_VERSION', '0.9'); +define('ITOP_VERSION', '1.0 beta'); define('ITOP_REVISION', '$WCREV$'); define('ITOP_BUILD_DATE', '$WCNOW$'); diff --git a/dictionaries/dictionary.itop.ui.php b/dictionaries/dictionary.itop.ui.php index a2d7b7875..e6e7d1eb3 100644 --- a/dictionaries/dictionary.itop.ui.php +++ b/dictionaries/dictionary.itop.ui.php @@ -329,8 +329,8 @@ Dict::Add('EN US', 'English', 'English', array(

', - 'UI:WelcomeMenu:MyCalls' => 'My Service Calls', - 'UI:WelcomeMenu:MyIncidents' => 'My Incidents', + 'UI:WelcomeMenu:MyCalls' => 'User Requests assigned to me', + 'UI:WelcomeMenu:MyIncidents' => 'Incidents assigned to me', 'UI:AllOrganizations' => ' All Organizations ', 'UI:YourSearch' => 'Your Search', 'UI:LoggedAsMessage' => 'Logged in as %1$s', @@ -722,6 +722,29 @@ Dict::Add('EN US', 'English', 'English', array( 'UI:ConfigurationManagementMenu:Title' => 'Infrastructure Overview', 'UI-ConfigurationManagementMenu-InfraByType' => 'Infrastructure objects by type', 'UI-ConfigurationManagementMenu-InfraByStatus' => 'Infrastructure objects by status', + +'UI:ConfigMgmtMenuOverview:Title' => 'Dashboard for Configuration Management', +'UI-ConfigMgmtMenuOverview-FunctionalCIbyStatus' => 'Configuration Items by status', +'UI-ConfigMgmtMenuOverview-FunctionalCIByType' => 'Configuration Items by type', + +'UI:RequestMgmtMenuOverview:Title' => 'Dashboard for Request Management', +'UI-RequestManagementOverview-RequestByService' => 'User Requests by service', +'UI-RequestManagementOverview-RequestByPriority' => 'User Requests by priority', +'UI-RequestManagementOverview-RequestUnassigned' => 'User Requests not yet assigned to an agent', + +'UI:IncidentMgmtMenuOverview:Title' => 'Dashboard for Incident Management', +'UI-IncidentManagementOverview-IncidentByService' => 'Incidents by service', +'UI-IncidentManagementOverview-IncidentByPriority' => 'Incident by priority', +'UI-IncidentManagementOverview-IncidentUnassigned' => 'Incidents not yet assigned to an agent', + +'UI:ChangeMgmtMenuOverview:Title' => 'Dashboard for Change Management', +'UI-ChangeManagementOverview-ChangeByType' => 'Changes by type', +'UI-ChangeManagementOverview-ChangeUnassigned' => 'Changes not yet assigned to an agent', +'UI-ChangeManagementOverview-ChangeWithOutage' => 'Outages due to changes', + +'UI:ServiceMgmtMenuOverview:Title' => 'Dashboard for Service Management', +'UI-ServiceManagementOverview-CustomerContractToRenew' => 'Customer contracts to be renewed in 30 days', +'UI-ServiceManagementOverview-ProviderContractToRenew' => 'Provider contracts to be renewed in 30 days', 'UI:ContactsMenu' => 'Contacts', 'UI:ContactsMenu+' => 'Contacts', diff --git a/images/welcome.jpg b/images/welcome.jpg index 5eedefc4bd879690daf9d9bd098a0b8857aca533..c15aa1b92ac7fa94f0907febe2561fba04d8c8f6 100644 GIT binary patch literal 23197 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 Knt_PLw*LV{c{{2A literal 37902 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 Lz-uY9U%meavS%+^ diff --git a/modules/itop-change-mgmt-1.0.0/module.itop-change-mgmt.php b/modules/itop-change-mgmt-1.0.0/module.itop-change-mgmt.php index af618c58f..873d41ae9 100644 --- a/modules/itop-change-mgmt-1.0.0/module.itop-change-mgmt.php +++ b/modules/itop-change-mgmt-1.0.0/module.itop-change-mgmt.php @@ -36,8 +36,8 @@ SetupWebPage::AddModule( // Documentation // - 'doc.manual_setup' => '/doc/xxx/yyy.htm', - 'doc.more_information' => '/doc/xxx/yyy.htm', + 'doc.manual_setup' => '', + 'doc.more_information' => '/doc/itop-documentation.htm#ChangeMgmt', ) ); diff --git a/modules/itop-change-mgmt-1.0.0/overview.html b/modules/itop-change-mgmt-1.0.0/overview.html new file mode 100644 index 000000000..17c8622bf --- /dev/null +++ b/modules/itop-change-mgmt-1.0.0/overview.html @@ -0,0 +1,22 @@ +

UI:ChangeMgmtMenuOverview:Title

+
+ UI:WelcomeMenu:LeftBlock + UI:WelcomeMenu:RightBlock
- +

UI:WelcomeMenu:MyCalls

-SELECT ServiceCall AS i WHERE i.caller_id = :current_contact_id +SELECT UserRequest AS i WHERE i.caller_id = :current_contact_id
- +

UI:WelcomeMenu:MyIncidents

-SELECT IncidentTicket AS i WHERE i.caller_id = :current_contact_id +SELECT Incident AS i WHERE i.caller_id = :current_contact_id
+ + + + + + + + +
+SELECT Change + +

UI-ChangeManagementOverview-ChangeUnassigned

+SELECT Change WHERE status = 'new' +
+

UI-ChangeManagementOverview-ChangeWithOutage

+SELECT Change WHERE outage = 'yes' +
+  +
+ diff --git a/modules/itop-config-mgmt-1.0.0/cis_menu.html b/modules/itop-config-mgmt-1.0.0/cis_menu.html new file mode 100644 index 000000000..22b7d4ad0 --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/cis_menu.html @@ -0,0 +1,20 @@ +

UI:ConfigurationManagementMenu:Title

+ + + + + + + + + +
+SELECT FunctionalCI + +SELECT FunctionalCI +
+

UI-ConfigurationManagementMenu-InfraByType

+SELECT FunctionalCI +
+  +
diff --git a/modules/itop-config-mgmt-1.0.0/contacts_menu.html b/modules/itop-config-mgmt-1.0.0/contacts_menu.html new file mode 100644 index 000000000..267a9c438 --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/contacts_menu.html @@ -0,0 +1,22 @@ +

UI:ContactsMenu:Title

+ + + + + + + + + +
+

UI-ContactsMenu-ContactsByLocation

+SELECT Contact +
+SELECT Contact +
+

UI-ContactsMenu-ContactsByType

+SELECT Contact +
+

UI-ContactsMenu-ContactsByStatus

+SELECT Contact +
diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.ApplicationInstance.xml b/modules/itop-config-mgmt-1.0.0/data.sample.ApplicationInstance.xml new file mode 100644 index 000000000..49cd48105 --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.ApplicationInstance.xml @@ -0,0 +1,25 @@ + + + +Apache web server +production +2 +medium +9 +0 +1 +2.2 + + + +Tomcat +production +2 +medium +9 +0 +2 + + + + \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.Contact.xml b/modules/itop-config-mgmt-1.0.0/data.sample.Contact.xml new file mode 100644 index 000000000..1ca5acd0e --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.Contact.xml @@ -0,0 +1,29 @@ + + + +Dali +active +2 +salvador@combodo.com + +3 +Salvador + + + +Hardware support +active +2 +support@combodo.com + +2 + + +NW support +active +2 +nw@company.com + +3 + + \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.DBServerInstance.xml b/modules/itop-config-mgmt-1.0.0/data.sample.DBServerInstance.xml new file mode 100644 index 000000000..296c65c62 --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.DBServerInstance.xml @@ -0,0 +1,14 @@ + + + +MySql server +implementation +2 +medium +2 +0 +3 +5.0.27 + + + diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.DatabaseInstance.xml b/modules/itop-config-mgmt-1.0.0/data.sample.DatabaseInstance.xml new file mode 100644 index 000000000..cd1558a62 --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.DatabaseInstance.xml @@ -0,0 +1,11 @@ + + + +itop-alpha +implementation +2 +medium +7 +database instance for iTop application + + \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.FunctionalCI.xml b/modules/itop-config-mgmt-1.0.0/data.sample.FunctionalCI.xml new file mode 100644 index 000000000..b2dc6ede8 --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.FunctionalCI.xml @@ -0,0 +1,97 @@ + + + +dbserver1.demo.com +production +2 +medium +HP +DL380 + + + +3 + +10.1.1.10 +255.255.255.0 +2 +16Gb +120Gb +Linux +Debian (Lenny) + + +iTop +production +2 +medium +iTop application for IT Management + + +iTop Demonstration +production +2 +medium + + + +router1 +implementation +2 +medium + + + + + +0 + + + +router + + + + + + +switch01 +production +2 +medium +3Com +2300 + + + +2 + +10.1.1.2 +255.255.255.0 +switch + + + + + + +webserver.demo.com +production +2 +medium +IBM +x3400 Tower Server + + + +3 + +10.1.1.20 +255.255.255.0 +4 +8Gb +240Gb +Unix +AIX 4.0 + + \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.Location.xml b/modules/itop-config-mgmt-1.0.0/data.sample.Location.xml new file mode 100644 index 000000000..5bca5e4be --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.Location.xml @@ -0,0 +1,23 @@ + + + +Grenoble +active +2 +
24, rue Lamartine
+38320 +Eybens +France +0 +
+ +Paris +active +2 +
5, rue du Sentier
+75002 +Paris +Franche +0 +
+
\ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.NetworkInterface.xml b/modules/itop-config-mgmt-1.0.0/data.sample.NetworkInterface.xml new file mode 100644 index 000000000..cf6e42700 --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.NetworkInterface.xml @@ -0,0 +1,103 @@ + + + +A0 +production +2 +medium + + + + +4 +primary +ethernet + + + + +full +3 +downlink + + +A1 +production +2 +medium + + + + +4 +primary +ethernet +10.1.1.2 +255.255.255.0 + + +full +0 +uplink + + +A2 +implementation +2 +medium + + + + +4 +primary +ethernet + + + + +full +14 +downlink + + +eth0 +implementation +2 +medium + + + + +2 +primary +ethernet +10.1.1.10 +255.255.255.0 +00:a2:23:b45:34 + +full +5 +uplink + + +eth0 +production +2 +medium + + + + +9 +primary +ethernet +10.1.1.20 +255.255.255.0 + + +full +13 +uplink + + \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.organization.xml b/modules/itop-config-mgmt-1.0.0/data.sample.Organization.xml similarity index 75% rename from modules/itop-config-mgmt-1.0.0/data.sample.organization.xml rename to modules/itop-config-mgmt-1.0.0/data.sample.Organization.xml index f6192d013..1069b3ee8 100644 --- a/modules/itop-config-mgmt-1.0.0/data.sample.organization.xml +++ b/modules/itop-config-mgmt-1.0.0/data.sample.Organization.xml @@ -1,9 +1,9 @@ -Demo company -DEMO +Demo + active 0 - + \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.Software.xml b/modules/itop-config-mgmt-1.0.0/data.sample.Software.xml new file mode 100644 index 000000000..0dd660cc9 --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.Software.xml @@ -0,0 +1,23 @@ + + + +Apache + + + +MySql + + + +Oracle + + + +Outlook Server + + + +Tomcat + + + \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.application.xml b/modules/itop-config-mgmt-1.0.0/data.sample.application.xml deleted file mode 100644 index 41448ab28..000000000 --- a/modules/itop-config-mgmt-1.0.0/data.sample.application.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - -Apache Web Server - - - -MySQL 5 -MySQL Server version 5 - - -Apache Web Server -production -2 -medium -4 -0 -2 -2.2 -Apache 2.2 with PHP 5.3.4 - - -MySQL 5 prod -production -2 -medium -1 -0 -1 -5.0.27 - - - -itop_beta -implementation -2 -medium -2 -iTop beta test instance - - -iTop demo -production -2 -high -Demo instance of iTop - - -6 -5 -itop beta instance - - -6 -3 -itop beta instance - - diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.business.xml b/modules/itop-config-mgmt-1.0.0/data.sample.business.xml deleted file mode 100644 index 208c1332f..000000000 --- a/modules/itop-config-mgmt-1.0.0/data.sample.business.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - -iTop demonstration -production -2 -medium -Demonstrating iTop on line - - -6 -7 -On demand demo of iTop - - -7 -3 -Operations Manager - - -7 -4 -Support Specialist - - diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.contact.xml b/modules/itop-config-mgmt-1.0.0/data.sample.contact.xml deleted file mode 100644 index e9a9d907d..000000000 --- a/modules/itop-config-mgmt-1.0.0/data.sample.contact.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - -Dumas -active -2 -alexandre.dumas@demo-noemail.net - -1 -Alexandre -20100002 - - -Hugo -active -2 -victor.hugo@demo-noemail.net - -1 -Victor -20100001 - - -Verne -active -2 -jules.verne@demo-noemail.net - -1 -Jules -20100003 - - -2 -4 - - -2 -5 - - \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.lnkCIToContact.xml b/modules/itop-config-mgmt-1.0.0/data.sample.lnkCIToContact.xml new file mode 100644 index 000000000..cf1461167 --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.lnkCIToContact.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.lnkProcessToSolution.xml b/modules/itop-config-mgmt-1.0.0/data.sample.lnkProcessToSolution.xml new file mode 100644 index 000000000..45aac500e --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.lnkProcessToSolution.xml @@ -0,0 +1,8 @@ + + + +12 +15 +core application + + \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.lnkSolutionToCI.xml b/modules/itop-config-mgmt-1.0.0/data.sample.lnkSolutionToCI.xml new file mode 100644 index 000000000..340ab99a9 --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.lnkSolutionToCI.xml @@ -0,0 +1,18 @@ + + + +12 +10 + + + +12 +8 + + + +12 +11 + + + \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.lnkTeamToContact.xml b/modules/itop-config-mgmt-1.0.0/data.sample.lnkTeamToContact.xml new file mode 100644 index 000000000..dce04fdff --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/data.sample.lnkTeamToContact.xml @@ -0,0 +1,13 @@ + + + +2 +1 +support agent + + +4 +3 +support agent + + \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.location.xml b/modules/itop-config-mgmt-1.0.0/data.sample.location.xml deleted file mode 100644 index 0aeae563e..000000000 --- a/modules/itop-config-mgmt-1.0.0/data.sample.location.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - -Headquarters -active -2 -
1, rue de la Paix
-75000 -Paris -France -0 -
-
\ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.server.xml b/modules/itop-config-mgmt-1.0.0/data.sample.server.xml deleted file mode 100644 index 617085252..000000000 --- a/modules/itop-config-mgmt-1.0.0/data.sample.server.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - -dbserver1.demo.net -implementation -2 -medium -Hewlett-Packard -Proliant DL380 G5 -US0123421 -DEMO-2314 -Dedicated database server running MySQL -1 -Bottom of Rack 1 in DC -192.168.10.49 -192.168.10.254 -4 x 3GHz -8 GB -5 x 72 GB RAID 5 -Linux -Debian 5 (Lenny) - - -itop.demo.net -production -2 -high -Hewlet-Packard -Proliant DL380 G5 -US4123423 -DEMO-2321 -Web server for running the iTop demo -1 - -192.168.10.50 -192.168.10.254 -4 x 3GHz -8 GB -5 x 72 GB RAID 5 -Linux -Debian 5 (Lenny) - - diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.team.xml b/modules/itop-config-mgmt-1.0.0/data.sample.team.xml deleted file mode 100644 index 4de908836..000000000 --- a/modules/itop-config-mgmt-1.0.0/data.sample.team.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - -Hardware Support Team -active -2 -pcsupport@demo-noemail.net - -1 - - \ No newline at end of file diff --git a/modules/itop-config-mgmt-1.0.0/en.dict.itop-config-mgmt.php b/modules/itop-config-mgmt-1.0.0/en.dict.itop-config-mgmt.php index 5c3590df3..4b6de2b01 100644 --- a/modules/itop-config-mgmt-1.0.0/en.dict.itop-config-mgmt.php +++ b/modules/itop-config-mgmt-1.0.0/en.dict.itop-config-mgmt.php @@ -32,6 +32,9 @@ Dict::Add('EN US', 'English', 'English', array( 'Relation:impacts/Description' => 'Elements impacted by', 'Relation:impacts/VerbUp' => 'Impact...', 'Relation:impacts/VerbDown' => 'Elements impacted by...', + 'Relation:depends on/Description' => 'Elements this element depends on', + 'Relation:depends on/VerbUp' => 'Depends on...', + 'Relation:depends on/VerbDown' => 'Impacts...', )); diff --git a/modules/itop-config-mgmt-1.0.0/model.itop-config-mgmt.php b/modules/itop-config-mgmt-1.0.0/model.itop-config-mgmt.php index 63617e06d..07ea5082f 100644 --- a/modules/itop-config-mgmt-1.0.0/model.itop-config-mgmt.php +++ b/modules/itop-config-mgmt-1.0.0/model.itop-config-mgmt.php @@ -89,7 +89,7 @@ class Location extends cmdbAbstractObject MetaModel::Init_AddAttribute(new AttributeString("postal_code", array("allowed_values"=>null, "sql"=>"postal_code", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("city", array("allowed_values"=>null, "sql"=>"city", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("country", array("allowed_values"=>null, "sql"=>"country", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeExternalKey("parent_id", array("targetclass"=>"Location", "jointype"=>null, "allowed_values"=>null, "sql"=>"parent_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("parent_id", array("targetclass"=>"Location", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT Location AS L WHERE L.org_id = :this->org_id'), "sql"=>"parent_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array("org_id")))); MetaModel::Init_AddAttribute(new AttributeExternalField("parent_name", array("allowed_values"=>null, "extkey_attcode"=>"parent_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSet("contact_list", array("linked_class"=>"Contact", "ext_key_to_me"=>"location_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); @@ -717,7 +717,7 @@ abstract class SoftwareInstance extends FunctionalCI MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); - MetaModel::Init_AddAttribute(new AttributeExternalKey("device_id", array("targetclass"=>"Device", "jointype"=>null, "allowed_values"=>null, "sql"=>"device_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("device_id", array("targetclass"=>"Device", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT Device WHERE org_id = :this->org_id'), "sql"=>"device_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array("org_id")))); MetaModel::Init_AddAttribute(new AttributeExternalField("device_name", array("allowed_values"=>null, "extkey_attcode"=>"device_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalKey("licence_id", array("targetclass"=>"Licence", "jointype"=>null, "allowed_values"=>null, "sql"=>"licence_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("licence_name", array("allowed_values"=>null, "extkey_attcode"=>"licence_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); @@ -842,7 +842,7 @@ class DatabaseInstance extends FunctionalCI MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); - MetaModel::Init_AddAttribute(new AttributeExternalKey("db_server_instance_id", array("targetclass"=>"DBServerInstance", "jointype"=>null, "allowed_values"=>null, "sql"=>"db_server_instance_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("db_server_instance_id", array("targetclass"=>"DBServerInstance", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT DBServerInstance WHERE org_id = :this->org_id'), "sql"=>"db_server_instance_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array("org_id")))); MetaModel::Init_AddAttribute(new AttributeExternalField("db_server_instance_name", array("allowed_values"=>null, "extkey_attcode"=>"db_server_instance_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("db_server_instance_version", array("allowed_values"=>null, "extkey_attcode"=>"db_server_instance_id", "target_attcode"=>"version", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeWikiText("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); @@ -1022,7 +1022,7 @@ class NetworkInterface extends ConnectableCI MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); - MetaModel::Init_AddAttribute(new AttributeExternalKey("device_id", array("targetclass"=>"Device", "jointype"=>null, "allowed_values"=>null, "sql"=>"device_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("device_id", array("targetclass"=>"Device", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT Device WHERE org_id = :this->org_id'), "sql"=>"device_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array("org_id")))); MetaModel::Init_AddAttribute(new AttributeExternalField("device_name", array("allowed_values"=>null, "extkey_attcode"=>"device_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeEnum("logical_type", array("allowed_values"=>new ValueSetEnum('backup,logical,port,primary,secondary'), "sql"=>"logical_type", "default_value"=>"primary", "is_null_allowed"=>false, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeEnum("physical_type", array("allowed_values"=>new ValueSetEnum('atm,ethernet,framerelay,vlan'), "sql"=>"physical_type", "default_value"=>"ethernet", "is_null_allowed"=>false, "depends_on"=>array()))); @@ -1031,7 +1031,7 @@ class NetworkInterface extends ConnectableCI MetaModel::Init_AddAttribute(new AttributeString("mac_address", array("allowed_values"=>null, "sql"=>"mac_address", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeInteger("speed", array("allowed_values"=>null, "sql"=>"speed", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeEnum("duplex", array("allowed_values"=>new ValueSetEnum('full,half,unknown'), "sql"=>"duplex", "default_value"=>"full", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeExternalKey("connected_if", array("targetclass"=>"NetworkInterface", "jointype"=>null, "allowed_values"=>null, "sql"=>"connected_if", "is_null_allowed"=>true, "on_target_delete"=>DEL_AUTO, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("connected_if", array("targetclass"=>"NetworkInterface", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT NetworkInterface WHERE org_id = :this->org_id'), "sql"=>"connected_if", "is_null_allowed"=>true, "on_target_delete"=>DEL_AUTO, "depends_on"=>array("org_id")))); MetaModel::Init_AddAttribute(new AttributeExternalField("connected_name", array("allowed_values"=>null, "extkey_attcode"=>"connected_if", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("connected_if_device_id", array("allowed_values"=>null, "extkey_attcode"=>"connected_if", "target_attcode"=>"device_id", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("connected_if_device_id_name", array("allowed_values"=>null, "extkey_attcode"=>"connected_if", "target_attcode"=>"device_name", "is_null_allowed"=>true, "depends_on"=>array()))); @@ -1481,10 +1481,10 @@ new OQLMenuNode('DBServer', 'SELECT DBServer', $iTopology, 40 /* fRank */); $oConfigManagementGroup = new MenuGroup('ConfigManagement', 20 /* fRank */); // Create an entry, based on a custom template, for the Configuration management overview, under the top-level group -new TemplateMenuNode('ConfigManagementOverview', '../../modules/itop-config-mgmt-1.0.0/overview.html', $oConfigManagementGroup->GetIndex(), 0 /* fRank */); +new TemplateMenuNode('ConfigManagementOverview', '../modules/itop-config-mgmt-1.0.0/overview.html', $oConfigManagementGroup->GetIndex(), 0 /* fRank */); -$oContactNode = new TemplateMenuNode('Contact', '../../modules/itop-config-mgmt-1.0.0/contacts_menu.html', $oConfigManagementGroup->GetIndex(), 1 /* fRank */); +$oContactNode = new TemplateMenuNode('Contact', '../modules/itop-config-mgmt-1.0.0/contacts_menu.html', $oConfigManagementGroup->GetIndex(), 1 /* fRank */); new OQLMenuNode('Person', 'SELECT Person', $oContactNode->GetIndex(), 1 /* fRank */); new OQLMenuNode('Team', 'SELECT Team', $oContactNode->GetIndex(), 2 /* fRank */); diff --git a/modules/itop-config-mgmt-1.0.0/module.itop-config-mgmt.php b/modules/itop-config-mgmt-1.0.0/module.itop-config-mgmt.php index 75ca31d12..51f90dc91 100644 --- a/modules/itop-config-mgmt-1.0.0/module.itop-config-mgmt.php +++ b/modules/itop-config-mgmt-1.0.0/module.itop-config-mgmt.php @@ -30,19 +30,25 @@ SetupWebPage::AddModule( //'data.struct.itop-config-mgmt.xml', ), 'data.sample' => array( - 'data.sample.organization.xml', - 'data.sample.location.xml', - 'data.sample.team.xml', - 'data.sample.contact.xml', - 'data.sample.server.xml', - 'data.sample.application.xml', - 'data.sample.business.xml', + 'data.sample.Organization.xml', + 'data.sample.Location.xml', + 'data.sample.Software.xml', + 'data.sample.Contact.xml', + 'data.sample.lnkTeamToContact.xml', + 'data.sample.FunctionalCI.xml', + 'data.sample.DBServerInstance.xml', + 'data.sample.ApplicationInstance.xml', + 'data.sample.DatabaseInstance.xml', + //'data.sample.NetworkInterface.xml', + 'data.sample.lnkCIToContact.xml', + 'data.sample.lnkProcessToSolution.xml', + 'data.sample.lnkSolutionToCI.xml', ), // Documentation // 'doc.manual_setup' => '', // No manual installation required - 'doc.more_information' => '/doc/xxx/yyy.htm', + 'doc.more_information' => '/doc/itop-documentation.htm#ConfigMgmt', ) ); diff --git a/modules/itop-config-mgmt-1.0.0/overview.html b/modules/itop-config-mgmt-1.0.0/overview.html new file mode 100644 index 000000000..5de67c0b2 --- /dev/null +++ b/modules/itop-config-mgmt-1.0.0/overview.html @@ -0,0 +1,21 @@ +

UI:ConfigMgmtMenuOverview:Title

+ + + + + + + + +
+SELECT FunctionalCI + +SELECT FunctionalCI +
+

UI-ConfigMgmtMenuOverview-FunctionalCIByType

+SELECT FunctionalCI +
+  +
+ + diff --git a/modules/itop-incident-mgmt-1.0.0/module.itop-incident-mgmt.php b/modules/itop-incident-mgmt-1.0.0/module.itop-incident-mgmt.php index 0aa24e0c9..0b8c78dce 100644 --- a/modules/itop-incident-mgmt-1.0.0/module.itop-incident-mgmt.php +++ b/modules/itop-incident-mgmt-1.0.0/module.itop-incident-mgmt.php @@ -37,8 +37,8 @@ SetupWebPage::AddModule( // Documentation // - 'doc.manual_setup' => '/doc/xxx/yyy.htm', - 'doc.more_information' => '/doc/xxx/yyy.htm', + 'doc.manual_setup' => '', + 'doc.more_information' => '/doc/itop-documentation.htm#IncidentMgmt', ) ); diff --git a/modules/itop-incident-mgmt-1.0.0/overview.html b/modules/itop-incident-mgmt-1.0.0/overview.html new file mode 100644 index 000000000..9d7fcbde7 --- /dev/null +++ b/modules/itop-incident-mgmt-1.0.0/overview.html @@ -0,0 +1,20 @@ +

UI:IncidentMgmtMenuOverview:Title

+ + + + + + + + + +
+SELECT Incident + +SELECT Incident +
+

UI-IncidentManagementOverview-IncidentUnassigned

+SELECT Incident WHERE status = 'new' +
+
+ diff --git a/modules/itop-knownerror-mgmt-1.0.0/module.itop-knownerror-mgmt.php b/modules/itop-knownerror-mgmt-1.0.0/module.itop-knownerror-mgmt.php index 8a38f73a1..adb4a7628 100644 --- a/modules/itop-knownerror-mgmt-1.0.0/module.itop-knownerror-mgmt.php +++ b/modules/itop-knownerror-mgmt-1.0.0/module.itop-knownerror-mgmt.php @@ -37,7 +37,7 @@ SetupWebPage::AddModule( // Documentation // 'doc.manual_setup' => '', // No manual installation instructions - 'doc.more_information' => '/doc/xxx/yyy.htm', + 'doc.more_information' => '/doc/itop-documentation.htm#KnownErrorsDB', ) ); diff --git a/modules/itop-problem-mgmt-1.0.0/module.itop-problem-mgmt.php b/modules/itop-problem-mgmt-1.0.0/module.itop-problem-mgmt.php index ddd72f945..372fb18ba 100644 --- a/modules/itop-problem-mgmt-1.0.0/module.itop-problem-mgmt.php +++ b/modules/itop-problem-mgmt-1.0.0/module.itop-problem-mgmt.php @@ -37,7 +37,7 @@ SetupWebPage::AddModule( // Documentation // 'doc.manual_setup' => '', // No manual installation instructions - 'doc.more_information' => '/doc/xxx/yyy.htm', + 'doc.more_information' => '/doc/itop-documentation.htm#ProblemMgmt', ) ); diff --git a/modules/itop-request-mgmt-1.0.0/module.itop-request-mgmt.php b/modules/itop-request-mgmt-1.0.0/module.itop-request-mgmt.php index c108734c7..15cd7d8e5 100644 --- a/modules/itop-request-mgmt-1.0.0/module.itop-request-mgmt.php +++ b/modules/itop-request-mgmt-1.0.0/module.itop-request-mgmt.php @@ -36,8 +36,8 @@ SetupWebPage::AddModule( // Documentation // - 'doc.manual_setup' => '/doc/xxx/yyy.htm', - 'doc.more_information' => '/doc/xxx/yyy.htm', + 'doc.manual_setup' => '', + 'doc.more_information' => '/doc/itop-documentation.htm#RequestMgmt', ) ); diff --git a/modules/itop-request-mgmt-1.0.0/overview.html b/modules/itop-request-mgmt-1.0.0/overview.html new file mode 100644 index 000000000..32601fdb0 --- /dev/null +++ b/modules/itop-request-mgmt-1.0.0/overview.html @@ -0,0 +1,21 @@ +

UI:RequestMgmtMenuOverview:Title

+ + + + + + + + + +
+SELECT UserRequest + +SELECT UserRequest +
+

UI-RequestManagementOverview-RequestUnassigned

+SELECT UserRequest WHERE status = 'new' +
+  +
+ diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.Contract.xml b/modules/itop-service-mgmt-1.0.0/data.sample.Contract.xml new file mode 100644 index 000000000..061917896 --- /dev/null +++ b/modules/itop-service-mgmt-1.0.0/data.sample.Contract.xml @@ -0,0 +1,29 @@ + + + +Hw Management + +2010-07-01 00:00:00 +2011-07-01 00:00:00 + +euros + + +2 +1 +2 + + +Nw Management + +2010-06-01 00:00:00 +2010-07-14 00:00:00 + +euros + + +2 +1 +4 + + \ No newline at end of file diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.SLA.xml b/modules/itop-service-mgmt-1.0.0/data.sample.SLA.xml new file mode 100644 index 000000000..ea0d62356 --- /dev/null +++ b/modules/itop-service-mgmt-1.0.0/data.sample.SLA.xml @@ -0,0 +1,27 @@ + + + +Bronze - Service - HW Mgmt +1 + + +Bronze - Service - NW Mgmt +2 + + +Gold - Service - HW Mgmt +1 + + +Gold - Service - NW Mgmt +2 + + +Silver - Service - HW Mgmt +1 + + +Silver - Service - NW Mgmt +2 + + \ No newline at end of file diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.SLT.xml b/modules/itop-service-mgmt-1.0.0/data.sample.SLT.xml new file mode 100644 index 000000000..ef060b820 --- /dev/null +++ b/modules/itop-service-mgmt-1.0.0/data.sample.SLT.xml @@ -0,0 +1,45 @@ + + + +TTO -15mn - Prio1 +TTO +1 +15 +minutes + + +TTO -30mn - Prio2 +TTO +2 +30 +minutes + + +TTO -4h - Prio3 +TTO +3 +4 +hours + + +TTR -2h - Prio1 +TTR +1 +2 +hours + + +TTR -4h - Prio2 +TTR +2 +4 +hours + + +TTR -8h- Prio3 +TTR +3 +8 +hours + + \ No newline at end of file diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.Service.xml b/modules/itop-service-mgmt-1.0.0/data.sample.Service.xml new file mode 100644 index 000000000..cf1461167 --- /dev/null +++ b/modules/itop-service-mgmt-1.0.0/data.sample.Service.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.ServiceSubcategory.xml b/modules/itop-service-mgmt-1.0.0/data.sample.ServiceSubcategory.xml new file mode 100644 index 000000000..b2b8e0a25 --- /dev/null +++ b/modules/itop-service-mgmt-1.0.0/data.sample.ServiceSubcategory.xml @@ -0,0 +1,13 @@ + + + +Break + +1 + + +Troubleshooting + +2 + + \ No newline at end of file diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.contracttosla.xml b/modules/itop-service-mgmt-1.0.0/data.sample.contracttosla.xml deleted file mode 100644 index c126d5000..000000000 --- a/modules/itop-service-mgmt-1.0.0/data.sample.contracttosla.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - -2 -6 -8h-18h, business days - - \ No newline at end of file diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.customercontract.xml b/modules/itop-service-mgmt-1.0.0/data.sample.customercontract.xml deleted file mode 100644 index d9fac7b16..000000000 --- a/modules/itop-service-mgmt-1.0.0/data.sample.customercontract.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - -End-User PC Support -Hardware support for end-users' PC -2010-07-01 -2012-07-31 - -euros - - -2 -2 - - diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.lnkContractToSLA.xml b/modules/itop-service-mgmt-1.0.0/data.sample.lnkContractToSLA.xml new file mode 100644 index 000000000..2a6ac4c4c --- /dev/null +++ b/modules/itop-service-mgmt-1.0.0/data.sample.lnkContractToSLA.xml @@ -0,0 +1,13 @@ + + + +2 +3 + + + +3 +6 + + + \ No newline at end of file diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.lnkSLTToSLA.xml b/modules/itop-service-mgmt-1.0.0/data.sample.lnkSLTToSLA.xml new file mode 100644 index 000000000..9c3988fe6 --- /dev/null +++ b/modules/itop-service-mgmt-1.0.0/data.sample.lnkSLTToSLA.xml @@ -0,0 +1,51 @@ + + + +3 +2 + + +3 +5 + + +4 +3 + + +4 +6 + + +5 +1 + + +5 +4 + + +6 +2 + + +6 +5 + + +7 +3 + + +7 +6 + + +8 +1 + + +8 +4 + + \ No newline at end of file diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.service.xml b/modules/itop-service-mgmt-1.0.0/data.sample.service.xml deleted file mode 100644 index 06dc72055..000000000 --- a/modules/itop-service-mgmt-1.0.0/data.sample.service.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - -NW Support -Network infrastructure support -IncidentManagement -production - - -PC Support -Hardware support for end-user PC -RequestManagement -production - - -SW Support -Software support for end-user applications -RequestManagement -production - - diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.servicesubcategory.xml b/modules/itop-service-mgmt-1.0.0/data.sample.servicesubcategory.xml deleted file mode 100644 index c92d5540c..000000000 --- a/modules/itop-service-mgmt-1.0.0/data.sample.servicesubcategory.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - -Configuration -Request application configuration -3 - - -DataRestore -Restore data from backup -2 - - -Equipment down -Network equipment -4 - - -Failure -PC not working -2 - - -Installation -Request PC setup -2 - - -Installation -Request application installation -3 - - -Intrusion -An intrusion has been detected -4 - - -Performance -Slow traffic -4 - - -Renew -Order a replacement PC -2 - - -Training -Request application training -3 - - -Troubleshooting -Request help for troubleshooting -3 - - -Virus -Suspecting a virus infection -2 - - diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.sla.xml b/modules/itop-service-mgmt-1.0.0/data.sample.sla.xml deleted file mode 100644 index 8a72ee6ca..000000000 --- a/modules/itop-service-mgmt-1.0.0/data.sample.sla.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - -NW support - Bronze -4 - - -NW support - Gold -4 - - -NW support - Silver -4 - - -PC support - Bronze -2 - - -PC support - Gold -2 - - -PC support - Silver -2 - - -SW support - Bronze -3 - - -SW support - Gold -3 - - -SW support - Silver -3 - - diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.slt.xml b/modules/itop-service-mgmt-1.0.0/data.sample.slt.xml deleted file mode 100644 index 62b1a69ff..000000000 --- a/modules/itop-service-mgmt-1.0.0/data.sample.slt.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - -Bronze-TTO prio1 -TTO -1 -2 -hours - - -Bronze-TTO prio2 -TTO -2 -4 -hours - - -Bronze-TTO prio3 -TTO -3 -8 -hours - - -Bronze-TTR prio1 -TTR -1 -1 -days - - -Bronze-TTR prio2 -TTR -2 -2 -days - - -Bronze-TTR prio3 -TTR -3 -3 -days - - -Gold-TTO prio1 -TTO -1 -30 -minutes - - -Gold-TTO prio2 -TTO -2 -1 -hours - - -Gold-TTO prio3 -TTO -3 -2 -hours - - -Gold-TTR prio1 -TTR -1 -2 -hours - - -Gold-TTR prio2 -TTR -2 -4 -hours - - -Gold-TTR prio3 -TTR -3 -1 -days - - -Silver-TTO prio1 -TTO -1 -1 -hours - - -Silver-TTO prio2 -TTO -2 -2 -hours - - -Silver-TTO prio3 -TTO -3 -4 -hours - - -Silver-TTR prio1 -TTR -1 -4 -hours - - -Silver-TTR prio2 -TTR -2 -1 -days - - -Silver-TTR prio3 -TTR -3 -2 -days - - \ No newline at end of file diff --git a/modules/itop-service-mgmt-1.0.0/data.sample.slttosla.xml b/modules/itop-service-mgmt-1.0.0/data.sample.slttosla.xml deleted file mode 100644 index 97899a6fc..000000000 --- a/modules/itop-service-mgmt-1.0.0/data.sample.slttosla.xml +++ /dev/null @@ -1,219 +0,0 @@ - - - -1 -4 - - -1 -3 - - -1 -2 - - -1 -1 - - -1 -6 - - -1 -5 - - -2 -12 - - -2 -11 - - -2 -10 - - -2 -9 - - -2 -8 - - -2 -7 - - -3 -15 - - -3 -14 - - -3 -13 - - -3 -18 - - -3 -17 - - -3 -16 - - -4 -1 - - -4 -4 - - -4 -2 - - -4 -5 - - -4 -3 - - -4 -6 - - -5 -9 - - -5 -12 - - -5 -7 - - -5 -10 - - -5 -8 - - -5 -11 - - -6 -18 - - -6 -13 - - -6 -16 - - -6 -14 - - -6 -17 - - -6 -15 - - -7 -2 - - -7 -1 - - -7 -6 - - -7 -5 - - -7 -4 - - -7 -3 - - -8 -12 - - -8 -11 - - -8 -10 - - -8 -9 - - -8 -8 - - -8 -7 - - -9 -13 - - -9 -18 - - -9 -17 - - -9 -16 - - -9 -15 - - -9 -14 - - \ No newline at end of file diff --git a/modules/itop-service-mgmt-1.0.0/en.dict.itop-service-mgmt.php b/modules/itop-service-mgmt-1.0.0/en.dict.itop-service-mgmt.php index 579abfdee..1328dfd18 100644 --- a/modules/itop-service-mgmt-1.0.0/en.dict.itop-service-mgmt.php +++ b/modules/itop-service-mgmt-1.0.0/en.dict.itop-service-mgmt.php @@ -300,7 +300,7 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:SLA/Attribute:service_name' => 'Service', 'Class:SLA/Attribute:service_name+' => '', 'Class:SLA/Attribute:slt_list' => 'SLTs', - 'Class:SLA/Attribute:slt_list+' => 'List of Service Level Targets', + 'Class:SLA/Attribute:slt_list+' => 'List Service Level Thresholds', )); // diff --git a/modules/itop-service-mgmt-1.0.0/module.itop-service-mgmt.php b/modules/itop-service-mgmt-1.0.0/module.itop-service-mgmt.php index 8ab4ce4dc..7c8af94d3 100644 --- a/modules/itop-service-mgmt-1.0.0/module.itop-service-mgmt.php +++ b/modules/itop-service-mgmt-1.0.0/module.itop-service-mgmt.php @@ -30,19 +30,19 @@ SetupWebPage::AddModule( //'data.struct.itop-service-mgmt.xml', ), 'data.sample' => array( - 'data.sample.service.xml', - 'data.sample.servicesubcategory.xml', - 'data.sample.sla.xml', - 'data.sample.slt.xml', - 'data.sample.slttosla.xml', - 'data.sample.customercontract.xml', - 'data.sample.contracttosla.xml', + 'data.sample.Service.xml', + 'data.sample.ServiceSubcategory.xml', + 'data.sample.SLA.xml', + 'data.sample.SLT.xml', + 'data.sample.lnkSLTToSLA.xml', + 'data.sample.Contract.xml', + 'data.sample.lnkContractToSLA.xml', ), // Documentation // 'doc.manual_setup' => '', // No manual installation instructions - 'doc.more_information' => '/doc/xxx/yyy.htm', + 'doc.more_information' => '/doc/itop-documentation.htm#ServiceMgmt', ) ); diff --git a/modules/itop-service-mgmt-1.0.0/overview.html b/modules/itop-service-mgmt-1.0.0/overview.html new file mode 100644 index 000000000..d118f5901 --- /dev/null +++ b/modules/itop-service-mgmt-1.0.0/overview.html @@ -0,0 +1,14 @@ +

UI:ServiceMgmtMenuOverview:Title

+ + + + + +
+

UI-ServiceManagementOverview-CustomerContractToRenew

+SELECT CustomerContract AS c WHERE c.end_date < DATE_ADD(NOW(), INTERVAL 30 DAY) +
+

UI-ServiceManagementOverview-ProviderContractToRenew

+SELECT ProviderContract AS c WHERE c.end_date < DATE_ADD(NOW(), INTERVAL 30 DAY) +
+ diff --git a/modules/itop-tickets-1.0.0/model.itop-tickets.php b/modules/itop-tickets-1.0.0/model.itop-tickets.php index 0b79b9296..af5d29cc5 100644 --- a/modules/itop-tickets-1.0.0/model.itop-tickets.php +++ b/modules/itop-tickets-1.0.0/model.itop-tickets.php @@ -177,21 +177,21 @@ abstract class ResponseTicket extends Ticket MetaModel::Init_InheritAttributes(); MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values"=>new ValueSetEnum('new,assigned,frozen,escalated_tto,escalated_ttr,resolved,closed'), "sql"=>"status", "default_value"=>"new", "is_null_allowed"=>false, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeExternalKey("caller_id", array("targetclass"=>"Person", "jointype"=>null, "allowed_values"=>null, "sql"=>"caller_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("caller_id", array("targetclass"=>"Person", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT Person WHERE org_id = :this->org_id'), "sql"=>"caller_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array("org_id")))); MetaModel::Init_AddAttribute(new AttributeExternalField("caller_email", array("allowed_values"=>null, "extkey_attcode"=>"caller_id", "target_attcode"=>"email", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalKey("org_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"org_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("org_name", array("allowed_values"=>null, "extkey_attcode"=>"org_id", "target_attcode"=>"name", "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_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("service_id", array("targetclass"=>"Service", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT Service AS s JOIN SLA AS sla ON sla.service_id=s.id JOIN lnkContractToSLA AS ln ON ln.sla_id=sla.id JOIN CustomerContract AS cc ON ln.contract_id=cc.id WHERE cc.org_id =:this->org_id'), "sql"=>"service_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array("org_id")))); MetaModel::Init_AddAttribute(new AttributeExternalField("service_name", array("allowed_values"=>null, "extkey_attcode"=>"service_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeExternalKey("servicesubcategory_id", array("targetclass"=>"ServiceSubcategory", "jointype"=>null, "allowed_values"=>null, "sql"=>"servicesubcategory_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("servicesubcategory_id", array("targetclass"=>"ServiceSubcategory", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT ServiceSubcategory WHERE service_id = :this->service_id'), "sql"=>"servicesubcategory_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array("service_id")))); MetaModel::Init_AddAttribute(new AttributeExternalField("servicesubcategory_name", array("allowed_values"=>null, "extkey_attcode"=>"servicesubcategory_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("product", array("allowed_values"=>null, "sql"=>"product", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeEnum("impact", array("allowed_values"=>new ValueSetEnum('1,2,3'), "sql"=>"impact", "default_value"=>"1", "is_null_allowed"=>false, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeEnum("urgency", array("allowed_values"=>new ValueSetEnum('1,2,3'), "sql"=>"urgency", "default_value"=>"1", "is_null_allowed"=>false, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeEnum("priority", array("allowed_values"=>new ValueSetEnum('1,2,3'), "sql"=>"priority", "default_value"=>"1", "is_null_allowed"=>false, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeExternalKey("workgroup_id", array("targetclass"=>"Team", "jointype"=>null, "allowed_values"=>null, "sql"=>"workgroup_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("workgroup_id", array("targetclass"=>"Team", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT Team AS t JOIN CustomerContract AS cc ON cc.support_team_id=t.id JOIN lnkContractToSLA AS ln ON ln.contract_id=cc.id JOIN SLA AS sla ON ln.sla_id=sla.id WHERE sla.service_id = :this->service_id AND cc.org_id = :this->org_id'), "sql"=>"workgroup_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array("org_id","service_id")))); MetaModel::Init_AddAttribute(new AttributeExternalField("workgroup_name", array("allowed_values"=>null, "extkey_attcode"=>"workgroup_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeExternalKey("agent_id", array("targetclass"=>"Person", "jointype"=>null, "allowed_values"=>null, "sql"=>"agent_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("agent_id", array("targetclass"=>"Person", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT Person AS p JOIN lnkTeamToContact AS l ON l.contact_id=p.id JOIN Team AS t ON l.team_id=t.id WHERE t.id = :this->workgroup_id'), "sql"=>"agent_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array("workgroup_id")))); MetaModel::Init_AddAttribute(new AttributeExternalField("agent_name", array("allowed_values"=>null, "extkey_attcode"=>"agent_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("agent_email", array("allowed_values"=>null, "extkey_attcode"=>"agent_id", "target_attcode"=>"email", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalKey("related_problem_id", array("targetclass"=>"Problem", "jointype"=>null, "allowed_values"=>null, "sql"=>"related_problem_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); @@ -208,7 +208,7 @@ abstract class ResponseTicket extends Ticket MetaModel::Init_AddAttribute(new AttributeEnum("user_satisfaction", array("allowed_values"=>new ValueSetEnum('1,2,3,4'), "sql"=>"user_satisfaction", "default_value"=>"1", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeText("user_commment", array("allowed_values"=>null, "sql"=>"user_commment", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('ref', 'title', 'ticket_log', 'start_date', 'escalation_deadline', 'closure_deadline', 'document_list', 'ci_list', 'contact_list', 'status', 'caller_id', 'org_id', 'service_id', 'servicesubcategory_id', 'product', 'impact', 'urgency', 'priority', 'workgroup_id', 'agent_id', 'agent_email', 'related_problem_id', 'related_change_id', 'close_date', 'last_update', 'assignment_date', 'closure_deadline', 'resolution_code', 'solution', 'user_satisfaction', 'user_commment')); + MetaModel::Init_SetZListItems('details', array('ref', 'title', 'ticket_log', 'start_date', 'escalation_deadline', 'closure_deadline', 'document_list', 'ci_list', 'contact_list', 'status', 'caller_id', 'org_id', 'service_id', 'servicesubcategory_id', 'product', 'impact', 'urgency', 'priority', 'workgroup_id', 'agent_id', 'agent_email', 'related_problem_id', 'related_change_id', 'close_date', 'last_update', 'assignment_date', 'resolution_code', 'solution', 'user_satisfaction', 'user_commment')); MetaModel::Init_SetZListItems('advanced_search', array('finalclass', 'ref', 'title', 'ticket_log', 'start_date', 'status', 'caller_id', 'org_id', 'service_id', 'servicesubcategory_id', 'product', 'impact', 'urgency', 'priority', 'workgroup_id', 'agent_id', 'agent_email', 'related_problem_id', 'related_change_id', 'close_date', 'last_update', 'assignment_date', 'escalation_deadline', 'closure_deadline', 'resolution_code', 'solution', 'user_satisfaction', 'user_commment')); MetaModel::Init_SetZListItems('standard_search', array('finalclass', 'ref', 'title', 'ticket_log', 'start_date', 'status', 'caller_id', 'org_id', 'service_id', 'servicesubcategory_id', 'product', 'impact', 'urgency', 'priority', 'workgroup_id', 'agent_id', 'agent_email', 'related_problem_id', 'related_change_id', 'close_date', 'last_update', 'assignment_date', 'escalation_deadline', 'closure_deadline', 'resolution_code', 'solution', 'user_satisfaction', 'user_commment')); MetaModel::Init_SetZListItems('list', array('finalclass', 'ref', 'title', 'ticket_log', 'start_date', 'status', 'caller_id', 'org_id', 'service_id', 'servicesubcategory_id', 'product', 'impact', 'urgency', 'priority', 'workgroup_id', 'agent_id', 'agent_email', 'related_problem_id', 'related_change_id', 'close_date', 'last_update', 'assignment_date', 'escalation_deadline', 'closure_deadline', 'resolution_code', 'solution', 'user_satisfaction', 'user_commment')); diff --git a/setup/index.php b/setup/index.php index eb737f4bd..859e82336 100644 --- a/setup/index.php +++ b/setup/index.php @@ -48,18 +48,25 @@ $oP = new SetupWebPage('iTop configuration wizard'); /** * Get a nicely formatted version string */ -function GetITopVersion() +function GetITopVersion($bShort = true) { $sVersionString = ''; - if (ITOP_REVISION == '$WCREV$') + if ($bShort) { - // This is NOT a version built using the buil system, just display the main version $sVersionString = "iTop Version ".ITOP_VERSION; } else { - // This is a build made from SVN, let display the full information - $sVersionString = "iTop Version ".ITOP_VERSION." revision ".ITOP_REVISION.", built on: ".ITOP_BUILD_DATE; + if (ITOP_REVISION == '$WCREV$') + { + // This is NOT a version built using the buil system, just display the main version + $sVersionString = "iTop Version ".ITOP_VERSION; + } + else + { + // This is a build made from SVN, let display the full information + $sVersionString = "iTop Version ".ITOP_VERSION." revision ".ITOP_REVISION.", built on: ".ITOP_BUILD_DATE; + } } return $sVersionString; } @@ -577,9 +584,10 @@ function WelcomeAndCheckPrerequisites(SetupWebPage $oP, $aParamValues, $iCurrent { $sNextOperation = 'step'.($iCurrentStep+1); $oP->add("

iTop configuration wizard

\n"); - $sVersionString = GetITopVersion(); - $oP->set_title('Welcome to '.$sVersionString); - $oP->log($sVersionString); + $sVersionStringShort = GetITopVersion(true); + $sVersionStringLong = GetITopVersion(false); + $oP->set_title('Welcome to '.$sVersionStringShort); + $oP->log($sVersionStringLong); $oP->add("

Checking prerequisites

\n"); if (CheckPHPVersion($oP)) { diff --git a/setup/xmldataloader.class.inc.php b/setup/xmldataloader.class.inc.php index 4643d41a9..c0f4c9a5d 100644 --- a/setup/xmldataloader.class.inc.php +++ b/setup/xmldataloader.class.inc.php @@ -319,9 +319,9 @@ class XMLDataLoader { $sMsg = "unresolved extkey in $sClass::".$oTargetObj->GetKey()."(".$oTargetObj->GetName().")::$sAttCode=$sTargetClass::$iTempKey"; SetupWebPage::log_warning($sMsg); - echo "
aKeys[".$sTargetClass."]:\n";
-							print_r($this->m_aKeys[$sTargetClass]);
-							echo "
\n"; + //echo "
aKeys[".$sTargetClass."]:\n";
+							//print_r($this->m_aKeys[$sTargetClass]);
+							//echo "
\n"; } else {