Hallo Heinz,
hallo Arthur,
hallo Frank,
ich hatte gesundheitlich gerade einige recht besch...e Tage und lese erst jetzt wieder ein bisschen regelmäßiger mit.
Also: Unsere CGI-Implementierung ist keineswegs abseits aller Standards. CGI ist in erster Linie mal ein recht alter Standard, wie Daten vom Webbrowser (über den Server) an externe Software (eben das CGI-"Skript") übergeben werden, um von dort aus dynamisch Webseiten zu generieren. MiNT'98 ist immerhin über 15 Jahre alt, damals war es kaum denkbar, auf dem Atari Seiten mit clientseitigen Skripten zu verarbeiten (unter der Haube ist das auch heute m. W. noch so spaßig wie Hämorrhoiden wegen (je nach Web-Engine im Browser) unterschiedlicher Dokumentenmodelle etc.). Ich habe auch keine Ahnung, ob es mittlerweile Browser mit den Möglichkeiten einer WebKit-Engine o. ä. auf dem Atari gibt - aktiv arbeite ich mit dem System seit ca. 10 Jahren nicht mehr. Und es sollte keinesfalls Voraussetzung sein, einen MacOS-, Windows- oder Linux-PC nebendran stellen zu müssen, nur um die AdMiNTools nutzen zu können. Soll heißen, die ausgegebenen Seiten mussten statisch sein, die Dynamik passierte in den "Skripten".
Ein CGI-Skript kann grundsätzlich erstmal jede Art von ausführbarer Datei sein, sei es eine Skriptsprache wie Perl oder eben wie in unserem Fall aus Performance-Gründen ein natives Compilat. Da TOS/MiNT ja keine weitergehenden Schutzmechanismen haben war das eben der effizienteste Weg.
Es gibt also letztlich ein paar wenige statische HTML-Seiten wie Startseite, Hilfe o. ä., alles, was dynamische Inhalte hat, muss von CGI-Skripten generiert werden und wird auch wieder an CGI-Skripte weitergereicht, die die Eingaben dann verarbeiten.
Letztlich haben wir zwei Arten von CGIs: Zum einen die, die die Eingabemasken aufbauen, in denen der Benutzer dann seine Konfiguration durchführt und dann die, die die Ausgaben dieser Masken verarbeiten und eine Ergebnis-Seite ausgeben.
Das Webprotokoll haben wir dann dem Apache überlassen, hier hätte man natürlich auch einen schlanken Serverprozess zu Fuss aufsetzen können, aber wozu das Rad neu erfinden?
Ich selbst habe mit der Entwicklung der Skripte nicht viel zu tun gehabt, das war Bernds Part. Insofern hoffe ich mal, dass ich die Implementation soweit korrekt wiedergebe.
P. S. Ich hoffe Frank ist richtig, Du tauchst in den Postings nämlich genau andersherum (als Lukas Frank) auf.
P. P. S. Frank, Du hattest mir vor einigen Tagen mal einen Dropbox-Link wegen der MiNT'98 V1.2 per PN geschickt. Allerdings funktioniert der nicht (mehr). Wie gesagt, ich kämpfe seit anderthalb Wochen mit gesundheitlichen Problemen und war da zwischenzeitlich ziemlich gestresst. Vor allem habe ich auch keine Nachricht vom System über Deine PN erhalten...