Split of the datamodel into 5 modules:

- Core (as before, mandatory)
- Storage
- End-User devices
- Datacenter devices
- Virtualization

SVN:trunk[2352]
This commit is contained in:
Denis Flaven
2012-10-25 10:22:41 +00:00
parent 467c4c6258
commit 66e3554308
54 changed files with 4667 additions and 4515 deletions

View File

@@ -1,144 +1,172 @@
<?xml version="1.0" encoding="UTF-8"?>
<installation>
<steps type="array">
<step>
<title>Configuration Management options</title>
<description><![CDATA[<h2>The options below allow you to configure the type of elements that are to be managed inside iTop.</h2>]]></description>
<banner>/images/modules.png</banner>
<options type="array">
<choice>
<title>Configuration Management Base</title>
<description>This module is always installed, it contains all the base objects that are mandatory in the iTop CMDB: Organizations, Locations, Teams, Persons, etc.</description>
<modules type="array">
<module>itop-config-mgmt</module>
<module>itop-attachments</module>
<module>itop-profiles-itil</module>
<module>itop-welcome-itil</module>
</modules>
<mandatory>true</mandatory>
</choice>
</options>
</step>
<step>
<title>Service Management options</title>
<description><![CDATA[<h2>Select the choice that best describes the relationships between the services and the IT infrastructure in your IT environment.</h2>]]></description>
<banner>./wizard_icons/service.png</banner>
<alternatives type="array">
<choice>
<title>Service Management for Enterprises</title>
<description>Select this option if the IT delivers services based on a shared infrastructure. For example if different organizations within your company subscribe to services (like Mail and Print services) delivered by a single shared backend.</description>
<modules type="array">
<module>itop-service-mgmt</module>
</modules>
<default>true</default>
</choice>
<choice>
<title>Service Management for Service Providers</title>
<description>Select this option if the IT manages the infrastructure of independent customers. This is the most flexible model, since the services can be delivered with a mix of shared and customer specific infrastructure devices.</description>
<modules type="array">
<module>itop-service-mgmt-provider</module>
</modules>
</choice>
</alternatives>
</step>
<step>
<title>Tickets Management options</title>
<description>Select the type of tickets you want to use in order to respond to user requests and incidents.</description>
<banner></banner>
<alternatives type="array">
<choice>
<title>Simple Ticket Management</title>
<description>Select this option to use one single type of tickets for all kind of requests.</description>
<modules type="array">
<module>itop-tickets</module>
<module>itop-request-mgmt</module>
</modules>
<default>true</default>
</choice>
<choice>
<title>ITIL Compliant Tickets Management</title>
<description>Select this option to have different types of ticket for managing user requests and incidents. Each type of ticket has a specific life cycle and specific fields</description>
<modules type="array">
<module>itop-tickets</module>
</modules>
<sub_options>
<options type="array">
<choice>
<title>User Request Management</title>
<description>Manage User Request tickets in iTop</description>
<modules type="array">
<module>itop-request-mgmt-itil</module>
</modules>
</choice>
<choice>
<title>Incident Management</title>
<description>Manage Incidents tickets in iTop</description>
<modules type="array">
<module>itop-incident-mgmt-itil</module>
</modules>
</choice>
</options>
</sub_options>
</choice>
<choice>
<title>None</title>
<description>Don't manage incidents in iTop</description>
<modules type="array">
</modules>
</choice>
</alternatives>
</step>
<step>
<title>Change Management options</title>
<description><![CDATA[<h2>Select the type of tickets you want to use in order to manage changes to the IT infrastructure.</h2>]]></description>
<banner>./itop-change-mgmt-1.0.0/images/change.png</banner>
<alternatives type="array">
<choice>
<title>Simple Change Management</title>
<description>Select this option to use one type of ticket for all kind of changes.</description>
<modules type="array">
<module>itop-change-mgmt</module>
</modules>
<default>true</default>
</choice>
<choice>
<title>ITIL Change Management</title>
<description>Select this option to use Normal/Routine/Emergency change tickets.</description>
<modules type="array">
<module>itop-change-mgmt-itil</module>
</modules>
<default>false</default>
</choice>
<choice>
<title>None</title>
<description>Don't manage changes in iTop</description>
<modules type="array">
</modules>
</choice>
</alternatives>
</step>
<step>
<title>Additional ITIL tickets</title>
<description><![CDATA[<h2>Pick from the list below the additional ITIl processes that are to be implemented in iTop.</h2>]]></description>
<banner>./itop-change-mgmt-1.0.0/images/change.png</banner>
<options type="array">
<choice>
<title>Known Errors Management</title>
<description>Select this option to track "Known Errors" in iTop.</description>
<modules type="array">
<module>itop-knownerror-mgmt</module>
</modules>
<default>false</default>
</choice>
<choice>
<title>Problem Management</title>
<description>Select this option track "Problems" in iTop.</description>
<modules type="array">
<module>itop-problem-mgmt</module>
</modules>
<default>false</default>
</choice>
</options>
</step>
</steps>
<steps type="array">
<step>
<title>Configuration Management options</title>
<description><![CDATA[<h2>The options below allow you to configure the type of elements that are to be managed inside iTop.</h2>]]></description>
<banner>/images/modules.png</banner>
<options type="array">
<choice>
<title>Configuration Management Base</title>
<description>This module is always installed, it contains all the base objects that are mandatory in the iTop CMDB: Organizations, Locations, Teams, Persons, etc.</description>
<modules type="array">
<module>itop-config-mgmt</module>
<module>itop-attachments</module>
<module>itop-profiles-itil</module>
<module>itop-welcome-itil</module>
</modules>
<mandatory>true</mandatory>
</choice>
<choice>
<title>Data Center Devices</title>
<description>Manage Data Center devices such as racks, enclosures, etc.</description>
<modules type="array">
<module>itop-datacenter-mgmt</module>
</modules>
</choice>
<choice>
<title>End-User Devices</title>
<description>Manage devices related to end-users: PCs, Phones, Tablets, etc.</description>
<modules type="array">
<module>itop-endusers-devices</module>
</modules>
</choice>
<choice>
<title>Storage Devices</title>
<description>Manage storage devices such as NAS, SAN Switches, Tape Libraries and Tapes, Logical volumes, etc.</description>
<modules type="array">
<module>itop-storage-mgmt</module>
</modules>
</choice>
<choice>
<title>Virtualization</title>
<description>Manage Hypervisors, Virtual Machines and Farms.</description>
<modules type="array">
<module>itop-virtualization-mgmt</module>
</modules>
</choice>
</options>
</step>
<step>
<title>Service Management options</title>
<description><![CDATA[<h2>Select the choice that best describes the relationships between the services and the IT infrastructure in your IT environment.</h2>]]></description>
<banner>./wizard_icons/service.png</banner>
<alternatives type="array">
<choice>
<title>Service Management for Enterprises</title>
<description>Select this option if the IT delivers services based on a shared infrastructure. For example if different organizations within your company subscribe to services (like Mail and Print services) delivered by a single shared backend.</description>
<modules type="array">
<module>itop-service-mgmt</module>
</modules>
<default>true</default>
</choice>
<choice>
<title>Service Management for Service Providers</title>
<description>Select this option if the IT manages the infrastructure of independent customers. This is the most flexible model, since the services can be delivered with a mix of shared and customer specific infrastructure devices.</description>
<modules type="array">
<module>itop-service-mgmt-provider</module>
</modules>
</choice>
</alternatives>
</step>
<step>
<title>Tickets Management options</title>
<description>Select the type of tickets you want to use in order to respond to user requests and incidents.</description>
<banner></banner>
<alternatives type="array">
<choice>
<title>Simple Ticket Management</title>
<description>Select this option to use one single type of tickets for all kind of requests.</description>
<modules type="array">
<module>itop-tickets</module>
<module>itop-request-mgmt</module>
</modules>
<default>true</default>
</choice>
<choice>
<title>ITIL Compliant Tickets Management</title>
<description>Select this option to have different types of ticket for managing user requests and incidents. Each type of ticket has a specific life cycle and specific fields</description>
<modules type="array">
<module>itop-tickets</module>
</modules>
<sub_options>
<options type="array">
<choice>
<title>User Request Management</title>
<description>Manage User Request tickets in iTop</description>
<modules type="array">
<module>itop-request-mgmt-itil</module>
</modules>
</choice>
<choice>
<title>Incident Management</title>
<description>Manage Incidents tickets in iTop</description>
<modules type="array">
<module>itop-incident-mgmt-itil</module>
</modules>
</choice>
</options>
</sub_options>
</choice>
<choice>
<title>None</title>
<description>Don't manage incidents in iTop</description>
<modules type="array">
</modules>
</choice>
</alternatives>
</step>
<step>
<title>Change Management options</title>
<description><![CDATA[<h2>Select the type of tickets you want to use in order to manage changes to the IT infrastructure.</h2>]]></description>
<banner>./itop-change-mgmt-1.0.0/images/change.png</banner>
<alternatives type="array">
<choice>
<title>Simple Change Management</title>
<description>Select this option to use one type of ticket for all kind of changes.</description>
<modules type="array">
<module>itop-change-mgmt</module>
</modules>
<default>true</default>
</choice>
<choice>
<title>ITIL Change Management</title>
<description>Select this option to use Normal/Routine/Emergency change tickets.</description>
<modules type="array">
<module>itop-change-mgmt-itil</module>
</modules>
<default>false</default>
</choice>
<choice>
<title>None</title>
<description>Don't manage changes in iTop</description>
<modules type="array">
</modules>
</choice>
</alternatives>
</step>
<step>
<title>Additional ITIL tickets</title>
<description><![CDATA[<h2>Pick from the list below the additional ITIl processes that are to be implemented in iTop.</h2>]]></description>
<banner>./itop-change-mgmt-1.0.0/images/change.png</banner>
<options type="array">
<choice>
<title>Known Errors Management</title>
<description>Select this option to track "Known Errors" in iTop.</description>
<modules type="array">
<module>itop-knownerror-mgmt</module>
</modules>
<default>false</default>
</choice>
<choice>
<title>Problem Management</title>
<description>Select this option track "Problems" in iTop.</description>
<modules type="array">
<module>itop-problem-mgmt</module>
</modules>
<default>false</default>
</choice>
</options>
</step>
</steps>
</installation>

View File

@@ -1,194 +0,0 @@
<?xml version="1.0"?>
<dashboard xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout>DashboardLayoutOneCol</layout>
<title></title>
<cells>
<cell id="0">
<rank>0</rank>
<dashlets>
<dashlet id="1" xsi:type="DashletHeaderStatic">
<rank>0</rank>
<title>Menu:ConfigManagement:AllDevices</title>
<icon>itop-config-mgmt/images/server.png</icon>
<subtitle>Menu_ConfigManagement_AllDevices</subtitle>
</dashlet>
<dashlet id="2" xsi:type="DashletBadge">
<rank>1</rank>
<class>Rack</class>
</dashlet>
<dashlet id="3" xsi:type="DashletBadge">
<rank>2</rank>
<class>Enclosure</class>
</dashlet>
<dashlet id="4" xsi:type="DashletBadge">
<rank>3</rank>
<class>Server</class>
</dashlet>
<dashlet id="5" xsi:type="DashletBadge">
<rank>4</rank>
<class>NetworkDevice</class>
</dashlet>
<dashlet id="6" xsi:type="DashletBadge">
<rank>5</rank>
<class>StorageSystem</class>
</dashlet>
<dashlet id="7" xsi:type="DashletBadge">
<rank>6</rank>
<class>SANSwitch</class>
</dashlet>
<dashlet id="8" xsi:type="DashletBadge">
<rank>7</rank>
<class>NAS</class>
</dashlet>
<dashlet id="9" xsi:type="DashletBadge">
<rank>8</rank>
<class>TapeLibrary</class>
</dashlet>
<dashlet id="10" xsi:type="DashletBadge">
<rank>9</rank>
<class>ElectricalConnection</class>
</dashlet>
</dashlets>
</cell>
<cell id="1">
<rank>1</rank>
<dashlets>
<dashlet id="11" xsi:type="DashletHeaderStatic">
<rank>0</rank>
<title>Menu:ConfigManagement:virtualization</title>
<icon>itop-config-mgmt/images/application.png</icon>
</dashlet>
<dashlet id="12" xsi:type="DashletBadge">
<rank>1</rank>
<class>Farm</class>
</dashlet>
<dashlet id="13" xsi:type="DashletBadge">
<rank>2</rank>
<class>Hypervisor</class>
</dashlet>
<dashlet id="14" xsi:type="DashletBadge">
<rank>3</rank>
<class>VirtualMachine</class>
</dashlet>
</dashlets>
</cell>
<cell id="2">
<rank>2</rank>
<dashlets>
<dashlet id="15" xsi:type="DashletHeaderStatic">
<rank>0</rank>
<title>Menu:ConfigManagement:EndUsers</title>
<icon>itop-config-mgmt/images/team.png</icon>
</dashlet>
<dashlet id="16" xsi:type="DashletBadge">
<rank>1</rank>
<class>PC</class>
</dashlet>
<dashlet id="17" xsi:type="DashletBadge">
<rank>2</rank>
<class>Phone</class>
</dashlet>
<dashlet id="18" xsi:type="DashletBadge">
<rank>3</rank>
<class>IpPhone</class>
</dashlet>
<dashlet id="19" xsi:type="DashletBadge">
<rank>4</rank>
<class>MobilePhone</class>
</dashlet>
<dashlet id="20" xsi:type="DashletBadge">
<rank>5</rank>
<class>Tablet</class>
</dashlet>
<dashlet id="21" xsi:type="DashletBadge">
<rank>6</rank>
<class>Printer</class>
</dashlet>
<dashlet id="22" xsi:type="DashletBadge">
<rank>7</rank>
<class>Peripheral</class>
</dashlet>
</dashlets>
</cell>
<cell id="3">
<rank>3</rank>
<dashlets>
<dashlet id="23" xsi:type="DashletHeaderStatic">
<rank>0</rank>
<title>Menu:ConfigManagement:SWAndApps</title>
<icon>itop-config-mgmt/images/application.png</icon>
</dashlet>
<dashlet id="24" xsi:type="DashletBadge">
<rank>1</rank>
<class>Middleware</class>
</dashlet>
<dashlet id="25" xsi:type="DashletBadge">
<rank>2</rank>
<class>DBserver</class>
</dashlet>
<dashlet id="26" xsi:type="DashletBadge">
<rank>3</rank>
<class>Webserver</class>
</dashlet>
<dashlet id="27" xsi:type="DashletBadge">
<rank>4</rank>
<class>OtherSoftware</class>
</dashlet>
<dashlet id="29" xsi:type="DashletBadge">
<rank>5</rank>
<class>MiddlewareInstance</class>
</dashlet>
<dashlet id="30" xsi:type="DashletBadge">
<rank>6</rank>
<class>DatabaseSchema</class>
</dashlet>
<dashlet id="31" xsi:type="DashletBadge">
<rank>7</rank>
<class>WebApplication</class>
</dashlet>
<dashlet id="32" xsi:type="DashletBadge">
<rank>8</rank>
<class>Patch</class>
</dashlet>
<dashlet id="33" xsi:type="DashletBadge">
<rank>9</rank>
<class>Licence</class>
</dashlet>
</dashlets>
</cell>
<cell id="4">
<rank>4</rank>
<dashlets>
<dashlet id="34" xsi:type="DashletHeaderStatic">
<rank>0</rank>
<title>Menu:ConfigManagement:Misc</title>
<icon>itop-config-mgmt/images/subnet.png</icon>
</dashlet>
<dashlet id="35" xsi:type="DashletBadge">
<rank>1</rank>
<class>NetworkInterface</class>
</dashlet>
<dashlet id="36" xsi:type="DashletBadge">
<rank>2</rank>
<class>Subnet</class>
</dashlet>
<dashlet id="37" xsi:type="DashletBadge">
<rank>3</rank>
<class>LogicalVolume</class>
</dashlet>
<dashlet id="38" xsi:type="DashletBadge">
<rank>4</rank>
<class>BusinessProcess</class>
</dashlet>
<dashlet id="39" xsi:type="DashletBadge">
<rank>5</rank>
<class>ApplicationSolution</class>
</dashlet>
<dashlet id="40" xsi:type="DashletBadge">
<rank>6</rank>
<class>Group</class>
</dashlet>
</dashlets>
</cell>
</cells>
</dashboard>

View File

@@ -1,30 +0,0 @@
<?xml version="1.0"?>
<dashboard xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout>DashboardLayoutOneCol</layout>
<title></title>
<cells>
<cell id="0">
<rank>0</rank>
<dashlets>
<dashlet id="1" xsi:type="DashletHeaderDynamic">
<rank>1</rank>
<title>Menu:Contact</title>
<icon>itop-config-mgmt/images/team.png</icon>
<subtitle>Menu:Contact:Count</subtitle>
<query>SELECT Contact</query>
<group_by>status</group_by>
<values>active,inactive</values>
</dashlet>
<dashlet id="2" xsi:type="DashletBadge">
<rank>2</rank>
<class>Team</class>
</dashlet>
<dashlet id="3" xsi:type="DashletBadge">
<rank>3</rank>
<class>Person</class>
</dashlet>
</dashlets>
</cell>
</cells>
</dashboard>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 955 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -37,12 +37,8 @@ SetupWebPage::AddModule(
'data.sample.persons.xml',
'data.sample.teams.xml',
'data.sample.contactteam.xml',
'data.sample.racks.xml',
'data.sample.servers.xml',
'data.sample.nw-devices.xml',
'data.sample.farm.xml',
'data.sample.hypervisor.xml',
'data.sample.vm.xml',
'data.sample.software.xml',
'data.sample.dbserver.xml',
'data.sample.dbschema.xml',

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -47,6 +47,7 @@ SetupWebPage::AddModule(
),
'data.sample' => array(
// add your sample data XML files here,
'data.sample.racks.xml',
),
// Documentation

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,29 @@
<?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
*/
Dict::Add('EN US', 'English', 'English', array(
// Dictionary entries go here
));
?>

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -0,0 +1,63 @@
<?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
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-endusers-devices/2.0.0',
array(
// Identification
//
'label' => 'End User Devices management',
'category' => 'business',
// Setup
//
'dependencies' => array(
'itop-config-mgmt/2.0.0'
),
'mandatory' => false,
'visible' => true,
// Components
//
'datamodel' => array(
'model.itop-endusers-devices.php'
),
'webservice' => array(
),
'data.struct' => array(
// add your 'structure' definition XML files here,
),
'data.sample' => array(
// add your sample data XML files here,
),
// Documentation
//
'doc.manual_setup' => '', // hyperlink to manual setup documentation, if any
'doc.more_information' => '', // hyperlink to more information, if any
// Default settings
//
'settings' => array(
// Module specific settings go here, if any
),
)
);
?>

View File

@@ -2222,6 +2222,32 @@
</class>
</classes>
<menus>
<menu id="WelcomeMenuPage" xsi:type="DashboardMenuNode" _delta="must_exist">
<definition>
<cells>
<cell id="1" _delta="define">
<rank>1</rank>
<dashlets>
<dashlet id="8" xsi:type="DashletHeaderDynamic">
<rank>0</rank>
<title>Menu:RequestManagement</title>
<icon>itop-welcome-itil/images/user-request-deadline.png</icon>
<subtitle>Open Requests</subtitle>
<query>SELECT UserRequest WHERE status != "closed"</query>
<group_by>status</group_by>
<values>new,assigned,escalated_tto,escalated_ttr,resolved</values>
</dashlet>
<dashlet id="9" xsi:type="DashletObjectList">
<rank>1</rank>
<title>UI:WelcomeMenu:MyCalls</title>
<query>SELECT UserRequest AS i WHERE i.agent_id = :current_contact_id AND status NOT IN ("closed", "resolved")</query>
<menu>true</menu>
</dashlet>
</dashlets>
</cell>
</cells>
</definition>
</menu>
<menu id="RequestManagement" xsi:type="MenuGroup" _delta="define">
<rank>30</rank>
<enable_class>Contact</enable_class>

View File

@@ -2204,6 +2204,32 @@
</class>
</classes>
<menus>
<menu id="WelcomeMenuPage" xsi:type="DashboardMenuNode" _delta="must_exist">
<definition>
<cells>
<cell id="1" _delta="define">
<rank>1</rank>
<dashlets>
<dashlet id="8" xsi:type="DashletHeaderDynamic">
<rank>0</rank>
<title>Menu:RequestManagement</title>
<icon>itop-welcome-itil/images/user-request-deadline.png</icon>
<subtitle>Open Requests</subtitle>
<query>SELECT UserRequest WHERE status != "closed"</query>
<group_by>status</group_by>
<values>new,assigned,escalated_tto,escalated_ttr,resolved</values>
</dashlet>
<dashlet id="9" xsi:type="DashletObjectList">
<rank>1</rank>
<title>UI:WelcomeMenu:MyCalls</title>
<query>SELECT UserRequest AS i WHERE i.agent_id = :current_contact_id AND status NOT IN ("closed", "resolved")</query>
<menu>true</menu>
</dashlet>
</dashlets>
</cell>
</cells>
</definition>
</menu>
<menu id="RequestManagement" xsi:type="MenuGroup" _delta="define">
<rank>30</rank>
<enable_class>Contact</enable_class>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,29 @@
<?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
*/
Dict::Add('EN US', 'English', 'English', array(
// Dictionary entries go here
));
?>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 827 B

After

Width:  |  Height:  |  Size: 827 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -0,0 +1,63 @@
<?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
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-storage-mgmt/2.0.0',
array(
// Identification
//
'label' => 'Advanced Storage Management',
'category' => 'business',
// Setup
//
'dependencies' => array(
'itop-config-mgmt/2.0.0'
),
'mandatory' => false,
'visible' => true,
// Components
//
'datamodel' => array(
'model.itop-storage-mgmt.php'
),
'webservice' => array(
),
'data.struct' => array(
// add your 'structure' definition XML files here,
),
'data.sample' => array(
// add your sample data XML files here,
),
// Documentation
//
'doc.manual_setup' => '', // hyperlink to manual setup documentation, if any
'doc.more_information' => '', // hyperlink to more information, if any
// Default settings
//
'settings' => array(
// Module specific settings go here, if any
),
)
);
?>

View File

@@ -0,0 +1,835 @@
<?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
<classes>
<class id="VirtualDevice" _delta="define">
<parent>FunctionalCI</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<key_type>autoincrement</key_type>
<db_table>virtualdevice</db_table>
<db_key_field>id</db_key_field>
<db_final_class_field/>
<naming>
<format>%1$s</format>
<attributes>
<attribute id="name"/>
</attributes>
</naming>
<display_template/>
<icon>images/application.png</icon>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="org_id"/>
<attribute id="organization_name"/>
</attributes>
</reconciliation>
</properties>
<fields>
<field id="status" xsi:type="AttributeEnum">
<values>
<value>production</value>
<value>implementation</value>
<value>stock</value>
<value>obsolete</value>
</values>
<sql>status</sql>
<default_value>production</default_value>
<is_null_allowed>true</is_null_allowed>
<display_style>list</display_style>
</field>
<field id="logicalvolumes_list" xsi:type="AttributeLinkedSetIndirect">
<linked_class>lnkVirtualDeviceToVolume</linked_class>
<ext_key_to_me>virtualdevice_id</ext_key_to_me>
<count_min>0</count_min>
<count_max>0</count_max>
<ext_key_to_remote>volume_id</ext_key_to_remote>
<duplicates/>
</field>
</fields>
<methods/>
<presentation>
<details>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="status">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
<item id="move2production">
<rank>50</rank>
</item>
<item id="description">
<rank>60</rank>
</item>
<item id="contacts_list">
<rank>70</rank>
</item>
<item id="documents_list">
<rank>80</rank>
</item>
<item id="applicationsolution_list">
<rank>90</rank>
</item>
</items>
</details>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="status">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
<item id="move2production">
<rank>50</rank>
</item>
</items>
</search>
<list>
<items>
<item id="finalclass">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="status">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
<item id="move2production">
<rank>50</rank>
</item>
</items>
</list>
</presentation>
</class>
<class id="VirtualHost" _delta="define">
<parent>VirtualDevice</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>true</abstract>
<key_type>autoincrement</key_type>
<db_table>virtualhost</db_table>
<db_key_field>id</db_key_field>
<db_final_class_field/>
<naming>
<format>%1$s</format>
<attributes>
<attribute id="name"/>
</attributes>
</naming>
<display_template/>
<icon>images/application.png</icon>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="org_id"/>
<attribute id="organization_name"/>
</attributes>
</reconciliation>
</properties>
<fields>
<field id="virtualmachine_list" xsi:type="AttributeLinkedSet">
<linked_class>VirtualMachine</linked_class>
<ext_key_to_me>virtualhost_id</ext_key_to_me>
<edit_mode>add_only</edit_mode>
<count_min>0</count_min>
<count_max>0</count_max>
</field>
</fields>
<methods>
<method id="GetRelationQueries">
<static>true</static>
<access>public</access>
<type>Overload-DBObject</type>
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
{
switch ($sRelCode)
{
case "impacts":
$aRels = array(
"virtualmachine" => array("sQuery"=>"SELECT VirtualMachine WHERE virtualhost_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
case 'depends on':
$aRels = array(
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
return parent::GetRelationQueries($sRelCode);
}
}]]></code>
</method>
</methods>
<presentation>
<details>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
<item id="description">
<rank>50</rank>
</item>
<item id="contacts_list">
<rank>60</rank>
</item>
<item id="documents_list">
<rank>70</rank>
</item>
<item id="applicationsolution_list">
<rank>80</rank>
</item>
</items>
</details>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
</items>
</search>
<list>
<items>
<item id="finalclass">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="status">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
<item id="move2production">
<rank>50</rank>
</item>
</items>
</list>
</presentation>
</class>
<class id="Hypervisor" _delta="define">
<parent>VirtualHost</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<key_type>autoincrement</key_type>
<db_table>hypervisor</db_table>
<db_key_field>id</db_key_field>
<db_final_class_field/>
<naming>
<format>%1$s</format>
<attributes>
<attribute id="name"/>
</attributes>
</naming>
<display_template/>
<icon>images/hypervisor.png</icon>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="org_id"/>
<attribute id="organization_name"/>
</attributes>
</reconciliation>
</properties>
<fields>
<field id="farm_id" xsi:type="AttributeExternalKey">
<sql>farm_id</sql>
<target_class>Farm</target_class>
<is_null_allowed>true</is_null_allowed>
<on_target_delete>DEL_MANUAL</on_target_delete>
</field>
<field id="farm_name" xsi:type="AttributeExternalField">
<extkey_attcode>farm_id</extkey_attcode>
<target_attcode>name</target_attcode>
</field>
<field id="server_id" xsi:type="AttributeExternalKey">
<sql>server_id</sql>
<target_class>Server</target_class>
<is_null_allowed>true</is_null_allowed>
<on_target_delete>DEL_AUTO</on_target_delete>
</field>
<field id="server_name" xsi:type="AttributeExternalField">
<extkey_attcode>server_id</extkey_attcode>
<target_attcode>name</target_attcode>
</field>
</fields>
<methods>
<method id="GetRelationQueries">
<static>true</static>
<access>public</access>
<type>Overload-DBObject</type>
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
{
switch ($sRelCode)
{
case "impacts":
$aRels = array(
"farm" => array("sQuery"=>"SELECT Farm WHERE id = :this->farm_id", "bPropagate"=>true, "iDistance"=>10),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
case 'depends on':
$aRels = array(
"server" => array("sQuery"=>"SELECT Server WHERE id = :this->server_id", "bPropagate"=>true, "iDistance"=>10),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
return parent::GetRelationQueries($sRelCode);
}
}]]></code>
</method>
</methods>
<presentation>
<details>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="server_id">
<rank>30</rank>
</item>
<item id="farm_id">
<rank>40</rank>
</item>
<item id="business_criticity">
<rank>50</rank>
</item>
<item id="move2production">
<rank>60</rank>
</item>
<item id="description">
<rank>70</rank>
</item>
<item id="contacts_list">
<rank>80</rank>
</item>
<item id="documents_list">
<rank>90</rank>
</item>
<item id="tickets_list">
<rank>100</rank>
</item>
<item id="applicationsolution_list">
<rank>110</rank>
</item>
<item id="virtualmachine_list">
<rank>120</rank>
</item>
<item id="providercontracts_list">
<rank>130</rank>
</item>
<item id="services_list">
<rank>140</rank>
</item>
</items>
</details>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
</items>
</search>
<list>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="server_id">
<rank>20</rank>
</item>
<item id="farm_id">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
<item id="move2production">
<rank>50</rank>
</item>
</items>
</list>
</presentation>
</class>
<class id="Farm" _delta="define">
<parent>VirtualHost</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<key_type>autoincrement</key_type>
<db_table>farm</db_table>
<db_key_field>id</db_key_field>
<db_final_class_field/>
<naming>
<format>%1$s</format>
<attributes>
<attribute id="name"/>
</attributes>
</naming>
<display_template/>
<icon>images/cluster.png</icon>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="org_id"/>
<attribute id="organization_name"/>
</attributes>
</reconciliation>
</properties>
<fields>
<field id="hypervisor_list" xsi:type="AttributeLinkedSet">
<linked_class>Hypervisor</linked_class>
<ext_key_to_me>farm_id</ext_key_to_me>
<edit_mode>add_only</edit_mode>
<count_min>0</count_min>
<count_max>0</count_max>
</field>
</fields>
<methods>
<method id="GetRelationQueries">
<static>true</static>
<access>public</access>
<type>Overload-DBObject</type>
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
{
switch ($sRelCode)
{
case "impacts":
$aRels = array(
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
case 'depends on':
$aRels = array(
"Hypervisor" => array("sQuery"=>"SELECT Hypervisor WHERE farm_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
return parent::GetRelationQueries($sRelCode);
}
}]]></code>
</method>
</methods>
<presentation>
<details>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
<item id="description">
<rank>50</rank>
</item>
<item id="contacts_list">
<rank>60</rank>
</item>
<item id="documents_list">
<rank>70</rank>
</item>
<item id="tickets_list">
<rank>80</rank>
</item>
<item id="applicationsolution_list">
<rank>90</rank>
</item>
<item id="hypervisor_list">
<rank>100</rank>
</item>
<item id="virtualmachine_list">
<rank>110</rank>
</item>
<item id="providercontracts_list">
<rank>120</rank>
</item>
<item id="services_list">
<rank>130</rank>
</item>
</items>
</details>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
</items>
</search>
<list>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="status">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
</items>
</list>
</presentation>
</class>
<class id="VirtualMachine" _delta="define">
<parent>VirtualDevice</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<key_type>autoincrement</key_type>
<db_table>virtualmachine</db_table>
<db_key_field>id</db_key_field>
<db_final_class_field/>
<naming>
<format>%1$s</format>
<attributes>
<attribute id="name"/>
</attributes>
</naming>
<display_template/>
<icon>images/virtualmachine.png</icon>
<reconciliation>
<attributes>
<attribute id="name"/>
<attribute id="org_id"/>
<attribute id="organization_name"/>
</attributes>
</reconciliation>
</properties>
<fields>
<field id="virtualhost_id" xsi:type="AttributeExternalKey">
<sql>virtualhost_id</sql>
<target_class>VirtualHost</target_class>
<is_null_allowed>false</is_null_allowed>
<on_target_delete>DEL_MANUAL</on_target_delete>
</field>
<field id="virtualhost_name" xsi:type="AttributeExternalField">
<extkey_attcode>virtualhost_id</extkey_attcode>
<target_attcode>name</target_attcode>
</field>
<field id="osfamily_id" xsi:type="AttributeExternalKey">
<sql>osfamily_id</sql>
<target_class>OSfamily</target_class>
<is_null_allowed>true</is_null_allowed>
<on_target_delete>DEL_MANUAL</on_target_delete>
</field>
<field id="osfamily_name" xsi:type="AttributeExternalField">
<extkey_attcode>osfamily_id</extkey_attcode>
<target_attcode>name</target_attcode>
</field>
<field id="osversion_id" xsi:type="AttributeExternalKey">
<filter><![CDATA[SELECT OSversion WHERE osfamily_id = :this->osfamily_id]]></filter>
<dependencies>
<attribute id="osfamily_id"/>
</dependencies>
<sql>osversion_id</sql>
<target_class>OSversion</target_class>
<is_null_allowed>true</is_null_allowed>
<on_target_delete>DEL_MANUAL</on_target_delete>
</field>
<field id="osversion_name" xsi:type="AttributeExternalField">
<extkey_attcode>osversion_id</extkey_attcode>
<target_attcode>name</target_attcode>
</field>
<field id="oslicence_id" xsi:type="AttributeExternalKey">
<filter><![CDATA[SELECT OsLicence WHERE osversion_id = :this->osversion_id]]></filter>
<dependencies>
<attribute id="osversion_id"/>
</dependencies>
<sql>oslicence_id</sql>
<target_class>OsLicence</target_class>
<is_null_allowed>true</is_null_allowed>
<on_target_delete>DEL_MANUAL</on_target_delete>
</field>
<field id="oslicence_name" xsi:type="AttributeExternalField">
<extkey_attcode>oslicence_id</extkey_attcode>
<target_attcode>name</target_attcode>
</field>
<field id="cpu" xsi:type="AttributeString">
<sql>cpu</sql>
<default_value/>
<is_null_allowed>true</is_null_allowed>
</field>
<field id="ram" xsi:type="AttributeString">
<sql>ram</sql>
<default_value/>
<is_null_allowed>true</is_null_allowed>
</field>
<field id="logicalinterface_list" xsi:type="AttributeLinkedSet">
<linked_class>LogicalInterface</linked_class>
<ext_key_to_me>virtualmachine_id</ext_key_to_me>
<edit_mode>in_place</edit_mode>
<count_min>0</count_min>
<count_max>0</count_max>
</field>
</fields>
<methods>
<method id="GetRelationQueries">
<static>true</static>
<access>public</access>
<type>Overload-DBObject</type>
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
{
switch ($sRelCode)
{
case "impacts":
$aRels = array(
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
case 'depends on':
$aRels = array(
"virtualhost" => array("sQuery"=>"SELECT VirtualHost WHERE id = :this->virtualhost_id", "bPropagate"=>true, "iDistance"=>10),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
return parent::GetRelationQueries($sRelCode);
}
}]]></code>
</method>
</methods>
<presentation>
<details>
<items>
<item id="softwares_list">
<rank>10</rank>
</item>
<item id="contacts_list">
<rank>20</rank>
</item>
<item id="documents_list">
<rank>30</rank>
</item>
<item id="tickets_list">
<rank>40</rank>
</item>
<item id="logicalinterface_list">
<rank>50</rank>
</item>
<item id="logicalvolumes_list">
<rank>60</rank>
</item>
<item id="providercontracts_list">
<rank>70</rank>
</item>
<item id="services_list">
<rank>80</rank>
</item>
<item id="col:col1">
<rank>90</rank>
<items>
<item id="fieldset:Server:baseinfo">
<rank>10</rank>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="status">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
<item id="virtualhost_id">
<rank>50</rank>
</item>
</items>
</item>
<item id="fieldset:Server:moreinfo">
<rank>20</rank>
<items>
<item id="osfamily_id">
<rank>10</rank>
</item>
<item id="osversion_id">
<rank>20</rank>
</item>
<item id="oslicence_id">
<rank>30</rank>
</item>
<item id="cpu">
<rank>40</rank>
</item>
<item id="ram">
<rank>50</rank>
</item>
</items>
</item>
</items>
</item>
<item id="col:col2">
<rank>100</rank>
<items>
<item id="fieldset:Server:otherinfo">
<rank>10</rank>
<items>
<item id="move2production">
<rank>10</rank>
</item>
<item id="description">
<rank>20</rank>
</item>
</items>
</item>
</items>
</item>
</items>
</details>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="status">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
<item id="move2production">
<rank>50</rank>
</item>
</items>
</search>
<list>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="status">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
</items>
</list>
</presentation>
</class>
</classes>
<menus>
<menu id="ConfigManagementOverview" xsi:type="DashboardMenuNode" _delta="must_exist">
<definition>
<cells>
<cell id="1" _delta="define">
<rank>1</rank>
<dashlets>
<dashlet id="0" xsi:type="DashletHeaderStatic">
<rank>0</rank>
<title>Menu:ConfigManagement:virtualization</title>
<icon>itop-virtualization-mgmt/images/hypervisor-sw.png</icon>
</dashlet>
<dashlet id="1" xsi:type="DashletBadge">
<rank>1</rank>
<class>Farm</class>
</dashlet>
<dashlet id="2" xsi:type="DashletBadge">
<rank>2</rank>
<class>Hypervisor</class>
</dashlet>
<dashlet id="3" xsi:type="DashletBadge">
<rank>3</rank>
<class>VirtualMachine</class>
</dashlet>
</dashlets>
</cell>
</cells>
</definition>
</menu>
</menus>
</itop_design>

View File

@@ -0,0 +1,29 @@
<?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
*/
Dict::Add('EN US', 'English', 'English', array(
// Dictionary entries go here
));
?>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,66 @@
<?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
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-virtualization-mgmt/2.0.0',
array(
// Identification
//
'label' => 'Virtualization Management',
'category' => 'business',
// Setup
//
'dependencies' => array(
'itop-config-mgmt/2.0.0'
),
'mandatory' => false,
'visible' => true,
// Components
//
'datamodel' => array(
'model.itop-virtualization-mgmt.php'
),
'webservice' => array(
),
'data.struct' => array(
// add your 'structure' definition XML files here,
),
'data.sample' => array(
// add your sample data XML files here,
'data.sample.farm.xml',
'data.sample.hypervisor.xml',
'data.sample.vm.xml',
),
// Documentation
//
'doc.manual_setup' => '', // hyperlink to manual setup documentation, if any
'doc.more_information' => '', // hyperlink to more information, if any
// Default settings
//
'settings' => array(
// Module specific settings go here, if any
),
)
);
?>

View File

@@ -44,8 +44,8 @@ class ItopWelcome extends ModuleHandlerAPI
{
public static function OnMenuCreation()
{
$oWelcomeMenu = new MenuGroup('WelcomeMenu', 10 /* fRank */);
new DashboardMenuNode('WelcomeMenuPage', dirname(__FILE__).'/welcome_menu.xml', $oWelcomeMenu->GetIndex() /* oParent */, 1 /* fRank */);
//$oWelcomeMenu = new MenuGroup('WelcomeMenu', 10 /* fRank */);
//new DashboardMenuNode('WelcomeMenuPage', dirname(__FILE__).'/welcome_menu.xml', $oWelcomeMenu->GetIndex() /* oParent */, 1 /* fRank */);
$oToolsMenu = new MenuGroup('DataAdministration', 70 /* fRank */, 'Organization', UR_ACTION_MODIFY, UR_ALLOWED_YES|UR_ALLOWED_DEPENDS);
new WebPageMenuNode('CSVImportMenu', utils::GetAbsoluteUrlAppRoot().'pages/csvimport.php', $oToolsMenu->GetIndex(), 1 /* fRank */);

View File

@@ -22,6 +22,7 @@ SetupWebPage::AddModule(
//
'datamodel' => array(
'main.itop-welcome-itil.php',
'model.itop-welcome-itil.php',
),
'webservice' => array(
//'webservices.itop-welcome-itil.php',

View File

@@ -1,65 +0,0 @@
<?xml version="1.0"?>
<dashboard xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout>DashboardLayoutOneCol</layout>
<title></title>
<cells>
<cell id="0">
<rank>0</rank>
<dashlets>
<dashlet id="1" xsi:type="DashletHeaderStatic">
<rank>0</rank>
<title>Menu:ConfigManagementCI</title>
<icon>itop-welcome-itil/images/database.png</icon>
</dashlet>
<dashlet id="2" xsi:type="DashletBadge">
<rank>1</rank>
<class>BusinessProcess</class>
</dashlet>
<dashlet id="3" xsi:type="DashletBadge">
<rank>2</rank>
<class>ApplicationSolution</class>
</dashlet>
<dashlet id="4" xsi:type="DashletBadge">
<rank>3</rank>
<class>Contact</class>
</dashlet>
<dashlet id="5" xsi:type="DashletBadge">
<rank>4</rank>
<class>Location</class>
</dashlet>
<dashlet id="6" xsi:type="DashletBadge">
<rank>5</rank>
<class>Contract</class>
</dashlet>
<dashlet id="7" xsi:type="DashletBadge">
<rank>6</rank>
<class>Server</class>
</dashlet>
<dashlet id="8" xsi:type="DashletBadge">
<rank>7</rank>
<class>NetworkDevice</class>
</dashlet>
</dashlets>
</cell>
<cell id="1">
<rank>1</rank>
<dashlets>
<dashlet id="8" xsi:type="DashletHeaderDynamic">
<rank>0</rank>
<title>Menu:RequestManagement</title>
<icon>itop-welcome-itil/images/user-request-deadline.png</icon>
<subtitle>Open Requests</subtitle>
<query>SELECT UserRequest WHERE status != "closed"</query>
<group_by>status</group_by>
<values>new,assigned,escalated_tto,escalated_ttr,resolved</values>
</dashlet>
<dashlet id="9" xsi:type="DashletObjectList">
<rank>1</rank>
<title>UI:WelcomeMenu:MyCalls</title>
<query>SELECT UserRequest AS i WHERE i.agent_id = :current_contact_id AND status NOT IN ("closed", "resolved")</query>
<menu>true</menu>
</dashlet>
</dashlets>
</cell>
</cells>
</dashboard>