Familien anlegen per API
-
Ich stehe vor der Aufgabe, Personen aus DaviP nach CT zu importieren. Ich habe die Daten nun im JSON - Format und plane, diese per API einzuspielen.
Dabei komme ich an die Frage, wie ich die Familienbeziehungen reinkriege.
bin ich da richtig im V1-API
Package: CT-ChurchDB
Located at system/churchdb/churchdb_db.phpim V2 habe ich keine Funktion gefunden.
-
generell empfehle ich für die alte Api folgendes vorgehen.
Man öffnet ChurchTools und öffnet die Entwicklertools des Browsers.Dann führt man die Aktion durch die man später per Api durchführen will.
Im Netzwerktab sieht man dann welche Api Aufrufe dazu führen.so sehe ich z.b. dass des hinzufügen von Beziehungen folgendermaßen funktioniert:
Grundsätzlich sind wir gerade dabei einen sync für churchtools umzusetzen, der wird dann auch die Möglichkeit haben Daten mit DaviP zu syncen.
-
Vielen Dank für den Hinweis. Leider bleibe ich wieder hängen ...
Ich bekomme die Meldung:
Keine ausreichende Berechtigung. Das Recht 'view person (\"Verwaltung\")' ist notwendig.
,Ich finde aber kein Recht
view person
. Wenn ich die Beziehung Frontend eingebe, dann funktioniert das ohne die Fehlermeldung.Da beobachte ich aber auch, dass eine browsertabId mit kommt. Wenn ich Headless arbeite, habe ich das natürlich nicht. Könnte das das Problem sein?
Ich versuche die Scripte so zu bauen, dass ich immer nur die Berechtigungen hinzufüge, die angefordert werden ( da wäre ein Betriebsmodus sinnvoll, der mir sagt, welche Berechtigungen wirklich verwendet wurden. Dann könnte man mit Volberechtigung einmal laufen und sieht dann genau, was man braucht ohne sich da mühsam heranzutasten. )
@davidschilling sagte in Familien anlegen per API:
Grundsätzlich sind wir gerade dabei einen sync für churchtools umzusetzen, der wird dann auch die Möglichkeit haben Daten mit DaviP zu syncen.
Nachdem ich nun die Daten aus unserem DaviP-W rausgelesen habe, habe ich ziemliche Zweifel, dass man einen solchen Sync generell stabil bekommt. Über all die Jahre wurden gemeindespezifische Feldbelegungen gemacht. So weit ich höre ist auch die Migration von DaviP-W nach DaviP-online nicht ganz verlustfrei gelaufen. Ausserdem kommen wir von DaviPW und nicht von DaviP-online. Ausserdem braucht man eine Menge benutzerdefinierter Felder. Neulich habe ich im Forum gefragt, ob es da schon einen Ansatz gibt, aber den scheint es nicht zu geben. Wir haben 100 belegte Felder in DaviP-W ...
Grundsätzlich würde ich gerne bei solchen Syncs und Imports die Einstellungen als JSON-File speichern und einlesen können, so dass wir reproduzierbare Verhältnisse haben. So mach ich es jetzt auch.
-
@bwl21 es scheint das generelle Recht für Personen&Gruppen zu fehlen (in deinem Fall wohl 'Verwaltung'
die browserTabId brauchst du für die API nicht zu berücksichtigen, das hat nur etwas mit dem Frontend und Daten aktualisieren zu tun
Ob du nun 5 oder 100 Felder synchronisierst ist letztlich egal. Wir bauen das so, dass du für jedes Feld extra das Mapping speichern kannst und dann noch filtern kannst, was und wer gesynct werden soll. Das wird alles abgespeichert und somit hast du reproduzierbare Verhältnisse
-
@jziegeler sagte in Familien anlegen per API:
Ob du nun 5 oder 100 Felder synchronisierst ist letztlich egal. Wir bauen das so, dass du für jedes Feld extra das Mapping speichern kannst und dann noch filtern kannst, was und wer gesynct werden soll. Das wird alles abgespeichert und somit hast du reproduzierbare Verhältnisse
Es wird nicht reichen, einfach Felder zu syncen ... z.B. ist das Konzept der Beziehungen in DaviP ganz anders als bei CT, da muss man prgrammatisch eingreifen. Es gibt DaviP Felder die in die Gruppenstruktur überführt werden müssen. Und dann haben wir noch die Sache mit den Ländecodes, CT verwendet zahlen, DaviP verwendet dreistellige ISO codes, von denen manche auch noch falsch sind.
-
@bwl21 warte mal ab. Nachdem wir da gedanklich schon über ein Jahr dran sind, werden glaube ich die meisten Fälle abgedeckt sein
-
@bwl21 sagte in Familien anlegen per API:
Ich bekomme die Meldung: Keine ausreichende Berechtigung. Das Recht 'view person ("Verwaltung")' ist notwendig.,
Ich finde aber kein Recht view person. Wenn ich die Beziehung Frontend eingebe, dann funktioniert das ohne die Fehlermeldung.da waren nun doch Fehler in den Parameternamen. Die Fehlermeldung ist da dann nicht wirklch hilfreich, es ist kein Problem der Berechtigungen ....
nun denn. auf jeden Fall läuft es jetzt.