:: Version 3.0.0 ::

iTop 3.0 Community

  • Beta version 3.0.0 release date: April 2021
  • 3.0.0 release date: summer 2021

What's new in iTop Community

Main thing that you cannot miss: the layout, the colors, the icons, the menus,… all this has totally changed


The global search, login/logoff, user preference have moved


This menu has moved at the opposite corner of the screen!

User Preference

User interface

There are new parameters to customize the way objects are displayed:

Tabs layout & navigation

With 2 parameters:

  • Layout defining where the tabs titles of an object are displayed: Horizontal as before and vertical on the left part of the object display.

  • Navigation defining how you can switch from one tab to another: classic as before, only one tab at a time is displayed, scrollable all tabs are displayed in the same page and you can scroll through them with your mouse. The scrollable mode do not display tabs which are time consuming, but just an image on which you need to click to get the content.

Those modes applies on all objects of iTop, as well as on the edit mode

Rich Text Editor

This option allow to have the toolbar open each time you edit an HTML field

Activity panel

This option specify if when you display the details of an object with a caselog (a Ticket in general, but it applies to all object having at least one caselog), you directly have the possibility to enter something in the caselog and sent it (Entry form opened by default).

If you don't select this option, you still can add an entry,
by first clicking on the icon

Application shortcuts

If you like to navigate quickly just with the keyboard, we have added shortcut for frequent actions. As those default shortcut may collide with those of your browser or operating system, you can change them

Shortcuts for web applications

The Quick search is now on the left.

  • The main new feature is that it remembers your past search strings
  • As before, when you reopen the Quick search, your last search is still there, so if you made a typo, you can fix it without reentering the whole string.

This feature can now be configured through new configuration parameters global_search.xxx, which allow to:

  • disable completely the feature
  • remove the tracking and display of the past searches
  • fine-tuned the number of past searches which are kept (default 10)

Quick create

Brand new feature, it allows you to quicky create any object without knowing where is the menu to do it, if even there is one.

Just type the beginning of the class you want, and you are proposed with the matching classes.

  • If there is just one matching class, just press enter and the creation form for that class is displayed.
  • You can use the arrow-keys from your keyboard to navigate in the proposed list

This feature can be configured through configuration parameters quick_create. .xxx, which allow to:

  • disable completely the feature
  • remove the tracking and display of the past creations
  • fine-tuned the number of past creations which are kept (default 10)
  • fine-tuned the number of results displayed by the autocomplete feature (default 10)


A quick way to go back to iTop homepage, I am sure you had dreamed about it, and we made it:

This top left icon was never going where you wanted, I bet, now it will bring you back to iTop homepage, by default it is the Welcome dashboard!

This top left icon can be customized in XML as part of the branding
In fact, all menu icons can be customized.

Expand & Collapse

  • Use the hamburger icon to expand and collapse the first level of menus.
  • When the menubar is expended, it displays a text along with the group icons.
  • When the menubar is collapsed, you have a visual feedback with a red circle if you have filtered on a particular organization.
Collapsed Filtered Expanded

Objects count

Exact number of objects in predefined queries menus, is displayed in the menu itself, unless it is above 99, in which case 99+ just indicates that they are more than 99.

Search in menus

  • Just enter some characters and it displays the menus containing the entered string
  • Shortcut Alt+M on Chrome to search in menus without the mouse

Searching for a white-space character, displays all menus.

Bubble caselogs

The display of caselogs in the portal is more trendy:

Activity panel

Caselog edition alone

Within the console, the caselogs are editable even if the associated object is in read mode (in general a Ticket, but this applies to any object). This allows the agent to be more efficient, if the only thing they have to do, is to provide a caselog entry and maybe apply a transition

Switch to edit mode Submit your entry
with optional transition
Multiple caselogs
edition in parallel

If you have edited more than one caselog, you get a warning to remind you that multiple entries will be saved at once

History filtering

In this part of the screen, that we have named the “activity panel”, you retrieve the logs and the history, all merged in a single timeline, which makes it more efficient to understand the full history.

  • You can filter this panel, to view any of those type of entries
    • the caselogs entries, which you can filter more, to view only the public or the private log
    • whenever the object has changed state
    • the object editions
  • Next to the entry, the user picture, if they have one, is displayed, otherwise its their initials.

The history timestamps are relative when recent and absolute above a specified delay, which can be configured for your iTop.

Set it to 0 the parameter activity_panel.datetimes_reformat_limit to go back to previous absolute format for every entries.

Another configuration parameter activity_panel.show_author_name_below_entries allows to display the name of the author below the date. Otherwise, a tooltip over the user icon displays their name as well.

Mention user

In the console an agent may want to quickly notify someone within a caselog to get their attention. That person may not be linked to the Ticket, but still we want to notify them. Just type @ and the beginning of the person name, you will be prompt with available persons.

A trigger and a Notification action allow to specify the email body and message. That trigger will occur only once at submission of the caselog entry containing a mention. Multiple persons can be mentioned in the same caselog.

Mention another person See the result

You can expend this behavior on other classes, each one having its specific special caracter, with the Configuration parameter mentions.allowed_classes

Expand & collapse

The activity panel can be collapsed or expanded depending on if the agent work requires more to read and edit the caselog(s) or the object it-self

Concurrent access

This topic only applies, if you have activated the concurrent_lock_enabled parameter to prevent multiple users modifying at the same time, the same object.

  • If a user enter some text or just try to edit a caselog in the activity panel of an object currently under edition, or simply under caselog edition by another user, then the first user receive a small message to let him know that he will only be able to submit his entries once the other user will have finished. Notice that the Send button is greyed for that first user.
  • iTop will check every activity_panel.lock_watcher_period seconds, if the lock was released or not, and if it was, it will lock it again but for the first user this time and activate the Send button, without loosing the text already entered in the caselog(s)
Locked Unlocked


Display of relationships in read and edit mode are identical in terms of displayed fields. And it's much faster now to replace a team member by another one, just by editing their name. This new logic is available on all many to many relationships.

Predefined OQL queries

On Setup

  • On Setup (new installation or version upgrade), a set of OQL queries usable in Notifications are automatically loaded.
  • Queries label and description are in iTop default language, when translation exist (EN US and FR FR today)
  • For each query to load, iTop searchs for OQLQuery flagged as Template for OQL fields and having the exact same Expression (OQL).
    • If none are found, a new OQLQuery is created
    • If one and one only exists already, then no new query is loaded and the existing one is not updated.
    • If more than one is found, then a new one is created (known iTop limitation)

Usage in Notification

  • OQL Queries flagged as Template for OQL fields, are proposed when editing any iTop field of type OQL, as a new action to retrieve existing queries and easily copy the OQL from the selected OQL Query.

  • You can create your own template queries,
  • You can modify the label and description of the template OQL queries automatically loaded.
  • A modification of the OQL in a template OQL Query has no effect on Notifications which in the past, have used that OQL Query as source. Those notifications keep the old version of the query.

User management

The following modifications was made in order to prevent admins or users to commit suicide.

  • A user allowed to acces the backoffice cannot add to his own user account a “Portal profile” or any other profile which would prevent him to access the backoffice anymore. If this account needs to be modified this has to be done using another user account.
  • A user cannot disable his own account

  • A user cannot remove the contact linked to his own user account.
  • A user cannot remove the profile allowing him to edit users accounts. He needs to keep at least one profile allowing him to edit users accounts.

  • A user cannot delete his own account.

  • If a user has at least one allowed organization, then its contact must have his organization in the list of the user's allowed orgs.



In CLI mode the JSON data structure can now be put in a separate file and in the command line, you just provide the path of the file, like this json-data@<path>.


  • Monitoring: allow to monitor itop status without any authentication via http


Set colors on enum values

Create your own theme

  • With iTop 3.0 it's even easier to define your own iTop theme, on top of the existing one or in place.
  • Every user can select the theme he wants, among those installed.

Enrich object friendlyname

Sometimes a friendlyname is not enough to differentiate 2 objects, especially when you want to select it within a drop-down list. In order to cope with this, iTop 3.0 brings a new concept, a long friendlyname, which displays more information.

New methods on DBObject

We have added 2 new methods on DBObjects, available on all classes (mainly useful for XML developers and ITSM Designer users to modify attributes on transitions without coding): SetCurrentDateIfNull and AddValue

Check that new page for details on methods available, usable as action on transitions.

Enum values edition

FIXME Not sure this is included in 3.0, to be checked again !!!

It's now possible to remove existing values of an Enum attribute within the datamodel (with an extension or in the ITSM Designer), without issue during the Setup/MTP, even if some records are still using those values which need to be removed.

  • If an object is using a no more allowed value, in read view, that old value will be visible.
  • But in modification, as it is not an allowed value, the user editing the object will be forced to change it (assuming that field is editable for him, otherwise the old value is kept)
  • If a CSV import tries to update other fields than the enum on an object using a no more allowed values, it should work, letting the obsolete value unchanged (To be check FIXME)
  • It is not possible using the standard iTop search to retrieve object having an old value for that enum, it can only be done by OQL.
  • The advantage of this new mechanism is to change values of an Enum in a single Setup/MTP.
  • Once you have migrated the data to the new values, the next setup will change the database schema on that field to limit it to what the datamodel requires, but before that, it uses the datamodel requirement combined with the used values.
  • Limitation If you have a Datasynchro with replicas using old values for that enum, then it won't work!

Log calls to deprecated files / PHP methods

A new log file is added in 3.0.0 : log/deprecated-calls.log.

This will contains logs of calls to deprecated files or PHP methods, and will help developers to migrate their code. Actually parts of the iTop API marked with @deprecated are usually removed in the next iTop major version : ie a method marked as @deprecated in iTop 3.0.0 will certainly be removed in iTop 3.1.0.

By default those logs are disabled, but you can enabled them using the log_level_min config parameter for the appropriate log channels. Also, the logger will have a different behavior if used on a GitHub clone.

See the corresponding documentation for reference.

Compilation process changes

Themes precompilation at wizard setup

This feature is an optimization of the setup to spare significant time with themes (about 30 seconds per theme).

for more details see theme precompilation.

New developer_mode.enabled config parameter

Some iTop behaviors intended for extensions and core developers are triggered by the \utils::IsDevelopmentEnvironment method : Twig cache reset, setup symlinks, DeprecatedCallsLog, …

This method was returning true only for Github clones.

Now the new developer_mode.enabled config parameter allows to control the method returned value : if the parameter has a boolean value then it will be used as the method return value, otherwise the existing behavior will be kept.
Default config parameter value is null so that nothing changes unless an explicit value is set.

This option is available only if both following conditions are met :

  • we are running on a dev environment (either you got the iTop package from GitHub or you set the configuration parameter developer_mode.enabled to true) and if the file data/.compilation-symlinks exists
  • the symlink PHP function is available

If the setup is launched in such environnement,a new option is added in the setup, in the “Miscellaneous Parameters” wizard step. A generate symlinks options checked is displayed.

If the option is checked,it will keep the file data/.compilation-symlinks to remember this choice.

This option will be used whenever a client (ITSM Designer connector, Hub connector, custom script calling RuntimeEnvironment, …) doesn't set a true or false value for the useSymLinks parameter : if the file is present then compilation will generate symlinks.

This is a gain for extension developers : if you are developping using the toolkit with the symlinks option, and if you need to launch the setup, you will get directly symlinks. Before it was mandatory to compile again using the toolkit to get the symlinks back.

3_0_0/release/3_0_whats_new.txt · Last modified: 2021/08/23 16:26 (external edit)
Back to top
Contact us