Ceci est la suite du post précédent sur le nettoyage des liens.
En cas de suppression d’un objet, quels liens doit-on garder ?
Il faut déjà évidemment garder le lien de type d
, celui qui marque la suppression de l’objet. Sans ce lien, la propagation de la suppression ne sera pas assurée, et donc l’objet ne sera pas supprimé sur tous les emplacements. Si il est encore présent sur un emplacement connu, il risque d’être téléchargé de cet emplacement et donc en quelque sorte restauré. Ce lien doit être gardé « à vie ».
Il faut garder les liens de type u
, c’est à dire voir quel(s) objet(s) est mise à jour l’objet supprimé. Il est préférable dans une chaîne de mises à jours de créer un nouveau lien qui court-circuite l’objet supprimé au milieu de la chaîne.
Il faut garder les liens de type e
, les définitions d’équivalences.
Il faut supprimer tous les liens dont on est pas le signataire. Il n’y a pas de raison de garder les liens des autres entités. Les autres entités s’occuperont de leurs liens.
Il faut garder les liens de type k
, correspondant au chiffrement. Lors du chiffrement d’un objet, on définit explicitement la suppression de l’objet originel pour ne garder que son dérivé chiffré.
Il faut supprimer les liens de type s
, ce qui défini les subdivisions de l’objet. Cet objet n’est plus utilisable pour la récupération de morceaux. Et si il est recréé, les liens de type s le seront aussi naturellement, si besoin.
Jusque là , ça paraît suffisant. Mais que se passera-t-il le jour où, pour quelque raison que ce soit, l’objet venait à être réutilisé (volontairement) ?
Faut-il garder tous les liens de type l
et f
? Faut-il n’en garder qu’une partie?
Il faut aussi nettoyer les liens qui ont fait l’objet d’une suppression avec un lien de type x
. Et il faut garder chaque derniers liens de type x
. Ainsi, en cas de restauration de l’objet, les liens supprimés ne pourront être restaurés aussi.
Si c’est une suppression liée à un chiffrement, on doit garder tous les liens de type l
et f
. Ces liens sont nécessaires puisque l’objet à de bonnes chances d’être déchiffré un jour par le destinataire.
Dans les autres cs, c’est ambigu. Par défaut il vaut mieux garder tous les liens l
et f
.
Dans le cas d’un serveur que l’on ne maîtrise pas ou qui est mutualisé, la suppression d’un objet doit être marqué par toutes les entités. On ne peut pas supprimer un objet tant qu’une entité l’utilise encore. On entre là dans une forme de gestion en groupe.