• Aktuell
    • Tags
    • Beliebt
    • Benutzer
    • Gruppen
    • Suche
    • Registrieren
    • Anmelden

    Eventfilterung für Infoscreen

    ChurchTools Schnittstellen
    7
    27
    13.3k
    Lade mehr Beiträge
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
    • A
      Alex
      zuletzt editiert von

      Ich entwickle momentan einen Infoscreen (in JavaScript) für meine Gemeinde.
      Der Infoscreen ist ein großer Bildschirm am Eingang des Gebäudes, auf dem einerseits Bilder mit Informationen zu aktuellen Veranstaltungen durchlaufen und andererseits im unteren Bereich alle Veranstaltungen inkl. Raum und Zeit angezeigt werden, die im Laufe des Tages noch statt finden (siehe Screenshot).

      Dazu hole ich mir aus der API alle Events und filtere diese dann, um alle relevanten anzeigen zu können.
      Allerdings gibt es noch ein paar Probleme Serienterminen, gerade solche mit repeat_id=32, da diese ja monatlich am gleichen Tag auftreten.

      Nun meine Frage:

      1. Gibt es eine Möglichkeit aus der API direkt alle heute stattfindenden Events abzufragen.
      2. Wenn nicht, wie berechne ich am schlausten, ob ein Serientermin mit repeat_id=32 heute stattfindet (im Kalender definierte Ausnahmen werden bereits berücksichtigt)

      Vielen Dank im Voraus, hier noch ein Screenshot:
      0_1460049152513_ibjdgcee.png

      1 Antwort Letzte Antwort Antworten Zitieren 0
      • jmrauenJ
        jmrauen ChurchToolsMitarbeiter
        zuletzt editiert von

        Das sieht ja echt gut aus. Kannst Du das nicht zur Verfügung stellen für andere? Das wäre ja echt super!

        Also Du kannst in churchcore.js die Funktion churchcore_getAllDatesWithRepeats() nutzen. Hier gibst Du das Datumobject rein und bekommst alle Wiederholungen.
        Ansonsten wenn Du das zur Verfügung stellst, kann ich auch gerne Dir einen API zur Verfügung stellen wo direkt die Datumgrenzen von / bis angeben kannst.

        1 Antwort Letzte Antwort Antworten Zitieren 2
        • A
          Alex
          zuletzt editiert von Alex

          Klar, ich stelle den Code zur Verfügung.
          Allerdings habe ich mich nicht wirklich mit Lizenzen auseinandergesetzt, wie man das am schlausten macht weiß ich nicht, außerdem ist die Codequalität auch nicht gerade die Beste.

          Kurzanleitung:

          • Benötigt wird ein php-fähiger Webserver und ein Browser (Ich habe nur Chrome getestet).
          • Unter php/data.php müssen die Zugangsdaten eines Accounts hinterlegt werden
          • "index.html" ist der Infoscreen, "manage/index.html" das Tool, um die Bilder ("Impressionen"), die im oberen Teil durchlaufen zu ändern

          Download: derzeiss.bplaced.net/.download/Infoscreen.rar

          Und vielen Dank für die Info mit der API, ich werde das demnächst mal ausprobieren.

          MaxStroM 1 Antwort Letzte Antwort Antworten Zitieren 0
          • MaxStroM
            MaxStro @Alex
            zuletzt editiert von

            @Alex Besten Dank, das sieht klasse aus....

            Welche Rechte müssen sitzen (beim Screen-Nutzer), damit die Räume/Termine angezeigt werden?
            Zieht er die Startzeiten aus dem Kalender und nur den Ort dazu?

            Verbesserungs-/Veränderungsvorschläge:

            • Veränderung der Auflösung (für TV-Nutzung im Eingangsbereich)
            • optional Anordnung der Veranstaltungen links/rechts neben den durchlaufenden Bildern
            • Optional Wocheninfos

            CT hosting

            A 1 Antwort Letzte Antwort Antworten Zitieren 0
            • A
              Alex
              zuletzt editiert von

              Der Infoscreen Nutzer muss einerseits alle Kalender sehen, dessen Termine angezeigt werden sollen, andererseits muss er lesenden Zugriff auf churchresource haben. Zu einem Event wird Startzeit und Name aus dem event selbst geholt, Dinge wie Raum und Etage, werden aus den Ressourcen geholt.

              Die Verbesserungsvorschläge hören sich gut an, allerdings habe ich momentan nicht die Zeit dafür, falls du (oder jemand anderes) sich dazu bewogen fühlt die Dinge zu implementieren würde ich mich freuen, das Ergebnis zu sehen.

              1 Antwort Letzte Antwort Antworten Zitieren 0
              • MaxStroM
                MaxStro
                zuletzt editiert von

                @Alex Ich hab da leider kein KnowHow. Ich kämpfe mich eher durch die Scripte und suche was ich wie/wo anpassen muss, damit es bei uns läuft/laufen würde. Ich denke es fängt schon mit anderen Raumbezeichnungen an 🙂

                Hab das dauerhaft bei uns stehen obwohl was "läuft"
                0_1460836329352_Infoscreen___Friedenskirche-Info.jpg

                Wo finde ich die Beschränkung auf einen Tag? Ich würde das gerne auf eine Woche abändern. Gibt es die Möglichkeit überhaupt?

                Naja, ist noch ein weiter Weg (für mich)

                Gruß
                Max

                CT hosting

                1 Antwort Letzte Antwort Antworten Zitieren 0
                • A
                  Alex @MaxStro
                  zuletzt editiert von

                  @jmrauen die Idee mit der API mit Datumsgrenze wäre echt Hammer!
                  Weil die API-calls dauern echt relativ lange, und wenn ich das für jeden Serientermin mache, dauert das eben sehr lange. Momentan lasse ich die Seite einfach alle 15 Minuten refreshen, wodurch das relativ störend wäre. Durch lazy loading könnte man das Ganze natürlich umgehen, aber das wäre eben auch nochmal einiges an Arbeit. Wenn es also nicht so viel Aufwand ist, diese API-Funktion zur Verfügung zu stellen, wäre das extrem hilfreich.

                  @MaxStro Ich kann mit dem Fehlerbild ehrlich gesagt nicht sehr viel anfangen. Ich würde vermutlich mal überprüfen, was überhaupt an Events von der API kommt. Das geht am einfachsten, indem du in "js/info.js" in Zeile 1 "DEBUG = 2" setzt. Dadurch wird jeweils eine Textbox mit allen Ressourcen und allen Events an die Infoscreenseite angehängt. Ich benutze dann ganz gerne einen JSON-Viewer (http://jsonviewer.stack.hu/), um mir das JSON etwas näher anzugucken. Keine Ahnung inwiefern dir das hilft.
                  Und benutzt du einen Editor mit Syntax Highlighting (sowas wie Notepad++), um die Scripte durchzukämpfen? Nur mit dem Editor ist das wie ich finde tatsächlich eine ziemliche Qual.

                  MaxStroM 1 Antwort Letzte Antwort Antworten Zitieren 0
                  • MaxStroM
                    MaxStro @Alex
                    zuletzt editiert von

                    @Alex Normaler Texteditor am Mac. Wer mal nach was anderem suchen 🙂

                    Danke

                    CT hosting

                    1 Antwort Letzte Antwort Antworten Zitieren 0
                    • D
                      daniel_
                      zuletzt editiert von

                      @MaxStro: Ein Editor mit Syntax Highlighting den es auch für Mac gibt ist Sublime Text Gibt es in einer kostenlosen Vollversion.

                      CT 3.x Hosting bei CT

                      1 Antwort Letzte Antwort Antworten Zitieren 0
                      • A
                        Alex
                        zuletzt editiert von

                        @jmrauen darf ich mich noch auf die API für alle Events von - bis freuen?

                        MaxStroM 1 Antwort Letzte Antwort Antworten Zitieren 1
                        • MaxStroM
                          MaxStro @Alex
                          zuletzt editiert von

                          @Alex mit fixen Daten? Besser wären doch Variable. Heute + 2 Wochen, oder?

                          CT hosting

                          A 1 Antwort Letzte Antwort Antworten Zitieren 0
                          • A
                            Alex @MaxStro
                            zuletzt editiert von

                            @MaxStro "von" und "bis" würde ich der API dann per Parameter geben, vermutlich über einen datumsstring in Sekunden, falls dir das was sagt. Sonst macht so eine API in der Tat relativ wenig Sinn.

                            1 Antwort Letzte Antwort Antworten Zitieren 0
                            • jmrauenJ
                              jmrauen ChurchToolsMitarbeiter
                              zuletzt editiert von

                              @Alex Ja kann ich bauen. Was wären denn die gewünschten Parameter?

                              • Von (als Zahl in relativ zu heute?)
                              • Bis (wie bei von)
                              • Kalender-Ids
                              1 Antwort Letzte Antwort Antworten Zitieren 0
                              • jmrauenJ
                                jmrauen ChurchToolsMitarbeiter
                                zuletzt editiert von

                                So habe nun den API-Call getCalendarEvents() erstellt.
                                Für mehr Infos siehe https://api.churchtools.de/class-CTChurchCalModule.html

                                A 1 Antwort Letzte Antwort Antworten Zitieren 2
                                • A
                                  Alex @jmrauen
                                  zuletzt editiert von Alex

                                  @jmrauen Dank dir!
                                  Die Kategorieeinschränkung wäre gar nicht nötig gewesen, weil wir einen dedizierten InfoScreen-Account haben, aber weh tut das ja auch nicht.

                                  Noch 2 Fragen:

                                  1. Wenn ich to = 0 setze, bekomme ich dann immer alle momentan laufenden Events?
                                  2. Kann ich auch Events aus allen Kategorien bekommen, ohne, dass ich alle ids angeben muss? Momentan löse ich das ganze mit range(0, 100)
                                  1 Antwort Letzte Antwort Antworten Zitieren 0
                                  • jmrauenJ
                                    jmrauen ChurchToolsMitarbeiter
                                    zuletzt editiert von

                                    Zu 1: Bin grad nicht im Sourcecode, das kannst Du aber schnell ausprobieren in dem Du ein Event anlegst.
                                    Zu 2: Nein, die IDs sind einzeln anzugeben.

                                    1 Antwort Letzte Antwort Antworten Zitieren 0
                                    • G
                                      Guido Mutze
                                      zuletzt editiert von

                                      Kann mir bitte jemand die Dateien für den Infoscreen zur Verfügung stellen? Unter dem Link oben ist nichts mehr vorhanden. Oder falls jemand ein anderes Beispiel für die Kalenderabfrage hat, wäre ich auch sehr dankbar.

                                      Vielen Dank.

                                      1 Antwort Letzte Antwort Antworten Zitieren 1
                                      • R
                                        rschi
                                        zuletzt editiert von

                                        @jmrauen Wäre es in solchen Fällen evtl. möglich, den Source, oder eine Software im Zusammenhang mir ChurchTools über euren Seafile-Server zur Verfügung zu stellen?

                                        Hosting bei church.tools

                                        1 Antwort Letzte Antwort Antworten Zitieren 1
                                        • jmrauenJ
                                          jmrauen ChurchToolsMitarbeiter
                                          zuletzt editiert von

                                          Klar gerne! Bitte an den Support senden, dann können wir das machen.

                                          1 Antwort Letzte Antwort Antworten Zitieren 0
                                          • R
                                            rschi
                                            zuletzt editiert von

                                            Wäre ebenfalls interessiert an den Dateien.

                                            Hosting bei church.tools

                                            1 Antwort Letzte Antwort Antworten Zitieren 0
                                            • Erster Beitrag
                                              Letzter Beitrag