:: Version 2.6.0 ::

Configuration Parameters

Overview

Located in the the conf/production directory, the file itop-config.php contains all the configuration parameters of iTop.

This file is created during the setup, and updated upon upgrade.

If you have done some modifications to the settings, please backup this file prior to executing an upgrade, because the file will be generated again by the upgrade program. For example, comments will be lost.

The configuration file contains the following sections:

  • MySettings: contains iTop settings. Some settings are not visible in the file generated by the installation program. These are settings for troubleshooting or disabling some features (workaround for complex integrations).
  • MyModuleSettings: contains module settings.
  • MyModules: lists the PHP files to include. It is a way to disable -temporarily- an installed feature. Depending on your need for language support, you might comment out some lines. This can speedup significantly the execution of every single iTop page. Please note that those changes will be lost when upgrading iTop.

Settings

Parameter Type Visible ? Description Default Value
access_message string Yes Message displayed to the users when there is any access restriction iTop is temporarily frozen, please wait… (the admin team)
access_mode integer Yes Flags (ACCESS_READONLY =0 , ACCESS_ADMIN_WRITE =2 or ACCESS_FULL =3) 3
addon_list array Yes Automatically populated by the installation process
allow_menu_on_linkset bool No New in 2.4.0 Display Action menus in view mode on any LinkedSet with edit_mode != none false
allow_target_creation bool No Displays the + button on external keys to create target objects true
allowed_login_types string Yes The list (and in which order) of authentication methods that the application allows. The value is a combination of form,cas,basic,external,url form,basic,external
apc_cache.enabled bool Yes If set, the APC cache is allowed (the PHP extension must also be active) true
apc_cache.query_ttl integer Yes Time to live set in APC for the prepared queries (seconds - 0 means no timeout) 3600
app_env_label string No Label displayed to describe the current application environnment, defaults to the environment name (e.g. “production”)
app_icon_url string No Hyperlink to redirect the user when clicking on the application icon (in the main window, or login/logoff pages) http://www.combodo.com/itop
app_root_url string Yes Root URL used for navigating within the application, or from an email to the application (you can put $SERVER_NAME$ as a placeholder for the server's name)
application_list array Yes Automatically populated by the installation process
async_task_retries array No New in 2.0.3 - Automatic retries of asynchronous tasks in case of failure (per class) Array
buttons_position string Yes Position of the forms buttons: bottom , top , both both
breadcrumb.max_count integer No Maximum number of items kept in the history breadcrumb. Set it to 0 to entirely disable the breadcrumb. 8
Parameter Type Visible ? Description Default Value
cas_context string No The CAS context
cas_debug bool No Activate the CAS debug false
cas_default_profiles string No A semi-colon separated list of iTop Profiles to use when creating a new user if no profile is retrieved from CAS Portal user
cas_host string No The name of the CAS host
cas_include_path string Yes The path where to find the phpCAS library /usr/share/php
cas_logout_redirect_service string No The redirect service (URL) to use when logging-out with CAS
cas_memberof string No A semicolon separated list of group names that the user must be member of (works only with SAML - e.g. cas_version⇒ “S1”)
cas_port integer No The port used by the CAS server 443
cas_profile_pattern string No A regular expression pattern to extract the name of the iTop profile from the name of an LDAP/CAS group /^cn=([^,]+),/
cas_server_ca_cert_path string No The path where to find the certificate of the CA for validating the certificate of the CAS server
cas_update_profiles bool No Whether or not to update the profiles of an existing user from the CAS information false
cas_user_synchro bool No Whether or not to synchronize users with CAS/LDAP false
cas_version string No The CAS protocol version to use: “1.0” (CAS v1), “2.0” (CAS v2) or “S1” (SAML V1) ) 2.0
Parameter Type Visible ? Description Default Value
complex_actions_limit integer No Display the “actions” menu items that require long computation only if the list of objects is contains less objects than this number (0 means no limit) 50
concurrent_lock_enabled bool No new in 2.2.0 - Whether or not to enable the locking mechanism to prevent concurrent interactive modifications false
concurrent_lock_expiration_delay int No new in 2.2.0 The delay (in seconds) for a lock to expire (in case of a crash of the web browser or a loss of connection). While editing an object, the browser will call the server twice during this interval. Minimum value is 15s. Lower values provide a more responsive user interface but increase the load on the server and the network traffic. 120
concurrent_lock_override_profiles array No new in 2.2.0 The list of profiles which are allowed to “kill” a lock. The value is an array of profile names array('Administrator')
cron_max_execution_time integer Yes Duration (seconds) of the page cron.php, must be shorter than php setting max_execution_time and shorter than the web server response timeout 600
cron_sleep integer No Duration (seconds) before cron.php checks again if something must be done 2
csv_file_default_charset string Yes Character set used by default for downloading and uploading data as a CSV file. Warning: it is case sensitive (uppercase is preferable). ISO-8859-1
csv_import_charsets array Yes An array of character sets names to be added to the ones offered by the CSVImport menu item. Add your own charsets definitions here if the standard list does not fit your needs.
csv_import_creations_percentage integer No Percentage of creations that trigger a confirmation in the CSV import 50
csv_import_errors_percentage integer No Percentage of errors that trigger a confirmation in the CSV import 50
csv_import_history_display bool Yes Display the history tab in the import wizard false
csv_import_min_object_confirmation integer No Minimum number of objects to check for the confirmation percentages 3
csv_import_modifications_percentage integer No Percentage of modifications that trigger a confirmation in the CSV import 50
Parameter Type Visible ? Description Default Value
datamodel_list array Yes Automatically populated by the installation process
date_and_time_format array Yes New in 2.3.0 The date/time format to use when displaying date and times in iTop see below
db_character_set string Yes Removed in 2.5 : since then iTop uses utf8mb4. Until 2.4 : character set to use for the MySQL database utf8
db_collation string Yes Removed in 2.5 : since then iTop uses utf8mb4_unicode_ci. Until 2.4 : collation (i.e sort mechanism) to use for the MySQL database utf8_unicode_ci
db_host string Yes Name of the host for the MySQL database server. (e.g. localhost, 192.168.10.234, mydbserver.demo.com, etc.). Can also contain the port (host:port, for exemple localhost:3306). Use p: prefix (for exemple p:localhost:3306) to use persistent connexions (not recommended by Combodo, use at your own risks !)
db_name string Yes Name of the MySQL database
db_pwd string Yes Password to connect to the MySQL server
db_subname string Yes Prefix of the tables in the MySQL database
db_tls.enabled boolean No If enabled then the connection to the MySQL server will be encrypted using TLS. See Connect to MySQL using TLS false
db_tls.ca string No Path to certificate authority file for SSL. If present then connection to MySQL will be made using the flag MYSQLI_CLIENT_SSL, otherwise it will use MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT
Parameter Type Visible ? Description Default Value
deadline_format string Yes The format used for displaying “deadline” attributes: any string with the following placeholders: $date$, $difference$ $difference$
debug_report_spurious_chars bool No Report, in the error log, the characters found in the output buffer, echoed by mistake in the loaded modules, and potentially corrupting the output false
default_language string Yes The default language for the application, used for the login/logout pages. (Selected during the installation) EN US
demo_mode bool No Set to true to prevent users from changing passwords/languages false
dictionary_list array Yes Automatically populated by the installation process
disable_attachments_download_legacy_portal bool No New in 2.4.1 Disable attachments downloads from the legacy portal in order to fix a security hole true
disable_mandatory_ext_keys bool No New in 2.0.3 - For developpers: allow every external keys to be undefined false
Parameter Type Visible ? Description Default Value
draft_attachments_lifetime integer No New in 2.5.0 Lifetime (in seconds) of drafts' attachments and inline images: after this duration, the garbage collector will delete them. Use 3600 or above 3600
email_asynchronous bool Yes If set, the emails are sent off line, which requires cron.php to be activated. Exception: some features like the email test utility will force the serialized mode false
email_css string No CSS that will be applied to the contents of the email. See lib/email.css for an example (optional) .caselog_header {color: red;}
email_default_sender_address string Yes New in 2.5.0 Email used as the sender, when none specified. eg. Test notification, Forgotten password, synchro error,… are sending emails using this default. empty
email_default_sender_label string Yes New in 2.5.0 Label used for sender, when none specified. empty
email_transport string Yes Mean to send emails: PHPMail (uses the function mail()) or SMTP (implements the client protocole) PHPMail
email_transport_smtp.encryption string No tls or ssl (optional)
email_transport_smtp.host string No host name or IP address (optional) localhost
email_transport_smtp.password string No Authentication password (optional)
email_transport_smtp.port integer No port number (optional) 25
email_transport_smtp.username string No Authentication user (optional)
email_validation_pattern string Yes New in 2.0.3 - Regular expression ​for validating email addresses [a-zA-Z0-9._&'-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,}
email_decoration_class string No New in 2.5.0 CSS class(es) to use as decoration for the HTML rendering of the attribute. eg. “fa fa-envelope” will put a mail icon fa fa-envelope
encryption_key string Yes An encryption key used for encrypting secured fields. (see encrypt data) @iT0pEncr1pti0n!
encryption_library string Yes New in 2.6.0 Library name that will be used to encrypt data Sodium
Parameter Type Visible ? Description Default Value
fast_reload_interval integer Yes The duration (in seconds) between two reloads of a list, if the reload interval is “fast” 60
forgot_password bool No Enable the “Forgot password” feature true
forgot_password_from string No New in 2.0.3 - Sender email address for the “forgot password” feature. If empty, defaults to the recipient's email address. empty
full_text_accelerators array No New in 2.0.3 - Specifies classes to be searched at first (and the subset of data) when running the full text search. A PHP array, as described in section full_text_accelerators
full_text_chunk_duration integer No New in 2.0.3 - Delay after which the results are displayed. 2
full_text_needle_min integer No New in 2.0.3 - Minimum size of the full text needle. 3
graphviz_path string Yes Path to the Graphviz “dot” executable for displaying impact analysis and objects lifecycle /usr/bin/dot
high_cardinality_classes array No New in 2.5.0 classes which have a lot of objects, automated search is disabled for them empty
impact_analysis_first_tab string No Which tab to display first in the impact analysis view: list or graphics. Graphics are nicer but slower to display when there are many objects graphics
inline_image_max_display_width integer Yes New in 2.3.0 The maximum width (in pixels) to display inline images (inside formatted text fields and case logs). Images will be shrinked to this limit when displaying (with a magnifier cursor when moving the mouse over them) 600
inline_image_max_storage_width integer Yes New in 2.3.0 The maximum width (in pixels) for uploaded images inside formatted text fields and case logs. images larger than this limit will be downsampled before being stored in the database. 1600
legacy_search_drawer_open bool No Removed in 2.5.0 Added in 2.3.0 Whether or not to display the “search drawer” displaying the search form open (as in pre 2.3.0 versions) instead of collapsed, at the top of the OQL menu pages, and in the popup dialog boxes when searching for an object false
link_set_attribute_qualifier string Yes Link set from string: attribute qualifier (encloses both the attcode and the value) '
link_set_attribute_separator string Yes Link set from string: attribute separator ;
link_set_item_separator string Yes Link set from string: line separator ,
link_set_value_separator string Yes Link set from string: value separator (between the attcode and the value itself :
Parameter Type Visible ? Description Default Value
log_global bool Yes If set to true (or 1), then the log is active. Which event is logged and where will depend on the following log_…. settings true
log_issue bool Yes If set to true (or 1), then internal errors (or some usage errors) will be traced both into <iTopLog>/error.log (destination file could not be changed) and the DB (OQL: SELECT EventIssue) true
log_kpi_duration integer No Level of logging for troubleshooting performance issues (1 to enable, 2 +blame callers starting 2.0.3) 0
log_kpi_memory integer No Level of logging for troubleshooting memory limit issues 0
log_kpi_user_id string No Limit the scope of users to the given login (* means no limit) *
log_notification bool Yes If set to true (or 1), then notifications sent my the mean of the Trigger/Actions will be recorded into the DB (OQL: SELECT EventNotification) true
log_usage bool No Log the usage of the application (i.e. the date/time and the user name of each login). To see the results: SELECT EventLoginUsage false
log_rest_service bool No New in 2.2.0 - Log the usage of the REST/JSON service (OQL: SELECT EventRestService) false
log_web_service bool Yes If set to true (or 1), then usage of the SOAP service(s) will be recorded into the DB (OQL: SELECT EventWebService) true
Parameter Type Visible ? Description Default Value
max_combo_length integer No The maximum number of elements in a drop-down list. If more then an autocomplete will be used 50
max_display_limit integer Yes The maximum number of items that a list can display at once, before changing to a paginated list 15
max_execution_time_per_loop integer No New in 2.0.3 - The max_execution_time allocated for each loop when performing ​bulk operations ​(bulk import, bulk delete…). Zero means 'no limit'. 30
max_history_length integer No New in 2.0.3 - Maximum length of the history table (in the “History” tab on each object) before it gets truncated. Latest modifications are displayed first. 50
max_history_case_log_entry_length integer No New in 2.2.0 - The length (in number of characters) at which to truncate the (expandable) display (in the history) of a case log entry. If zero, the display in the history is not truncated. 60
max_linkset_output integer Yes Maximum number of items shown when getting a list of related items in an email, using the form $this→some_list$. 0 means no limit. 100
min_autocomplete_chars integer No The minimum number of characters to type in order to trigger the “autocomplete” behavior 2
min_display_limit integer Yes The number of items to display when a list is bigger than “max_display_limit” 10
min_reload_interval integer No Minimum interval (seconds) than can be specified for the automatic refresh of dashboards, shortcuts, etc. Even if the interval is set programmatically, it is forced to that minimum 5
module_settings array Yes Automatically populated by the installation process
newsroom_enabled bool No New in 2.6.0 Set this parameter to false to completely disable the Newsroom feature for all users. true
Parameter Type Visible ? Description Default Value
online_help string Yes Hyperlink to the online-help web page http://www.combodo.com/itop-help
phone_number_validation_pattern string No New in 2.5.0 Regular expression to validate/detect the format of a phone number [0-9.\-\ \+\(\)]+
phone_number_url_pattern string No New in 2.5.0 Format for phone number url, use %1$s as a placeholder for the value. eg. “tel:%1$s” for regular phone applications or “callto:%1$s” for Skype. Default is “tel:%1$s” tel:%1$s
phone_number_decoration_class string No New in 2.5.0 CSS class(es) to use as decoration for the HTML rendering of the attribute. eg. “fa fa-phone” will put a phone icon fa fa-phone
php_path string Yes Path to the php executable in CLI mode php
portal_tickets string Yes Deprecated in 2.6.0 CSV list of classes supported in the old portal UserRequest
portal_dispatch_urls array No New in 2.3.0 Associative array of sPortalId ⇒ Home page URL (relatively to the application root)
query_indentation_enabled bool No For developpers: format the SQL queries for human analysis false
query_optimization_enabled bool No The queries are optimized based on the assumption that the DB integrity has been preserved. By disabling the optimization one can ensure that the fetched data is clean… but this can be really slower or not usable at all (some queries will exceed the allowed number of joins in MySQL: 61!) true
relations_max_depth integer No New in 2.1.0 - Maximum number of successive levels (depth) to explore when displaying the impact/depends on relations. The default value, used for backward compatibility (20), means a depth of twenty levels, which is huge. For large data sets it may be wise to limit this value to 4/5 levels. 20
Parameter Type Visible ? Description Default Value
search_manual_submit bool No NEW in 2.5 Define if search is executed automatically on criteria setting (default) or manually with Magnifier icon. If you want to defined this behavior by class, use parameter high_cardinality_classes false
secure_connection_required bool Yes Whether or not the application is allowed to run on a non-secure (i.e. non HTTPS) connection false
secure_rest_services bool No New in 2.5.0 When set to 'true', the access to the REST web services is limited to user accounts having the profile REST Services User. Any other value will disable this verification and let any valid user access the REST web services, as in pre-2.5.0 versions of iTop. true
session_name string Yes The name of the cookie used to store the PHP session id iTop
shortcut_actions string Yes Actions that are available as direct buttons next to the “Actions” menu UI:Menu:Modify, UI:Menu:New
show_obsolete_data bool No Default value for the user preference “Show obsolete data” false
skip_check_ext_keys bool No Disable external key check when checking the value of attributes false
skip_check_to_write bool No Disable data format and integrity checks to boost up data load (insert or update) false
skip_strong_security bool No Disable strong security - TEMPORY: this flag should be removed when we are more confident in the recent change in security true
source_dir string Yes Source directory for the datamodel files. (which gets compiled to env-production).
standard_reload_interval integer Yes The duration (in seconds) between two reloads of a list, if the reload interval is “standard” 300
synchro_prevent_delete_all bool No Stop the synchro if all the replicas of a data source become obsolete at the same time. true
synchro_trace string Yes Synchronization details: none, display, save (includes 'display') none
tag_set_item_separator string Yes New in 2.6.0 Tag set from string: tag separator |
timezone string Yes Timezone (reference: http://php.net/manual/en/timezones.php). If empty, it will be left unchanged and MUST be explicitely configured in PHP Europe/Paris
tracking_level_linked_set_default integer No New in 2.0.3 Default tracking level if not explicitly set at the attribute level, for AttributeLinkedSet (defaults to NONE in case of a fresh install, LIST otherwise - this to preserve backward compatibility while upgrading from a version older than 2.0.3 - see TRAC #936) 1
tracking_level_linked_set_indirect_default integer No New in 2.0.3 Default tracking level if not explicitly set at the attribute level, for AttributeLinkedSetIndirect 3
transaction_storage string No New in 2.2.0 - Mechanism for storing the transaction identifiers. Possible values: File or Session. Use File if you are using non locking mechanism like memcache for storing the session information. Since iTop 2.6 the default value has changed, before it was Session File
Parameter Type Visible ? Description Default Value
url_validation_pattern string Yes Regular expression to validate/detect the format of an URL (URL attributes and Wiki formatting for Text attributes) (https?,ftp)\://([a-zA-Z0-9+!*(),;?&=\$_.-]+(\:[a-zA-Z0-9+!*(),;?&=\$_.-]+)?@)?([a-zA-Z0-9-.]{3,})(\:[0-9]{2,5})?(/([a-zA-Z0-9%+\$_-]\.?)+)*/?(\?[a-zA-Z+&\$_.-][a-zA-Z0-9;:[\]@&%=+/\$_.-]*)?(#[a-zA-Z_.-][a-zA-Z0-9+\$_.-]*)?
user_rights_legacy bool No Set to true to restore the buggy algorithm for the computation of user rights (within the same profile, ALLOW on the class itself has precedence on DENY of a parent class) false
webservice_list array Yes Automatically populated by the installation process
xlsx_exporter_memory_limit string No New in 2.1.0 - Maximum amount of memory allowed when running an interactive Excel export. Exporting 50,000 tickets requires about 1GB of memory 2048M

Zooming on...

full_text_accelerators

By default the “global search” feature performs a search on each and every class and attribute defined in iTop. When the database grows, this can become very slow. Using accelerators, an administrator can specify, for a given class, how to search - in less fields - in order to speed up the search. It is also possible to completely exclude a given class from the search.

Example:

'full_text_accelerators' => array (
  'UserRequest' => array (
    'skip' => false,
    'needle' => '%$needle$%',
    'query' => "SELECT UserRequest WHERE (status != 'closed') AND (ref LIKE :needle OR title LIKE :needle OR description LIKE :needle)",
    'attributes' => array('title', 'description'),
    'enable_enlarge' => true,
  ),
  'Person' => array (
    'query' => 'SELECT Person WHERE (name LIKE :needle) OR (first_name LIKE :needle) OR (email LIKE :needle)',
    'attributes' => array ('name', 'first_name', 'email'),
  ),
),

For a given non-abstract class, the parameters are:

  • skip (optional) if present, and equal to true, then the whole class will be skipped from the global search (unless the end-user specifically requires to search in this class by typing NameOfTheClass:string_to_search in the global search).
  • query determines both the scope of objects to search for, and the columns that will be looked up. The entered search string is represented by the parameter :needle
  • attributes (optional) must match the attributes used in the query so that the system will optimize its execution time.
  • needle is optional and defaults to “%$needle$%”. It specifies how to make the :needle parameter out of the user search string.
  • enable_enlarge (optional) if present and equal to false, the button Enlarge search will be hidden. When Enlarge Search is clicked, iTop performs the default complete search (all attributes) for the specified class of objects

date_and_time_format

This configuration parameter specifies the formatting of date and time fields in the application. The configuration can be specified by default and overloaded per language. If an entry (either date, time or date_time) is omitted in a given language, the corresponding default entry will be used. If no value is specified at all, the system will supply its own fallback value.

  • The date entry specifies the format for dates. The fallback value is Y-m-d (MySQL format),
  • The time entry specified the format for times. The fallback value is H:i:s (MySQL format),
  • The date_time entry specifies how to assemble date and time in order to produce a complete date/time representation.

The syntax is the following:

'date_and_time_format' => array(
    'default|language_code' => array(
        'date' => 'date_format',
        'time' => 'time_format',
        'date_time' => 'combination_of_date_time_values',
    ),
)

Values for the date format:

Placeholder Meaning
Y Year, on 4 digits, e.g. 2016
y Year, on 2 digits, e.g. 16. Suitable for dates between 1970 and 2069
m Month, on 2 digits, e.g. 01..12
n Month, on 1 or 2 digits, without leading zero, e.g. 1..12
d Day of the month, on 2 digits, e.g. 01..31
j Day of the month, on 1 or 2 digits, without leading zero, e.g. 1..31

Values for the time format:

Placeholder Meaning
H Hours (24 hour clock), on 2 digits, e.g. 00..23
h Hours (12 hour clock), on 2 digits, e.g. 01..12
G Hours (24 hour clock), on 1 or 2 digits without leading zero, e.g. 0..23
g Hours (12 hour clock), on 1 or 2 digits without leading zero, e.g. 1..12
i Minutes, on 2 digits, e.g. 00..59
s Seconds, on 2 digits, e.g. 00..59

Values for the date_time format:

Placeholder Meaning
$date The corresponding date format
$time The corresponding time format

The example below produces the following result:

  • For users which language is configured to French (FR FR):
    • the dates are written: <day on two digits>/<month on 2 digits>/<year on 4 digits>, for example: 21/04/2016
    • the times are written: <hours, 24 hour clock, on 2 digits>:<minutes on two digits>, for example: 14:35
    • the date and times are written: <date> <time>, for example: 21/04/2016 14:35
  • For users which language is configured to German (DE DE):
    • the dates are written: <day on two digits>.<month on 2 digits>.<year on 4 digits>, for example: '21.04.2016'
    • the times are written: <hours, 24 hour clock, on 2 digits>:<minutes on two digits>, for example: 14:35
    • the date and times are written: <date> <time>, for example: 21.04.2016 14:35
  • By default (for all other languages):
    • the dates are written: <year on 4 digits>-<month on 2 digits>-<day on two digits>, for example: 2016-04-21
    • the times are written: <hours, 24 hour clock, on 2 digits>:<minutes on two digits>:<seconds on two digits>, for example: 14:35:09
    • the date and times are written: <date> <time>, for example: 2016-04-12 14:35:09
'date_and_time_format' => array(
    'default' => array(
        'date' => 'Y-m-d',
        'time' => 'H:i:s',
        'date_time' => '$date $time',
    ),
    'FR FR' => array(
        'date' => 'd/m/Y',
        'time' => 'H:i',
        'date_time' => '$date $time',
    ),
    'DE DE' => array(
        'date' => 'd.m.Y',
        'time' => 'H:i',
        'date_time' => '$date $time',
    ),
)

Impact Analyses

When displaying the Impact Analyses tab of a Ticket, or when displaying from a Functional CI the actions Impacts… and Depends on…, the Changes and Incidents displayed are calculated based on OQL queries configured in XML. As such they can be overwritten by a extension.

datamodels/2.x/itop-request-mgmt/datamodel.itop-request-mgmt.xml
  <parameters id="itop-config-mgmt"><relation_context><FunctionalCI><impacts>
    <down><items type="array"><item id="open_incidents" _delta="define">
      <oql><![CDATA[SELECT FCI, R FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id 
      JOIN UserRequest AS R ON L.ticket_id = R.id WHERE (R.status NOT IN ('closed', 'resolved')) 
      AND (R.request_type='incident') AND (L.impact_code != 'not_impacted')]]></oql>
      <dict>Tickets:Related:OpenIncidents</dict>
      <icon>itop-request-mgmt/images/incident-red.png</icon>
      <default>yes</default>
    </item></items></down>
    <up><items type="array"><item id="open_incidents" _delta="define">
      <oql><![CDATA[SELECT FCI, R FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id 
      JOIN UserRequest AS R ON L.ticket_id = R.id WHERE (R.status NOT IN ('closed', 'resolved')) 
      AND (R.request_type='incident') AND (L.impact_code != 'not_impacted')]]></oql>
      <dict>Tickets:Related:OpenIncidents</dict>
      <icon>itop-request-mgmt/images/incident-red.png</icon>
      <default>yes</default>
    </item></items></up>
    </impacts></FunctionalCI></relation_context>
  </parameters>

But they can also be overwritten through parameters in the Configuration file, if you have customized lifecycles of your tickets.

The default module_parameters if nothing is defined in the Configuration file, are available under /core/main.php Here is an example of a full itil iTop:

core/main.php
  'itop-tickets' =>        array (
    'relation_context' =>  array (
      'UserRequest' =>     array (
        'impacts' =>       array (
          'down' =>        array (
            'items' =>     array (
              0 =>         array (
                'oql' => 'SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = \'yes\') AND (C.status NOT IN (\'closed\', \'rejected\')) AND (L.impact_code != \'not_impacted\') AND (C.id != :this->id)',
                'dict' => 'Tickets:Related:OpenChanges',
                'icon' => 'itop-change-mgmt-itil/images/change-ongoing.png',
              ),
              1 =>         array (
                'oql' => 'SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = \'yes\') AND (C.status NOT IN (\'closed\')) AND (L.impact_code != \'not_impacted\') AND (C.id != :this->id) AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())',
                'dict' => 'Tickets:Related:RecentChanges',
                'icon' => 'itop-change-mgmt-itil/images/change-done.png',
              ),
              2 =>         array (
                'oql' => 'SELECT FCI, I FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Incident AS I ON L.ticket_id = I.id WHERE (I.status NOT IN (\'closed\', \'resolved\')) AND (L.impact_code != \'not_impacted\') AND (I.id != :this->id)',
                'dict' => 'Tickets:Related:OpenIncidents',
                'icon' => 'itop-incident-mgmt-itil/images/incident-red.png',
                'default' => 'yes',
              ),
            ),
          ),
        ),
      ),
      'Incident' =>        array (
        'impacts' =>       array (
          'down' =>        array (
            'items' =>     array (
              0 =>         array (
                'oql' => 'SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = \'yes\') AND (C.status NOT IN (\'closed\', \'rejected\')) AND (L.impact_code != \'not_impacted\') AND (C.id != :this->id)',
                'dict' => 'Tickets:Related:OpenChanges',
                'icon' => 'itop-change-mgmt-itil/images/change-ongoing.png',
              ),
              1 =>         array (
                'oql' => 'SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = \'yes\') AND (C.status NOT IN (\'closed\')) AND (L.impact_code != \'not_impacted\') AND (C.id != :this->id) AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())',
                'dict' => 'Tickets:Related:RecentChanges',
                'icon' => 'itop-change-mgmt-itil/images/change-done.png',
              ),
              2 =>         array (
                'oql' => 'SELECT FCI, I FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Incident AS I ON L.ticket_id = I.id WHERE (I.status NOT IN (\'closed\', \'resolved\')) AND (L.impact_code != \'not_impacted\') AND (I.id != :this->id)',
                'dict' => 'Tickets:Related:OpenIncidents',
                'icon' => 'itop-incident-mgmt-itil/images/incident-red.png',
                'default' => 'yes',
              ),
            ),
          ),
        ),
      ),
      'Change' =>          array (
        'impacts' =>       array (
          'down' =>        array (
            'items' =>     array (
              0 =>         array (
                'oql' => 'SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = \'yes\') AND (C.status NOT IN (\'closed\', \'rejected\')) AND (L.impact_code != \'not_impacted\') AND (C.id != :this->id)',
                'dict' => 'Tickets:Related:OpenChanges',
                'icon' => 'itop-change-mgmt-itil/images/change-ongoing.png',
              ),
              1 =>         array (
                'oql' => 'SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = \'yes\') AND (C.status NOT IN (\'closed\')) AND (L.impact_code != \'not_impacted\') AND (C.id != :this->id) AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())',
                'dict' => 'Tickets:Related:RecentChanges',
                'icon' => 'itop-change-mgmt-itil/images/change-done.png',
              ),
              2 =>         array (
                'oql' => 'SELECT FCI, I FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Incident AS I ON L.ticket_id = I.id WHERE (I.status NOT IN (\'closed\', \'resolved\')) AND (L.impact_code != \'not_impacted\') AND (I.id != :this->id)',
                'dict' => 'Tickets:Related:OpenIncidents',
                'icon' => 'itop-incident-mgmt-itil/images/incident-red.png',
                'default' => 'yes',
              ),
            ),
          ),
        ),
      ),
    ),
  ),
  'itop-config-mgmt' =>    array (
    'relation_context' =>  array (
      'FunctionalCI' =>    array (
        'impacts' =>       array (
          'down' =>        array (
            'items' =>     array (
              0 =>         array (
                'oql' => 'SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = \'yes\') AND (C.status NOT IN (\'closed\', \'rejected\')) AND (L.impact_code != \'not_impacted\')',
                'dict' => 'Tickets:Related:OpenChanges',
                'icon' => 'itop-change-mgmt-itil/images/change-ongoing.png',
              ),
              1 =>         array (
                'oql' => 'SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = \'yes\') AND (C.status IN (\'closed\')) AND (L.impact_code != \'not_impacted\') AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())',
                'dict' => 'Tickets:Related:RecentChanges',
                'icon' => 'itop-change-mgmt-itil/images/change-done.png',
              ),
              2 =>         array (
                'oql' => 'SELECT FCI, I FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Incident AS I ON L.ticket_id = I.id WHERE (I.status NOT IN (\'closed\', \'resolved\')) AND (L.impact_code != \'not_impacted\')',
                'dict' => 'Tickets:Related:OpenIncidents',
                'icon' => 'itop-incident-mgmt-itil/images/incident-red.png',
                'default' => 'yes',
              ),
            ),
          ),
          'up' =>          array (
            'items' =>     array (
              0 =>         array (
                'oql' => 'SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = \'yes\') AND (C.status NOT IN (\'closed\', \'rejected\')) AND (L.impact_code != \'not_impacted\')',
                'dict' => 'Tickets:Related:OpenChanges',
                'icon' => 'itop-change-mgmt-itil/images/change-ongoing.png',
              ),
              1 =>         array (
                'oql' => 'SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = \'yes\') AND (C.status IN (\'closed\')) AND (L.impact_code != \'not_impacted\') AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())',
                'dict' => 'Tickets:Related:RecentChanges',
                'icon' => 'itop-change-mgmt-itil/images/change-done.png',
              ),
              2 =>         array (
                'oql' => 'SELECT FCI, I FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Incident AS I ON L.ticket_id = I.id WHERE (I.status NOT IN (\'closed\', \'resolved\')) AND (L.impact_code != \'not_impacted\')',
                'dict' => 'Tickets:Related:OpenIncidents',
                'icon' => 'itop-incident-mgmt-itil/images/incident-red.png',
                'default' => 'yes',
              ),
            ),
          ),
        ),
      ),
    ),
  ),

Attachment

Define the classes of objects which can have attachment, how those attachments are displayed and previewed
New in 2.4: readonly_states defines under which environment, which object classes in what status, will prevent adding and deletion of attachments.

environment values meaning
all The following parameters will be applied to the Console and all portals
backoffice The following parameters will be applied to the Console only
portals The following parameters will be applied to all portals only so not on the Console
'itop-attachments' => array(
    'allowed_classes' => array(
        0 => 'Ticket',
        1 => 'Contact',
    ),
    'readonly_states' => array(
        'all' => array(
            'UserRequest' => array('closed',),
            'Change' => array('rejected','closed',)
        ),
        'portals' => array(
            'UserRequest' => array('resolved',),
        ),
    ),
    'position' => 'relations',
    'preview_max_width' => 290,
),

New in 2.4.2:

  • the standard search is executed as soon as a search criteria is defined.
  • when using the magnifier icon on an ExternalKey attribute, the search is executed.
  • when searching objects to be added on a LinkedSetIndirect attribute (n:n relationship), the search is executed.

On classes with high volume of data and if filtering is not defined, it might be better to force the user to decide when he has entered enough criterion to make the search effective.

This can be done in the Configuration file by defining the classes for which you want this behavior to be applied.

Configuration
    'high_cardinality_classes' => array (
      0 => 'Contact',
      1 => 'Person',
      2 => 'UserRequest',
    ),

You can also instead, force this behavior for all classes at once, using this:

Configuration
      'search_manual_submit' => true,
        ),

In this example, for UserRequest, users must explicitly press the search icon to get the resulting list aligned with the set criterion. There is a warning message to remind users about this different behavior.

Default criterion per class

Unless you customize your iTop Datamodel, this are the default criterion defined.
Default criterion is optional. They are inherited from parent classes if not defined.

We have chosen those criterion because they are the most used for single object search, which is what simple users would do. Advanced users will know how to add/remove criteria.

Predefined requests such as menus and shortcuts, will not use those defaults as soon as they come with their own criterion.

Class Criterions
Contract Name, Customer, Provider
Contact Full Name, Email, Organization
Database Schema Full Name, DB server, Organization
Datacenter Device Full Name, Management ip, Organization
Document Name, Description, Organization
Functional CI Full Name, Organization
Group Name, Type, Organization
IP Interface Full Name, IP address, MAC address
Licence Name, Description, Key
Middleware Instance Full Name, Middleware, Organization
Network Interface Name
Patch Name, Description
Physical CI Full Name, Location, Organization
Organization Name
Location Name, Country, Organization
Service Name, Provider, Service Family
Service Family Name
Service Subcategory Name, Service, Service->Provider
Software Name, Vendor, Type
Software Instance Full Name, System, Organization
Subnet IP, Name, Organization
Ticket Ref, Title, Caller, Organization
Typology Name
User Login, Contact, Organization
VLAN VLAN Tag, Organization
Web Application Full Name, Web server, Organization
2_6_0/admin/itop_configuration_file.txt · Last modified: 2019/02/21 17:54 by vdumas
Back to top
Contact us