Archivage des tickets #18

Closed
opened 2021-06-14 14:41:02 +02:00 by l4p1n · 5 comments
l4p1n commented 2021-06-14 14:41:02 +02:00 (Migrated from gitlab.l4p1n.ch)

Réf. #8.

J'ai parlé d'un possible nice to have qui serait d'avoir la possibilité de générer une archive contenant l'historique de la conversation entre plusieurs parties prenantes.

Nouvelles tables

  • Messages relatifs aux tickets histoire de ne pas embêter Discord pour aller piocher des messages à répétition (à étudier)
    • ID message
    • ID channel (ref. à la table des tickets)
    • Contenu des messages chiffré avec Chacha20Poly1305
    • Créé le
  • Pièces jointes
    • ID pce jointe
    • ID message lié
    • Nom du fichier
    • Chemin sur le système de fichiers
    • Créé le

Nouvelles colonnes

  • Configuration
    • ? Activation de la génération d'archives automatiques
  • Tickets
    • Fichier d'archive

Comportements à modifier

Le bot ne devrait plus effacer un channel mais le rendre lecture-seule pour le demandeur avec un lien vers l'archive de la conversation

Nouvelles pages sur le site internet

  • ? Pouvoir télécharger une archive

Considérations et incertitudes à étudier

  • Délai de rétention du contenu des tickets en bdd (30 jours)
Réf. #8. J'ai parlé d'un possible *nice to have* qui serait d'avoir la possibilité de générer une archive contenant l'historique de la conversation entre plusieurs parties prenantes. ## Nouvelles tables - Messages relatifs aux tickets histoire de ne pas embêter Discord pour aller piocher des messages à répétition (à étudier) - ID message - ID channel (ref. à la table des tickets) - Contenu des messages chiffré avec Chacha20Poly1305 - Créé le - Pièces jointes - ID pce jointe - ID message lié - Nom du fichier - Chemin sur le système de fichiers - Créé le ## Nouvelles colonnes - Configuration - ~~? Activation de la génération d'archives automatiques~~ - Tickets - Fichier d'archive ## Comportements à modifier Le bot ne devrait plus effacer un channel mais le rendre lecture-seule pour le demandeur avec un lien vers l'archive de la conversation ## Nouvelles pages sur le site internet - ? Pouvoir télécharger une archive ## Considérations et incertitudes à étudier - Délai de rétention du contenu des tickets en bdd (30 jours)
l4p1n commented 2021-06-14 18:27:19 +02:00 (Migrated from gitlab.l4p1n.ch)

changed the description

changed the description
l4p1n commented 2021-07-04 01:17:50 +02:00 (Migrated from gitlab.l4p1n.ch)

Une solution assez radicale et directe a été proposéede multiples fois: sortir les messages et les mettre dans un payload JSON.

Basé là-dessus, est-ce qu'on ajoute les fichiers joints avec ? Je ne pense pas.

Une solution assez radicale et directe a été proposéede multiples fois: sortir les messages et les mettre dans un payload JSON. Basé là-dessus, est-ce qu'on ajoute les fichiers joints avec ? Je ne pense pas.
l4p1n commented 2021-07-17 00:34:37 +02:00 (Migrated from gitlab.l4p1n.ch)

Une autre solution serait de créer un fichier texte contenant la conversation avec des références vers les fichiers joints.

Le format qui passe en tête serait le suivant:

# Informations sur le ticket:
Ouvert par: Personne#0000
Ouvert: 2021-07-17 00:01
Fermé: 2021-07-17 00:40

---

2021-07-17 00:20 - Personne#0000 dit:
Bla bla bla mettre un peu de texte

---

2021-07-17 00:23 - Personne 2#0000 dit:
Encore un peu de texte pour répondre au premier avec un fichier attaché

<Fichier attaché: un-fichier-attaché.png>

---

2021-07-17 00:25 - Personne 2#0000 dit:
Encore un peu de texte pour répondre au premier avec un fichier attaché

<Fichier attaché: un-fichier-attaché.png>

Si plusieurs fichiers sont attachés, on peut lister le <Fichier attaché: ...>.

Le format de l'archive serait le suivant:

  • messages.txt
  • messages.json
  • Fichiers attachés
    • Date - heure - ID du message (ex. 2021-07-16 0045 01234567890123)
      • Fichier 1.png
      • Fichier 2.png

Maintenant, il y a quelque chose dont la prise en charge ne sera pas là: les embeds. Pour le moment, c'est pas au programme du jour puisque les personnes avec un compte normal ne peuvent pas envoyer d'embeds.

Bien sûr, avec les fichiers attachés, le dossier compressé qui résulterait de l'opération d'archivage peut devenir assez gros. Pour l'instant, ce dernier aurait un lien vers le fichier compressé dont le nom serait aléatoire et unique (c'est un petit peu l'idée hein). Exemple, UUID version 4

Une autre solution serait de créer un fichier texte contenant la conversation avec des références vers les fichiers joints. Le format qui passe en tête serait le suivant: ``` # Informations sur le ticket: Ouvert par: Personne#0000 Ouvert: 2021-07-17 00:01 Fermé: 2021-07-17 00:40 --- 2021-07-17 00:20 - Personne#0000 dit: Bla bla bla mettre un peu de texte --- 2021-07-17 00:23 - Personne 2#0000 dit: Encore un peu de texte pour répondre au premier avec un fichier attaché <Fichier attaché: un-fichier-attaché.png> --- 2021-07-17 00:25 - Personne 2#0000 dit: Encore un peu de texte pour répondre au premier avec un fichier attaché <Fichier attaché: un-fichier-attaché.png> ``` Si plusieurs fichiers sont attachés, on peut lister le `<Fichier attaché: ...>`. Le format de l'archive serait le suivant: - messages.txt - messages.json - Fichiers attachés - Date - heure - ID du message (ex. `2021-07-16 0045 01234567890123`) - Fichier 1.png - Fichier 2.png Maintenant, il y a quelque chose dont la prise en charge ne sera pas là: les embeds. Pour le moment, c'est pas au programme du jour puisque les personnes avec un compte normal ne peuvent pas envoyer d'embeds. Bien sûr, avec les fichiers attachés, le dossier compressé qui résulterait de l'opération d'archivage peut devenir assez gros. Pour l'instant, ce dernier aurait un lien vers le fichier compressé dont le nom serait aléatoire et unique (c'est un petit peu l'idée hein). Exemple, UUID version 4
l4p1n commented 2021-07-17 14:32:02 +02:00 (Migrated from gitlab.l4p1n.ch)

changed the description

changed the description
l4p1n commented 2021-07-18 11:47:17 +02:00 (Migrated from gitlab.l4p1n.ch)

Quelques trucs à ajouter, vu durant le live du 17/07/2021.

Les messages ont des objets Attachment, comme anticipé.

Par contre, il y a des éléments qui peuvent venir changer la structure des tables :

  • Un attachment a un ID unique généré par Discord
  • Un attachment a l'URL du fichier vers le CDN. On pourrait optionnellement télécharger le fichier et le stocker chiffré. La question qui se poserait est la durabilité du fichier sur le CDN de Discord. Après quelques recherches, il semblerait que le fichier sur le CDN pourrait être considéré comme permanent et que l'URL suffise.
Quelques trucs à ajouter, vu durant le live du 17/07/2021. Les [messages](https://discord.com/developers/docs/resources/channel#message-object) ont des objets [Attachment](https://discord.com/developers/docs/resources/channel#attachment-object), comme anticipé. Par contre, il y a des éléments qui peuvent venir changer la structure des tables : - Un attachment a un ID unique généré par Discord - Un attachment a l'URL du fichier vers le CDN. On pourrait optionnellement télécharger le fichier et le stocker chiffré. La question qui se poserait est la durabilité du fichier sur le CDN de Discord. Après quelques recherches, il semblerait que le fichier sur le CDN pourrait être considéré comme permanent et que l'URL suffise.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: l4p1n-bot/bot-rust#18
No description provided.