Reichis Blog

waste your sparetime…

Enigma 2 Webinterface API refactoring and Code cleanup

Recently there was a discussion – ok, basically it was no discussion but agreeing on the facts – at enigma2-devel@lists.elitedvb.net about some inconsitencies in the xml structures of the enigma2 webinterface.

I took some hours and started to refactor all of the known incosistencies.
Most people may now think, “great, go get it committed” but this time it is not THAT easy…

Even though i tried hard to break as less things as possible with the changes that will be introduced with my next big commit,  some Clients using the enigma2 Webinterface API will most probably run into some minor or major problems.

Major Changes:

  • /web/gettags
    • All nodes renamed
    • example: <e2tags><e2tag>1</e2tag><e2tag>n</e2tag></e2tags>
  • /web/getlocations
    • All nodes renamed
    • example: <e2locations><e2location>1</e2location><e2location>n</e2location></e2locations>

Minor Changes:

  • /web/timerlist
    • e2dirname : renamed to e2location
  • /web/getcurrent
    • e2eventstart : unix timestamp instead of a local time string
    • e2eventremaining : seconds instead of a “+xy min” string
  • /web/about
    • replaced by /web/devicefino (formerly known as the temp /web/about2) but still available with some restrictions
      • e2servicenamespace : not be present anymore (only as empty xml-node for avoiding exceptions)
      • <e2iswidescreen>True/False</e2iswidescreen> instead of <e2serviceaspect>string</e2serviceaspect> ( will also stay as empty node )
    • the PIDs will be available via /web/getcurrent (this is where this stuff belongs to), so will e2iswidescreen
    • /web/deviceinfo is able to deliver all configured network interfaces, /web/getcurrent delivers pretty much all of the information available for the currently running service

With those changes all xml nodes will always contain the same kind of data in a defined format and vice versa.

I know this will cause work for some people out there but I promise there won’t be any heavy changes like this one anymore in the future.

Along with those obvious changes there will be a bunch of backend-changes – mainly Source/Converter stuff –  no one will should notice at the frontend/xml side.

Togehter this will finally bring the webinterface into a release candidate quality-state.

I will offer an ipk containing all relevant API-Changes within the nex few Days (most probably before tuesday) here.
All Developers of third party tools are called to adjust their apps accordingly until 2 009-05-04 – meaning they’ve got 7 days for some pretty straightforward changes.

Comments are welcome!

EDIT:

I accidently took the wrong eclipse workspace with me so i do not have the changes here to provide you with a “preview-package”.

I’ll provide the file later and will delay the commit 3-4 days so everyone can prepare for the changes now and test them when i’ve released a preview package.

UPDATE: Here’s a simple tarball wich contains all changes to the API: Webinterface tarball

UPDATE 2: I missed /web/getcurrlocation – fixed in this new Tarball

For comments please use the Dreambox Forum.

Wiimote auf Abwegen

Dass man mit der Wiimote einige echt coole Dinge anstellen kann ist ja mittlerweile nichts neues mehr. Ich finde folgende zwei Videos setzen den mir bisher bekannten Dingen dann doch nochmal die Krone auf!

1.

2.

Quellcode etc gibt es beim Author der beiden Videos

Upgrade

Ladys and Gentlemen,

I’m proud to present you: reichholf.net @ wordpress 2.7.
As you all can see, you can see absoluteley nothing new.

So have a lot of fun!