Skip to content

Vishnu: Monitoring- und Prozesssteuerung mit integrierter Verarbeitung erweiterter logischer Ausdrücke.

License

Notifications You must be signed in to change notification settings

VishnuHome/Vishnu

Repository files navigation

Vishnu

Vishnu ist ein Monitoring- und Prozesssteuerungs-Baukasten mit integrierter Verarbeitung erweiterter logischer Ausdrücke.

Vishnu-Hilfe Startseite So sieht Vishnu nach dem Start mit dem ersten Demo-Job ungefähr aus.

Voraussetzungen

  • 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.

Schnellstart

  • Vishnu Quellen

  • Installation:

    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:

    Verzeichnisse nach Installation

    Vishnu-Demo:

    • 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.

Demos

Im Unterverzeichnis DemoJobs stehen die Job-Definitionen einer Reihe von interessanten Demonstrations-Jobs.

Dokumentation

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

Quellcode und Entwicklung

  1. Forken des Repositories Vishnu über den Button Fork
    (Repository https://github.com/VishnuHome/Vishnu)

    Fork

  2. 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.

    clone

Die Vishnu-Plugins

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)

Das Basis-Framework

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)


Gibt es Support?

Kurze Antwort: nein.

lange Antwort:

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.

Kommunikation und Mitmachen

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.

Änderungen und Debugging am Plugin- oder Vishnu-Quellcode

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.

Änderungen am Quellcode in das Original-Repository zurückspielen

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?)


Fremde Software, fremde Ideen

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.

Viel Spass mit Vishnu!

Erik Nagel