Sidebar

Combodo

iTop Extensions

Data archiver

🤦 🤦 🤦 Combodo's customers restricted from version 2.0.0 😎 😎 😎

name:
Data archiver
description:
Automatically archive tickets (and other objects) based on predefined rules
version:
2.0.0
release:
2022-09-28
diffusion:
iTop Hub, ITSM Designer
code:
combodo-archive-manual
alternate-name:
Archive tickets
php-version-max:
PHP 8.1
iTop is getting slow due to a high volume of tickets?
You would like to get rid of them, but… what if a customer claims for an old ticket?
Install this extension and you will gain performance, without loosing data.

Features

Improve performance when searching for a Ticket, if your outdated Tickets represent much more than the active ones, but cannot be deleted.

  • Allow administrators and Archiving Agent to bulk flag outdated Tickets as Archived based on Archiving rules
  • Hide Archived Tickets to all users most of the time, as if they were deleted.
  • But still enable them to retrieve Archived Tickets if needed.

Can be used to archive other classes of objects as well, if needed.

Revision History

Release Date Version Comments
2022-09-28 2.0.0 - Add automatic archiving based on rules
- New background Task AutoArchiver
- New profile Archiving Agent for Archiving delegation
2022-02-09 1.0.3 Add language dictionaries
2018-06-26 1.0.2 Spanish translation
2017-11-02 1.0.1 First published version

Limitations

  • With iTop version below 3.0.1 included, it is not possible to archive object from classes other than Tickets, FunctionalCI, Document and Contact. Express differently only classes with children classes can be archived.
    With iTop 3.0.2 and above this limitation does not exist anymore.
  • Bulk archive/unarchive does not record the change in the object change history, whereas archiving/unarchiving a single object does record the information in the change tracking.
  • There is no mean to catch the archiving nor unarchiving of an object and act on this event. This limitation is removed by iTop 3.1.0.

Installation

Use the Standard installation process for this extension.

Configuration

$MyModuleSettings
      'combodo-archive-manual' => array (
                'week_days' => 'monday, tuesday, wednesday, thursday, friday, saturday, sunday',
                'time' => '03:00',
                'enabled' => true,
                'debug' => false,
                'max_buffer_size' => '1000',
        ),

The following settings are available to configure the module:

Parameter Type Description Default Value
week_days string Coma separated weekdays when the batch process should run. monday, tuesday, wednesday, thursday, friday, saturday, sunday
time hour:minute Time of the day, when the process should start. 03:00
enabled boolean Should the process run? true
debug boolean Should the CRON log be enrich with debug information? false
max_buffer_size integer Added in 2.0 - How many objects are archived at the same time 1000

The buffer size should be adapt to ensure that other tasks such as Notifications can be perform even if there is a huge backlog of objects to archive according to a recently created archiving rule for eg.

To check the status of this service, use the command:

php webservices/cron.php --auth_user=user --auth_pwd=password --status_only=1

The task AutoArchiver will not be listed here if the CRON has not run at least once since the extension has been installed.

Usage

Administrator experience

Automatic archiving

For administrators and users with a profile allowed to modify the class ArchivingRule (eg, profile Archiving Agent with id 52), a new menu is proposed under “iTop configuration”, called Archiving rules.

This menu allow to visualize Archiving Rule, and to create one:

  • Give it any Name you like,
  • Define the Class on which the rule will be applied,
  • Define an optional History entry which will be added to the history of the objects which are archived automatically, No history, it's a choice for performance.
  • Choose an Applied option by filling the fields either in …option 1 (simple) or in …option 2 (advanced) fieldset.
    • Define the Archiving status: enum code - optional
    • Define the Archiving state: only objects in this state are in scope, - optional,
    • Define the Date to check - mandatory for simple option
    • Define the Auto-archive delay in months(by default: 12 months): only objects with a date to check older than this delay are in scope - mandatory for simple option

Or

  • Define the OQL scope with an OQL query returning the objects to archive.

Manual archiving

When you have deployed this extension, then Tickets objects can be bulk-archived (and unarchived) by administrators only.

Search for the Tickets that you want to Archive and from that list, open the Actions menu. Below two possibilities, in standard mode (only mass archive action available) and in archive mode (both mass archive and unarchive actions available)

 Archive manual standard mode menu  Archive manual archive mode menu

Mass archive or unarchive actions sends to a confirmation screen :

 Archive manual confirmation

You can also do it on a single ticket details screen, using the Actions menu:

 Archive single

Both single object archive and unarchive actions are done without confirmation.
Archiving an object requires to have write access on that object.

FYI: Archiving 23 000 Tickets out of 27 000, took 4 seconds on a test machine

End User experience

In standard mode

All archived objects are hidden, for all users including admins, like if they were deleted.

A reference to their friendly name can be found in other objects pointing to them. Example on an archived contact which is the caller of a non-archived Change.
Toggling menu As you can see the link is inactive, you can't open the caller details.

In the history of other objects to which they are or were linked, you just get the id of that archived object:

If you try to open the details of that archived object using a bookmarked url or building the url like this: http://myitop/pages/UI.php?operation=details&class=Person&id=11&

Then you will get a message like this one:

Archived object not visible

When an object is archived, all its n:n linkages to other objects are archived as well, meaning that they aren't visible anymore

in Archive mode

Any user can toggle the archive mode: Activate archive mode

  • In archived mode, you have a orange tag to remind you that you have activated it.
  • All objects are read-only
  • Archived objects are visible and tagged as archived

Archived object visible

  • An attribute referencing an archived object is clickable:

External Key to an archived object in archived mode

If you desactivate archive mode while you are on an archived object:

you get again the feedback message

Archived object not visible

extensions/archive_manual.txt · Last modified: 2024/12/20 10:40 by 127.0.0.1
Back to top
Contact us