Disparitions et modifications d'événements
Les actions réalisées sur les événements de calendriers (création, modification, suppression) sont loguées sur le serveur dans le répertoire /var/log/bm/audit
dans des fichiers correspondant chacun à un calendrier.
Les noms des fichiers sont de la forme audit-<uid du calendrier>@domaine.log
Par exemple, le fichier correspondant au calendrier par défaut de l'utilisateur John Doe sur notre serveur de démonstration se nomme : audit-calendar:Default:9E3C96CA-2E46-41A9-9E88-D774F9DFBBA5@bluemind.loc.log
Lorsque l'on connaît l'identifiant d'un utilisateur, il est possible d'obtenir son uid grâce à l'outil bm-cli directement sur le serveur :
# bm-cli user get --display=uid jdoe@bluemind.loc
{"uid":"0346FECF-47EA-441C-A419-EFB34F98B955"}
Lorsque l'on a un uid et que l'on souhaite savoir à quel utilisateur il correspond, il suffit de rechercher cet uid dans l'administration des utilisateurs :
Les noms de fichiers listés dans le répertoire peuvent sembler de forme différente. Par exemple, le listing ci-dessous :
ls -l
total 12980
drwxr-xr-x 2 root root 12288 janv. 11 14:46 ./
drwxr-xr-x 3 root root 4096 janv. 4 17:36 ../
-rw-r--r-- 1 root root 640 nov. 9 14:35 audit-2C0728BF-770D-4C2B-8365-AC1B168EE427@bluemind.loc.log
-rw-r--r-- 1 root root 2712 janv. 11 14:33 audit-8DEEA368-C34F-4F94-B711-0967C4460584@bluemind.loc.log
-rw-r--r-- 1 root root 311419 déc. 21 11:57 audit-calendar:079FC452-5725-4F50-B606-6EEEDA8BCDBF@bluemind.loc.log
-rw-r--r-- 1 root root 660 nov. 6 15:43 audit-calendar:ADC181A0-4124-42D8-BB92-4AF9031B3C46@bluemind.loc.log
-rw-r--r-- 1 root root 670 nov. 13 09:22 audit-calendar:Default:09F20F61-1904-4872-8B12-552693652163@bluemind.loc.log
-rw-r--r-- 1 root root 671 déc. 20 16:36 audit-calendar:Default:0C905A1A-D337-4208-8804-2B00EFA3FE2B@bluemind.loc.log
...
Cela est dû au fait que :
- la chaîne
calendar:
est incluse dans les uid des calendriers par défaut des utilisateurs et ceux de ressources - la chaîne
Default:
est incluse dans l'uid des calendriers par défaut des utilisateurs
Ainsi, le nom de fichier permet d'identifier :
audit-XYZ123
: un calendrier secondaire d'utilisateur ou un calendrier de domaineaudit-calendar:XYZ123
: un calendrier de ressourceaudit-calendar:Default:XYZ123
: un calendrier par défaut d'utilisateur
Recherche grâce à bm-cli
L'outil en ligne de commande bm-cli permet un filtrage et un affichage plus clair du contenu des fichiers logs.
La commande de base permettant d'afficher la liste de tous les événements contenus dans un fichier de log est :
bm-cli calendar log <fichier>
Par exemple :
bm-cli calendar log audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| Info | Event | Calendar |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| 2022-11-18T09:01:35.064 | | { |
| 655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal | | "id" : 52, |
| create | | "uid" : "calendar:Default:655C382F-5197-4A64-A70F-71010EECAB3F", |
| SUCCESS | | "type" : "calendar", |
| 31a2b344-c933-4c52-a3b0-016c2de13711 | | "name" : "John Doe", |
| bm-webserver-authfilter | | "owner" : "655C382F-5197-4A64-A70F-71010EECAB3F", |
| Send-Notification:true | | "createdBy" : "system", |
| | | "updatedBy" : "system", |
| | | "created" : 1665475636451, |
| | | "updated" : 1665475636451, |
| | | "domainUid" : "734ea413.internal", |
| | | "defaultContainer" : true, |
| | | "readOnly" : false |
| | | } |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
Sans filtre, cette commande peut s'avérer très verbeuse car elle va afficher TOUS les événements du fichier log. Plusieurs options permettent donc de rechercher des événements et filtrer le retour de la commande :
-
--data
: affiche le détail des données d'un événement, nettoyées et indentées.
Par exemple :+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+
| 2022-12-19T15:35:33.603 | { | { |
| system@global.virt | "main" : { | "id" : 52, |
| create | "dtstart" : { | "uid" : "calendar:Default:655C382F-5197-4A64-A70F-71010EECAB3F", |
| SUCCESS | "iso8601" : "2022-12-22T09:00:00.000+01:00", | "type" : "calendar", |
| a6238878-66b5-4152-9320-701da924fa44 | "timezone" : "Europe/Paris", | "name" : "John Doe", |
| bm-webserver-authfilter | "precision" : "DateTime" | "owner" : "655C382F-5197-4A64-A70F-71010EECAB3F", |
| | }, | "createdBy" : "system", |
| | "summary" : "déplacement du jeudi", | "updatedBy" : "system", |
| | "classification" : "Public", | "created" : 1665475636451, |
| | "location" : null, | "updated" : 1665475636451, |
| | "description" : null, | "domainUid" : "734ea413.internal", |
| | "priority" : 5, | "defaultContainer" : true, |
| | "alarm" : [ { | "readOnly" : false |
| | "action" : "Display", | } |
| | "trigger" : -900, | |
| | "description" : null, | |
| | "duration" : null, | |
| | "repeat" : null, | |
| | "summary" : null | |
| | } ], | |
| | "status" : "Confirmed", | |
| | "attendees" : [ { | |
| | "cutype" : "Individual", | |
| | "member" : null, | |
| | "role" : "RequiredParticipant", | |
| | "partStatus" : "NeedsAction", | |
| | "rsvp" : true, | |
| | "delTo" : null, | |
| | "delFrom" : null, | |
| | "sentBy" : null, | |
| | "commonName" : "John Doe", | |
| | "dir" : | |
| | "bm://734ea413.internal/users/655C382F-5197-4A64-A70F-71010EECAB3F", | |
| | "lang" : null, | |
| | "mailto" : "jdoe@dev.bluemind.net", | |
| | "uri" : null, | |
| | "internal" : true, | |
| | "responseComment" : null, | |
| | "counter" : null | |
| | } ], | |
| | "organizer" : { | |
| | "uri" : null, | |
| | "commonName" : "John Smith", | |
| | "mailto" : "hannibal@dev.bluemind.net", | |
| | "dir" : | |
| | "bm://734ea413.internal/users/DFAB6B5F-8416-422B-9E20-CF1C28D1DEF6" | |
| | }, | |
| | "categories" : [ ], | |
| | "exdate" : null, | |
| | "rdate" : null, | |
| | "rrule" : null, | |
| | "url" : null, | |
| | "conference" : null, | |
| | "conferenceId" : null, | |
| | "conferenceConfiguration" : { }, | |
| | "attachments" : [ ], | |
| | "properties" : { }, | |
| | "sequence" : 1, | |
| | "draft" : false, | |
| | "dtend" : { | |
| | "iso8601" : "2022-12-22T13:00:00.000+01:00", | |
| | "timezone" : "Europe/Paris", | |
| | "precision" : "DateTime" | |
| | }, | |
| | "transparency" : "Opaque" | |
| | }, | |
| | "occurrences" : [ ], | |
| | "counters" : [ ], | |
| | "properties" : null, | |
| | "icsUid" : "a6238878-66b5-4152-9320-701da924fa44", | |
| | "acceptCounters" : true | |
| | } | |
+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+ -
--data-by-date
: affiche tous les événements en ajoutant les données (comme ci-dessus) uniquement pour les lignes de logs correspondant à la date donnée.
Exemples de recherche :#affichage des données enregistrées le 19/10/2024 à 15h35:33s :
bm-cli calendar log --data-by-date="2024-10-19T15:35:33" audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log
#affichage des données enregistrées le 18 octobre 2024 :
bm-cli calendar log --data-by-date="2024-10-18" audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log`} -
--event-query
: recherche une chaine de caractères dans les données de l'événement
Exemple de recherche des événements contenant le terme "déplacement" :bm-cli calendar log --data --event-query="déplacement" audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log
Exemple de recherche des données sur toutes les actions concernant l'événement nommé "réservation JDOE" :
bm-cli calendar log --event-query="réservation JDOE" audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| Info | Event | Calendar |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| 2022-12-19T10:14:23.76 | | { |
| 655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal | | "id" : 52, |
| create | | "uid" : "calendar:Default:655C382F-5197-4A64-A70F-71010EECAB3F", |
| SUCCESS | | "type" : "calendar", |
| 0a62464b-74d2-4d79-a8a3-23d3ab4ffc35 | | "name" : "John Doe", |
| bm-webserver-authfilter | | "owner" : "655C382F-5197-4A64-A70F-71010EECAB3F", |
| Send-Notification:true | | "createdBy" : "system", |
| | | "updatedBy" : "system", |
| | | "created" : 1665475636451, |
| | | "updated" : 1665475636451, |
| | | "domainUid" : "734ea413.internal", |
| | | "defaultContainer" : true, |
| | | "readOnly" : false |
| | | } |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| 2022-12-19T10:14:46.17 | | { |
| system@global.virt | | "id" : 52, |
| update | | "uid" : "calendar:Default:655C382F-5197-4A64-A70F-71010EECAB3F", |
| SUCCESS | | "type" : "calendar", |
| 0a62464b-74d2-4d79-a8a3-23d3ab4ffc35 | | "name" : "John Doe", |
| bm-webserver-authfilter | | "owner" : "655C382F-5197-4A64-A70F-71010EECAB3F", |
| | | "createdBy" : "system", |
| | | "updatedBy" : "system", |
| | | "created" : 1665475636451, |
| | | "updated" : 1665475636451, |
| | | "domainUid" : "734ea413.internal", |
| | | "defaultContainer" : true, |
| | | "readOnly" : false |
| | | } |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+On observe que l'événement a été créé le 19/12/2022 à 14h23 puis modifié le même jour à 14h46. Pour en savoir plus sur ces 2 actions, on peut afficher le détail grâce à l'ajout de l'option
--data
précédente :bm-cli calendar log --data --event-query="réservation JDOE" audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log
-
--event-uid
: affiche les lignes de logs concernant un événement identifié.
Par exemple :bm-cli calendar log --event-uid="5f92c02f-98fc-404c-a360-0d760865246a" audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| Info | Event | Calendar |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| 2022-12-01T10:15:14.216 | | { |
| 655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal | | "id" : 52, |
| create | | "uid" : "calendar:Default:655C382F-5197-4A64-A70F-71010EECAB3F", |
| SUCCESS | | "type" : "calendar", |
| 5f92c02f-98fc-404c-a360-0d760865246a | | "name" : "John Doe", |
| bm-webserver-authfilter | | "owner" : "655C382F-5197-4A64-A70F-71010EECAB3F", |
| Send-Notification:true | | "createdBy" : "system", |
| | | "updatedBy" : "system", |
| | | "created" : 1665475636451, |
| | | "updated" : 1665475636451, |
| | | "domainUid" : "734ea413.internal", |
| | | "defaultContainer" : true, |
| | | "readOnly" : false |
| | | } |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| 2022-12-01T10:15:14.365 | | { |
| 655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal | | "id" : 52, |
| send-mail | | "uid" : "calendar:Default:655C382F-5197-4A64-A70F-71010EECAB3F", |
| SUCCESS | | "type" : "calendar", |
| 5f92c02f-98fc-404c-a360-0d760865246a | | "name" : "John Doe", |
| mailto:hannibal@dev.bluemind.net | | "owner" : "655C382F-5197-4A64-A70F-71010EECAB3F", |
| bm-webserver-authfilter | | "createdBy" : "system", |
| SMTP response:250: 2.0.0 Ok: queued as E9C262C2845 | | "updatedBy" : "system", |
| | "created" : 1665475636451, |
| | | "updated" : 1665475636451, |
| | | "domainUid" : "734ea413.internal", |
| | | "defaultContainer" : true, |
| | | "readOnly" : false |
| | | } |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| 2022-12-01T10:15:15.063 | | { |
| 655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal | | "id" : 52, |
| send-mail | | "uid" : "calendar:Default:655C382F-5197-4A64-A70F-71010EECAB3F", |
| SUCCESS | | "type" : "calendar", |
| 5f92c02f-98fc-404c-a360-0d760865246a | | "name" : "John Doe", |
| mailto:t.peck@dev.bluemind.net | | "owner" : "655C382F-5197-4A64-A70F-71010EECAB3F", |
| bm-webserver-authfilter | | "createdBy" : "system", |
| SMTP response:250: 2.0.0 Ok: queued as 9AB372C2848 | | "updatedBy" : "system", |
| | | "created" : 1665475636451, |
| | | "updated" : 1665475636451, |
| | | "domainUid" : "734ea413.internal", |
| | | "defaultContainer" : true, |
| | | "readOnly" : false |
| | | } |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+On observe que l'événement a été créé le 01/12/2022 à 10h15 et que 2 emails ont été envoyés à destination de hannibal@dev.bluemind.net et t.peck@dev.bluemind.net.
-
filtered-actions
: les actions qui doivent être filtrées, soit les actions qui NE DOIVENT PAS apparaitre.
Par exemple--filtered-actions=create,update
masquera les actions de création et mise à jour.
Ainsi, dans notre exemple ci-dessus, on souhaite vérifier si les emails d'invitation ont bien été émis, on utilisera donc l'option suivante pour masquer l'action de création qui était listée :bm-cli calendar log --filtered-actions="create" --event-uid="5f92c02f-98fc-404c-a360-0d760865246a" audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log
Si au contraire on souhaite épurer la sortie et ne pas voir les envois d'emails mais seulement les actions effectuées sur l'événement :
bm-cli calendar log --filtered-actions="send-mail" --event-uid="5f92c02f-98fc-404c-a360-0d760865246a" audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log
-
--calendar-query
: recherche une chaine de caractères dans les données du calendrier.
NB : Dans le cas général, un fichier de log correspond à un calendrier, cette option fera donc remonter tous les événements, mais il est possible de compiler plusieurs fichiers en un seul, il sera alors utile de pouvoir effectuer des recherches sur un calendrier donné.
Analyser une ligne de log
La sortie bm-cli découpe et présente une ligne de log en 3 colonnes.
Le 1ère colonne présente les informations concernant l'action loguée :
-
la date avec l'heure précise d'enregistrement de l'action
⚠️ Il s'agit ici de l'heure GMT, il peut donc y avoir un décalage avec l'heure réelle à laquelle l'action a été réalisée selon le fuseau horaire. Ainsi l'action loguée ici à 10h15 étant en France à l'heure d'hiver (1er décembre), elle a en réalité été faite et loguée à 11h15.
-
l'uid de l'utilisateur effectuant l'action et du domaine
-
le type d'action (create/update/etc.)
-
si l'action a réussi (SUCCESS) ou non (FAILURE)
-
l'uid de l'événement concerné
-
l'origine de l'action :
bm-webserver-authfilter
: webmail ou Thunderbirdbm-eas
: appareil mobile connecté en EASbm-lmtpd_from_user1@domain.tld_to_user2@domain.tld
: l'action a été déclenchée par un email contenant un .icsbm-mapi
: Outlook connecté en MAPI
-
si une notification a été demandée à destination des invités
-
la réponse du serveur de mail dans le cas des actions
send-mail
La 2ème colonne affiche les détails de l'événement lorsque ceux-ci sont demandés via une requête. Les informations utiles principales sont :
- dtstart et dtend : heures de début et de fin de l'événement.
- summary : le titre de l'événement.
- attendees: liste des invités
NB : La liste est encadrée par des crochets, chaque participant est encadré par des accolades
Les informations utiles pour chacun d'eux sont notamment :partStatus
: le statut actuel de participation (confirmé, en attente, refusé)rsvp
: indique si une demande de réponse (notification) a été envoyée (true
pour oui,false
pour non)commonName
: le nom de l'invitémailto
: l'adresse email de l'invitédir
: contient l'UID de l'utilisateur invité lorsqu'il s'agit d'un utilisateur interne
- organizer : l'organisateur de l'événement
Pour des événements récurrents, les informations utiles complémentaires sont :
- rrule : la règle de récurrence
- exdate : liste des dates à laquelle l'événement N'a PAS lieu (occurrences ayant été supprimées)
- occurrences : liste des exceptions (occurrences ayant été modifiées) avec le détail des données particulières à chacune d'elles
La 3ème colonne présente les informations concernant le calendrier, sont notamment utiles :
- l'uid complet du calendrier
- le type de calendrier
- le nom du propriétaire
- l'uid du propriétaire
- defaultContainer : indique s'il s'agit du calendrier par défaut ou d'un calendrier secondaire
Par exemple, nous recherchons des informations sur un événement contenant le mot "DOCUMENTATION" dans le calendrier de John Doe, ne comprenant pas quand et par qui celui-ci a été créé :
bm-cli calendar log --event-query="DOCUMENTATION" audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| Info | Event | Calendar |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| 2023-01-03T12:54:04.28 | | { |
| DFAB6B5F-8416-422B-9E20-CF1C28D1DEF6@734ea413.internal | | "id" : 52, |
| update | | "uid" : "calendar:Default:655C382F-5197-4A64-A70F-71010EECAB3F", |
| SUCCESS | | "type" : "calendar", |
| 19b56d07-3841-4f5c-988e-a308fe41cb38 | | "name" : "John Doe", |
| bm-webserver-authfilter | | "owner" : "655C382F-5197-4A64-A70F-71010EECAB3F", |
| Send-Notification:true | | "createdBy" : "system", |
| | | "updatedBy" : "system", |
| | | "created" : 1665475636451, |
| | | "updated" : 1665475636451, |
| | | "domainUid" : "734ea413.internal", |
| | | "defaultContainer" : true, |
| | | "readOnly" : false |
| | | } |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
Une seule ligne de log concerne cet événement.
La 1ère colonne nous apprend que :
- il s'agit d'une modification (
update
) d'un événement - elle a été réalisée par l'utilisateur
DFAB6B5F-8416-422B-9E20-CF1C28D1DEF6
(une recherche dans la console nous permettra d'identifier John Smith) - elle a eu lieu le 3 janvier à 13h54 (12h54 GMT)
- de l'événement d'uid
19b56d07-3841-4f5c-988e-a308fe41cb38
- la modification a été faite dans BlueMind directement (
bm-webserver-authfilter
) - des notifications ont été envoyées aux invités
La 3ème colonne nous apprend que :
- l'action a été réalisée sur le calendrier par défaut
- de l'utilisateur John Doe d'uid
655C382F-5197-4A64-A70F-71010EECAB3F
Souhaitant en savoir plus sur la modification qui a été faite, nous allons ajouter le paramètre --data
à la commande :
bm-cli calendar log --data --event-query="DOCUMENTATION" audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log
+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+
| Info | Event | Calendar |
+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+
| 2023-01-03T12:54:04.28 | { | { |
| DFAB6B5F-8416-422B-9E20-CF1C28D1DEF6@734ea413.internal | "main" : { | "id" : 52, |
| update | "dtstart" : { | "uid" : "calendar:Default:655C382F-5197-4A64-A70F-71010EECAB3F", |
| SUCCESS | "iso8601" : "2022-12-30T14:30:00.000+01:00", | "type" : "calendar", |
| 19b56d07-3841-4f5c-988e-a308fe41cb38 | "timezone" : "Europe/Paris", | "name" : "John Doe", |
| bm-webserver-authfilter | "precision" : "DateTime" | "owner" : "655C382F-5197-4A64-A70F-71010EECAB3F", |
| Send-Notification:true | }, | "createdBy" : "system", |
| | "summary" : "réunion DOCUMENTATION", | "updatedBy" : "system", |
| | "classification" : "Public", | "created" : 1665475636451, |
| | "location" : "", | "updated" : 1665475636451, |
| | "description" : "", | "domainUid" : "734ea413.internal", |
| | "priority" : 5, | "defaultContainer" : true, |
| | "alarm" : [ { | "readOnly" : false |
| | "action" : "Display", | } |
| | "trigger" : -900, | |
| | "description" : null, | |
| | "duration" : null, | |
| | "repeat" : null, | |
| | "summary" : null | |
| | } ], | |
| | "status" : "Tentative", | |
| | "attendees" : [ { | |
| | "cutype" : "Individual", | |
| | "member" : null, | |
| | "role" : "RequiredParticipant", | |
| | "partStatus" : "NeedsAction", | |
| | "rsvp" : true, | |
| | "delTo" : null, | |
| | "delFrom" : null, | |
| | "sentBy" : null, | |
| | "commonName" : "John Smith", | |
| | "dir" : | |
| | "bm://734ea413.internal/users/DFAB6B5F-8416-422B-9E20-CF1C28D1DEF6", | |
| | "lang" : null, | |
| | "mailto" : "hannibal@dev.bluemind.net", | |
| | "uri" : | |
| | "addressbook_734ea413.internal/DFAB6B5F-8416-422B-9E20-CF1C28D1DEF6", | |
| | "internal" : true, | |
| | "responseComment" : null, | |
| | "counter" : null | |
| | }, { | |
| | "cutype" : "Individual", | |
| | "member" : null, | |
| | "role" : "RequiredParticipant", | |
| | "partStatus" : "NeedsAction", | |
| | "rsvp" : true, | |
| | "delTo" : null, | |
| | "delFrom" : null, | |
| | "sentBy" : null, | |
| | "commonName" : "Templeton Peck", | |
| | "dir" : | |
| | "bm://734ea413.internal/users/6D97576A-237E-4D04-8BEB-FDA7DEC7A50E", | |
| | "lang" : null, | |
| | "mailto" : "t.peck@dev.bluemind.net", | |
| | "uri" : | |
| | "addressbook_734ea413.internal/6D97576A-237E-4D04-8BEB-FDA7DEC7A50E", | |
| | "internal" : true, | |
| | "responseComment" : null, | |
| | "counter" : null | |
| | } ], | |
| | "organizer" : { | |
| | "uri" : null, | |
| | "commonName" : "John Doe", | |
| | "mailto" : "jdoe@dev.bluemind.net", | |
| | "dir" : | |
| | "bm://734ea413.internal/users/655C382F-5197-4A64-A70F-71010EECAB3F" | |
| | }, | |
| | "categories" : [ ], | |
| | "exdate" : [ ], | |
| | "rdate" : null, | |
| | "rrule" : { | |
| | "frequency" : "WEEKLY", | |
| | "count" : null, | |
| | "until" : { | |
| | "iso8601" : "2023-01-05T13:30:00.000Z", | |
| | "timezone" : "UTC", | |
| | "precision" : "DateTime" | |
| | }, | |
| | "interval" : 1, | |
| | "bySecond" : null, | |
| | "byMinute" : null, | |
| | "byHour" : null, | |
| | "byDay" : [ { | |
| | "day" : "FR", | |
| | "offset" : 0 | |
| | } ], | |
| | "byMonthDay" : null, | |
| | "byYearDay" : null, | |
| | "byWeekNo" : null, | |
| | "byMonth" : null | |
| | }, | |
| | "url" : "", | |
| | "conference" : "", | |
| | "conferenceId" : "", | |
| | "conferenceConfiguration" : { }, | |
| | "attachments" : [ ], | |
| | "properties" : { }, | |
| | "sequence" : 1, | |
| | "draft" : false, | |
| | "dtend" : { | |
| | "iso8601" : "2022-12-30T15:30:00.000+01:00", | |
| | "timezone" : "Europe/Paris", | |
| | "precision" : "DateTime" | |
| | }, | |
| | "transparency" : "Opaque" | |
| | }, | |
| | "occurrences" : [ ], | |
| | "counters" : [ ], | |
| | "properties" : { }, | |
| | "icsUid" : "a2056806-139b-4cba-ba87-e794efb4bfea", | |
| | "acceptCounters" : true | |
| | } | |
+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+
→ La réunion a lieu à 14h30
→ Elle se répète chaque semaine
→ John Doe en est l'organisateur
→ Elle comporte 2 invités (John Smith et Templeton Peck)
La commande bm-cli ne retournant qu'un update, nous allons rechercher toutes les entrées concernant cet événement grâce à son uid, ce qui nous permet de remonter à sa création :
bm-cli calendar log --event-uid="19b56d07-3841-4f5c-988e-a308fe41cb38" audit-calendar\:Default\:655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal.log
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| Info | Event | Calendar |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
| 2022-12-05T10:25:04.065 | | { |
| 655C382F-5197-4A64-A70F-71010EECAB3F@734ea413.internal | | "id" : 52, |
| create | | "uid" : "calendar:Default:655C382F-5197-4A64-A70F-71010EECAB3F", |
| SUCCESS | | "type" : "calendar", |
| 19b56d07-3841-4f5c-988e-a308fe41cb38 | | "name" : "John Doe", |
| bm-webserver-authfilter | | "owner" : "655C382F-5197-4A64-A70F-71010EECAB3F", |
| Send-Notification:true | | "createdBy" : "system", |
| | | "updatedBy" : "system", |
| | | "created" : 1665475636451, |
| | | "updated" : 1665475636451, |
| | | "domainUid" : "734ea413.internal", |
| | | "defaultContainer" : true, |
| | | "readOnly" : false |
| | | } |
+--------------------------------------------------------------------------------+-------+--------------------------------------------------------------------------------+
→ L'uid de l'utilisateur nous indique que c'est John Doe lui-même, propriétaire du calendrier, qui a créé cet événement le 5 décembre 2022 dans la matinée.
En rajoutant l'option --data
nous obtiendrons les détails sur l'événement tel qu'il a été créé, en particulier ceux-ci :
[...]
"dtstart" : {
"iso8601" : "2022-12-30T11:30:00.000+01:00",
"timezone" : "Europe/Paris",
"precision" : "DateTime"
},
[...]
"summary" : "réunion COMMERCE",
[...]
CONCLUSION : Il s'agissait à l'origine de la réunion commerce, qui avait lieu à 11h30, celle-ci a été renommée et déplacée à 14h30 par John Smith le 3 janvier à 13h54.