Vishnu ist ein Monitoring- und Prozesssteuerungs-Baukasten mit integrierter Verarbeitung erweiterter logischer Ausdrücke.
So sieht Vishnu nach dem Start mit dem ersten Demo-Job ungefähr aus.
- Läuft auf Systemen ab Windows 10.
- Entwicklung und Umwandlung mit Visual Studio 2022 Version 17.8 oder höher.
- .Net Runtime ab 8.0.2.
-
- Die Quellen findest du hier: Vishnu auf GitHub
-
Für die erste Einrichtung führe bitte nachfolgende Schritte aus:
- Ein lokales Basisverzeichnis für alle weiteren Vishnu- und Hilfs-Verzeichnisse anlegen, zum Beispiel c:\Users<user>\Documents\MyVishnu.
- init.zip herunterladen und in das Basisverzeichnis entpacken.
Es entsteht dann folgende Struktur:
- Im Verzeichnis ReadyBin/Vishnu.bin Vishnu.exe starten.
Hinweis 1: Wenn Windows die passende DotNet-Runtime nachinstallieren möchte, folge bitte den Anweisungen und starte danach Vishnu erneut.
Hinweis 2: Wenn die Meldung kommt "Der Computer wurde durch Windows geschützt", bitte einmalig über
"Weitere Informationen" gehen und den Start von Vishnu erlauben.
Im Unterverzeichnis DemoJobs stehen die Job-Definitionen einer Reihe von interessanten Demonstrations-Jobs.
Die ausführliche Dokumentation findest du in Vishnu mit F1, im mit gelieferten Vishnu_doc.de.chm oder
online unter Vishnu online Dokumentation
(Hinweis: Wenn die Hilfedatei (*.chm) nicht korrekt angezeigt werden sollte, sieh bitte im CHM-HowTo nach.)
Stichworte: Windows, wpf, c#, monitoring, job-controlling, logical tree, parallel, desktop, distributed
-
Forken des Repositories Vishnu über den Button Fork
(Repository https://github.com/VishnuHome/Vishnu) -
Clonen des geforkten Repositories Vishnu in das existierende Unterverzeichnis .../MyVishnu/VishnuHome
-
in der git-bash über git clone:
cd VishnuHome
git clone git@github.com:<meOnGitHub>/Vishnu.git -
oder über "Open with GitHub Desktop", wenn du die Desktop-Anwendung bevorzugst
-
nicht empfohlen: über "Download ZIP" kommst du zwar auch an den Quellcode von Vishnu, hast dann aber keine Anbindung an dein geforktes Repository auf github.
-
Vishnu ist nur die Logik-Maschine, die eigentliche Arbeit machen die Vishnu-Plugins. Vishnu-Plugins sind kleine Programmteile (DLLs), die von Vishnu zur Laufzeit geladen werden. Zu den Vishnu-Plugins gehören neben anderen die Checker. Checker sind die wesentlichen Vishnu-Akteure. Sie machen die Prüf-Arbeit und liefern Prüfergebnisse zurück (siehe auch in der Hilfe Vishnu Akteure und eigene Checker). Vishnu liefert schon eine Reihe von Checkern mit. Diese findest du unter InPlug.
Vishnu-Plugins kannst du genauso forken und clonen wie unter Quellcode und Entwickung schon beschrieben,
nur dass dein lokales Unterverzeichnis das schon vorgesehene InPlug sein sollte.
(Quellen: InPlug)
Vishnu arbeitet mit einigen allgemeingültigen DLLs, dem Basis-Framework.
Für den Fall, dass du dir die Quellen davon anschauen willst oder dorthinein debuggen musst,
kannst du dir die zugehörigen Quellen in den dafür vorgesehenen Ordner WorkFrame clonen.
(Quellen: https://github.com/WorkFrame)
Ich (Erik) programmiere Vishnu aktuell (April 2024) noch allein. Auch, wenn ich natürlich alle deine/eure Erfahrungberichte, Anregungen, Verbesserungsvorschläge und Fehlermeldungen mit Interesse verfolge, kann ich im Moment einfach noch nicht absehen, wie sich die Dinge entwickeln werden. Wo ich kann, werde ich Fehler beheben und Anregungen in meiner persönlichen Priorisierung berücksichtigen. Aber an dieser Stelle sei noch mal gesagt: Vishnu ist open Source und free. Also helft euch selbst und vor allem: gegenseitig.
Bitte nutze die Diskusionsthemen ("Issues").
Wenn du Fehler entdeckst oder Verbesserungsvorschläge einbringen willst, eröffne bitte zuerst ein neues Diskusionsthema ("New issue").
Bitte prüfe aber vorher, ob ein passendes Thema nicht vielleicht schon existiert.
Es sind alle Arten von Verbesserungsvorschlägen, aber auch persönliche Erfahrungsberichte herzlich willkommen.
Das müssen nicht unbedingt weltverbessernde Großtaten sein, auch Schreibfehler wollen korrigiert werden.
Insbesondere fehlen mir noch gute Ideen und Lösungen für eine englische Präsenz.
In der Vishnu-Hilfe stehen dazu Anregungen auf den Seiten Ideensammlung
und bekannte Fehler und Probleme.
Wichtig: Mache möglichst keine Änderungen, Korrekturen oder Erweiterungen am master-branch des Quellcodes, sondern lege zuerst einen eigenen neuen branch an. Nur so kannst du später deine Verbesserungen eventuell auch zurückliefern (pull-request).
Da der Vishnu-Kernel besonders hohen Anforderungen an Korrektheit, Stabilität und Performance unterliegt, solltest du vielleicht mit Korrekturen, Erweiterungen an - oder Neuerstellung von - Vishnu-Plugins beginnen. Der Vishnu-Kernel ist darüber hinaus sehr testaufwendig, weshalb Reaktionen möglicherweise länger auf sich warten lassen können.
Wenn du Änderungen am Plugin- Framework- oder Vishnu-Quellcode vorgenommen und ausführlich getestet hast, kannst du deinen eigenen branch über einen "pull request" zurückliefern. Der Branch wird dann begutachtet und bei Erfolg in Vishnu-master übernommen. Bitte versuche nicht, einen direkt geänderten master-branch zurückzumelden - das würde nicht angenommen. (siehe auch Gibt es Support?)
Sandcastle Help File Builder (SHFB)
Vielen Dank an Eric Woodruff, EWSoftware.
Ohne den Sandcastle Help File Builder wäre die Vishnu-Dokumentation nicht denkbar.
Newtonsoft.Json
Danke an James Newton-King für seine unverzichtbare Software.
Demo-Logik für SplashWindow
Dank an Amr Azab und Nate Lowry.
WPF-Tortendiagrammme
Vielen Dank an Kashif Imran auf Code Project.
Variable Grids
Herzlichen Dank an Rachel Lim für ihren fantastischen Blog. Danke auch für ihren Hinweis zu ShutdownMode.OnMainWindowClose.
Monphasen Berechnung
Danke Mostafa Kaisoun für seine Berechnungslogik.
Geolocation
Vielen Dank an die Entwickler und Sponsoren dieser freien Seite für Geolocation.
Wettervorhersagen und
Wetter-Icons
Vielen Dank an das Team von open-meteo.com und auch an Chenzhou Cui und seine Freunde, die die Seite 7timer.info für Wettervorhersagen betreiben.
Mindest-Informationen über einen Screen
Danke an Nils Andresen auf StackOverflow
Basisklassen für ViewModels
Vielen Dank an Roman Semenov (poma) für diese Starthilfe.
Visual Commander
Danke auch an Sergey Vlasov für seine hilfreiche Visual Studio Automatisierung.
SingleInstance Danke an Matt Davis für seine sehr gute Mutex-Lösung.
[inzwischen nicht mehr online: ZIP-Routinen für ZIPs > 4GB mit Passwörtern]
Danke auch Peter Bromberg für seine Unterstützung bei den Zip-Routinen.
Equality Converter
Dank an Jason Tyler auf stackoverflow.
Dank auch an die vielen weiteren Software-Entwickler/Entwicklerinnen, die ihr Wissen mit uns allen geteilt haben.
Last but not least geht mein Dank an die Teams von Microsoft für ihre freien Express- und Community-Editions.
Erik Nagel