FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: igami am 12 Dezember 2016, 07:19:32

Titel: Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: igami am 12 Dezember 2016, 07:19:32
Hi zusammen,

um nicht zu vergessen was ich wann geänder habe, habe ich mir ein changelog angelegt.

defmod changelog_FileLog FileLog ./log/changelog-%Y.log igami.*.*
attr changelog_FileLog room changelog

defmod igami dummy
attr igami group changelog
attr igami room changelog
attr igami stateFormat {return ""}
attr igami userReadings state {delete $defs{$name}->{READINGS}{state};; return;;}

Nun wollte ich gerne das changelog auch manuell bearbeiten können und habe im FHEMWEB das Attribut editFileList vergeben

attr WEB editFileList Own modules and helper files:$MW_dir:^(.*sh|[0-9][0-9].*Util.*pm|98_archetype.pm|.*cfg|.*holiday|myUtilsTemplate.pm|.*layout)$\
changelogs:"./log":^changelog.*log$\
Gplot files:$FW_gplotdir:^.*gplot$\
Styles:$FW_cssdir:^.*(css|svg|js)$\
Modules:$MW_dir:^([0-8][0-9]|9[0-9]).*.pm$\

Bei Edit files wird auch alles korrekt angezeigt. Klicke ich dann aber auf das changelog bekomme ich die Fehlermeldung "Can't open ./FHEM/changelog-2016.log: No such file or directory". Hier ist der Pfad nicht mehr "./log" sondern "./FHEM".

Das ist bestimmt nicht so gewollt.

Grüße
igami
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: rudolfkoenig am 12 Dezember 2016, 13:23:19
ZitatDas ist bestimmt nicht so gewollt.
Das ist diskussionswuerdig. Aus Sicherheitsgruenden werden fuer die Anzeige/Bearbeitung
- *.js/*.css/*_defs.svg Dateien aus www/pgm2
- *.png/*.svg aus www/images
- *.gplot aus www/gplot
- alles andere aus dem FHEM
Verzeichnis genommen. Dass auch die Auflistung diese Regel folgen sollte, ist eine andere Baustelle.
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: igami am 13 Dezember 2016, 06:05:14
Dann eine andere Frage:
Wofür ist das Attribut dann gedacht, wenn ich nur eine Liste bekomme die Dateien aber weder einsehen, noch bearbeiten kann?
Den Pfad gebe ich ja mit an.
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: rudolfkoenig am 13 Dezember 2016, 09:12:40
ZitatWofür ist das Attribut dann gedacht, wenn ich nur eine Liste bekomme die Dateien aber weder einsehen, noch bearbeiten kann?
Um die Default-Liste kuerzen zu koennen.
Dass jemand Log-Dateien editieren will, daran habe ich nicht gedacht.
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: igami am 13 Dezember 2016, 12:50:35
Spricht denn etwas dagegen das so zu bauen, dass es auch für neue Pfade möglich ist? Gibt hier ja auch einige Threads wo user gerne die Dateien für die Tablet UI direkt aus FHEM heraus bearbeiten möchten, das wäre damit ja dann möglich.
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: rudolfkoenig am 13 Dezember 2016, 14:59:14
Habe keine konkrete Idee, wie ich das etwas an Sicherheit mit Flexibilitaet verbinden soll.
Kannst du mal ein Patch dafuer bauen?
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: igami am 13 Dezember 2016, 17:08:48
Ich kann mal schauen ob ich eine Idee habe, aber einen patch kann ich nicht erstellen, da ich mit SVN nicht umgehen kann.
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: dev0 am 13 Dezember 2016, 17:33:45
How to write a patch (https://wiki.fhem.de/wiki/How_to_write_a_patch)
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: igami am 13 Dezember 2016, 17:44:03
Danke, das kannte ich noch nicht, ist ja wirklich einfach :)
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: JoeALLb am 13 Dezember 2016, 17:49:39
Zitat von: igami am 13 Dezember 2016, 12:50:35
Spricht denn etwas dagegen das so zu bauen, dass es auch für neue Pfade möglich ist? Gibt hier ja auch einige Threads wo user gerne die Dateien für die Tablet UI direkt aus FHEM heraus bearbeiten möchten, das wäre damit ja dann möglich.

Ich schließe mich dem an, vorallem ftui-Konrigurationsseiten wären schön, wenn man auch am Handy kleinere Änderungen vornehmen könnte.

Die Sicherheitsaspekte teile ich nur bedingt: Ich kann mit fhem so viel sicherheitsrelevanten Quatsch machen, dass es auf diese Stelle meiner Meinung nach nicht ankommt....
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: Rampler am 07 Januar 2017, 08:30:57
Hallo zusammen,
gibts da schon was neues ? Hätte da auch Interesse....
Log Dateien, aber auch meine tempList in /opt/FHEM/hminfo/ wären nett.

Merkwürdig ist, angelistet werden die Dateien, jedoch editieren oder ansehen geht nicht...
Temperatur Liste:"./hminfo":^tempList$
Log Files:"./log":^.*log$


bis die Tage
  Klaus

EDIT:
tempList habe ich mit einem smybolic link gelöst, bei den log's fällt mir leider nix ein ..
ln -s /opt/fhem/hminfo/tempList /opt/fhem/FHEM/tempList
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: betateilchen am 07 Januar 2017, 15:15:10
spätestens wenn jemand mit configDB arbeitet, wird das Ganze höchstwahrscheinlich scheitern... (ohne das jetzt geprüft zu haben)
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: JoeALLb am 07 Januar 2017, 22:26:57
... ein Nachteil von ConfigDB.
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: betateilchen am 08 Januar 2017, 12:01:22
Quatsch. Das ist doch kein ursächliches Problem der eingesetzten Speichervariante.

Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: hartenthaler am 27 Januar 2017, 23:00:21
Zitat von: hartenthaler am 26 Januar 2017, 22:37:33
Mit dem Attribut editFileList kann man bestimmen was im Menü unter "Edit files" angezeigt werden soll. Der zweite Parameter pro Block/Zeile ist der Dateipfad. In der commandref sind drei Beispiele genannt, etwa $MW_dir. Ich bekomme es aber nicht hin Dateien anzuzeigen, die in /opt/fhem/FHEM/rivescript/ liegen. Also beim folgenden Inhalt des Attributes editFileList funktionieren die Zeilen 1 und 3 bis 5, aber nicht die Zeile 2 (der Block wird angezeigt, aber er ist immer leer und das liegt nicht am regulären Ausdruck im dritten Parameter und auch nicht an den Dateirechten)

Konfiguration:$MW_dir:^(.*cfg)$
Chatbot:/opt/fhem/FHEM/rivescript/:^(.*rive|.*rs)$
Hilfsdateien:$MW_dir:^(.*sh|[0-9][0-9].*Util.*pm|.*holiday|myUtilsTemplate.pm|.*layout)$
Diagramme:$FW_gplotdir:^.*gplot$
Formatvorlagen:$FW_cssdir:^.*(css|svg)$


Ich habe ohne Erfolg als Pfadangabe im zweiten Parameter folgendes versucht

/opt/fhem/FHEM/rivescript
/opt/fhem/FHEM/rivescript/
rivescript
$MW_dir/rivescript
$MW_dir/rivescript/


Wie muss der Pfad spezifiziert werden?

igami hat mich darauf aufmerksam gemacht, dass das Thema bereits hier diskutiert wird. Ich habe meine Rivescript-Konfigurationsdateien in einem Unterverzeichnis von FHEM abgelegt (FHEM/rivescript). Da ich an diesen Dateien ständig arbeite (Chatbot-Dialog) möchte ich sie gerne über "Edit files" erreichen. Schaffe es aber noch nicht einmal, dass die Dateien in diesem Unterverzeichnis sichtbar werden. Ein Sicherheitsproblem kann ich hier nicht erkennen. Warum funktioniert das Attribut nicht so wie es in der commandref beschrieben ist?
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: rudolfkoenig am 28 Januar 2017, 21:08:53
ZitatWarum funktioniert das Attribut nicht so wie es in der commandref beschrieben ist?
Na explizit zugesichert ist diese Eigenschaft nicht, mann kann es aber natuerlich so interpretieren.

Meine Antwort #1 (vom 12 Dezember) gilt immer noch, mein Kommentar laut SVN war:
Zitatr2029 | rudolfkoenig | 2012-10-28 09:10:25 +0100 (Sun, 28 Oct 2012) | 4 lines

removed the possibility to show or edit arbitrary files on the system.
Only some fhem related files can be edited
Man kann natuerlich darueber diskutieren, ob diese Einschraenkung notwendig ist, oder nicht, eine Umstellung ist trotzdem aufwendig. Falls jemand einen Patch baut....

Workaround: Die Dateien im FHEM Verzeichnis ablegen.
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: hartenthaler am 28 Januar 2017, 22:25:38
Zitat von: rudolfkoenig am 28 Januar 2017, 21:08:53
Na explizit zugesichert ist diese Eigenschaft nicht, mann kann es aber natuerlich so interpretieren.
Gut, dann fände ich aber folgende Ergänzung in der commandref sinnvoll, damit der Interpretationsspielraum kleiner wird: "Andere Pfade, als die in der Voreinstellung verwendeten, werden nicht unterstützt." Das häte mir einiges Probieren erspart.

Zitat
Workaround: Die Dateien im FHEM Verzeichnis ablegen.
Eigentlich wollte ich die Dateien lieber getrennt halten, aber gut so funktioniert es.
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: rudolfkoenig am 29 Januar 2017, 12:08:38
Habe die Doku ergaenzt.
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: Raemsna am 29 Dezember 2018, 19:12:40
Zitat von: igami am 12 Dezember 2016, 07:19:32
Hi zusammen,

um nicht zu vergessen was ich wann geänder habe, habe ich mir ein changelog angelegt.

defmod changelog_FileLog FileLog ./log/changelog-%Y.log igami.*.*
attr changelog_FileLog room changelog

defmod igami dummy
attr igami group changelog
attr igami room changelog
attr igami stateFormat {return ""}
attr igami userReadings state {delete $defs{$name}->{READINGS}{state};; return;;}

Nun wollte ich gerne das changelog auch manuell bearbeiten können und habe im FHEMWEB das Attribut editFileList vergeben

attr WEB editFileList Own modules and helper files:$MW_dir:^(.*sh|[0-9][0-9].*Util.*pm|98_archetype.pm|.*cfg|.*holiday|myUtilsTemplate.pm|.*layout)$\
changelogs:"./log":^changelog.*log$\
Gplot files:$FW_gplotdir:^.*gplot$\
Styles:$FW_cssdir:^.*(css|svg|js)$\
Modules:$MW_dir:^([0-8][0-9]|9[0-9]).*.pm$\

Bei Edit files wird auch alles korrekt angezeigt. Klicke ich dann aber auf das changelog bekomme ich die Fehlermeldung "Can't open ./FHEM/changelog-2016.log: No such file or directory". Hier ist der Pfad nicht mehr "./log" sondern "./FHEM".

Das ist bestimmt nicht so gewollt.

Grüße
igami


Hallo zusammen,

ich weiß, dass dieser Thread eigentlich um ein anderes Thema geht, aber ich wollte das changelog von igami nachbauen und bekomme aber leider keine Ergebnisse. Vielleicht kann mich jemand ein bisschen anschupsen :)

Letztendlich habe ich den Code von igami übernommen in ein eigenes Device. Hier das List:

Internals:
   CFGFN     
   NAME       changeLog
   NR         57917
   STATE     
   TYPE       dummy
   READINGS:
Attributes:
   DbLogExclude .*
   group      changelog
   room       Informationen
   stateFormat {return ""}
   userReadings state {delete $defs{$name}->{READINGS}{state}; return;}


Das zugehörige FileLog zeichnet aber nichts auf (da sich am Device selber auch nichts ändert).

Braucht dieses changelog noch ein notify o.Ä.?

Vielen herzlichen Dank (wie immer :) )

Grüße
Raemsna
Titel: Antw:Pfad wird nicht korrekt übernommen bei editFileList
Beitrag von: igami am 30 Dezember 2018, 16:20:24
Zitat von: Raemsna am 29 Dezember 2018, 19:12:40
Vielleicht kann mich jemand ein bisschen anschupsen :)
Hier (https://forum.fhem.de/index.php/topic,95090.msg878872.html#msg878872) geht es weiter