Closed Schrolli91 closed 6 years ago
Mir fällt bei dem Lesen der Idee direkt mal BOSWatch 3.0 ein :-D
Aber im Ernst: Die plugin-Lösung gefällt mir, unterstütze ich voll, ebenso die Umsetzung auf Python 3.x
Und mir fällt in dem Zusammenhang direkt ein, dass wir eine Art Entwickler-Doku stricken können/müssen/dürfen...
Zwecks docu werfe ich hier doxygen in den Raum...
Gekauft
Wäre ein Grund mal wieder meine Python Kenntnisse zu trainieren... Ich bin zwar nicht so gut wie ihr, aber ich kann gut googlen. :-) Vor allem beim Thema Django könnte es bei Zeiten in den Fingern jucken.... Doxygen sieht gut aus! Könnte gut funktionieren!
Dann sind wir jetzt an dem Punkt wo ein Forum unumgänglich ist... Weil ein umschrieben auf Python 3.6 sowie ein oop Ansatz sollten vernünftig geplant werden...
An Webspace (vServer) sollte es nicht mangeln ;-)
Muss ja nichts großes sein. Aber grad bei so einem großen Eingriff sollte alles einigermaßen koordiniert zugehen. Denn ich denke das ein oder andere Modul muss durchaus neu geschrieben werden. Einfach weil der aktuelle Stand teilweise gefühlt eine Bastel-Lösung ist - begründet auf früherem Unwissen... Da wäre es schön wenn, bevor irgendwas neu gemacht wird, man sich erst mal über Funktion, Sinnhaftigkeit und Erweiterbarkeit unterhält ;-)
Hab da schon mal ein paar Gedanken festgehalten, darf gern erweitert werden... https://github.com/Schrolli91/BOSWatch/blob/develop/Konzept.md
Stellt sich die Frage ob umfrickeln wirklich Sinn macht, oder ob man nach und nach einfach alle Funktionen komplett neu schreibt und implementiert?
EDIT: Ein weitere Idee wäre, die gesamte Config + Filter Regeln + Beschreibungstexte (csv) + usw... in eine sqlite3 Datenbank zu packen,. Python bringt im Standard schon alles mit. Da wäre nur die Frage wie man die Bearbeitung der Daten gestaltet. Weis nicht ob das wirklich sinnvoll wäre...
der sqlite ansatz würde mir für die ganze config Geschichte sehr engegen kommen, dann gibt es auch keine Probleme mit unterschiedlichen ini parsern.
Ich würde vorschlagen (s. auch Diskussion im Pullrequest zum Config-Editor): Eine grundlegende Config, sodass Boswatch läuft, sollte auf file-Ebene (also ini-Datei) laufen, alles darüber hinaus (Parameter wie Doppeltexte etc, FMS, ZVEI, ...) schieben wir in die sqlite-db.
Hat sich mit BW 3 eh erledigt
Morgen zusammen, ich möchte die nächsten Tage/Wochen etwas am Plugin System Arbeiten. Dachte dabei daran, eine Klasse
Plugin
zu erstellen, welche alle nötigen Funktionen enthält. Die einzelnen Plugins leiten dann von ihr als Basisklasse ab und überschreiben implementierte Methoden dieser.Angedacht waren bisher:
Evtl fallen euch weitere Fälle ein, die in die Basisklasse implementiert werden sollten? Ich möchte die Erstellung der Plugins so weit wie möglich vereinfachen, sodass man sich keine Gedanken um die Infrastruktur usw. machen muss, sondern einfach nur jene Methoden überschreibt, welche man in seinem Plugin eben benötigt.
Was haltet ihr von der Grundsätzlichen Idee?
Generell Frage ich mich ob es Sinn macht BOSWatch auf Python 3.# umzustricken? So viele Änderungen dürften vorerst nicht nötig sein um es unter 3.# lauffähig zu machen. Im Anschluss kann man nach und nach Funktionen in eigene Klassen auslagern und so langsam den Ansatz der Objekt-Orientierung umsetzen. Was haltet Ihr davon?