Direktzugriff auf DB



  • Hallo zusammen,
    gibt es jemanden, der nicht mit der Schnittstelle arbeitet, sondern direkt auf die CT-Datenbank zugreift? Bzw. gibt es dazu offiziell die Möglichkeit?
    Hintergrund ist der, dass wir mit den vorhandenen Schnittstellen nicht alles abdecken können, bzw. teilweise Probleme mit gelöschten Terminen haben (scheinen in der Schnittstelle nach wie vor auf).
    Vielen Dank für eure Erfahrungen 🙂
    LG Claus



  • @claus-vogelmann nun, ich denke, da bleibt nur die Variante, das selber zu hosten.
    Wir können auch nicht alles über die neue REST API abbilden. z.B. unsere Heizungssteuerung würde nicht funktionieren, weil immer noch keine Endpoints für die Ressourcenbuchungen vorliegen.
    Also lösen wir da smit einem Direktzugriff auf die Datenbank, allerdinsg als Selfhoster....
    Ok, wahrscheinlich nicht gerade hilfreich für dich, da du vermutlich deshalb frägst, weil ihr eben keine Selfhoster seid.
    Aber, du hast ja nach Erfahrungen gefragt 😉

    Ich bin mir aber sicher, dass der support euch weiter hilft, wenn es mal Probleme gibt, die man nur über die Datenbank lösen kann...


  • ChurchToolsMitarbeiter

    @claus-vogelmann

    Generell ist alles was du im ChurchTools Frontend an Funktionalität findest über Apis abgedeckt, weil das Frontend auch diese Apis nutzt.
    Das heißt dein Use-Case sollte über die Apis auch abgedeckt sein.

    Die alten Apis sind leider etwas schwerer verständlich, aber die Funktionalität sollte vorhanden sein.

    Um zu sehen welche Apis im Frontend genutzt werden kannst du die Seite mit deinem Browser öffnen und die Developer-Tools öffnen. Im Netzwerktab sieht man dann die genauen Api-Aufrufe mit ihren Parametern.



  • Hallo @davidschilling,
    vielen Dank für deine Antwort. Der API-Call selber ist nicht das Problem, ich bekomme auch die gewünschten Daten zurück. Allerdings interpretiere ich etwas noch falsch oder es fehlen mir noch Zusatzinformationen...
    Konkret geht es darum, dass ich mir über getBookings oder über getCalPerCategory die ganzen Buchungen hole, dann habe ich zwar eine Logik anhand deren ich entscheide, wann der Termin stattfindet. Problem ist aber, dass in meiner Logik vereinzelt Termine aufscheinen, die im Kalender richtigerweise nicht aufscheinen (weil sie zB ein spezifischer Termin eines Serientermins gelöscht wurde).
    Gibt es vielleicht eine Beschreibung der Felder der API? Weil die ganzen Events/Bookings kann man aktuell glaub noch nicht über die REST Api abfragen oder?
    Vielen Dank!
    LG Claus


  • ChurchToolsMitarbeiter

    Hier ein Beispiel für eine Antwort der Api getCalPerCategory:

    Bildschirmfoto 2020-11-17 um 08.16.51.png

    Der Sichtbare Termin ist eine täglich wiederholende Serie die bis zum 19.11.2020 läuft.
    Mit einer Ausnahme die man im Feld exceptions sieht. Der 13.11 ist dort entfernt worden.



  • @davidschilling - vielen Dank!!
    Das hab ich soweit alles verstanden und auch nach bestem Wissen und Gewissen umgesetzt. Mein Problem hab ich auch schon in einem anderen Beitrag geschrieben - es ist wie folgt:
    @claus-vogelmann sagte in Problem mit Funktion getBookings:

    Hallo zusammen,
    ich hab ein Problem mit dem Resultat von "getBookings". Für einen Serientermin liefert er mir folgendes Ergebnis:

    {
    	"id": "6556",
    	"cc_cal_id": "3877",
    	"resource_id": "8",
    	"person_id": "338",
    	"startdate": "2019-10-28 18:00:00",
    	"enddate": "2019-10-28 22:00:00",
    	"repeat_id": "32",
    	"repeat_frequence": "1",
    	"repeat_until": "2020-12-28 00:00:00",
    	"repeat_option_id": "6",
    	"status_id": "2",
    	"text": "Gideons (Broger Helmut)",
    	"location": "",
    	"note": "",
    	"show_in_churchcal_yn": "0",
    	"modified_date": "2020-10-10 10:42:57",
    	"create_date": "2019-09-09 17:43:40",
    	"person_name": "Alfred Tröster",
    	"station_id": null,
    	"bezeichnung": "Besprechungszimmer",
    	"version": "6",
    	"category_id": "1",
    	"cal_startdate": "2019-10-28 18:00:00",
    	"cal_enddate": "2019-10-28 22:00:00",
    	"exceptions": {
    		"2759": {
    			"id": "2759",
    			"except_date_start": "2020-03-30 00:00:00",
    			"except_date_end": "2020-03-30 00:00:00"
    		},
    		"2860": {
    			"id": "2860",
    			"except_date_start": "2020-04-27 00:00:00",
    			"except_date_end": "2020-04-27 00:00:00"
    		},
    		"3029": {
    			"id": "3029",
    			"except_date_start": "2020-05-25 00:00:00",
    			"except_date_end": "2020-05-25 00:00:00"
    		},
    		"3098": {
    			"id": "3098",
    			"except_date_start": "2020-10-26 00:00:00",
    			"except_date_end": "2020-10-26 00:00:00"
    		}
    	}
    }
    

    Daraus lese ich, dass sich der Termin wöchentlich bis zum "repeat_until": "2020-12-28 00:00:00" wiederholen soll - mit den Ausnahmen laut "Exceptions-Block".
    Allerdings ist es so, dass der Termin für heute (9.11.) und für nächsten Montag gelöscht wurde und auch nicht mehr im Churchtool aufscheint... Übersehe ich evt. noch was im Ergebnis?

    Vielen Dank!
    LG Claus



  • @claus-vogelmann Events kann man hervorragend über REST auslesen



  • @bwl21 vielen Dank für die Info.
    Hab ich mir auch schon angeschaut, da sind aber leider weniger Infos drin, als in der "alten" Schnittstelle.
    Ich benötige zB startdate, enddate, cal_startdate und cal_enddate - und so wie ich das gesehen habe, sind nicht alle 4 Datums im Ergebnis der Rest-API.
    LG Claus



  • @claus-vogelmann ja, das kann sein. Wir verwenden nur startdate enddate. Leider ist es mir auch nicht gelungen, mit der alten Schnittstelle zurecht zu kommen. Ich habe aber auch nicht viel probiert, da ich hoffe alles über REST machen zu können, und im Zweifelsfall warte.



  • @bwl21 hm ok. naja, grundsätzlich komme ich gut damit zurecht, bis eben auf dieses eine Problem...
    LG Claus


Log in to reply