Projet

Général

Profil

Actions

Amélioration #5792

fermé

setter le nom logique sur toutes les révisions

Ajouté par Matthieu Codron il y a plus de 10 ans. Mis à jour il y a plus de 10 ans.

Statut:
Intégré
Priorité:
Normal
Assigné à:
Version cible:
Début:
02/10/2015
Echéance:
% réalisé:

100%

Temps estimé:
Version source:
Solution proposée:

Corriger la méthode Doc::setLogicalName() pour affecter le nom logique sur les révisions passées.

Produire un script de migration qui affectera les noms logiques pour les révisions passées des documents vivants ayant un nom logique.

Principaux fichiers impactés:
Wiki Détail:
Contrôle:

Description

lorsqu'on sette un nom logique, ce nom logique est posé sur la révision courante.
Ensuite, le nom logique est recopié sur les révisions suivantes lors de la révision du document. Ainsi, le nom logique est valué à partir d'une certaine révision…
Il serait plus sain de valuer le nom logique pour les anciennes révisions également, rendant le comportement de #5788 prédictible (toutes les révisions sont converties vers la dernière) alors que là, les révisions postérieures à l'attribution du nom logique sont converties vers la dernière révision alors que les révisions antérieures sont "perdues")


Demandes liées 1 (0 ouverte1 fermée)

Lié à Core - Anomalie #5788: export des documents, noms logiques et documents révisésIntégréÉric Brison01/10/2015

Actions

Mis à jour par Matthieu Codron il y a plus de 10 ans

Pour historique, voici un script sql qui reporte le nom logique le plus récent sur toutes les révisions

UPDATE doc SET name = i.name
FROM doc AS i
WHERE i.name IS NOT NULL
AND i.name != ''
AND i.revision > 0
AND i.initid = doc.initid;

Mis à jour par Marc Claverie il y a plus de 10 ans

  • Statut changé de Nouveau à À analyser
  • Assigné à mis à Éric Brison
  • Version cible mis à 3.2.21

Mis à jour par Éric Brison il y a plus de 10 ans

  • Statut changé de À analyser à Analysé
  • Assigné à Éric Brison supprimé
  • Solution proposée mis à jour (diff)

Mis à jour par Éric Brison il y a plus de 10 ans

  • Statut changé de Analysé à Assigné
  • Assigné à mis à Éric Brison

Mis à jour par Éric Brison il y a plus de 10 ans

Attention au code sql fourni qui peut reporter des noms logiques depuis la poubelle.
Voici un code plus sûr :

update doc set name=docread.name from docread where
docread.name is not null and
doc.name is null and
doc.initid = docread.initid and
doc.doctype != 'Z' and
docread.locked != -1

De plus il faut exécuter un wsh --api=cleanContext après une telle manipulation car les références aux noms logiques doivent être recalculées.

Mis à jour par Éric Brison il y a plus de 10 ans

  • % réalisé changé de 0 à 100

Mis à jour par Éric Brison il y a plus de 10 ans

  • Statut changé de Assigné à Intégré

Appliqué par commit dynacase-core|commit:9092b8af792cd1fa939694140024317cbf3260d0.

Actions

Formats disponibles : Atom PDF