RS IPS Compatibility Scanner

Update 02.02.2016
Version 1.3, getestet unter IPS 4.0 WIN + Linux-> siehe Changelog im Download

 

Vorspiel

Der Hersteller von IPS hält den Anwender regelmäßig auf Trab, in dem bei größeren Releases einfach mal Systembefehle wegfallen, durch Neue ersetzt werden oder die Ausgabe der Ergebnisse von Systembefehlen geändert werden – wie aktuell der Wechsel von der bisherigen IPS Version 3.4 zur 4.0.

Für IP-Symcon Betreiber, deren System noch nicht so lange im Einsatz ist, stellt dies in der Regel kein gravierendes Problem dar. Auch bietet sich dadurch die Chance, sich tiefer mit dem System vertraut zu machen. Wer aber viele/komplexe Eigen- und/oder Fremd-Projekte im System hat, für den wird es dann unter Umständen sehr aufwändig bis unlösbar. Unlösbar insbesondere dann, wenn für die Fremdprojekte zum Zeitpunkt des Release-Wechsels kein Update vom Autor bereit steht und man selbst nicht so tief den Rüssel ins PHP gesteckt hat, um die Umstellungsprobleme aus eigener Kraft zu lösen.

Grundsätzlich habe ich die Erfahrung gemacht: je länger man sein IP-Symcon in Betrieb hat und je komplexer es wird, desto aufwändiger und ärgerlicher sind anstehende Release-Wechsel.

Und mit dem RS IPS Compatibility Scanner kommt jetzt die Lösung?

Natürlich nicht! ABER: dem angehenden Migranten kann eine Hilfe an die Hand gegeben werden, die bevorstehende Umstellung seiner IP-Symcon Installation auf das nächste Release gut vorzubereiten. Mit dem RS IPS Compatibility Scanner kann ich mein gesamtes System scannen, ob und mit welchen (manuellen) Vorbereitungen ich zu rechnen habe. Konkret werden alle Events und Scripte nach alten, abgekündigten Systembefehlen/Systemvariablen gescannt. Im Ergebnis wird haarklein aufgelistet,

  • Welcher der betroffenen Systembefehle/Systemvariablen wurde verwendet?
  • In welchem Event/Script (Objekt-ID + Objektname) ist der Fall aufgetreten?
  • In welcher Code-Zeile wurde das böse Wort verwendet?
  • Wie dringend ist die Bereinigung?

Im Anschluss kann man sich dann in aller Ruhe mit dem Austausch der alten Systemfunktionen vertraut machen. Das setzt natürlich a) gute PHP-Kenntnisse und b) sehr gute IP-Symcon Kenntnisse vom Anwender voraus. Dies nimmt einem dieses Scanner-Projekt nicht ab. Zu empfehlen ist hier, die gefundenen (alten) Systembefehle in der jeweiligen Migrationsanleitung des IPS-Releases zu suchen und sich von dort aus zu einer Lösung zu hangeln. Notfalls über die IP-Symcon Community oder den Hersteller.

Wer etwas versierter ist, schaut in die ‚__compatibility.inc.php‚ und findet dort den zum alten Systembefehl passenden neuen Systembefehl.

Raketen-Start

Kurz und knackig: überschaubarer Objektbaum

Kurz und knackig: überschaubarer Objektbaum

Wer es ganz eilig hat:

  1. Installer-Script aus dem Download ins eigene System einbauen
  2. Installer-Script ausführen
  3. RS IPS Compatibility Scanner (Script “RS IPS Compatibility-Scanner„) öffnen, Script-Mindestlaufzeit auf 10000 (oder höher) setzen
  4. Script manuell starten
  5. 1-10 Kaffe trinken
  6. Ergebnis (Meldefenster in der Konsole) auswerten

Nicht wundern: die Scriptlaufzeit ins in der Regel hoch, mitunter sehr hoch. Auf bis zu 10 Minuten (bei ca. 1000 Scripts + 1000 Events) sollte man sich da schon einstellen. Keine Angst: dem IPS-System macht das nichts – es wird für die Scriptlaufzeit nur ein PHP-Task genutzt (der damit dem Rest nicht mehr zur Verfügung steht).Das ist aber nichts gegen den evtl. danach zu investierenden Aufwand, um alle IPS-Objekte für die nachfolgende IPS-Version betriebsfähig zu halten. Hier darf man in aller Ruhe jedes einzelne Objekt manuell anfassen, den Code ändern und sich dem nächsten Objekt zuwenden…. bis alle Treffer abgearbeitet sind. Und da können von einer handvoll bis einige hundert sein. Gute Reise, gute Besserung!

Features:

Das Script läuft grundsätzlich in 2 unterschiedlichen Betriebsmodi:

1. Automatik-Modus (wenn Script durch TimerEvent gestartet):

  • Macht immer einen Fullscan des Systems
  • Verschickt Scan-Ergebnisse per Mail (wenn mind. eine SMPT SendMail-.Instanz vorhanden ist)
  • Legt CSV-Datei im IP-Symcon Ordner ab

2. Manueller Modus (manuell gestartetes Script):

  • Macht Teil- oder Fullscan (je nach Konfiguration) des IPS-Systems
  • Zeigt Scan-Ergebnisse im Script-Meldefenster
  • Legt CSV legt CSV-Datei im IP-Symcon Ordner ab (nur bei Fullscan)

Konfiguration

Der ambitionierte IPS-User wird sich auch diverse Möglichkeiten wünschen, das Scanergebnis zu beeinflussen. Das hat der Programm-Autor glücklicherweise vorhergesehen und diverse Möglichkeiten eingebaut. Als Frisch-User muss man sich nicht zwingend damit auseinandersetzen. Aber spätestens nach einem Scanergebnis mit mehreren hundert Treffern wird man sich sehr gerne mit diesem Möglichkeiten beschäftigen *breitgrins*

 

  1. RS IPS Compatibility Selektoren-Container‚:  bietet die Möglichkeit, zusätzlich nach selbst definierten Suchbegriffen (politisch korrekt: Selektoren)im Code zu suchen
  2. RS IPS Compatibility Ausschluss-Container‚: bietet die Möglichkeit, zusätzlich nach selbst definierten Suchbegriffen im Code zu suchen, die im Scan-Ergebnis erscheinen sollen, wo aber keine Code-Korrektur erforderlich ist
  3. RS IPS Compatibility BlackSheep-Container‚: bietet die Möglichkeit, Objekt-ID’s, komplette Teilbäume oder in Objektnamen vorkommende Suchbegriffe vom Systemscan auszuschließen

Eine detaillierte Beschreibung, welche Bedeutung die Einträge in den jeweiligen Containern haben, mit welcher Syntax diese eingepflegt werden und welche Auswirkungen die Einpflege auf den späteren Systemscan hat, ist in den entsprechenden Containern enthalten.

Scan fertig, watt nu?

Tool-Unterstützung

RS.net_2016-02-02 _07-50_#001

Aufbereitung der Scan-Ergebnisse via Excel-Pivot

Dem Download liegt weiterhin eine Excel-Tabelle bei, mit deren Hilfe die Scan-Ergebnisse besser visualisiert werden können. Eine Kurzbeschreibung zum Umgang mit diesem Tool ist im Excel-Workshet enthalten. Der Gedanke ist hier, dem User zu helfen, die Problemfälle strukturiert durchzugehen, in dem er die in der Excel-Tabelle visualisierten Scan-Ergebnisse auf einem Bildschirm darstellt, während er auf dem anderen Bildschirm in der IPS-Konsole die entsprechenden Objekte bearbeitet.

 

IPS-Versionen

Gemäß des Script-Konzepts (Identifizieren alter Systembefehle auf Basis der ‚__compatibility.inc.php‚) ist der RS IPS Compatibility Scanner ein gutes Systemwerkzeug, um das eigene IPS-System (aktuell 3.4) auf den nächsten anstehenden Release-Wechsel (dann IPS 4.0) zu scannen. Wenn man einige Details beachtet, sollte das genauso für ältere und zukünftig erscheinende IPS-Releases funktionieren. Da das Projekt nur ganz wenige IPS-Systembefehle nutzt, ist die Wahrscheinlichkeit sehr hoch, dass das Tool zukunftssicher ist.

Getestet habe ich sowohl das Script selbst als auch die Installations-Routine unter IPS 3.4 (Windows) und 4.0 (Windows + Linux, Stand Jan. 2016) – in allen Fällen funktioniert es fehlerfrei und problemlos.

Installation

RS.net_2016-02-02 _08-09_#001

Objektbaum des Projekts und Bedeutung der Objekte

Das Installer-Script aus dem Download in ein neues IPS-Script einkopieren und ausführen. Das Projekt ist damit installiert und betriebsbereit. In den Containern kann man nun eigene Suchbegriffe eingeben, muss man aber nicht. Zum Start eines System-Scans dann manuell das Script ‚RS IPS Compatibility-Scanner‚ starten.

Möchte man den Scanner regelmäßig und unbeaufsichtigt laufen lassen, so kann man manuell den mitgelieferten Timer konfigurieren und aktivieren. Der RS IPS Compatibility-Scanner läuft dann selbständig durch, legt die Scan-Ergebnisse als .csv im IP-Symcon Rootverzeichnis ab und schickt die Scanergebnisse (incl. CSV) an die erste, im System konfigurierte SMTP-SendMail – Instanz. So hat man nun statt der (früher mal üblichen) Tageszeitung nun den Scanbericht auf dem Frühstückstisch. Kann auch weiterBILDen.

Weitere Versionsinfos

Download

Der Download wird für eingeloggte User unterhalb dieses Beitrages sichtbar

 


 

Getagged mit
 

12 Responses to RS IPS Compatibility Scanner

  1. Bernd Huwe sagt:

    Hi,
    ab welchem Release der Version 3.4 läuft dieser Check ?
    in #3786 kommt folgende Ausgabe:

    Notice: Undefined offset: 1 in C:\IP-Symcon\scripts\21128.ips.php on line 593

    Notice: Undefined index: ProfileName in C:\IP-Symcon\scripts\21128.ips.php on line 681

    Notice: Undefined index: ProfileType in C:\IP-Symcon\scripts\21128.ips.php on line 711

    Warning: Profilname darf nicht leer sein in C:\IP-Symcon\scripts\21128.ips.php on line 711

    Notice: Undefined index: Prefix in C:\IP-Symcon\scripts\21128.ips.php on line 713

    Notice: Undefined index: Suffix in C:\IP-Symcon\scripts\21128.ips.php on line 713

    Warning: Variablenprofil # existiert nicht in C:\IP-Symcon\scripts\21128.ips.php on line 713

    Notice: Undefined index: MinValue in C:\IP-Symcon\scripts\21128.ips.php on line 715

    Notice: Undefined index: MaxValue in C:\IP-Symcon\scripts\21128.ips.php on line 715

    Notice: Undefined index: StepSize in C:\IP-Symcon\scripts\21128.ips.php on line 715
    Abort Processing during exceed of maximal ErrorCount: Variablenprofil # existiert nicht
    Error in Script C:\IP-Symcon\scripts\21128.ips.php on Line 715

    Gruss
    Bernd

    • Raketenschnecke sagt:

      Hi Bernd, das Script läuft auf allen aktuellen IPS-Plattformen. Also auf 3.4 (incl.#3786), 4.0 WIN und 4.0 Linux. Bist Du sicher, dass das Script in den Fehlermeldungen (#21128) der Compatibility-Scanner ist? Die Fehlermeldungen passen nicht zum Script-Code….

  2. Bernd Huwe sagt:

    Also die Script ID ist die des RS Scanners.
    Ich schaue mal. Mache mal ein Update des IPS und dann schauen wir weiter. Man weiss ja, wie Du weisst, nie was unter der Haube alles verändert wurde….

    Gruss
    Bernd

  3. Bernd Huwe sagt:

    Hi,
    Auch nach Update auf die 3.4 Stable kommen die gleichen Meldungen hoch.
    Ist aber nicht so wichtig. Mir ging es eher um das Update des Regen Scriptes und das läuft super durch.

    Gruß
    Bernd

  4. Bernd Huwe sagt:

    Jetzt ist es aber eh so, dass ich wegen der mangelnden Chromoflex Unterstützung wohl eh nicht zeitnah auf die 4.0 wechseln können werde….daher habe ich keine Eile.

  5. Hugo sagt:

    Hallo,
    würde mich für den Compatibilityscanner interessieren. Downloaden kann ich ja nur, wenn ich eingeloggt bin. Wo kann ich mich denn einloggen?

    Gruß,
    Hugo

  6. Lutz Beck sagt:

    Hallo Raketenschnecke,

    ich habe Interesse an deinem Projekt. Nachdem ich nun gespendet habe, (was ich übrigens auch richtig finde, denn es steckt auch viel Arbeit in dem Projekt) habe ich die Frage, wie komme ich an meine Daten zum einloggen.

    Vielen Dank für die Mühe und mach weiter so

    einfachich

    • Raketenschnecke sagt:

      Hi einfachich,

      ich hatte Dir heute Nachmittag eine Mail mit einer Frage zum Account geschickt (eben nochmal). Aber beim genaueren Lesen Deines Kommentars hat sich meine Frage beantwortet ;-)
      Zugangs-Informationen folgen sogleich via eMail.

  7. Lutz Beck sagt:

    Hallo Raketenschnecke

    Also installiert – angestoße – und Läuft

    Danke – klasse Arbeit
    (Wenn auch das Ergebnis erstmal erschreckt)
    einfachich

  8. Dirk sagt:

    hallo Raketnschnecke,
    würde gerne den Compatibility Scanner nutzen und ahbe entsprechend gerade gespendet. Wie erhalte ich die Login Daten?
    Danke, Dirk

    • Raketenschnecke sagt:

      Hi Dirk,

      da die Account-Anlage manuell erfolgt, nachdem PayPal mir die Spenden-Info geschickt hat (diese Mail kann mitunter erst mehrere Stunden später kommen), kann es manchmal ein wenig dauern ;-)
      Heute ging es etwas schneller, ich habe den Account gegen 12:00 Uhr angelegt, Infomail ist raus. Falls nicht angekommen, einfach melden ;-)

Schreibe einen Kommentar zu Dirk Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

css.php