Sauvegarde et journal 4D server

Bonjour à tous

J’aimerais savoir 2 choses :

  1. Est ce que 4D propose (coté serveur) un moyen de faire une
    sauvegarde d’une seule table (et non de toute la base) ?
  2. Est-ce qu’un journal est également disponible ? J’entends par
    journal un truc du genre :

utilisateur - action - table - champ - date - heure
NomUser - Modification enregistrement - nomTable - Champ1 - 22/08/17

  • 10:00

J’ai vu que c’était disponible dans l’interface de développement, mais existe-t-il le même genre de fonctionnalité déja prévu ou est-ce au développeur de créer quelque chose ?

Pour l’instant, c’est juste à titre informatif, je ne vais pas mettre en place tout de suite.

D’avance merci de vos réponse

Bonjour Bastien

Oui un journal est disponible (avec tout ce que tu désires, voir image) mais tout a été remanié en v16 et Add Komoncharoensiri a fait une note technique avec une base que j’ai remaniée, traduite en français et déboguée. Me contacter en privé

voici le résultat (mais en v16 hein …, dis à ton patron d’upgrader pour en profiter ! )

[]20400478;“analyseur historique”[/]

Hervé

Excellent :smiley:
Merci Hervé. Oui mais c’est pas que pour le boulot, c’est aussi pour du personnel.
Je te contact en privé pour avoir des infos

Bonjour Mimosa,

Je suis aussi intéressé par ta base. Peux-tu me l’envoyer en mp ?

Bien à toi

Patrick

Sur le point 1)…
Pour moi la réponse est : hélas non. Voir ce que fait 4D backup avant de sauvegarder : clore les transactions ouvertes puis interdire les opérations d’écriture dans la base le temps d’exécuter la copie de sauvegarde. Tant que 4D ne nous offre pas de commande pour contrôler cela, on en est réduit à faire des copies de données en priant pour qu’aucune opération ne les modifie pendant le temps que ça dure. Si tu es prêt à accepter cet aléa, et que ta table n’a pas de champ objet, tu peux utiliser http://doc.4d.com/4Dv16/4D/16.1/SQL-EXPORTER-SELECTION.301-3374851.fr.htmlsql exporter selection> qui est très rapide.

D’accord. Merci pour l’information Arnaud :slight_smile:

Bjr Hervé
Merci de me préciser comment je peux récupérer la base
bonne journée

Il faut comprendre que si la journalisation dans un historique trace TOUTES les modifications apportées à la base de données dans le but de revenir en arrière à un certain moment, un effet pervers ou souhaitable est que ce MÊME journal permet par la même occasion de VOIR toutes ces modifications !

le lien vers la base d’analyse est là :

<https://drive.google.com/open?id=0B4Ih5z6yzbK_N1VacDExalI2YU0

Et regardez les photos d’écran pour voir comment on peut filtrer l’analyse sur une période, une table, un utilisateur, une suppression et dans le cas d’une modification, les champs impactés.

[]22790949;“choix période, table et utilisateur”[/]

[]22790951;"Examen d’une fiche[/]

Il faut comprendre que si la journalisation dans un historique trace TOUTES les modifications apportées à la base de données dans le but de revenir en arrière à un certain moment, un effet pervers ou souhaitable est que ce MÊME journal permet par la même occasion de VOIR toutes ces modifications !

le lien vers la base d’analyse est là :

https://drive.google.com/open?id=0B4Ih5z6yzbK_N1VacDExalI2YU0

Et regardez les photos d’écran pour voir comment on peut filtrer l’analyse sur une période, une table, un utilisateur, une suppression et dans le cas d’une modification, les champs impactés.

Choix d’une période, une table et un utilisateur :

[]22790984;“Your comment here…”[/]

Examen en détail d’une fiche modifiée :

[]22791003;“Your comment here…”[/]

merci hervé, je regarde ca

j’ai téléchargé, j’ai regardé et ca n’a pas marché
certainement parce que je n’exploite aucune base en v16.
Est ce qu’il existe encore la base 4D compatible V13-v14 et v15 ?
Tu ecris avoir retouché une base 4D que tu rendu compatible v16, c’est que tu as du partir sur une base plus ancienne ?
Me tromperais je ?
Merci encore car de ce que je vois dans tes photos, c’est exactement ce qu’il me faut

Comme je l’ai dit (mais c’est partagé entre ce fil et un autre), ce n’est qu’à partir de la v16 quand 4D a totalement changé la nature de la journalisation en utilisant les objets.

Je suis parti d’une base en v16 (lire le texte accompagnant la base dans l’archive à télécharger), rien pour les versions précédentes et ce serait une simple perte de temps et d’argent (c’est-à-dire gabegie)

Question: la commande FICHIER HISTORIQUE VERS JSON fonctionne-t-elle à partir d’un poste client ?
J’ai récupéré l’archive mais j’ai pas trouvé de texte accompagnant la base :?: :cry:

LOG FILE TO JSON is just a binary-to-text converter, to make the journal file human-readable.

you can use it on any journal file, even if it does not belong to the current database.

you can use it on the client or a desktop (mono).

what you can’t do unless on the server, is to integrate that journal file to the database.

http://doc.4d.com/4Dv16/4D/16.3/INTEGRER-FICHIER-HISTORIQUE-MIROIR.301-3652181.fr.htmlINTEGRER FICHIER HISTORIQUE MIROIR>

Strange ? I try to use this code on a client:

<code 4D>
$tailleSegment:=1024100010 // segments de 10 MB par défaut (comme 4D)
$nomSegment:=“segment”

$targetFolder:=Dossier système(Bureau)+“Historique”+Séparateur dossier

Si (Tester chemin acces($targetFolder)#Est un dossier)
CRÉER DOSSIER($targetFolder) // Constructing the target path and making sure that the History folder exists
Fin de si

$targetFolder:=$targetFolder+$nomSegment

Si (Tester chemin acces($targetFolder)#Est un dossier)
CRÉER DOSSIER($targetFolder) // Create the target folder inside the History folder
Fin de si

FICHIER HISTORIQUE VERS JSON($targetFolder;$tailleSegment) // Exporte l’historique courant avec les numéros des champs

</code 4D>

but nothing happen ? no error message but no file generate…

I think you need to use the 3-arg syntax in that case…

So the command can’t be use to export current journal file from the server on a client ? :twisted:

FYI the same code works fine if I execute it on the server side.