format neutrino.conf; warum kein xml?

Wünsche, Anträge, Fehlermeldungen
skydiver
Einsteiger
Einsteiger
Beiträge: 256
Registriert: Montag 14. Januar 2002, 23:13

format neutrino.conf; warum kein xml?

Beitrag von skydiver »

hallo,

ich weiß nicht, wie es euch geht, aber ich seh bei den settings in der neutrino.conf kaum noch durch.
ständig kommen - was ich natürlich sehr gut finde - neue features dazu.
könnte man nicht perspektivisch mal auf ein xml-valides format umstellen oder gibt es einen bestimmten grund, warum man dieses reine text-format gewählt hat?
vorschlag:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<settings>
	<audio>
		<AnalogMode=0/>
		<DolbyDigital=false/>
		.
		.
		.
	</audio>
	<keysettings>
		<bouquet_down=105/>
		<bouquet_up=106/>
		<channelList_addrecord=-2/>
		<channelList_addremind=-2/>
		<channelList_cancel=102/>
		<channelList_pagedown=115/>
		<channelList_pageup=114/>
		<channelList_sort=401/>
		.
		.
		.
	</keysettings>
	.
	.
	.
</settings>
oder sowas in der richtung.
bei der gelegenheit würd ich gern mal die frage in den virtuellen raum stellen, warum es einmal true/false heißt und ein anderes mal 0/1? das ist doch nicht stringent.
ich weiß, dass es wichtigeres gibt. aber so wäres mit einem xml-editor um einiges übersichtlicher.

greetz

und frohe ostern

sky
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Dann würde ich mal vorschlagen, da das Wetter eh schlecht ist mach einen Patch dafür und wenns was taugt gibts denke ich kein Grund warum das dann nicht ins cvs wandern sollte.
Dann sollten die anderen configfiles aber auch umgestellt werden, sonst ist es ja nicht "stringent":-).

Andererseits gibts auch keinen Grund das Vorhandene umzustricken nur weil es dann nachher XML ist, oder gibts da auch einen richtigen Grund ausser das es langsamer wird :D
Aber ich lasse mich gerne eines besseren belehren...

Houdini
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Die XML Lösung ist vielleicht etwas übersichtlicher, aber man muss mit
den Editoren aufpassen und das einlesen wird bestimmt nicht schneller
dadurch.
Einen wirklichen Nutzen kann ich nicht erkennen... :-?


Gruß
____Paule


PS: @ Houdini: Wenn Du Zeit hast gibt es doch noch ein paar interessante Baustellen... :D
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

@PauleFoul
also ich mach das garantiert nicht, welche andere Baustellen meinst du genau?
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Houdini hat geschrieben:@PauleFoul
also ich mach das garantiert nicht, welche andere Baustellen meinst du genau?
Schau mal in Deinen "Posteingang"... :D


Gruß
____Paule
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: format neutrino.conf; warum kein xml?

Beitrag von Barf »

Das Thema wäre eigentlich besser in CDK- oder Developers-Forum abgehoben.

Also, erstmals, ich bin "bekennende XML-Fan". Wie mann von meiner dbox-Seite (WWW-taste unten) entnehmen kann, steht das Verfassen eines XML-Tutorals für Tuxbox auf meinem TODO-Liste... Siehe auch den io-config-Patch, wobei scart.conf mit io-config.xml ersetzt wird.

Es scheint mir, dass was du haben willst ist eine hierarchische Strukturierung der Neutrino-variablen. XML ist nicht notwendig, und auch nicht hinreichend, dafür.

XML hat sein haubtexistenzberechtigung als universelles Austauschformat zwischen unterschiedliche Anwendungen. In diesem Fall haben wir ein einzige Anwendung, eine andere Verweundung der Parametern ist nicht vorgesehen. Deswegen sehe ich kurzfristig (!) kein eigentliches Nützen.

Ausserdem hat sich niemals die Neutrino-entwicklern dazu bewogen, eine vernünftige XML-Bibliothek einzubinden. Als "vernünftig" wurde ich Gnome libxml2 bezeichen (ist in CVS), als nicht vernünftig XML-Tree. Ist natürlich eine Frage um Platz im Image...
warum es einmal true/false heißt und ein anderes mal 0/1? das ist doch nicht stringent.
In neutrino hat, schätze ich, fast hunderte von Leute "rumgefummelt", während mehre Jahre. Viel schlimmeres gibt es.........

Meine eigene Erfahrung sagt, dass sobalt mann etwas veraltet, schlecht geschribenes, etc, aufräumt, meldet sich mit grosser Wahrscheinlichkeit diverse Leute (fast nie Entwickler) die das Veraltetes, schecht gescriebenes für super findet...
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Re: format neutrino.conf; warum kein xml?

Beitrag von rasc »

wie schon geschrieben wurde:
xml ist ein nettes Format fuer den Datenaustausch.

Sobald aber ein Mensch da reinschauen muss, hat xml IMO nichts mehr verloren, da es viel zu unuebersichtlich ist. Wer xml fuer config-Dateien nimmt, wo es auch eine "ini"-Datei tut, der lebt halt den xml-Hype...

Wer mir jetzt gerne widersprechen möchte, der mag erstmal einen tomcat Server etwas extensiver konfigurieren (im Gegensatz z.B. zu einer apache Config), bevor er was schreibt...
Rondom
Beiträge: 2
Registriert: Mittwoch 28. Dezember 2005, 21:40

Beitrag von Rondom »

Naja, die Darstellung über XSL oder XSL:FO für das Drucken einzelner Einstelluingen, die man sich notieren will wäre interessant und die Senderlisten sind ja auch XML. XMl-Dateien kann ich leichter übertragen auf andere Systeme. Ich bin auch für XML.
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Re: format neutrino.conf; warum kein xml?

Beitrag von Nico 77 »

rasc hat geschrieben:wie schon geschrieben wurde:
xml ist ein nettes Format fuer den Datenaustausch.

Sobald aber ein Mensch da reinschauen muss, hat xml IMO nichts mehr verloren, da es viel zu unuebersichtlich ist. Wer xml fuer config-Dateien nimmt, wo es auch eine "ini"-Datei tut, der lebt halt den xml-Hype...
Sehe ich auch so, bestes Beispiel ist die io-config.xml(sorry Barf).
skydiver
Einsteiger
Einsteiger
Beiträge: 256
Registriert: Montag 14. Januar 2002, 23:13

Beitrag von skydiver »

das mit dem xml-hype ist nicht so ganz von der hand zu weisen. mir ging es primär eigentlich darum, diese ini in ein überschaubares format zu bringen. nichts weiter.
mir war schon klar, dass man sich so einen "machsdochselbst-reply" einhandelt. :oops: wenn man die leute für denkanstöße so abstraft, sollte man auch kein feature-request-forum einrichten, aber das ist wieder ne andere geschichte. :gruebel:
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Das war überhaupt nicht als Abstrafung gedacht und gemeint, sorry das das so bei dir ankam,
nur was übersichtlicher ist ist in diesem Fall nicht eindeutig zu beantworten.
Und besser wird dadurch auch nichts, nur anders.
Deswegen war für "Schönheitskorrekturen" die "DoItYourself"-Antwort gedacht :-)

Houdini
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

Nee, das hat nichts mit "machs-doch-selbst" zu tun, sondern damit dass XML IMO absoluter Overkill fuer sowas ist.

Und wenn ich jetzt schon XML:FO hier lese, dann wird es echt heftig.

XML nimmt auch eindeutig mehr Ressourcen weg, als die Behandlung einer INI-Datei (egal ab man lib2xml oder expat nimmt).

Also wenn XML, dann aber auch nicht wundern/schimpfen, wenn für den sectionsd noch weniger Speicher übrig bleibt.

XMl-Dateien kann ich leichter übertragen auf andere Systeme.
... das ist übrigens ein liebgewonnenes Ammenmärchen, das gerne als Argument für XML herhalten muss.
XML hat nur den Vorteil, dass man eine Standard-Lib zum Lesen/Schreiben nehmen kann. Austauschbar ist eine XML-Datei deshalb noch lange nicht und leicht schon gar nicht.

Im Gegenteil - die Anpassungen eines Programms an eine "fremde" XML-Struktur ist in der Regel heftiger, als bei der Nutzung von anderen Formaten...
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

@skydiver: houdinis Antwort finde ich auch ziemlich nichtssagend und überflüssig, aber rasc und ich habe wirkliche Gründe genanntt. Du bist nicht auf diese Argumente eingegangen, sondern fühlst dich einfach verkannt. Schade.

Um mich zu wiederholen, für ein Strukturierung von N-Parametern ist XML nicht notwendig und nicht hinreichend.
bestes Beispiel ist die io-config.xml(sorry Barf).
Ich fühle mich überhaubt nicht beleidigt :wink: Dieser Patch ist super, weil er viel mehr kann und richtig macht, nicht weil die Konfigurationsfile XML ist. Weil ich nicht die "vernünftige" libxml2 einbauen zutraute, habe ich die "unvernünftige XML-Tree benutzt, und der Code um die Konfigurationfile zu parsen ist nicht die coolste (deswegen). Eigentlich ein gutes Beispiel zu diskutieren: scart.conf gegen io-config.xml (dabei ist zu beachten, dass io-config.xml etwa doppel so viel Parametern enthält.)
Naja, die Darstellung über XSL oder XSL:FO für das Drucken einzelner Einstelluingen
Erstmals, was meinst du mit XSL? XSL besteht von drei Standards: XSLT, XPath und XSL-FO. Zweitens, Neutrinoparametern sind "private", das Formatieren und Ausdrucken hat am höchtens zum Debugginzwecken ein Sinn.

Dagegen sehe ich eine Weitervarbeitung von services.xml und bouquets.xml, zum Ausdruck, html-Darstellung, und vielleicht die automatische Erzeugung von Konfigurationen für Fernbedienungen wie der Pronto als ein Pfad, was wir noch nicht erforscht haben. Ich habe seit Jahren vor, eine geeignete Stylesheet (XSLT und/oder CSS (leider macht der IE bei CSS eine sehr schwache Figur, aber Firefox ist ok)) zu schreiben. Auch intressant ist die Weiterverarbeitung von EPG-Daten von Nirvanas sectiond-Fummelei.
Und wenn ich jetzt schon XML:FO hier lese, dann wird es echt heftig.
Natürlich kein XSL-FO auf dem dBox, sondern auf einem PC.
Im Gegenteil - die Anpassungen eines Programms an eine "fremde" XML-Struktur ist in der Regel heftiger, als bei der Nutzung von anderen Formaten...
Benutzt du "Tools" wie XML-Tree, vielleicht. Meine eigene Erfahrung seht ganz anders aus. Glaube mir.

Noch eine Bemerkung: Wirkliche Vorteile von XML (automatische Syntaxkontrolle, etc) werfen wir weg, weil die XML-Files nur wohlgeformt, nicht valide (bzgl ein DTD oder Schema) sind. Ausnahme: io-config.xml! Ich habe dtds für services.xml und bouquets.xml geschrieben, bin nicht dazu gekommen sie einzuckecken, weil, mit heutige Situation, sie nur Benutzer von validierende XML-Editoren (XML-Spy, XMetal, Emacs) von interesse sein wurde.
Austauschbar ist eine XML-Datei deshalb noch lange nicht und leicht schon gar nicht.
Für mich ist es leicht, mit den richtigen Werkzeuge (z.B. XSLT oder Metamorphosis).
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Beitrag von Nico 77 »

Barf hat geschrieben:
bestes Beispiel ist die io-config.xml(sorry Barf).
Ich fühle mich überhaubt nicht beleidigt :wink: Dieser Patch ist super, weil er viel mehr kann und richtig macht, nicht weil die Konfigurationsfile XML ist. Weil ich nicht die "vernünftige" libxml2 einbauen zutraute, habe ich die "unvernünftige XML-Tree benutzt, und der Code um die Konfigurationfile zu parsen ist nicht die coolste (deswegen). Eigentlich ein gutes Beispiel zu diskutieren: scart.conf gegen io-config.xml (dabei ist zu beachten, dass io-config.xml etwa doppel so viel Parametern enthält.)
Das der Patch gut ist darüber gibts nicht zu diskutieren, da hast du natürlich recht.
Aber allein die Größe der io-config.xml spricht schon dagegen und den Inhalt zu durchschauen ist länger dran als bei einer normalen config(nach meiner Meinung).

Das Thema xml wird am besten in der zapit deutlich, was für ein riesen Aufwand benötigt wird um ein paar Dateien zusammen zu schreiben oder sonstiges.
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

Barf hat geschrieben:
Und wenn ich jetzt schon XML:FO hier lese, dann wird es echt heftig.
Natürlich kein XSL-FO auf dem dBox, sondern auf einem PC.
Im Gegenteil - die Anpassungen eines Programms an eine "fremde" XML-Struktur ist in der Regel heftiger, als bei der Nutzung von anderen Formaten...
Benutzt du "Tools" wie XML-Tree, vielleicht. Meine eigene Erfahrung seht ganz anders aus. Glaube mir.
Austauschbar ist eine XML-Datei deshalb noch lange nicht und leicht schon gar nicht.
Für mich ist es leicht, mit den richtigen Werkzeuge (z.B. XSLT oder Metamorphosis).
<offtopic>
Soso, transformieren kannst Du nur, wenn die Attribute/Tags ähnlich/map-bar sind - ansonsten fängst du an in XSLT heftig zu programmieren - bishin zum geht nicht.
</offtopic>

Beispiel: Transformiere doch mal "eclass" nach "DIN-Klassifikation" :roll:


Aber nochmal zur Erinnerung: Wir reden hier von einer einfachen Config-Datei und der Schonung der mageren dbox2-Ressourcen....
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Sorry aber ich denke es gibt wirklich sinnvollere Dinge die man in
Neutrino optimieren könnte.

Rasc hat vollkommen recht!


Gruß
____Paule
skydiver
Einsteiger
Einsteiger
Beiträge: 256
Registriert: Montag 14. Januar 2002, 23:13

Beitrag von skydiver »

jetzt fühl ich mich wirklich verkannt. ;-) kann aber auch am osterwasser liegen. *g*
natürlich ist der ressourcen-kill ein absolutes totschlagargument. ich stell mich gewiss auch nicht in die ecke und schreie bockig: "ich will". das verbietet mir ja schon meine ostsozialisation.

wo wir doch schon beim thema sind... was gibt es denn noch absolut verbesserungswürdiges? ich bin mit neutrino schon so glücklich, dass ich mich wahrscheinlich ausschließlich aus diesem grunde auf solche minor things stürze
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Wirf doch mal ein Auge auf "meinen" Super EGP Post ;-)

Isch will haben mit krassen 24std epg ;-)
yjogol
Developer
Beiträge: 809
Registriert: Montag 4. Juli 2005, 18:45

Beitrag von yjogol »

skydiver hat geschrieben:jetzt fühl ich mich wirklich verkannt. ;-) kann aber auch am osterwasser liegen. *g*
natürlich ist der ressourcen-kill ein absolutes totschlagargument. ich stell mich gewiss auch nicht in die ecke und schreie bockig: "ich will". das verbietet mir ja schon meine ostsozialisation.

wo wir doch schon beim thema sind... was gibt es denn noch absolut verbesserungswürdiges? ich bin mit neutrino schon so glücklich, dass ich mich wahrscheinlich ausschließlich aus diesem grunde auf solche minor things stürze
Ich würde die Neutrino.conf auch so lassen wie sie ist.
Außerdem gibt es auch mehrere andere Programme, die auf sie zugreifen.
Ich denke wir brauchen auch eine Aufräumphase (Schnittstellen säubern, ereitern etc.) oder wie Barf es angegangen hat - Grundsätzlichen wieder auszuräumen.

Z.B. es gibt für die Variablen in der Neutrino.conf, meines Wissens, keine Schnittstelle, so daß Daemons direkt auf die neutrino.conf zugreifen müssen.

Gruß
yjogol
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

yjogol hat geschrieben:
skydiver hat geschrieben:jetzt fühl ich mich wirklich verkannt. ;-) kann aber auch am osterwasser liegen. *g*
natürlich ist der ressourcen-kill ein absolutes totschlagargument. ich stell mich gewiss auch nicht in die ecke und schreie bockig: "ich will". das verbietet mir ja schon meine ostsozialisation.

wo wir doch schon beim thema sind... was gibt es denn noch absolut verbesserungswürdiges? ich bin mit neutrino schon so glücklich, dass ich mich wahrscheinlich ausschließlich aus diesem grunde auf solche minor things stürze
Ich würde die Neutrino.conf auch so lassen wie sie ist.
Außerdem gibt es auch mehrere andere Programme, die auf sie zugreifen.
Ich denke wir brauchen auch eine Aufräumphase (Schnittstellen säubern, ereitern etc.) oder wie Barf es angegangen hat - Grundsätzlichen wieder auszuräumen.

Z.B. es gibt für die Variablen in der Neutrino.conf, meines Wissens, keine Schnittstelle, so daß Daemons direkt auf die neutrino.conf zugreifen müssen.

Gruß
yjogol
was mir fehlt wäre ein programm was bei aufruf die variablen zurückliefert. sowass wie "xxx -recording_dir" liefert /var/autofs/film

das würde das scripten um ettliche greps veringern. Obs performanter ist weis ich nicht.
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
yjogol
Developer
Beiträge: 809
Registriert: Montag 4. Juli 2005, 18:45

Beitrag von yjogol »

Genau das meine ich.
Hatte ich auch schon mal angefragt, ist ein bischen Arbeit ... http://forum.tuxbox-cvs.sourceforge.net ... highlight=

Gruß
yjogol
skydiver
Einsteiger
Einsteiger
Beiträge: 256
Registriert: Montag 14. Januar 2002, 23:13

Beitrag von skydiver »

ums vorweg zu schicken, ich find die tuxbox klasse. ich kann zwar nur für neutrino sprechen, aber ich denke, was jetzt hier in den 4-5 jahren geschaffen wurde, kann sich mehr als sehen lassen.

der nachteil hier ist allerdings, dass es ein reines freizeit-projekt ist, bei dem niemand den hut auf hat. andere opensource projekte schaffen es, einen oder mehrere aus ihrer mitte zu wählen.
das ist wahrscheinlich auch der grund, warum es keine roadmap gibt. irgendwer entwickelt was (was nicht schlecht ist) und irgendwann landet es dann mehr oder minder ungeprüft ins cvs. das erklärt auch die unterschiedliche syntax in den configs.

und genau das erschwert mit sicherheit auch das aufräumen.
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Ich habe ein Gefühl, dass Tommy und yjogol um unterschiedliche Dinge reden. yjogol will programmatisch an die Variabeln des laufendes N-Programms (die a priori nicht mit neutrino.conf übereinstimmen muss), Tommy will zeugs aus ein Textfile extrahieren.

@Tommy: Sowas?

Code: Alles auswählen

#!/bin/sh

case "$#" in
    0)
    echo "usage: $0 keyword [config_file]"
    exit 1
    ;;
    1)
    KEYWORD=$1
    CONFFILE=/var/tuxbox/config/neutrino.conf
    ;;
    2)
    KEYWORD=$1
    CONFFILE=$1
    ;;
    *)
    echo "usage: $0 keyword [config_file]"
    exit 1
    ;;
esac

grep "^${KEYWORD}=" "$CONFFILE" | sed -e s/^${KEYWORD}=//
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

skydiver hat geschrieben:genau das erschwert mit sicherheit auch das aufräumen.
Tja, kuck dir die newmake diskussion an. Ich habe eine erhebliche Arbeit investiert, um den Buildprozess aufzuräumen. Wie mann aus der Diskussion entnehmen kann, gibt es eine relativ kleine Gruppe Forumsteilnehmer, die dies bis zu den Zähnen bekämpfen. Bekämpfen! Kein davon ist Entwickler. Nur in seltene Fälle haben die Behauptungen etwas mit Fakten zu tun. Horrible Missverständnisse werden als Wahrheiten und Killerargumente propagiert. Usw... :(
zexma
Tuxboxer
Tuxboxer
Beiträge: 2067
Registriert: Mittwoch 6. März 2002, 15:29

Beitrag von zexma »

Barf hat geschrieben:
skydiver hat geschrieben:genau das erschwert mit sicherheit auch das aufräumen.
Wie mann aus der Diskussion entnehmen kann, gibt es eine relativ kleine Gruppe Forumsteilnehmer, die dies bis zu den Zähnen bekämpfen. Bekämpfen! Kein davon ist Entwickler. Nur in seltene Fälle haben die Behauptungen etwas mit Fakten zu tun. Horrible Missverständnisse werden als Wahrheiten und Killerargumente propagiert. Usw... :(
Sorry, aber das ist doch Blödsinn. Blödsinn!
An "horriblen Mißverständnissen" bist du ja nun (sicher zumeist UNBEWUSST) auch nicht ganz unschuldig. :wink:
Insofern sehe ich das als eine normale, notwenige Diskussion an, die nunmal stattfindet wenn es erhebliche Umbrüche gibt.
Ich glaube das newmake die Zukunft ist wird niemand bestreiten wollen. :)