User Tools

Site Tools

:: Version 2.5.0 ::

2_5_0:feature:archiving

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

2_5_0:feature:archiving [2018/12/19 11:40]
2_5_0:feature:archiving [2018/12/19 11:40] (current)
Line 1: Line 1:
 +====== 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.
 +
 +<code XML>
 +  <​classes>​
 +    <class id="​Ticket">​
 +      <​properties>​
 +        <archive _delta="​define">​
 +          <​enabled>​true</​enabled>​
 +        </​archive>​
 +      </​properties>​
 +    </​class>​
 +  </​classes>​
 +</​code>​
 +
 +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.
 +
 +<note tip>​Deploy the module [[extensions:​archive_manual|Simple Data Archiver]] to enable the archiving of **Ticket** and the capability for admin to manually archive old tickets</​note>​
 +
 +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 ===
 +
 +<code PHP>
 +  DBSearch::​DBBulkArchive()
 +  DBSearch::​DBBulkUnarchive()
 +  DBSearch::​DBBulkWriteArchiveFlag.
 +</​code>​
 +
 +====== 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. \\
 +{{:​2_5_0:​feature:​archiveexternalkey.png?​nolink&​300|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:
 +{{:​2_5_0:​feature:​archivehistoryexternalkey.png?​nolink&​600|}}
 +
 +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&​
 +
 +{{:​2_5_0:​feature:​archivedobjectinnormalmode.png?​nolink&​800|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 ====
 +
 +You can toggle the archive mode: {{:​2_5_0:​feature:​archivetogglemenu.png?​nolink&​200|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''​
 +
 +{{:​2_5_0:​feature:​archivedobjectinarchivemode.png?​nolink&​500|Archived object visible}}
 +
 +  * An attribute referencing an ''​archived''​ object is clickable:
 +
 +{{:​2_5_0:​feature:​archiveexternalkeyinarchivemode.png?​nolink&​300|External Key to an archived object in archived mode}}
 +
 +
 +If you ''​desactivate archive mode''​ while you are on an archived object:
 +{{:​2_5_0:​feature:​archivetogglemenudesactivate.png?​nolink&​200|}}
 +
 +you get again the feedback message
 +
 +{{:​2_5_0:​feature:​archivedobjectinnormalmode.png?​nolink&​800|Archived object not visible}}
 +
  
2_5_0/feature/archiving.txt ยท Last modified: 2018/12/19 11:40 (external edit)

";