Projet

Général

Profil

Demande #2795

Mise à jour de Owncloud vers Nextcloud

Ajouté par Frédéric Couchet il y a plus de 6 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normale
Assigné à:
Catégorie:
Story
Version cible:
Début:
05/11/2019
Echéance:
% réalisé:

100%

Temps estimé:
(Total: 0.00 h)
Difficulté:
8 Pain in the ass

Description

Suite à la mise à jour de la VM lamp / valise.april.org en Debian Stretch, la version de owncloud a du être mis en hold parce que le paquet est absent de Stretch.

Notes de migration par import/export: https://pad.april.org/p/migration-owncloud-nextcloud
Anciennes notes de migration: https://pad.april.org/p/725QGORbZO

  • /var/lib/owncloud/data contient les fichiers et son volume est < 250MB
  • /var/lib/mysql/valise contient la base de donnée et son volume est < 1MB
  • Le calendrier partagé est utilisé
  • La base de contacts contient environ 1500 entrées
  • Utilisateurs actifs : egonnu, epottier, ivanni, madix

Il existe un script d'import de dtc fait par benj et destiné à ivanni. Mais il n'est pas utilisé et il n'est donc pas necessaire de le migrer.

TODO:

  • comment configurer l'ajout d'un contact (pour enlever des champs) sur les contacts thunderbird sync via tbsync (pas possible)
  • epottier reçoit des notifications qui viennent de ... on ne sait pas ou :)-
  • valise-new en valise
    • mise a jour du poste de ivanni
    • mise a jour du poste de egonnu
    • mise a jour du poste de epottier

Fichiers

merge.py (1,86 ko) merge.py Loïc Dachary, 02/10/2019 13:41
normalize.py (1,43 ko) normalize.py Loïc Dachary, 18/10/2019 15:47

Sous-tâches

Demande #3994: Nettoyer owncloud de lampFerméFrançois Poulain

Actions
Demande #4412: Renommer les dossiers nextcloud pour enlever les -newFerméFrançois Poulain

Actions

Demandes liées

Lié à Admins - Anomalie #3965: Il manque une favicon pour nextcloudFermé21/10/2019

Actions
Lié à Admins - Demande #4751: Passer à Thunderbird 78 ?Fermé24/09/2020

Actions

Historique

#1

Mis à jour par Quentin Gibeaux il y a environ 6 ans

  • Assigné à mis à Vincent-Xavier JUMEL
  • Version cible changé de Backlog à Février 2018

Ne pas toucher à la prod, tester sur une version séparée

#2

Mis à jour par François Poulain il y a environ 6 ans

@xv, comme discuté sur irc l'autre jour, j'ai au moins un autre owncloud qui doit subir la même migration. Donc je vais prochainement ansibler une migration de owncloud7 vers nextcloud last, sur db et vhost alternatif, avec une base de tests fonctionnels.

#3

Mis à jour par Vincent-Xavier JUMEL il y a environ 6 ans

Tu es sur que ça va s'ansibler ? Avec le problème qu'il faut sortir d'un paquet Debian ?

Cela dit, je viens d'ansibler du déploiment de machine et je suis plutôt partant pour le faire ainsi.

#4

Mis à jour par Vincent-Xavier JUMEL il y a environ 6 ans

Quelques infos en vrac résultants entre autre de ma propre expérience :
- la migration n'est possible qu'à partir de OC 8 vers NC 8 (https://help.nextcloud.com/t/migrating-from-owncloud-to-nextcloud/551)
- il vaut mieux faire les migration mineures par mineures et mettre à jour les applis au fur et à mesure
- on peut s'inspirer de cette procédure : https://lacavernedemanu.fr/articles/migration-d'owncloud-vers-nextcloud-sous-debian

#5

Mis à jour par Quentin Gibeaux il y a environ 6 ans

  • Version cible changé de Février 2018 à Mars 2018
#6

Mis à jour par Vincent-Xavier JUMEL il y a environ 6 ans

  • Difficulté changé de 2 Facile à 4 Fastidieux

J'ai profité de l'April Camp : http://pad.april.org/p/725QGORbZO

#7

Mis à jour par Vincent-Xavier JUMEL il y a environ 6 ans

Contacter Isabella, Benj et Elsa pour vérifier l'usage de Owncloud/Nextcloud.

Prévoir une à deux journée en présentiel au local pour la recette.

#8

Mis à jour par Quentin Gibeaux il y a environ 6 ans

  • Version cible changé de Mars 2018 à Avril 2018
#9

Mis à jour par Quentin Gibeaux il y a presque 6 ans

  • Version cible changé de Avril 2018 à Mai 2018

Poursuite des travaux en mai

#10

Mis à jour par Quentin Gibeaux il y a presque 6 ans

  • Version cible changé de Mai 2018 à Juin 2018
#11

Mis à jour par Quentin Gibeaux il y a presque 6 ans

  • Version cible changé de Juin 2018 à Été 2018
#12

Mis à jour par Quentin Gibeaux il y a plus de 5 ans

  • Version cible changé de Été 2018 à Septembre 2018
#13

Mis à jour par Quentin Gibeaux il y a plus de 5 ans

  • Version cible changé de Septembre 2018 à Backlog
#14

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#15

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#16

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Statut changé de Nouveau à En cours de traitement
  • Assigné à changé de Vincent-Xavier JUMEL à Loïc Dachary
#17

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#18

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#19

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#20

Mis à jour par Loïc Dachary il y a plus de 4 ans

Etant donné que:

  • Il y a 4 utilisateurs actifs, tous permanents de l'April
  • Qu'il y a très peu de documents (quelques dizaines de photos, une douzaine de fichiers) et pas de partage de document par lien public
  • Que seuls les applications calendrier et contact sont utilisées

Une migration pourrait se faire avec:

  • Export des calendriers et contacts
  • Import dans un Nextcloud tout neuf
  • Création des groupes et des comptes manuellement
  • Copie manuelle des fichiers qui doivent l'etre
  • Passer le temps qu'il faut avec chaque utilisateur pour s'assurer que les accès aux contacts et calendrier sur la nouvelle valise sont fonctionels

Autrement dit on export/import au lieu de migrer. A ce stade c'est juste une idée, si quelqu'un voit une raison pour laquelle ça ne marcherait pas ou serait beaucoup plus long que la migration, c'est le moment.

#21

Mis à jour par François Poulain il y a plus de 4 ans

C'est pas une mauvaise stratégie. J'ai pas d'avis sur qui d'une migration ou un upgrade est le plus rapide. Dans tous les cas, passer en revue les confs avec l'utilisateur final est un bon plan.

#22

Mis à jour par Christian P. Momon il y a plus de 4 ans

Cette procédure semble le faire bien.

De plus le Owncloud installé est la version 7 alors que les procédures de migration de Nextcloud prennent en charge à partir de la version 8.2 :

(April) root@lamp:~# dpkg -l |grep owncloud
hi  owncloud                       7.0.4+dfsg-4~deb8u4                          all          cloud storage for files, music, contacts, calendars and many more

https://nextcloud.com/migration/
The Nextcloud migration tool
The easiest way to migrate is using our migration tool. This tool supports ownCloud 8.2 to ownCloud 10, migrating to the appropriate Nextcloud release automatically.
#23

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#24

Mis à jour par Loïc Dachary il y a plus de 4 ans

La machine lamp a php 7.0. Il faut au minimum php 7.1 (7.2 ou 7.3 recommandés) pour installer Nextcloud. Trois possibilités:

- Installer Nextcloud 16 sur une machine séparée
- Upgrader lamp à 7.3
- Installer Nextcloud 15

#25

Mis à jour par Loïc Dachary il y a plus de 4 ans

Un consensus se dégage pour installer Nextcloud 15 qui est compatible php 7.0.

#26

Mis à jour par Loïc Dachary il y a plus de 4 ans

Sauf que en fait non parce que... lamp fait tourner php5 et non php7. Activer php7 c'est prendre le risque de créer des problèmes dans un nombre indeterminé de services qui en dépendent. Une idée pour avancer ?

#27

Mis à jour par Loïc Dachary il y a plus de 4 ans

Quentin propose:

configurer un php-fpm en php7 et garder du php-apache en php5
un truc genre :

<FilesMatch ".+\.ph(p[3457]?|t|tml)$">
    SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost" 
</FilesMatch>

directement dans le <directory></directory> de nextcloud

si tu installes le paquet php7.0-fpm, suffit de regarder /etc/apache/conf-available/php7.0-fpm.conf et dupliquer son contenu au sein de la conf site-enabled/nextcloud

#28

Mis à jour par Loïc Dachary il y a plus de 4 ans

https://admin.april.org/doku.php?id=sysadm:applications:photos.april.org est une VM qui a une configuration lamp avec php7, isolée en raison d'une vulnérabilité https://agir.april.org/issues/2996

#29

Mis à jour par Loïc Dachary il y a plus de 4 ans

mv /var/www/valise-new.april.org /var/www/valise-new.april.org /var/www/valise-new.april.org.remove-me-december-2019
cd /var/www
wget https://download.nextcloud.com/server/releases/nextcloud-15.0.11.tar.bz2
tar -xvf nextcloud-15.0.11.tar.bz2
mv nextcloud valise-new.april.org
mkdir valise-new.april.org/data
chown -R www-data:www-data valise-new.april.org
apt-get install php7.0-fpm php-curl
a2enmod proxy_fcgi
cat /etc/apache2/sites-available/valise-new.april.org.conf 
<VirtualHost *:80>
        ServerName valise-new.april.org

        DocumentRoot /var/www/valise-new.april.org
        ErrorLog /var/log/apache2/valise.april.org/valise-new.april.org-error.log
        CustomLog /var/log/apache2/valise.april.org/valise-new.april.org-access.log combined-proxy

        <Directory /var/www/valise-new.april.org>
           SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
           <FilesMatch ".+\.ph(p[3457]?|t|tml)$">
                SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost" 
           </FilesMatch>
        </Directory>

    DirectoryIndex index.php

</VirtualHost>
    sudo mysql -u root
    CREATE DATABASE nextcloud_db;
    CREATE USER nextcloud_db IDENTIFIED BY 'xxx';
    GRANT ALL PRIVILEGES ON nextcloud_db.* TO 'nextcloud_db';
    flush privileges;
cd /var/www/valise-new.april.org
php occ maintenance:install --database-host=127.0.0.1 --database "mysql" --database-name "nextcloud_db"  --database-user "nextcloud_db" --database-pass "xxxx" --admin-user "admin" --admin-pass "xxxx" 
chown -R www-data:www-data .
sudo -u www-data php -f occ config:system:set trusted_domains 1 --value valise-new.april.org
sudo -u www-data php -f occ config:system:set trusted_domains 2 --value valise.april.org
sudo -u www-data php occ app:install calendar
sudo -u www-data php occ app:install contacts
sudo -u www-data php occ app:install impersonate
sudo -u www-data php occ config:system:set mail_domain --value=april.org --type string
sudo -u www-data php occ config:system:set mail_from_address --value=noreply --type string
sudo -u www-data php occ config:system:set mail_smtphost --value=127.0.0.1 --type string
sudo -u www-data php occ config:system:set mail_smtpmode --value=php --type string
sudo -u www-data php occ config:system:set mail_smtpport --value=25 --type int
sudo -u www-data php occ group:add 'dotproject'
sudo -u www-data php occ group:add 'CA'
sudo -u www-data php occ group:add 'permanents'
sudo -u www-data php occ user:add -g permanents -g dotproject -g admin madix
sudo -u www-data php occ user:setting madix settings email fcouchet@april.org
sudo -u www-data php occ user:add -g permanents -g dotproject egonnu
sudo -u www-data php occ user:setting egonnu settings email egonnu@april.org
sudo -u www-data php occ user:add -g permanents -g dotproject epottier
sudo -u www-data php occ user:setting epottier settings email epottier@april.org
sudo -u www-data php occ user:add -g permanents -g dotproject ivanni
sudo -u www-data php occ user:setting ivanni settings email ivanni@april.org
#30

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#31

Mis à jour par Loïc Dachary il y a plus de 4 ans

En raison du reverse proxy il faut ajouter dans /var/www/valise-new.april.org/config/config.php

  'overwriteprotocol' => 'https',
#32

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#33

Mis à jour par Loïc Dachary il y a plus de 4 ans

Pour archive remote.php (caldav endpoint) ne fonctionait pas (erreur 401 not authorized) parce que php7 FPM n'avait pas la variable d'environnement contenant les crédentials. C'est pour cela que SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 a été ajouté.

#34

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#35

Mis à jour par Loïc Dachary il y a plus de 4 ans

La migration des contacts rencontre un obstacle innatendu. Il semble que dans un lointain passé xul-ext-sogo-connector a été installé pour permettre le lien avec valise via carddav

root@damiana:~# apt-cache policy xul-ext-sogo-connector
xul-ext-sogo-connector:
  Installé : (aucun)
  Candidat : 60.0.0+gite2547a3-1~deb9u1
 Table de version :
     60.0.0+gite2547a3-1~deb9u1 500
        500 http://ftp.fr.debian.org/debian stretch/main amd64 Packages
     31.0.3-3 -1
        100 /var/lib/dpkg/status

Mais la fonctionalité "New => Remote address book" n'est pas présente sur la machine damiana. Et il est par ailleurs impossible de savoir comment est configuré le carnet d'addresse Valise. On peut seulement constaté qu'il communique bien avec valise.april.org. Malgré le fait que le package xul-ext-sogo-connector soit supprimé, les fichiers qu'il contient existent toujours. Ils sont d'une version très ancienne comparé à thunderbird mais contribuent peut-être au bon fonctionnement de la synchronisation entre thunderbird et la valise.

root@damiana:~# dpkg -l xul-ext-sogo-connector
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom                        Version            Architecture       Description
+++-==========================-==================-==================-=========================================================
rc  xul-ext-sogo-connector     31.0.3-3           all                transforms Icedove / Thunderbird into a full DAV client f
root@damiana:~# ls -l /etc/xul-ext/sogo-connector.js
-rw-r--r-- 1 root root 191 nov.  11  2014 /etc/xul-ext/sogo-connector.js
# dpkg -L xul-ext-sogo-connector
/etc
/etc/xul-ext
/etc/xul-ext/sogo-connector.js

Plutôt que d'élucider ce mystère, on pourrait suivre les instructions de la documentation nextcloud qui fonctionnent bien. On table sur le fait que les deux peuvent coexister le temps de la migration. Il est possible que l'installation du greffon suggéré par Nextcloud casse la synchronisation qui marche magiquement actuellement. Si c'est le cas, on pourra l'utiliser pour avoir accès à l'ancienne valise. La difficulté est de trouver le lien carddav qui correspond car il n'apparait pas sur l'interface web. C'est https://valise.april.org/remote.php/carddav/addressbooks/egonnu/contacts_shared_by_admin/.

Mise à jour plusieurs jours après

En fait la synchronisation ne se fait pas du tout entre Owncloud et le poste ivanni & epottier. La base de contact de ivanni contient 1560 entrées alors que owncloud en contient 1527. La base de contact epottier en contient bien 1527 car il n'y a pas d'ajout. Cette absence de synchronisation est vérifiée avec un test d'ajout de contact sur le poste de epottier et dans Owncloud.

#36

Mis à jour par Loïc Dachary il y a plus de 4 ans

Il faut exporter la base contact de ivanni et la comparer avec celle de Owncloud car elles ont divergé.

#37

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Fichier normalize.py ajouté

J'ai exporté dans un répertoire tous les contacts de la valise et tout ceux du poste de ivanni. Puis j'ai fait

for f in *.vcf ; do python3 ../normalize.py "$f" || break ; if test -f ../contacts-admin/"$f" ; then echo "COMPARE $f" ; python3 ../normalize.py ../contacts-admin/"$f" || break ; diff -wu ../contacts-admin/"$f" ../ivanni/"$f" ; else echo "MISSING $f" ; fi ; done  > /tmp/1

et il en ressort des centaines de différences, ça va être du boulot. Les contacts de la valise ont été mis à jour par egonnu.

  • ORG: la valise contient des champs supplémentaires, il est peut être possible de réduire ces différences en utilisant systématiquement le contenu des champs supplémentaires, quand la partie commune est identique.
  • NOTES: il y a environ 100 notes différentes, il faut analyser les différences une par une.
  • A analyser une par une N, TEL, TITLE, EMAIL, URL, ADR, NICKNAME, BDAY

Il y a en tout environ 600 différences a analyser. Je vais tenter de voir comment réduire le nombre. *

#38

Mis à jour par Loïc Dachary il y a plus de 4 ans

J'ai constaté des délais de plusieurs secondes dans la completion d'addresse thunderbird lorsque je rédige un mail. C'est sur un laptop assez puissant et récent, avec environ 3000 addresses dans le Cardbook. Je soupçonne que c'est une lenteur introduite par Cardbook. C'est a tester avec soin avant la bascule sinon c'est juste inexploitable.

#39

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#40

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Fichier merge.py ajouté

Avec le script merge qui:

a) reprend les fiches uniques a ivanni & valise
b) ajoute les champs qui existent dans une fiche et pas l'autre
c) quand deux champs commencent pareil, favorise le plus long
d) ignore les différences d'espaces ou de ;

Il reste ~70 différences au lieu de 600. Ca devient gérable manuellement.

rm -fr merged ; mkdir merged ; python3 merge.py ivanni contacts-admin merged
#41

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Fichier merge.py supprimé
#42

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Fichier merge.py ajouté
#43

Mis à jour par Loïc Dachary il y a plus de 4 ans

Dans un export vCard ou chaque contact est dans un fichier dans un répertoire, pour afficher les doublons de noms:

ls | tr 'A-Z' 'a-z' | sort | uniq -D

#44

Mis à jour par François Poulain il y a plus de 4 ans

Je ne sais pas si c'est pertinent dans ton cas mais il faut penser aussi aux accents et à la ponctuation (Marie thérêse vs marie-Thérese).

Un truc comme slugify fait ça bien ; je ne connais pas d'équivalement en shell. https://docs.djangoproject.com/fr/2.2/ref/utils/#django.utils.text.slugify ; https://docs.djangoproject.com/fr/2.2/_modules/django/utils/text/#slugify

#45

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Fichier merge.py supprimé
#46

Mis à jour par Loïc Dachary il y a plus de 4 ans

#47

Mis à jour par Loïc Dachary il y a plus de 4 ans

François Poulain a écrit :

Je ne sais pas si c'est pertinent dans ton cas mais il faut penser aussi aux accents et à la ponctuation (Marie thérêse vs marie-Thérese).

Un truc comme slugify fait ça bien ; je ne connais pas d'équivalement en shell. https://docs.djangoproject.com/fr/2.2/ref/utils/#django.utils.text.slugify ; https://docs.djangoproject.com/fr/2.2/_modules/django/utils/text/#slugify

Merci. Je vais laisser les fichiers doublons parce qu'il y en a assez peu. Je me suis seulement interessé à ceux qui présentaient une divergence entre le poste de ivanni et la valise. Et il y en avait un seul.

#48

Mis à jour par Loïc Dachary il y a plus de 4 ans

Isa m'a montré que les notifications de son calendrier sont faites via evolution et non pas thunderbird. Il faut donc aussi synchroniser son evolution.

#49

Mis à jour par Loïc Dachary il y a plus de 4 ans

Apres merge des bases contact de ivanni et de la valise owncloud, il y a 1586 contacts contre 1527, donc environ 60 de plus. Au moment de l'import dans nextcloud de ces 1586 contacts, il y a eu 41 erreurs sur des contacts qui n'ont donc pas été importés. Les logs du serveur ne permettent pas de déterminer quelle entrée vCard est en erreur parce que le numéro de ligne affiché est relatif a l'entrée de la vcard dans un fichier qui en contient 1586.

Il faut faire un script après la bascule pour déterminer quel sont ces contacts et corriger les erreurs.

#50

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#51

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#52

Mis à jour par François Poulain il y a plus de 4 ans

  • Difficulté changé de 4 Fastidieux à 8 Pain in the ass
#53

Mis à jour par Loïc Dachary il y a plus de 4 ans

Sur lamp.april.org, /var/www/valise-new.april.org/data/nextcloud.log contient les erreurs avec l'intégralité de la vCard qui n'a pas pu être importée.

grep 'This resource only supports valid vCard or jCard data' nextcloud.log

Cependant il n'y a pas 41 lignes, seulement 33. Les autres vCard qui ont échoué à l'import sont silencieuses. Il faudrait exporter et comparer pour les identifier.

#54

Mis à jour par Loïc Dachary il y a plus de 4 ans

En exportant les contacts depuis nextcloud, puis en les important dans cardbook thunderbird, puis en les exportant dans un répertoire, on obtient les 41 contacts manquant exactement. Je vais tenter de les importer l'un après l'autre pour identifier les problèmes.

#55

Mis à jour par Loïc Dachary il y a plus de 4 ans

En éditant manuellement les fichiers j'ai pu tous les importer. C'est moi qui avait injecté un bug avec mon script normalize.py, donc ma faute.

#56

Mis à jour par Loïc Dachary il y a plus de 4 ans

La découverte de MRC Compose et de son incompatibilité avec CardBook nous impose de faire machine arriere. C'était bien tenté mais nous n'avons pas vaincu :-)

#57

Mis à jour par Loïc Dachary il y a plus de 4 ans

Après essai, https://addons.thunderbird.net/en-US/thunderbird/addon/tbsync/ et https://github.com/jobisoft/DAV-4-TbSync/wiki/Compatibility-list-(DAV) font parfaitement le job. Poubelle cardbook dont le seul avantage est un redesign de l'UI. Mais c'est pas ce dont on a besoin.

#58

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#59

Mis à jour par Loïc Dachary il y a plus de 4 ans

Pour archive il y a un mauvais karman entre Enigmail et TBsync: les envois de mails sont bloqués. Ca se débloque si on disable Enigmail.

#60

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • activer cardbook chez isa + importer contacts locaux + export dans directory
  • scp -r du directory dans ivanni sur mon laptop
  • https://valise.april.org/index.php/apps/contacts/ + export Admin
  • activer cardbook chez moi
  • charger le fichier Contacts_(admin).vc dans cardbook
  • exporter dans repertoire contacts-admin
  • sed -i -e '/BDAY:-0001-11-30/d' Contacts_(admin).vcf
  • pour contacts-admin + ivanni
    • fromdos *.vcf ; for i in *.vcf ; do tr '\r' ' ' < "$i" > temp ; mv temp "$i" ; done
    • for i in *.vcf ; do grep '^[Nn]' "$i" | grep -qv ':' && echo "$i" ; done # doit ne rien afficher
    • for f in *.vcf ; do echo "$f" ; python3 ../normalize.py "$f" || break ; done
  • rm -fr merged ; mkdir merged ; python3 merge.py ivanni contacts-admin merged > /tmp/2
#61

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#62

Mis à jour par Loïc Dachary il y a plus de 4 ans

#63

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Fichier normalize.py supprimé
#64

Mis à jour par Loïc Dachary il y a plus de 4 ans

Le contenu du pad pour archive

Installation de Nextcloud 15 (compatible php 7.0)

Synchro d'un calendrier sur Evolution

  • Menu New => Calendar
  • Nom Isa April
  • Check "Use a secure connection"
  • URL https://valise-new.april.org/remote.php/dav/calendars
  • User: egonnu
  • Click "Find Calendar"
  • Enter password
  • Click the desired calendar
  • Check that adding / removing an event is reflected when looking at the calendar via the web interface

Synchro de la base contact sur Evolution

Synchro des calendriers et des contacts sur Thunderbird

Préparation de la nouvelle valise (valise-new)

  • Création des groupes identiques à ceux de la valise
  • Création des utilisateurs identiques à ceux de la valise
  • Mettre chaque utilisateur dans les groupes auquels il appartient
  • Demander à chaque utilisateur de vérifier son accès et changer son mot de passe
  • importer les calendriers partagés (cf plus bas) + Mi-temps-Fred pour l'historique
  • vérifier l'accès aux calendriers depuis thunderbird et evolution
  • importer les contacts
  • vérifier l'accès aux contacts depuis thunderbird et evolution

Le jour de la migration

  • Exporter tous les calendriers partagés * https://valise.april.org/index.php/apps/calendar/ * cliquer sur la fleche download pour tous sauf Calendrier-partagé-April qui apparait deux fois (Quand on les download ce sont exactement les même.)
  • Creer les calendriers * Calendrier-partagé-April 837d00 * Elsa-April b3dc6c * Etienne-April ffa200 * Fred-April ed8df2 * Isa-April 9bc8e9 * Mi-temps-Fred ff1e00 * et les partager en écriture avec le groupe permanent. Ca ne reproduit pas exactement le regroupement originel parce que ça ignore le groupe CA et que les calendriers sont crées par chaque utilisateur. Mais en pratique c'est la meme chose)
  • Importer les calendriers partagés ( Calendrier-partagé-April ~10 minute, Elsa-April, Etienne-April, Fred-April ~1 minute, Isa-April, Mi-temps-Fred ) * https://valise-new.april.org/index.php/apps/calendar/ * clique "Parametres et importation" * clique Import * choisir le calendrier * choisir le fichier correspondant * en cas d'erreur, recommencer l'import plusieurs fois jusqu'a ce que le total des imports réussis égale le total des entrées ( workaround bug d'import : https://github.com/nextcloud/calendar/issues/871#issuecomment-451455419 )
  • Exporter les contacts * https://valise.april.org/index.php/apps/contacts/ * Click sur la roue dentée en bas a gauche * Click la fleche vers le bas sur Contacts admin * sed -i -e '/BDAY:-0001-11-30/d' Contacts_(admin).vcf * après normalize.py et merge.py, vérifier qu'il n'y a pas de fichiers avec un N/n en début de ligne et pas de :
  • Importer les contacts * https://valise-new.april.org/index.php/apps/contacts/Tous%20les%20contacts * Click sur la roue dentée en bas a gauche * Click Importer vers * En cas d'erreur regarder dans https://valise-new.april.org/index.php/settings/admin/logging

Pour chaque utilisateur

  • Faire l'inventaire des calendriers non partagés
  • Exporter les calendriers non partagés depuis valise
  • Importer les calendriers non partagés version valise-new
  • Désactiver les calendriers non partagés sur valise
  • Ajouter les calendriers partagés, vérifier l'accès écriture / lecture
  • Ajouter les contacts, vérifier l'accès écriture / lecture

Apres une semaine

  • Renommer valise en valise-old
  • Faire pointer valise sur valise-new
  • Changer les URLs pour chaque utilisateur de valise-new en valise

ivanni

Synchro calendrier via thunderbird ou interface web, calendrier non partagé
Synchro calendrier via evolution (pour les notifications)
Synchro contacts: thunderbird mais pas interface web
Partage de fichiers (dernier fichier 7 mois)
evolution => preferences => Agenda & taches => Rappels

epottier

Calendrier, via l'interface web uniquement, calendrier non partagé
Copie non synchronisée des contacts thunderbird

egonnu

Contacts evolution : contacts propriété, pas d'ajout ou probablement pas
Calendrier evolution : via Agenda, pas de calendrier pas partagé sur la valise
Utilisation rare de l'agenda en web
evolution => preferences => Agenda & taches => Rappels

madix

Utilise l'agenda et les contacts via le web uniquement et encore pas souvent
#65

Mis à jour par Isabella Vanni il y a plus de 4 ans

  • Lié à Anomalie #3965: Il manque une favicon pour nextcloud ajouté
#66

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#67

Mis à jour par Loïc Dachary il y a plus de 4 ans

Apres tentative de synchro des agendas sur la machine eipoca on voit l'erreur mOfflineStorage is null

C'est le bug https://bugzilla.mozilla.org/show_bug.cgi?id=1081504

sur la machine de eipoca, apres avoir supprimé cache.sqlite dans le répertoire calendar-data de thunderbird, on redemarre et eipoca se retrouver avec une bonne vingtaines d'agendas distants surgis de nulle part
signe indéniable que le cache ... cachait qqc de pas net du tout
plein d'espoir nous supprimons tous les agendas distants
et nous demandons à tbsync de faire son travail

#68

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#69

Mis à jour par Loïc Dachary il y a plus de 4 ans

On constate sur la machine de ivanni que thunderbird lancé en mode safe ne freeze pas (thunderbird -safe-mode). Donc on va relancer en désactivant toutes les extensions pour voir si ça freeze encore. La bonne nouvelle c'est que les freeze ne viennent pas du nombre de dossiers imap (~3000).

#70

Mis à jour par Loïc Dachary il y a plus de 4 ans

Avec thunderbird sur la machine de ivanni relancé en mode normal (i.e. pas -safe-mode) et en désactivant tout les add ons, il n'y a pas de freeze (expérimentation sur plus de 2h de travail avec des rédactions de mail).

Voir aussi https://discourse.mozilla.org/t/how-to-diagnose-random-freezes/47378 pour une discussion sur le diagnostic des freeze

#71

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#72

Mis à jour par Loïc Dachary il y a plus de 4 ans

On constate que les 5 calendriers lightning de ivanni sont programés pour etre mis à jour toutes les 30 minutes. Comme tbsync fait aussi une synchro toutes les 60 minutes, ça fait doublon. Si lightning est a l'origine des freezes (ce qui semble possible vu qu'il y a eu un freeze apres sa reactivation) ca pourrait expliquer les freeze plusieurs fois par heure. Chaque calendrier etant probablement synchronisé a des moments différents et non pas tous en meme temps.

Pour tester cette théorie tout les calendriers ont été configurés pour se mettre à jour manuellement au lieu de toutes les 30 minutes. Et tout les addons ont été remis en place. Si les freezes ne se reproduisent plus, on a peut etre trouvé la source. Si ça se reproduit ça veut dire que cette théorie ne vaut pas grand chose ;-)

#73

Mis à jour par Quentin Gibeaux il y a plus de 4 ans

  • Version cible changé de Backlog à Novembre 2019
#74

Mis à jour par Frédéric Couchet il y a plus de 4 ans

J'ai installé lightning et tbsync sur mon laptop (debian bullseye). J'ai ajouté un compte dans tbsync pour synchroniser les calendriers et carnet d'adresses.

J'ai activé la synchronisation pour toutes les ressources disponibles sur le serveur (calendriers et carnet d'adresses). A chaque synchronisation je note que Thunderbird monte à 100% d'utilisation du CPU pendant plusieurs secondes.

Si je désactive la synchronisation pour « Anniversaire des contacts » lors de la synchronisation Thunderbird monte à 30% de CPU max pendant 1 seconde.

A noter que le délai de synchronisation ne semble pas être respecté de manière très précise.

#75

Mis à jour par Loïc Dachary il y a plus de 4 ans

Pour info les tbird de ivanni & epottier sont configurés pour ne pas inclure la synchro des anniversaires. Dans l'hypothèse ou la synchro tbird des calendriers est responsable des freeze, cela voudrait dire que

  • elle prend parfois plusieurs secondes (probable)
  • une partie du processus de synchro est bloquante (gros bug)

On en saura plus aujourd'hui.

#76

Mis à jour par Frédéric Couchet il y a plus de 4 ans

On est sûr qu'il n'y a pas une synchro des anniversaires d'une manière ou d'une autre ?

Est-ce que ce calendar est utile ? En test, on pourrait peut-être le supprimer pour voir l'effet que cela produit.

#77

Mis à jour par Loïc Dachary il y a plus de 4 ans

on pourrait peut-être le supprimer pour voir l'effet que cela produit.

J'ai supprimé ce nouveau calendrier (Anniversaires) dont personne ne dépend encore et qui pose problème. Pour ivanni, epottier et egonnu. Mais pas pour madix. Il suffit d'aller sur l'interface web et de cliquer sur les trois petit points a coté du calendrier, puis choisir Supprimer.

Une source de problèmes potentiels en moins, c'est plutôt une bonne idée :-)

#78

Mis à jour par Frédéric Couchet il y a plus de 4 ans

J'ai mis en place une collecte de données système sur damiana avec sar (je ne sais plus quelle précision il permet, par exemple sur le suivi de l'activité des processus).

  • apt install sysstat
  • vi /etc/default/sysstat (pour modifier false en true)
  • vi /etc/cron.d/sysstat (pour avoir une collecte toutes les minutes)
  • service sysstat restart

pour en savoir plus : man sar.

La commande sar -A est un bon début.

#79

Mis à jour par Quentin Gibeaux il y a plus de 4 ans

Le paquet owncloud a été désinstallé de lamp après la mise à jour de lamp en buster (conflit curl pour php-fpm 7.3), cf https://agir.april.org/issues/3947#note-4

#80

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
  • sur bastion enlever valise.april.org de /etc/nginx/sites-available/valise.april.org et l'ajouter dans /etc/nginx/sites-available/valise-new.april.org
  • git commit -m "Move valise to valise-new" sites-available/valise.april.org sites-available/valise-new.april.org
  • sur lamp enlever valise.april.org de /etc/apache2/sites-available/valise.april.org.conf et l'ajouter dans /etc/apache2/sites-available/valise-new.april.org.conf
  • aller sur https://valise.april.org et accepter le nouvel alias nextcloud comme trusted
  • git commit -m "Move valise to valise-new" sites-available/valise.april.org.conf sites-available/valise-new.april.org.conf
#81

Mis à jour par Loïc Dachary il y a plus de 4 ans

valise-old ayant été arreté de façon permanente, la migration est terminée. Pour récupérer ce qui reste éventuellement dans l'ancienne valise il faudra faire un travail d'archéologie. Je ne sais pas exactement comme il faudrait procéder et ça devrait faire l'objet d'un autre ticket.

#82

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#83

Mis à jour par Loïc Dachary il y a plus de 4 ans

Sur le poste de ivanni toutes les extensions sont activées, tout les agendas sont en mise à jour manuelle et tbsync se met a jour toutes les 60 minutes. Attention, il semble que certains agendas reviennent spontanément à une mise à jour toutes les 30 minutes.

#84

Mis à jour par Loïc Dachary il y a plus de 4 ans

Après une journée sur le poste de ivanni avec tous les addons activés et tous les agendas synchro manuellement et tbsync qui se lance toutes les 60 minutes, il y a toujours des freeze occasionels. Parfois plusieurs dans la même heure. Il faut donc revenir a l'étape 2:

  • etape 0: thunderbird -safe-mode => pas de freeze
  • etape 1: thunderbird aucun addon activé => pas de freeze
  • etape 2: thunderbird addons activés: thunderbird => ???
#85

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#86

Mis à jour par Loïc Dachary il y a plus de 4 ans

Ajourd'hui un freeze par heure exactement. Pas d'incide de surcharge système selon sar:

# sar 1 300000
                CPU     %user     %nice   %system   %iowait    %steal     %idle
17:48:00        all      0,77      0,00      0,51      0,00      0,00     98,71
17:48:01        all      0,51      0,00      0,77      0,26      0,00     98,46
17:48:02        all      0,77      0,00      0,51      0,00      0,00     98,72
17:48:03        all      1,26      0,00      1,26      0,25      0,00     97,22
17:48:04        all      1,50      0,00      0,75      0,25      0,00     97,49
17:48:05        all      1,50      0,00      0,75      0,75      0,00     96,99
17:48:06        all      0,76      0,00      0,76      0,00      0,00     98,49
17:48:07        all      1,75      0,00      0,50      0,50      0,00     97,24
17:48:08        all      1,50      0,00      1,00      0,75      0,00     96,75
17:48:09        all      2,53      0,00      1,27      1,01      0,00     95,19
17:48:10        all      8,08      0,00      0,51      0,25      0,00     91,16
17:48:11        all     13,38      0,00      2,02      0,76      0,00     83,84
17:48:12        all     20,85      0,00      1,51      0,25      0,00     77,39
17:48:13        all      4,30      0,00      1,27      0,76      0,00     93,67
17:48:14        all      4,80      0,00      0,76      0,25      0,00     94,19
17:48:15        all     14,43      0,25      6,47      0,00      0,00     78,86
17:48:16        all     24,94      0,00      1,48      0,25      0,00     73,33
17:48:17        all     24,50      0,00      1,25      0,00      0,00     74,25
17:48:18        all     25,54      0,00      4,82      0,00      0,00     69,64
17:48:19        all     27,23      0,00      4,34      0,72      0,00     67,71
17:48:20        all     26,06      0,00      5,40      0,47      0,00     68,08
17:48:21        all     25,00      0,00      2,00      0,50      0,00     72,50
17:48:22        all     26,12      0,00      1,00      0,50      0,00     72,39
17:48:23        all     24,63      0,00      2,49      0,75      0,00     72,14
17:48:24        all     27,23      0,00      1,49      0,74      0,00     70,54
17:48:25        all     26,14      0,00      3,84      0,48      0,00     69,54
17:48:26        all     26,49      0,00      0,99      0,50      0,00     72,03
17:48:27        all     23,50      0,00      2,75      0,00      0,00     73,75
17:48:28        all     25,37      0,00      1,00      0,50      0,00     73,13
17:48:29        all     25,31      0,00      0,99      0,25      0,00     73,45
17:48:30        all     25,62      0,25      0,50      0,75      0,00     72,89
17:48:31        all     25,81      0,00      0,99      0,25      0,00     72,95
17:48:32        all     36,07      0,00      1,74      0,75      0,00     61,44
17:48:33        all     25,69      0,00      0,50      0,25      0,00     73,57
17:48:34        all     26,24      0,00      0,99      0,74      0,00     72,03
17:48:35        all     26,33      0,00      3,14      2,17      0,00     68,36
17:48:36        all     16,83      0,00      2,40      1,44      0,00     79,33
17:48:37        all     13,94      0,00      1,96      0,73      0,00     83,37
17:48:38        all      6,40      0,00      4,03      0,95      0,00     88,63
17:48:39        all     10,80      0,00      1,01      0,25      0,00     87,94
17:48:40        all      4,66      0,00      1,23      0,74      0,00     93,38
17:48:41        all      9,22      0,00      2,13      0,71      0,00     87,94
17:48:42        all     12,35      0,00      4,28      1,43      0,00     81,95
17:48:43        all     12,65      0,00      1,70      0,49      0,00     85,16
17:48:44        all     13,13      0,00      1,91      0,95      0,00     84,01
17:48:45        all     10,21      0,00      3,33      1,66      0,00     84,80
17:48:46        all      9,91      0,00      3,77      0,71      0,00     85,61
17:48:47        all     10,53      0,00      3,35      2,39      0,00     83,73
17:48:48        all      4,91      0,00      0,98      0,25      0,00     93,86
17:48:49        all     12,29      0,00      2,65      0,72      0,00     84,34
17:48:50        all     17,40      0,00      2,45      1,47      0,00     78,68
17:48:51        all     23,94      0,00      0,75      0,25      0,00     75,06
17:48:52        all     15,54      0,00      1,50      0,25      0,00     82,71
17:48:53        all     21,61      0,00      1,51      0,25      0,00     76,63
17:48:54        all      0,50      0,00      0,00      0,00      0,00     99,50
17:48:55        all     11,28      0,00      1,00      0,00      0,00     87,72
17:48:56        all     10,60      0,00      1,45      1,69      0,00     86,27
17:48:57        all     11,06      0,00      2,64      0,48      0,00     85,82
17:48:58        all      8,25      0,00      2,67      0,73      0,00     88,35
17:48:59        all     12,29      0,00      2,60      4,49      0,00     80,61
17:49:00        all      6,39      0,00      1,47      0,98      0,00     91,15
17:49:01        all     15,71      0,00      2,49      1,50      0,00     80,30
17:49:02        all      5,29      0,00      1,68      0,48      0,00     92,55
17:49:03        all      8,87      0,00      2,22      0,49      0,00     88,42
17:49:04        all      9,88      0,00      1,98      1,73      0,00     86,42
17:49:05        all     17,20      0,00      1,72      0,98      0,00     80,10
17:49:06        all      6,11      0,24      1,47      0,49      0,00     91,69
17:49:07        all     22,53      0,00      1,77      1,77      0,00     73,92
17:49:08        all     31,41      0,00      2,51      1,01      0,00     65,08
17:49:09        all     12,06      0,00      1,76      2,01      0,00     84,17
17:49:10        all     17,41      0,00      4,23      2,24      0,00     76,12
17:49:11        all     54,55      0,00      5,56      2,02      0,00     37,88
17:49:12        all     38,54      0,00      3,02      0,25      0,00     58,19
17:49:13        all     27,75      0,00      1,00      1,00      0,00     70,25
17:49:14        all     26,01      0,00      3,03      0,25      0,00     70,71
17:49:15        all     34,59      0,00      1,75      0,50      0,00     63,16
17:49:16        all      1,49      0,00      1,24      0,75      0,00     96,52
17:49:17        all     11,25      0,00      2,00      1,50      0,00     85,25
17:49:18        all     22,47      0,00      2,78      1,01      0,00     73,74

Par ailleurs la consomation mémoire est faible (~3GB sur 16GB)

#87

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Description mis à jour (diff)
#88

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Statut changé de En cours de traitement à Confirmé
#89

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Statut changé de Confirmé à En cours de traitement
#90

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Catégorie mis à Task
#91

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Tracker changé de Demande à Anomalie
#92

Mis à jour par Loïc Dachary il y a plus de 4 ans

  • Tracker changé de Anomalie à Demande
  • Catégorie changé de Task à Story
#93

Mis à jour par Quentin Gibeaux il y a plus de 4 ans

  • Difficulté changé de 8 Pain in the ass à 2 Facile
#94

Mis à jour par Quentin Gibeaux il y a plus de 4 ans

  • Catégorie changé de Story à Task
#95

Mis à jour par Quentin Gibeaux il y a plus de 4 ans

  • Catégorie changé de Task à Story
  • Difficulté changé de 2 Facile à 8 Pain in the ass
#96

Mis à jour par Quentin Gibeaux il y a plus de 4 ans

On peut fermer ?
Les conf apache sont ok ?

#97

Mis à jour par Quentin Gibeaux il y a plus de 4 ans

  • Version cible changé de Novembre 2019 à Décembre 2019
#98

Mis à jour par Quentin Gibeaux il y a plus de 4 ans

  • Version cible changé de Décembre 2019 à Janvier 2020
#99

Mis à jour par Quentin Gibeaux il y a environ 4 ans

  • Version cible changé de Janvier 2020 à Février 2020

Mis à jour par Quentin Gibeaux il y a environ 4 ans

  • Version cible changé de Février 2020 à Mars 2020

Mis à jour par Quentin Gibeaux il y a environ 4 ans

  • Assigné à changé de Loïc Dachary à François Poulain

Mis à jour par Quentin Gibeaux il y a environ 4 ans

  • Version cible changé de Mars 2020 à Avril 2020

Mis à jour par Quentin Gibeaux il y a presque 4 ans

  • Version cible changé de Avril 2020 à Mai 2020

Mis à jour par Quentin Gibeaux il y a presque 4 ans

  • Version cible changé de Mai 2020 à Juin 2020

Mis à jour par Quentin Gibeaux il y a presque 4 ans

  • Version cible changé de Juin 2020 à Été 2020

Mis à jour par François Poulain il y a plus de 3 ans

C'est bon (retour à mod php) et j'ai viré les valise-new partout. Welcome sur valise.april.org :)

Mis à jour par François Poulain il y a plus de 3 ans

  • Statut changé de En cours de traitement à Résolu

Mis à jour par Quentin Gibeaux il y a plus de 3 ans

  • Statut changé de Résolu à Fermé

Mis à jour par Isabella Vanni il y a plus de 3 ans

Loïc Dachary a écrit :

La découverte de MRC Compose et de son incompatibilité avec CardBook nous impose de faire machine arriere. C'était bien tenté mais nous n'avons pas vaincu :-)

[20200924 sur #april]
(11:16:49) Thom1: avant TB 78, il y avait un champ (To, Cc ou Cci) par adresse. MRC Compose permet d'avoir un seul champ avec toutes les adresses, c'est ça ?
(11:17:20) cioccolisa: c'est ça : un seul champ avec toutes les adresses
(11:17:32) Thom1: depuis TB 78, c'est comme ça par défaut
(11:17:39) Thom1: et cardbook fonctionne avec TB 78

Mis à jour par Isabella Vanni il y a plus de 3 ans

Formats disponibles : Atom PDF