Sinnvoll Skripte umbenennen

Ich möchte mir gerne der Übersicht wegen angewöhnen die ganzen Skripte umzubenennen anstatt die ID Nummer. Da ich nichts verkehrt machen möchte deshalb hätte ich noch einige Fragen dazu an die Profis hier :upside_down_face:

Ich möchte mir gerne in jedem Skript das ich anlege mir eine Übersicht oben im Skript machen mit Skriptname, Autor, Version etc.

Nutze Symcon auf Ubuntu:

Können/Dürfen im Dateinamen Leerzeichen sein?
Oder sollte man besser anstatt Leerzeichen punkte oder Unterstriche einfügen.
Wie sollte man die Skripte Sinnvoll benennen → Name → Kategorie …

Ich denke du solltest an den Dateinamen gar nichts ändern. Darüber werden sie referenziert. Du kannst die Namen der Skripte ja in IPS frei wählen. Wie die eigentlichen Files heißen, ist doch egal.
Oder hab ich da was falsch verstanden.

Ich meine folgendes, in dem Ordner Skripte liegen ja die ganzen Skripte mit den entsprechenden ID’s wie z.B. 12345.ips.php. Wegen der Übersicht in diesem Ordner hatte ich mir gedacht die Skripte umzubenennen wie z.B. IrgendEinName.ips.php.

image

Davon würde ich die Finger lassen. Probier es mal mit einem Testskript aus und schau was in IPS passiert. Ich gehe davon aus, dass da ein Fehler erzeugt wird. Ich hätte in IPS jetzt nichts gefunden, wo man den Dateinamen angeben kann. Kann mich aber auch täuschen. Und wie gesagt, wie die Dateien heißen, ist doch völlig egal. Die interessieren ja keinen.


Ich sehe hier nichts, wo man den Dateinamen angeben kann.

Zu finden ist das hier:

Da kann man das Skript umbenennen.

Ja, aber der Name ist in der ObjektID auch hinterlegt.
Sogar Ordner gingen schon unter IPS3.4. Der Ordner muss aber schon vorhanden sein.
Muss aber gestehen daß ich es nie mehr angefasst habe.

Warum?

Im Script Editor.

Michael

1 „Gefällt mir“

Ok, mag sein das es funktioniert. Ich finds trotzdem unnötig. Ich sehe keinen Vorteil in der Umbenennung der Dateien. Hab ich mir noch nie angeschaut.
@Stefan71 ich kann dir daher auch nicht behilflich sein wie du das unterteilen solltest. Wenn die Einteilung in der Verwaltungskonsole schlecht ist, macht es eine trickreiche Umbenennung der Dateinamen nichts wett.

Das Problem ist ja nicht die Benennung in der Konsole. Vorteil sehe ich z.B. in der Umbenennung beim löschen eines Skriptes. Wenn man die ID nicht mehr weiß geht die Suche los, klar könnte man dann ein Backup einspielen und man sieht wieder die ID. Wenn das Skript umbenannt ist sieht man es sofort im „deleted“ Ordner und kann es genau identifizieren.

Gut, das könnte ein Argument dafür sein.

Ich halte es für mich für durchaus für sinnvoll, Skripte mit eigenem Namen zu versehen. Gerade wenn ich (eventuell versehentlich) ein Skript lösche und es verschwindet in den DELETED Ordner, wie soll ich herausfinden, welches Skript ich da gerade gekillt habe (insofern ich mir nicht die ID gemerkt habe)? Mit der Zeit kommen eine ganze Latte gelöschter Skripte zusammen und aus dem Wust dann das richtige zu finden bedeutet, dass ich jedes öffnen und auf Inhalt überprüfen muss).
Ich benenne meine Skripte normalerweise so um: ID_NAME.ips.php (also z.B. 12345_MachWasSkript.ips.php). So lässt es sich einfacher finden (sowohl nach ID als auch nach Namen).

Ok, das mit der ID ist auch eine Möglichkeit. Ich denke man muss nur mit einem langen Dateinamen aufpassen.

Meine Scriptnamen sind identisch mit dem Namen im Objektbaum (war halt früher so).
Bedingt aber, das jeder Name eindeutig ist.
Mach ich nun nach dem Anlegen des Scripts:

$id=(ID);
$name=IPS_Getname($id);
rename($id.".ips.php",$name.".ips.php");
IPS_SetScriptFile($id, $name.".ips.php");

Die Idee die ID mit reinzumachen ist aber gut, dann wird’s eindeutig.

Gruß Thomas

Ein Script für eine Funktion welche die Konsole anbietet. Auch nicht schlecht :wink:
Michael

Oh, danke für den Tip, ist für meine Zwecke sicher schneller.
Aber ohne es je gesucht zu haben glaube ich nicht das dies die Legacykonsole damals auch schon konnte.
Wenn man die ID oder eine andere Namenskonvetion mit drin haben will oder mehrere Scripte umbenennen will trotzdem hilfreich.

Oh doch, das konnte die auch schon.
Meine umbenannten Scripte sind zu IPS 2.7 bis 3.4 entstanden :sweat_smile:
Michael

Eine Frage zu dem Skript. Brauche ich da nur die ID anzugeben oder den Skriptnamen?

Die ID, nur die ist ja eindeutig.
Aber Achtung! Der rename Befehl überschreibt falls eine Datei gleichen Namens schon existiert

Ok…ich bekomme diese Fehlermeldungen:

Warning: rename(15429.ips.php,Shadowing_test_123456789.ips.php): No such file or directory in /var/lib/symcon/scripts/16626.ips.php on line 5

Warning: File #Shadowing_test_123456789.ips.php does not exist in /var/lib/symcon/scripts/16626.ips.php on line 6

Bei mir grad 1:1 ausprobiert, geht (unter Windows)

Dann habe ich irgendwo einen Fehler. Das Skript ist ja ein eigenständiges?

image