Ergebnis 1 bis 6 von 6

Thema: SiteStatus Extension

  1. #1
    Contao-Nutzer
    Registriert seit
    31.05.2010.
    Ort
    Mannheim
    Beiträge
    5

    Standard SiteStatus Extension

    Schönen guten Abend,
    ich habe bei verschiedenen Hostern (Strato, 1und1,..) verschieden versionierte Contao-Installationen und klügel gerade an einer zentralisierten Monitoring-Lösung rum, die verschiedene Informationen über die jeweilige Installation zusammenfasst.

    Die Idee:
    Ich installiere mir ein auf meinem eigenen Server ein Skript, das per Cron auf die verschiedenen Contao-Installationen zugreift und dort authentifiziert Informationen über die Installation abruft. Solche wären:
    • Version
    • Letztes Datenbank-Backup
    • Aktive Module


    Diese Liste soll nach Belieben erweiterbar sein. Im Grunde liefert der Request an die Contao-Installation einen JSON-/XML-String der eben diese Informationen enthält, die ich wiederrum in meiner zentralen Monitoring-Lösung aufbereite und auswerte.

    Nun habe ich mir gedacht, dass ich dafür doch eine Extension schreiben könnte, die es ermöglicht sich so eine Status-Übersicht zusammen zu klicken. Dies ist bisher auch ganz gut gelungen, jedoch knobel ich noch an der Frage wie ich diesen JSON-/XML-String abrufbar mache.

    Meinem Verständnis nach handelt es sich zwar schon um Content, aber keinen der als Frontend-Modul eingebunden werden sollte. Meiner Meinung nach handelt es sich vielmehr um eine Information wie bspw. die sitemap.xml im Root. Daher würde ich diese Informationen gerne folgendermaßen abrufen:

    http://www.example.com/system/module...p?auth_token=#

    Was sich ja per mod_rewrite auf die folgende Adresse umbiege liesse:
    http://www.example.com/sitestatus.php?auth_token=#

    Existieren für diese Art von Zugriff auf eine Modul-Funktionalität für Contao bereits best practises?

  2. #2
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von grekko Beitrag anzeigen
    Existieren für diese Art von Zugriff auf eine Modul-Funktionalität für Contao bereits best practises?
    Ansatzweise gibt es in dieser Richtung schon was:
    http://dev.typolight-forge.org/proje...sktopmanagment bzw. http://www.contao.org/erweiterungsli.../tldm-api.html

    Darauf aufbauend müsstest Du dann Deine gewünschten Funktionalitäten geeignet bereitstellen, um dann per Client gezielt diese Informationen zentral abrufen zu können.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  3. #3
    Contao-Nutzer Avatar von matze
    Registriert seit
    19.06.2009.
    Ort
    Amberg
    Beiträge
    236

    Standard

    Auf die API wurde ja bereits oben schon verwiesen.
    Du müsstest einfach noch eine API-Erweiterung schreiben, die die Module auslesen kann, dann bist du schon fertig!

  4. #4
    Contao-Nutzer
    Registriert seit
    31.05.2010.
    Ort
    Mannheim
    Beiträge
    5

    Frage

    Hey Matze,

    ich habe mir deine API mal angeschaut und habe mal einen Prototypen gebaut, der den gewünschten Output (fast) erzeugt!

    Das Ergebnis ist nur fast erfüllt, da die API als Rückgabewert der Callback-Funktion immer ein zweidimensionales Array der folgenden Form verlangt:

    PHP-Code:
    $arrCmdResult = array();
    $arrCmdResult[0]['item'] = 'descriptor';
    $arrCmdResult[0]['text'] = 'content';
    $arrCmdResult[1]['item'] = 'descriptor';
    $arrCmdResult[1]['text'] = 'content';
    ... 
    Nun möchte ich aber ein mehrdimensionales Array an den Client weitergeben. Meine Idee war dazu das Array als JSON String in der XML-Notation zu übergeben.

    PHP-Code:
    $arrCmdResult = array();
    $arrCmdResult[0]['item'] = 'sitestatus';
    $arrCmdResult[0]['text'] = 'JSONSTRING';
    ... 
    Die API transformiert mit htmlspecialchars jeglichen Output um, so dass die Notation erst wieder mit htmlspecialchars_decode umgewandelt werden müsste. Da ich clientseitig aber nicht zwingend PHP laufen habe, halte ich diese Lösung für unpraktikabel.

    Der beste Weg wäre m.E. das ResultSet für die API dynamisch zu machen, so dass auch mehrdimensionale Rückgabewerte in XML-Notation möglich sind, oder alternativ den Response der API optional vollständig als JSON-String zu ermöglichen.

    Anmerkungen, Vorschläge oder Ideen?

  5. #5
    Contao-Nutzer Avatar von matze
    Registriert seit
    19.06.2009.
    Ort
    Amberg
    Beiträge
    236

    Standard

    Alles gute Ideen. Kannst du das vielleicht als Ticket in das BugTracking-System anlegen (siehe meine Signatur)

    Da ich im Moment nicht dazu komme, die API zu aktualisieren, kann ich dir nur einen Vorschlag machen:
    Nimm für den Rückgabewert einfach einen Comma-Seperated-String. Vielleicht nicht per Komma separiert sondern mit exotischeren Zeichen. Das müsste sich dann in so ziemlich jeder Sprache wieder in die einzelnen Zeichen wandeln lassen.

    Alternativ kannst du natürlich die per htmlspecialchars umgewandelten Zeichen wieder in deinem Programm zurückwandeln. Das sollte recht einfach per stringReplace-Mechinismen gehen.

  6. #6
    Contao-Nutzer
    Registriert seit
    31.05.2010.
    Ort
    Mannheim
    Beiträge
    5

    Standard

    Hey,

    ich überleg mir mal was sinnvolles und werde einen Prototyp für die Erweiterung d. API Extension vorstellen.

    Eine spontane Idee wäre es, den Accept-Header des GET/POST Requests mit "text/xml" bzw. "text/json" bzw. "application/json" zu füllen und anhand dieser den Rückgabewert zu bestimmen. Alternativ könnte man natürlich auch einen GET/POST-Parameter wie "format=json/xml" mitgeben, wobei xml der Standard ist.

    Ein JSON-String wäre genau das was ich bräuchte und diese Anpassung sollte das bisherige Verhalten nicht stören!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Extension für Stellenanzeigen
    Von mw1972 im Forum Sonstige Erweiterungen
    Antworten: 5
    Letzter Beitrag: 22.01.2010, 17:24
  2. Forum Extension
    Von Jumpingpixel im Forum Sonstige Erweiterungen
    Antworten: 2
    Letzter Beitrag: 15.10.2009, 16:08
  3. Extension-Generator
    Von lomex im Forum Entwickler-Fragen
    Antworten: 0
    Letzter Beitrag: 21.09.2009, 10:32
  4. Extension Calendar_period
    Von Sares im Forum Sonstige Erweiterungen
    Antworten: 3
    Letzter Beitrag: 13.09.2009, 17:32

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •