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
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 asArchived
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
andContact
. 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
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)
Mass archive or unarchive actions sends to a confirmation screen :
You can also do it on a single ticket details screen, using the Actions menu:
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.
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
as
well, meaning that they aren't visible anymorein Archive mode
Any user can toggle the 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
-
An attribute referencing an
archived
object is clickable:
If you desactivate archive mode
while you are on an
archived object:
you get again the feedback message