Short: Multicontrol Commodity for Prometheus (German only) Author: Ingo Musquinier Uploader: ingo@night.de Type: comm/bbs Version: 2.9 (04.05.00) Distribution: Aminet (MailWare) Kurz: Formerly known as Zeitplan Requires: comm/bbs/PMBS22dm.lha, util/libs/mui38usr.lha, dev/mui/MCC_NList0_89.lha dev/mui/MCC_Lamp.lha dev/mui/MCC_bbalance.lha Replaces: comm/bbs/PMBSControl.lha Dieses Tool ist ein MultiCommodity für PMBS. Es besteht aus verschiedenen GUI-Elementen die man wahlweise Aktivieren kann. Beim ersten Start werden alle verfügbaren Fenster geöffnet, um einige der Fenster permanent geschlossen zu halten geht man im Menü auf Einstellungen/Programm. Auf der Page "Fenster" befinden sich ein paar Cyclegadgets mit den man die Einstellungen für die Fenster dauerhaft Speichern kann. Fenster die via Closegadget geschlossen wurden, werden geöffnet sobald man das Menü Einstellungen anwählt. Betätigt man eines der Cyclegadgets wird das entsprechende Fenster sofort geschlossen oder geöffnet. Je nachdem was man im Cyclegadget auswählt. Auf der zweiten Page befinden sich die Einstellungen für den PMBSObserver. Dieser Observer ist notwendig um die Kommunikation PMBS<>PMBSControl aufrecht zuerhalten. Er muß nicht unbedingt gestartet werden, allerdings muß man bei nicht Starten hinnehmen das im Fenster "Serverstatus" dann auch nichts angezeigt wird. Einstellungen für den Observer: Pfad: Hier muß der pfad angegeben werden wo sich der PMBSObserver befindet (z.b. Prometheus:tools/PMBSObserver) TaskPri: Z.Zt. ohne Funktion Scandelay: Zeitinterval in sekunden nach dem der Observer ein paar dinge untersucht. Je kleiner der Interval, desto höher die CPU-Last(!). Auf dem dritten Register gibt man aktionen, die beim Start von PMBSControl ausgeführt werden sollen, frei. Das Cyclegadget für den PMBSObserver legt fest ob der Observer zusammen mit PMBSControl gestartet werden soll. Der Observer ist notwendig um die kommunikation mit dem PMBSSever aufrecht zu erhalten. Man muß ihn nicht unbedingt Starten, dann muß man allerdings auf die Anzeigen im Fenster "Serverstatus" Verzichten. Ausserdem sind noch Cyclegagdets für Sorter und Prepack dort zu finden. Stellt man eines (oder auch beide) auf ja dann wird bei Start von PMBSControl der Sorter bzw. Prepack gestartet. In dem Stringgadget 'Anzeigerprogramm' wählt man den viewer aus mit dem man z.b. im /DEFEKT die Puffer betrachten will (z.b. sys:Utilities/MultiView). Auf dem vierten Register kann man das Listformat Einstellen, daß der Verzeichnisbrowser verwenden soll. Auf dem fünften Register können die PFade ausgewählt werden, die später im Verzeichnisbrowser bereitgestellt werden sollen. Das ist z.Zt. auf 10 Pfade begrenzt, kann aber auf Wunsch jederzeit erweitert werden. Die Buttons Speichern, Benutzen, Abbrechen sollten klar sein ;) GUI-Elemente stehen wie folgt zur Verfügung: Da wäre einmal das NList, daß den Zeitplan anzeigt. In diesem NList werden alle Events aufgelistet die innerhalb der aktuellen Stunde anliegen. Natürlich wird auf so Scherze wie *(Sam,Son) *DOSC usw. geachtet, so das diese Events ggf. nicht angezeigt werden. Mit einem Doppelklick auf einen der Events wird dieser Event sofort ausgeführt. Das Funktioniert z.Zt. mit allen DOSC, SPER, PORT und CALL Events. Mit der rechten Maustaste erreicht man das Kontextmenü über das man die Events neu einlesen kann, man kann auch alle Events, unabhängig von der aktuellen Zeit, einlesen bzw. Anzeigen lassen. Das Laden der Events ist auch über die normalen AmigaOS(tm)-Menüs möglich. Dann wäre da das Info-Fenster. Dieses Fenster ersetzt das Informationen-Fenster von Prometheus vollständig. Der Vorteil daran ist, daß es auf die gleiche höhe einstellbar ist wie das Fenster Boxstatistik + das die Zeit/Speicheranzeige nicht bei jedem Speichern der Brettliste stehen bleibt. Es ging mir immer schon auf den Keks das diese Fenster unterschiedliche Höhen haben (siehe /Prometheus/Vorschlaege) und das die Uhr einfach steht während die Brettliste gespeichert wird. Um auf die gleiche Höhe des Boxstatistik-Fensters zu kommen, habe ich 3 zusätzliche Informationen in die GUI geadded die, meiner Meinung nach, am besten geeignet sind dort zu Erscheinen. Die MUI-Settings für PMBSControl müssen den Settings für Prometheus angeglichen werden um die exakte Höhe zu finden. Das geht in den MUI-Settings bei Groups/Groupspacing + Windows/Spacing. Im Kontextmenü dieses Fensters kann man die PMBS-spezifischen Daten reloaden (Sysopname, Boxname) wenn man sie in PMBS geändert hat. Ausserdem gibt es noch das Fenster Serverstatus. Dieses Fenster beinhaltet ein paar Lamps die, je nach Serverstatus, aufleuchten. Um den Serverstatus zu ermitteln muß das beiliegende Programm 'PMBSObserver' gestartet sein. Sollte PMBSControl beendet werden so beendet sich PMBSObserver auch wieder. Die Lamps in diesem Fenster sind alle mit Bubblehelp ausgestattet, so das man für jeder der Lamps nachsehen kann was sie anzeigt. Zu den lamps ist noch zu sagen das man einige davon mit einem Mausklick zu einer, mehr oder weniger, netten Aktion verwenden kann. Die Portlamps fahren, je nach zustand, den entsprechenden Port hoch oder runter.Die Lamp für den Sorter startet den Sorter, die Lamp für den Prepack startet den Prepack, die Lamp für Brett.dat speichern veranlaßt den PMBS-Server zum Speichern der Brettliste, die Lamp für Userliste speichert die Userliste, die Lamp für Netzboxliste speichert die Netzboxliste, die Lamp für Gruppenliste speichert die Gruppenliste und die Lamp für Anrufe & Auslastung speichert diese. Die Lamp für "Konsole Besetzt" schaltet die Konsole auf besetzt oder nicht besetzt, je nach zustand. Das cyclegadget vom Server ändert sich dabei allerdings nicht. Es gibt noch ein Fenster in dem man verschiedene Verzeichnisse Ansehen kann. Damit kann man schnell mal Nachgucken ob z.b. im /DEFEKT oder /SCHROTT irgendwas gelandet ist. Auch hier kann man über das Kontextmenü verschiedene Aktionen ausführen. Beim Kopieren und Bewegen ist zu Beachten das die links angewählte Datei in das rechts aktive Verzeichnis/Pfad kopiert bzw. bewegt wird. Menüs: Der Reihe nach... ------------------------------- Projekt: Über: Hu? Über MUI: huhu? Verstecken: PMBSControl Verstecken (such mich wenn du fertig bist ;)) Beenden: PMBSControl Beenden -------------------------------------- Einstellungen: Programm: Einstellungen zu PMBSControl MUI: MUI-Einstellungen für PMBSControl -------------------------------------- Netz: Gateway Disable R2Z: Sperrt das Gate, so das es nicht gestartet werden kann Enable : Gibt das Gate wieder frei Start : Startet das Gate (falls möglich), vor dem Start wird natürlich noch der Server, für den das Gate gestartet werden soll, erfragt. In dem Listview sollten nur Systeme erscheinen die das Netzformat UUCP, NNTP oder SMTP eingestellt haben. Alle anderen kann man an dieser Stelle nämlich nicht gebrauchen ;^) Gleiches gilt auch für Z2R Sorter Disable: Sperrt den Sorter, so das er nicht gestartet werden kann Enable : Gibt den Sorter wieder Frei Start : Startet den Sorter Cruncher Disable: Sperrt den Cruncher, so das er nicht gestartet werden kann Enable : Gibt den Cruncher wieder frei Start : Gibt es schon im PMBS-Server ;) Prepack Disable: Sperrt PrePack, so das es nicht gestartet werden kann Enable : Gibt PrePack wieder frei Start : Startet PrePack für alle Systeme/Points Goodies: Zeitplan Lade Jobs: Liest die Jobs erneut ein Lade alle Jobs: Liest ALLE Jobs ein, unabhängig von der aktuellen Zeit (Diese beiden aktionen kann man auch mit dem Kontextmenü des Zeitplanfensters ausführen lassen) Alle Port Schliessen Beendet alle getarteten Ports auf denen sich kein User befindet. Sobald ein User auf einem Port eingelogt ist kann man über den Prometheus-Server nicht mehr "Ports Schliessen" ausführen. Es kommt dann ein netter Requester "Es sind noch User eingelogt". Das ist ja ganz klasse, nur was hat das mit den Ports zu tun wo kein User drin ist? Eben... deshalb war ich so frei eine Funktion zu schaffen um die Ports, die frei sind, zu beenden und die Ports wo User drauf sind bleiben dann eben aktiv. Ich hatte das auch schon mal in /VORSCHLAEGE geschrieben aber wie wir ja Wissen kann das dauern und mich nervte es das es nicht so Funktioniert, wie es eigentlich Funktionieren sollte. ---------------------------------------------------------------------------- Das Tool kann komplett über ExChange gesteuert werden. Es ist auch die einzige möglichkeit es zu Beenden oder an die Einstellungen heranzukommen wenn alle Fenster geschlossen sind. Einige GUI-Elemente sind mit der MUI üblichen Bubble-help versehen, so kann man immer mal nachsehen wofür ein bestimmtes Element gut ist (z.b. die Lamps im Serverstatus). Ich würde WBStartup als bevorzugtes Verzeichnis Vorschlagen. Den PMBSObserver NICHT nach WBStartup legen, da er sonst u.U. doppelt gestartet wird. Das starten des PMBSObservers obliegt PMBSControl! Eins noch zum Schluß. Alle Sperren die via PMBSControl getätigt wurden, werden bei Beenden des Programmes rückgängig gemacht. Ebenso beendet sich der PMBSObserver, sobald PMBSControl beendet wird. Gleiches gilt BTW auch bei einem Reset oder Crash ;) Meinen herzlichen Dank an Matthias "UltraGelb" Böcker, der immer eine Antwort auf meine Fragen weiß :-) (mal sehen womit ich ihn noch so nerven kann..hehe) Achja, PMBSControl ist MailWare, d.h. jeder der es benutzt wird darum gebeten eine kurze Mail an ingo@night.de zu Senden. Auf ein Keyfile habe ich bei diesem Tool mal verzichtet, mal sehen ob sich trotzdem jemand meldet ;) So, viel spaß. Gruß - Ingo