Projekt:AjaxDoorStatus: Unterschied zwischen den Versionen

Aus k4cg.org
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Infobox
{{Infobox
| maintainer = [[User:Poschi|Poschi]]
| maintainer = [[User:Poschi|Poschi]]
| machine = [[Host:kumpl.k4cg.org|rumpl.k4cg.org]]
| machine = [[Host:rumpl.k4cg.org|rumpl.k4cg.org]]
| jahr = 2019
| jahr = 2019
| url = https://status.k4cg.org/
| url = https://status.k4cg.org/
| status = realisiert
| status = [[Projekt:SpaceAPI_3.0|ersetzt]]
}}
}}
'''[[Projekt:SpaceAPI_3.0|Siehe Nachfolgeprojekt]] DIESES PROJEKT WIRD NICHT LÄNGER BETRIEBEN UND INFORMATIONEN SIND OUTDATED'''


== Allgemeines ==
== Allgemeines ==
Zeile 25: Zeile 27:
=== Reverse-Proxy ===
=== Reverse-Proxy ===


Wir haben auf unserer Seite HTTPS, wollen keine Zertifikatswarnung und nicht die Dyndns-Adresse mit komischem Port an den Nutzer ausliefern. Deshalb haben wir auf [[Host:kumpl.k4cg.org|rumpl.k4cg.org]] unter https://status.k4cg.org/status.json jetzt einen Reverse-Proxy zur Dyndns-Adresse.
Wir haben auf unserer Seite HTTPS, wollen keine Zertifikatswarnung und nicht die Dyndns-Adresse mit komischem Port an den Nutzer ausliefern. Deshalb haben wir auf [[Host:rumpl.k4cg.org|rumpl.k4cg.org]] unter https://status.k4cg.org/status.json jetzt einen Reverse-Proxy zur Dyndns-Adresse.
 
=== Einbindung mobile Seite ===
 
Das JavaScript ist jetzt Teil des [https://github.com/k4cg/MinervaNeue/commit/7d407b51922e809191b33d3d4b8a365fb13ecaab mobilen Templates].


=== Einbindung normale Seite ===
=== Einbindung Wiki ===


Auf der normalen Seite hatten wir schon immer eine Einbindung per [https://k4cg.org/doorstatus.php Iframe]. Für den quick-win wurde daraus der komplette PHP-Teil entfernt und komplett mit JavaScript ersetzt. Irgendwann sollte man auch mal das Iframe loswerden.
Auf der normalen Seite hatten wir schon immer eine Einbindung per [https://k4cg.org/doorstatus.php Iframe]. Dieser wurde jetzt ersetzt und wir binden das nötige JavaScript und CSS über unser MediaWiki-Plugin [[Projekt:Lackiererin|Lackiererin]] dynamisch in den Skin ein.

Aktuelle Version vom 4. November 2024, 19:49 Uhr

Projekt:AjaxDoorStatus
Betreuer*In Poschi
Jahr 2019
Läuft auf rumpl.k4cg.org
URL https://status.k4cg.org/
Status ersetzt

Siehe Nachfolgeprojekt DIESES PROJEKT WIRD NICHT LÄNGER BETRIEBEN UND INFORMATIONEN SIND OUTDATED

Allgemeines

Wir haben einen wundervollen Door Status der seine Infos per MQTT an einen Server schickt. Von dort landen sie dann in einem status.json. Dort können sie per HTTP abgeholt und weiter verarbeitet werden.

Problemstellung

Wir wollen den Status gerne auf der Webseite anzeigen. Allerdings steht das status.json nicht immer zuverlässig zur Verfügung. Bisher hatten wir insbesondere auf der mobilen Seite die Abfrage des status.json als Teil des PHP-Templates. Das brachte zum Einen Probleme beim Caching des Templates und zum Anderen dauerte bei Störungen des status.json jeder einzelne Anfrage ans Wiki so lange bis der Timeout des PHP-HTTP-Requests auslief (30 Sekunden).

Idee

Ein JavaScript-Schnipsel der das status.json mit einem manuellen Timeout von 2 Sekunden abruft und den Status dann asynchron anzeigt.

Umsetzung

Ein Prototyp ist hier zu finden: https://status.k4cg.org/

Reverse-Proxy

Wir haben auf unserer Seite HTTPS, wollen keine Zertifikatswarnung und nicht die Dyndns-Adresse mit komischem Port an den Nutzer ausliefern. Deshalb haben wir auf rumpl.k4cg.org unter https://status.k4cg.org/status.json jetzt einen Reverse-Proxy zur Dyndns-Adresse.

Einbindung Wiki

Auf der normalen Seite hatten wir schon immer eine Einbindung per Iframe. Dieser wurde jetzt ersetzt und wir binden das nötige JavaScript und CSS über unser MediaWiki-Plugin Lackiererin dynamisch in den Skin ein.