Garmelon/PFERD

Be a friendy bot

course-correction opened this issue · 5 comments

Einige Gedankengänge zu dem Hinweis im Dozenten ILIAS-Wiki. Einiges sicherlich Ansichtssache, aber ich werfe das mal hier zur besseren Diskussion rein...

  • Useragent mit "pferd-bot" und Versionsnummer. Vielleicht regt sich das SCC (Keine Ahnung ob die wirklich Ilias betreiben.) vor allem über andere Bots auf, die gammeliger als PFERD sind. Dann kann man die einfache blocken ohne das PFERD betroffen ist. Außerdem zeigt man sich dem SCC gegenüber freundlicher.
  • Allgemein nicht anfangen "verdeckt" zu arbeiten. An allen Anfragen hängt die User-Session. Nachher bekommt jemand unbedarftes einen bösen Brief ab. Vllt. war dieser Person gar nicht bewusst, dass nicht jeder PFERD mag. Ich fände es besser PFERD zu "dem besten ILIAS Client" zu machen, als aus Trotz einen Kleinkrieg anzuzetteln den man nur verliert.
  • Ilias scheint recht lange zu brauchen, um Ansichten zu generieren. Kann man hier unterstützen, indem man Last-Modified und ETag Header sendet?
  • Menschen anmeckern"mitteilen, dass PFERD durchaus Last erzeugt", wenn sie häufig PFERD ausführen oder mehr als 15 Kurse auf dem Schreibtisch haben.
  • Diese Menschen im Useragent "brandmarken". Klingt erstmal nach zu vielem vorauseilenden Gehorsam. Aber wenn am Ende geblockt wird, trifft es vielleicht ersteinmal nur die "schlimmen" Nutzer:innen.
  • Einen Erstnutzungshinweis ausgeben und in der README einbauen mit einer kleinen Netiquette.
  • Am Anfang der Readme einen Hinweis mit der Bitte um Kontaktaufnahme an das SCC gerichtet einbauen.

Grundsätzlich stimme ich den vorgeschlagenen Punkten zu, es muss sicher ein Kompromiss gefunden werden sodass PFERD-Nutzer dem SCC oder den Web-Usern von ILIAS nicht zur Last fallen.

Bzgl. Etag, ein kleiner Test hat ergeben dass ILIAS auf GET-Anfragen mit dem Header cache-control: no-store, no-cache, must-revalidate antwortet und kein E-Tag mitsendet.

Useragent mit "pferd-bot" und Versionsnummer. Vielleicht regt sich das SCC (Keine Ahnung ob die wirklich Ilias betreiben.)
vor allem über andere Bots auf, die gammeliger als PFERD sind. Dann kann man die einfache blocken ohne das PFERD
betroffen ist. Außerdem zeigt man sich dem SCC gegenüber freundlicher.

Vor allem sollte geschaut werden dass PFERD auch wirklich besser ist als Alternativen. Eine oberflächlicher Vergleich mit https://github.com/FliegendeWurst/KIT-ILIAS-downloader zeigt mir, dass PFERD beim Suchen nach Updates deutlich mehr traffic verursacht

mbwgh commented

Wenn Leute ihren ganzen Ilias-Schreibtisch scannen, sind da ja auch viele alte Kurse dabei.
Denkbar wäre für mich auch, dass PFERD sich merkt wann es zuletzt ausgeführt wurde bzw. sich auf der Kurs-ID-Ebene merkt wann die Daten zuletzt aktualisiert wurden.

Das könnte man dann mit "sane defaults" versehen, die ich jetzt nicht definieren möchte. Aber sicher in die Richtung, dass ein Kurs vom letzten Semester nicht bei jedem Durchlauf komplett abgegrast wird.

Egal welche Lösungen am Ende rauskommen, diese Dinge sollten konfigurierbar bleiben. Ich stimme der Ansicht zu, dass das PFERD dem SCC gegenüber kein Foul Play betreiben sollte, aber den Nutzern gegenüber auch nicht.

Insbesondere finde ich den Vorschlag, Nutzer zu "brandmarken", nicht gut, aber vielleicht stört mich da auch nur die Formulierung.

Einen Hinweis auf eine Netikette, vielleicht auch eine Art Warnung vom PFERD wenn es zu oft aufgerufen wird, finde ich hingegen nicht aus der Welt 👍

mbwgh commented

Vielleicht noch ne Idee, um auf das mit dem fehlenden etag einzugehen. Als Hack müsste es möglich sein, dass man diese xml-Datei vom RSS-Feed auswertet. Diese enthält Benachrichtigungen über alle Veränderungen in Kursen wie Fileuploads und Fileupdates. Insbesondere zu jedem Event auch nen Link zum File selbst (oder auf ne Landingpage direkt davor).

Wenn man nen Daemon-Prozess hätte der alle 30min oder so das aktuelle xml-File zum vorherigen difft, müsste man nicht den ganzen Kurs durchkämmen für Veränderungen - außer ich übersehe natürlich gerade etwas :)

Edit: Was man zumindest sagen kann, ist dass diese Mitteilungen nicht vollständig sind.
Videos werden darüber nicht angekündigt. Wohl aber alle PDFs und das ist schonmal besser als nix.

Die Frage ist doch eher, was seitens des SCCs überhaupt akzeptiert wird. Ist das Problem der Allgemeine Einsatz solcher Tools, weil viele Anfragen auf einmal gestellt werden, oder ist die Menge der Anfragen das Problem (die gut und gerne in den 1000ern liegen können)? Oder hat wer die Tools als cron alle halbe Stunde laufen lassen?

Würde die Verwendung eines SOAP was bringen?

Ich denke man sollte mal beim SCC fragen, was und wie sie sich das vorstellen. Die Nachricht klingt jetzt nicht so, als würde da keine Kooperationsbereitschaft bestehen.