Archiving
Purpose: Improve search performance when your outdated data start to represent much more than the active ones.
Enabling Archiving
It is not enabled by default on any class. It can be activated
only on root
classes in the Data
Model, classes such as FunctionalCI
,
Person
, Ticket
. See the XML reference for
details.
<classes> <class id="Ticket"> <properties> <archive _delta="define"> <enabled>true</enabled> </archive> </properties> </class> </classes>
Allowing objects of a class to be archived has no direct impact on the user interface, until a module provides the capability to archive and unarchive an object.
If you want to archive every ticket closed and older than two years, then a module can be developed to do this. This module does not yet exist.
API for an archiving module
DBSearch::DBBulkArchive() DBSearch::DBBulkUnarchive() DBSearch::DBBulkWriteArchiveFlag.
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&
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
You 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