Elektra 0.7.0



In mehreren Diskussionen hier ging es um verschiedene Konfigurations-
libraries[0]. Ich möchte hier keine Weitere vorstellen sondern in diesem
Projekt geht es um eine API und Datenstrukturen um alle anderen Libraries
und natürlich auch eigenen Parser und Generatorcode mittels Backends
einbinden zu können.

Der erste Schritt war die Festlegung der API, welches jetzt in der Version
0.7.0 [1] auch erledigt wurde. Es gibt jetzt keine direkten Abhängigkeiten
zu einer bestimmten Art und Weise Konfiguration zu speichern. Damit sind
unglaublich viele verschiedene Ansätze möglich[2].

Die KDB Datenstruktur (ein Trie) ermöglicht oben genannte Backends in
sogenannten Mountpoints in einer hierarchische Struktur einzubinden [3].
Dadurch ist gewährleistet dass die verschiedenen Backends gleichzeitig
verwendet werden können. Ein Administrator kann entscheiden für welche
Pfade (Applikationen) welches Backend zum Einsatz kommen soll. [4]

Der wichtigste Nebeneffekt einer solchen Abstraktion (das Programme
programmatisch auf Konfiguration ohne systemabhängige Pfade zugreifen) ist
dass unterschiedliche Programme sich Konfiguration teilen können und damit
eine bessere Integration möglich wird.

C-Programme können jetzt sofort diese API verwenden und holen sich damit nur
eine zusätzliche Abhängigkeit (Elektra selber benötigt nur libc). Hier eine
kurze Anleitung wie die API aussieht und verwendet wird [5].

Das Backend Interface wird in einer kommenden Version noch geändert,
Backends sollten derzeit nur geschrieben werden wenn möglicher
Anpassungsaufwand und Pionierdasein nicht gescheut wird. Die API und ABI
für Programme hingegen bleibt für 0.7.x mindestens ein Jahr unterstützt und
komplett kompatibel.

Obwohl Elektra 0.7.0 erst heute erschienen ist, wird es bereits durch
Oyranos[6] verwendet. Beispiele sind direkt in der Distribution, ein
riesiges Testingframework ist unter tests, kleine Qt3-basierte Programme
gibt es hier [7].

Allgemeine Informationen siehe: http://www.libelektra.org


mfg Markus


[0] msgid: <jdg0pnbctr.fsf@xxxxxxxxxxxxxxxxxxxxxx>
[1] https://svn.libelektra.org/svn/elektra/tags/0.7.0/
[2] http://www.libelektra.org/Backends
[3] http://www.markus-raab.org/ftp/elektra.pdf
[4] http://www.libelektra.org/GetStartedMounting
[5] http://www.libelektra.org/Tutorial
[6] http://www.oyranos.org/
[7] http://www.markus-raab.org/ftp/oel-elektra.tar.gz
http://www.markus-raab.org/ftp/waldbrand-elektra.tar.gz
.



Relevant Pages

  • Re: Welches Linux zu Beginn und wo drauf?
    ... die also eine Modifikation des Quelltextes erfordert. ...
    (de.comp.os.unix.linux.hardware)
  • Re: Messgeraete-Steuerung ueber Excel etc?
    ... Doch, kannst du, natuerlich kann man auch unter Windows eine serielle ... Diese Programmiermethode hat es nicht in Lunux geschafft, weil bei Linux Leute ... wie Kai sitzen, die meinen, mit dem primitiven flie API wäre alles erledigt. ... Dort bleiben bis heute Programme einfach stehen, ...
    (de.sci.electronics)
  • Re: using serial port using APIs
    ... API solution would help you, MSComm could not have possibly be slower than ... > programme that there is data available? ...
    (microsoft.public.vb.winapi)
  • Re: about bluetooth status detect???
    ... API to retrieve system state information, ... stack you can P/Invoke the BthGetMode API, ... I'v developed a programme by Vb & .Net and it works well in wm5.0. ... In the programme bluetooth working as a COM port.But there is a problem: ...
    (microsoft.public.pocketpc.developer)