pluginsystem
-
~/.progammname ist aber gängig? Zumindest habe ich unter meinem Linux nicht gerade wenige davon. OK, es werden da hauptsächlich Configs usw. abgelegt. Aber Plugins wären auch nicht falsch. Warum? Ein Grund kann sein, das nicht jeder User alle Plugins haben will, die lokal auf dem System verfügbar sind. Weiterhin kann z.B. bei Problemen mit Plugins jeder User ein "Problem"-Plugin entfernen, ohne das die anderen User davon betroffen sind. OK, auch das könnte man nur über eine Configdatei lösen. Aber auch hier könnte z.B. jeder User seine eigene Version eines Plugins speichern. User A hat PlugIn-X v2, User B hat lieber PlugIn-X v1.1.
Also, ich sehe da keine Nachteile...
-
die vorteile ~/.programmname sind klar ersichtlich. nachteil wäre meiner meinung nach einem user beizubringen das er die plugins dort hin kopieren muss (ich sehe keinen ordner im konqueror, nautilus, etc der so heisst)
-
Stimmt. Was spricht gegen ~/programmname? Oder wie gesagt, der User soll in der Anwendung einen Pfad angeben können. Oder in der Anwendung über einen Menüpunkt eine Art Plugin-Installer-Dialog einbauen, ist in Wirklichkeit nur ein Kopieren/Verschieben der Datei in das ~/.programmname-Verzeichnis. Der Aufwand dafür ist minimal.
-
miller_m schrieb:
rüdiger schrieb:
vielleicht nach ~/.programname/plugins
daran dachte auch ich schon. ist ein gängiger weg?
Ja
Artchi schrieb:
rüdiger schrieb:
2. Weil im Gegensatz zu Windows arbeiten die wenigsten Leute als root unter Linux/Unix
etc.Hem... und was haben Admins mit Plugins zu tun? Oder meinst die ActiveX/COM-Komponenten? Die sind aber seit WinXP auch Registry-free, d.h. einfach in den Programmordner legen und fertig.
Es hat was mit Admin rechten zu tun oder sind deine Programm-Verzeichnisse für alle User beschreibbar? (Tipp: Dann brauchst du auch gar keine Unterteilung zwischen Admin und Usern). Außerdem solltes es vielleicht auch Wege geben, das Plugins nicht systemweit, sondern nur für einen bestimmten User geladen werden (zB ein Plugin, was das Layout auf größere Schrift und einen höheren Kontrast einstellt...)
miller_m schrieb:
die vorteile ~/.programmname sind klar ersichtlich. nachteil wäre meiner meinung nach einem user beizubringen das er die plugins dort hin kopieren muss (ich sehe keinen ordner im konqueror, nautilus, etc der so heisst)
Weil die Ordner mit . "versteckte" Ordner sind. Gibt mal in der Konsole ls -a ein.
Weil es schwer ist für User zu begreifen, was die machen sollen, füge am besten eine Option deinem Programm hinzu, mit der man die Programme einfach laden kann... (Ist ja keine Schwierigkeit, du musst ja nur das Plugin in den Ordner verschieben ...)
Artchi schrieb:
Stimmt. Was spricht gegen ~/programmname?
Gegen ~/programmname spricht, das man dann eine riesige Unordnung erhält, weil man nicht mehr durchblickt, was nun wichtige Verzeichnisse für den User sind und was nun von irgend welchen Programmen angelegt wurde.
-
Artchi schrieb:
Menüpunkt eine Art Plugin-Installer-Dialog einbauen, ist in Wirklichkeit nur ein Kopieren/Verschieben der Datei in das ~/.programmname-Verzeichnis. Der Aufwand dafür ist minimal.
so etwas werde ich vermutlich auch einbauen. diesen könnte ich dann später (viel später) mit einem webspeicherort erweitern.
rüdiger schrieb:
miller_m schrieb:
die vorteile ~/.programmname sind klar ersichtlich. nachteil wäre meiner meinung nach einem user beizubringen das er die plugins dort hin kopieren muss (ich sehe keinen ordner im konqueror, nautilus, etc der so heisst)
Weil die Ordner mit . "versteckte" Ordner sind. Gibt mal in der Konsole ls -a ein.
das war ein zitat war auf einen user (dau) bezogen
rüdiger schrieb:
Weil es schwer ist für User zu begreifen, was die machen sollen, füge am besten eine Option deinem Programm hinzu, mit der man die Programme einfach laden kann... (Ist ja keine Schwierigkeit, du musst ja nur das Plugin in den Ordner verschieben ...)
siehe oben
[edit]
punkt übersehensomit hinfällig
-
wie schon erwähnt ist das ja unter linux sinnlos.
Ich verstehe es auch nicht warum es unter Linux sinnlos sein soll. Die Plugins liegen einfach Programm-Verzeichnis als so-libs, was ist daran sinnlos ?
-
Marcin schrieb:
wie schon erwähnt ist das ja unter linux sinnlos.
Ich verstehe es auch nicht warum es unter Linux sinnlos sein soll. Die Plugins liegen einfach Programm-Verzeichnis als so-libs, was ist daran sinnlos ?
ich dacht das wäre geklärt? frag dich doch mal wo dein programm liegt
vermutlich irgendwo /usr/bin oder /usr/local/bin dort will ich keine plugins reinkopieren, weil sie imho dort nix zu suchen haben. weitere argumente wurden von rüdiger auch genannt.
-
dort will ich keine plugins reinkopieren
Die ablage der SO's oder DLL's ist doch vollkommen schnuppe fuer das konzept selber.
Lass den User von mir aus nen verzeichniss angeben, wo er die so's sucht. Wenn nen programm unter unix unter user-rechten laeuft, braucht er die so nur lesen zu koennen, und schon kann er sie verwenden. Also spricht nicht mal was dagegen es ins home verzeichiss unter ~/appname/plugins zu legen. Und die App selber auch noch globale plugins laden zu lassen die unter /usr/share/appname/plugins liegen.Weiterhin kannst den user sogar selber angeben lassen welches plugin er laden soll .... einfach mit nem dateiauwahldialog ....
Wo ist denn da das Problem ?
BTW die QT bietet auch nen rudimentaeres Plugin Framework an, das kann man auch nutzen .... erspart viel basisarbeit.
Ciao ...
-
RHBaum schrieb:
dort will ich keine plugins reinkopieren
bezieht sich auf die */bin verzeichnisse
RHBaum schrieb:
Die ablage der SO's oder DLL's ist doch vollkommen schnuppe fuer das konzept selber.
Lass den User von mir aus nen verzeichniss angeben, wo er die so's sucht. Wenn nen programm unter unix unter user-rechten laeuft, braucht er die so nur lesen zu koennen, und schon kann er sie verwenden. Also spricht nicht mal was dagegen es ins home verzeichiss unter ~/appname/plugins zu legen. Und die App selber auch noch globale plugins laden zu lassen die unter /usr/share/appname/plugins liegen.ja natürlich, ist alles vollkommen klar. ich wollte nur konzeptvorschläge wie man ein pluginsystem (verzeichnissstruktur, configfiles etc. was auch immer) praktikabl und einfach (in bezug auf userfreundlichkeit ohne jetzt riesige automatismen zu entwerfen) unter linux entwirft.
RHBaum schrieb:
BTW die QT bietet auch nen rudimentaeres Plugin Framework an, das kann man auch nutzen .... erspart viel basisarbeit.
benutze gtk
-
miller_m schrieb:
die vorteile ~/.programmname sind klar ersichtlich. nachteil wäre meiner meinung nach einem user beizubringen das er die plugins dort hin kopieren muss (ich sehe keinen ordner im konqueror, nautilus, etc der so heisst)
Der Nachteil ist auch ganz klar, dass einmal installierte Plugins nur dem User zur Verfügung stehen. Mehrere User mit dem selben Tool und den selben Plugins installieren die Plugins mehrfach und die Plugins liegen mehrfach in unterschiedlicher Version im Filesystem. In meinen Augen das Unschönste was man machen kann. Bei Konfigurationsdateien ist das was anderes.
Gibts unter Linux keinen "Common"-Bereich wo jeder hin und Dateien hinlegen darf?
-
junix schrieb:
Der Nachteil ist auch ganz klar, dass einmal installierte Plugins nur dem User zur Verfügung stehen.
Es sei denn, ein Admin installiert sie systemweit.
Gibts unter Linux keinen "Common"-Bereich wo jeder hin und Dateien hinlegen darf?
Dafür gibts normalerweise /pub, aber da legt man keine Programme ab (und auch keine Plugins). Unter Unix darf einfach kein Non-Admin Programme außerhalb des Homedirectories installieren; praktische Sache, das.
-
Artchi schrieb:
Stimmt. Was spricht gegen ~/programmname?
Dass ich mir mein Homedirectory nicht von jedem dahergelaufenen Programm mit sichtbaren Dateien zumüllen lassen will. Das Anlegen sichtbarer Verzeichnisse oder Dateien bleibt mir als User vorbehalten bzw. Programmen, die ich direkt dazu anweise. (Bspw. der Projekte-Ordner einer IDE oä.)
-
miller_m schrieb:
ich dacht das wäre geklärt? frag dich doch mal wo dein programm liegt
Das ist mir schon klar gewesen, Programmverzeichnis war nur ein Beispiel, wenn nicht Programmverzeichnis dann halt irgendein Verzeichnis, das man im Programm z.B unter "Einstellungen" angeben kann.
Nur ich habe dein Posting so verstanden als würdest du so-libs als plugins für sinnlos halten, die so-libs sind aber hierfür doch sehr gut geeignet.
-
Für programmspezifische, systemweite Plugins als so bietet sich das Verzeichnis /usr/lib/progname oder /usr/local/lib/progname an. Benutzerspezifische Plugins gehören dann wie bereits erwähnt in ~/.progname oder ~/.progname/plugins.
Ein System, bei dem jeder User systemweite Plugins installieren könnte, wäre fatal. Systemweit darf immer nur root. Ich könnte ja sonst ein Plugin schreiben, welches beim initialisieren z. B. den Inhalt des Homeverzeichnisses ausliest und mir zur Verfügung stellt, wenn der aktuelle User nicht meinem User entspricht. Noch fataler wäre es, wenn root ein Plugin lädt, welches ich installiert habe. Das Plugin kann mir dann gleich eine Hintertür installieren.
Tntnet
-
Hm. Systemweite würd ich auch unter /usr/share/programmname/plugins ablegen. Programme muss man ja eh meist als su installieren, passt schon.
Und dann eben ~/.programmname für ne config welche Plugins geladen werden sollen.
-
Dass ich mir mein Homedirectory nicht von jedem dahergelaufenen Programm mit sichtbaren Dateien zumüllen lassen will.
Also ich hab unter anderem nen Ubuntu laufen, mit MC, mit paar Gdesklets und ansonsten alles dateien die per default installiert werden.
Und schon sieht mein user-Verzeichniss aus wie das Hauptverzeichnis eines Emule Servers
Also hab da vielleicht 10 verzeichnisse und mehrere hundert config dateien liegen, ohne das ich einem Programm die expliziete Anweisung zu gegeben haett.Das nur mal so zum Thema jungfraeulichkeit des user verzeichnisses ! wenn man da schoen geordnet reinschreibt, z.b. nach ~/.Appname/plugins und ~/.Appname/config etc, haett ich da null Skrupel. Machen eh schon genug andere Programme auch und das meist sogar als sichtbare verzeichnisse (ohne . davor)
Ciao ...
-
RHBaum schrieb:
Also ich hab unter anderem nen Ubuntu laufen, mit MC, mit paar Gdesklets und ansonsten alles dateien die per default installiert werden.
Und schon sieht mein user-Verzeichniss aus wie das Hauptverzeichnis eines Emule Servers
Also hab da vielleicht 10 verzeichnisse und mehrere hundert config dateien liegen, ohne das ich einem Programm die expliziete Anweisung zu gegeben haett.Lies mein Zitat bitte nochmal:
Dass ich mir mein Homedirectory nicht von jedem dahergelaufenen Programm mit sichtbaren Dateien zumüllen lassen will.
Dass man Dotfiles anlegen darf, steht außer Frage; ~/.programmname ist ok. Ich habe nur gegen das ebenfalls vorgeschlagene ~/programmname argumentiert.
-
RHBaum schrieb:
...und das meist sogar als sichtbare verzeichnisse (ohne . davor)
Tatsächlich? Gib mal Beispiele, ich hab da nämlich kein einziges vor Ort. (Und ich habe _viele_ Programme installiert.)