Speicherort CONTACTS -> Massen-Update einer Feldbezeichnung

Hallo liebe Nextcloud-Gemeinde,
dies ist mein erster Post in diesem Forum und hoffe auf gute Hilfe :slight_smile:

Ich habe einen eigenen Mini-Server mit Ubuntu-Server 2204 und einer aktuellen Version von Nextcloud installiert. In meiner Nextcloud habe ich die CONTACTS-App und habe bemerkt, dass bei zahlreichen meiner Kontakte vor der Telefonnummer “HOME” steht, anstelle von “Privat”. Das ist nicht überall so, aber bei zahlreichen Kontakten …
Ich habe mich gefragt, ob ich nicht per Massen-Update alles von “HOME” auf “Privat” updaten kann …
Ich habe die Nextcloud-Datenbank in der mysql-DB durchsucht, aber finde nicht die Tabelle, in der das ggf. enthalten sein könnte. (Ich finde grundsätzlich nicht die Datenbank-Tabelle in der die Kontakte gespeichert sind - aber gut → Könnte ja auch sein, dass die Kontakte nicht in der DB gespeichert sind - habe aber auch im File-System auf dem Linux-System mal rumgesucht und auch dort nichts gefunden …)

Mit GitHub kenne ich mich leider gar nicht aus, um eventuell im Quellcode nachzuschauen, wo die Daten gespeichert sind …
Ich möchte tatsächlich nichts an der Funktionsweise von CONTACTS verändern, nur das Label korrigieren, dass eben die korrekten Bezeichnungen in der vCard angezeigt und gespeichert sind.

Kennt sich damit jemand aus und kann mir dabei helfen bzw. mir Infos liefern? Das wäre großartig. Danke vorab.

Nachfolgend ein paar Informationen aus dem Fragenkatalog beantwortet:

  • Bei welchen Anbieter? Was für ein Server? Eigener Mini-Server - lokal im Netzwerk
  • Auf welcher Hardware? PC
  • Betriebssystem sowie Version ALLER beteiligten Systeme → Ubuntu-server 22.04
  • Nextcloud Version: 25.0.1
  • PHP Version: 8.1
  • Welche Datenbank? MariaDB
  • Apache version - Apache2

Man kann das sicher auf verschiedene Weisen lösen.

Ich persönlich würde das betreffende Adressbuch mit calcardbackup exportieren, dann mit sed -i "s/HOME/Privat/" adressbuch.vcf alle Vorkommen ändern und die geänderte Datei importieren (am Besten über einen per carddav verbundenen client, um Timeouts vorzubeugen). Statt des sed-Kommandos kannst du das auch über suchen und ersetzen in einem Textverarbeitungsprogramm machen (dann aber aufpassen, dass die Zeilenumbrüche nicht verändert werden: laut RFC müssen die aus CR+LF bestehen).

Viel Erfolg!

P.S.: die Kontakte sind in der Datenbanktabelle oc_cards gespeichert (evtl. lautet dein Prefix anders als oc_).

1 Like

Vielen Dank. Das war schon hilfreich. Leider hat das mit dem Calcardbackup bei mir nicht erfolgreich, aber die Abfrage aus der DB.
Dort werden aber dennoch die HOME- oder WORK-Tags verwendet. Allerdings ist/war wohl das Problem, dass auch doppelte Anführungsstriche enthalten waren - warum auch immer.
Ich habe also per UPDATE per SQL einfach “HOME,PREF” durch HOME (ohne Anführungsstriche) ersetzt und danach getestet. Es lief alles und sah dann auch erst einmal sauber aus.
Habe auch nach diversen ABLABEL-Tags gesucht und diese ersetzt.
Ich denke aber damit eine gute Lösung gefunden zu haben und bedanke mich für die Hilfe!

1 Like