Daten nicht konsistent in churchservice.getAllSongs() und churchservice.getSongStatistic()
-
Hallo,
ich habe eine Songstatistik erstellt, welche die Lieder nach Häufigkeit sortiert ausgibt und anzeigt wann diese gespielt wurden.
Ich habe festgestelt, dass in der Datenmenge von churchservice.getSongStatistic() IDs mit Daten vorhanden sind, welche in churchservice.getAllSongs() nicht mehr vorkommen.
Ich vermute, das ist ein Fehler in der Konsistenzprüfung beim Persistieren von Liedern, in dem Fall beim Löschen über die CT-UI.
Oder gibt es dafür eine andere Erklärung? Die API wird nur lesend verwendet.
Gruß,
C.Gallant -
Wenn Songs gelöscht werden, löschen wir nicht Verweise in der Statistik dazu. Das ist absicht, denn sonst würden die Auswertungen verfälscht werden wenn man z.B. auswertet wieviele Songs pro Godi wurden gespielt. Da ist es ja dann z.B. nicht mehr relevant, welcher Song genau gespielt wurde.
-
Das klingt natürlich plausibel. Leider fehlt in der Auswertung dann aber der Name des Lieds, da dieser nur in der Datentabelle der Lieder existiert und der Eintrag ist ja gelöscht. D.h. man weiß, dass es mal ein Lied gab, welches gespielt wurde, weiß aber nicht welches.
Man sollte wenigstens den Namen des Lieds und nicht nur den Foreignkey (ID) in der Statistiktabelle haben. Oder das Lied nur als gelöscht markieren um es nicht mehr anzuzeigen.
Für uns ist es schon relevant welcher Song genau gespielt wurde da wir wie erwähnt eine Statistik darüber abrufen. Auch aus Gründen der Rechenschaft gegenüber der CCLI könnte das ggf. mal erlevant werden.
Kann man das als Anforderung aufnehmen?
Immer die Kunden mit ihren extra Wünschen. Das kenn ich gut -
Dafür am besten Songs einfach nicht löschen, sondern in eine Kategorie "Alt" schieben, die nur der Admin sehen kann.
Die Anzahl der Songs spielen ja auch Lizenztechnisch bei uns keine Rolle -
@jmrauen Ich habe das Ganze nochmal untersucht und meine, dass es ein ganz anderes Problem ist.
In den Statistikdaten (getSongStatistic) kommen Lieder mit IDs vor die es im getAllSongs() Array nicht gibt. Die Lieder werden aber aktuell noch eingeplant, was mir recht komisch erschien.
Bei einem habe ich jetzt gesehen, dass ein Lied mit mit ID=110 eine Arrangement ID=117 hat. 110 kommt aber in getSongStatistic() nicht vor, dafür die 117 mit eben jedem Datum an dem das Lied mit ID=110 (durch nachschauen in der CT UI) gespielt wurde.Zuerst dachte ich es geht etwas beim dekodieren der JSON-Daten in Arrays schief, aber die Daten sind schon so wenn sie über die API kommen.
Ich kann Ihnen gerne mal 2 Textdateien mit den entsprechenden (JSON) Daten zukommen lassen. Könnten sie sich das mal anschauen?
-
@jmrauen Über iene Antwort würde ich mich freuen