YAF: Unterschied zwischen den Versionen

Aus FHEMWiki
(Update zu LibXML)
Zeile 9: Zeile 9:
zum bisher vorhandenen Floorplan bieten. YAF basiert auf ClientSeite
zum bisher vorhandenen Floorplan bieten. YAF basiert auf ClientSeite
aus den JavaScript
aus den JavaScript
Frameworks JQuery und JQuery UI, serverseitig werden die CPAN Module XML::LibXML (bindet
Frameworks JQuery und JQuery UI, serverseitig werden die CPAN Module <strike>XML::LibXML (bindet
libxml2 an Perl an) und JSON::XS verwendet, um die Konfiguration zu persisitieren und um
libxml2 an Perl an) und</strike> JSON::XS verwendet, um die Konfiguration zu persisitieren und um
Daten zwischen der Oberfläche und dem Server austauschen zu können.
Daten zwischen der Oberfläche und dem Server austauschen zu können.


Zeile 21: Zeile 21:




* Das Projekt ist freie Software unter der GNU General Public License und befindet sich auf einem
* Das Projekt ist freie Software unter der GNU General Public License und befindet sich auf dem offiziellen FHEM SourceForge.net Repository:
Subversion Server von Google: http://code.google.com/p/yaf2012/
https://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/YAF/
 
* Außerdem liegt es inzwischen auch auf dem offiziellen FHEM SourceForge.net Repository:
http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/YAF/


* Im FHEM Forum gibt es einen Thread mit dem Titel “Yet Another Floorplan YAF”:
* Im FHEM Forum gibt es einen Thread mit dem Titel “Yet Another Floorplan YAF”:
Zeile 34: Zeile 31:
=Installation=
=Installation=
== Voraussetzungen ==
== Voraussetzungen ==
=== XML::LibXML auf einer Synology ===
=== <strike>XML::LibXML auf einer Synology</strike> ===
In der aktuellen Version nutzt YAF die FHEM Konfiguration, LibXML ist nicht mehr notwendig.
 
<strike>
YAF benötigt (neben anderen Modulen, siehe HOWTO im SVN), das PERL Modul XML::LibXML.
YAF benötigt (neben anderen Modulen, siehe HOWTO im SVN), das PERL Modul XML::LibXML.


Zeile 80: Zeile 80:
make install
make install
</pre>
</pre>
 
</strike>
==Installation mit FHEM Update==
==Installation mit FHEM Update==
<b>Funktioniert momentan leider nicht</b>
<pre>update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/YAF/ yaf </pre>
<pre>update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/YAF/ yaf </pre>

Version vom 23. Juli 2013, 20:53 Uhr

Projekt YAF

YAF entstand als Projektarbeit von Daniel Weisensee und Markus Mangei an der Hochschule Karlsruhe Technik und Wirtschaft.

Es steht für “Yet Another Floorplan” und soll eine Alternative zum bisher vorhandenen Floorplan bieten. YAF basiert auf ClientSeite aus den JavaScript Frameworks JQuery und JQuery UI, serverseitig werden die CPAN Module XML::LibXML (bindet libxml2 an Perl an) und JSON::XS verwendet, um die Konfiguration zu persisitieren und um Daten zwischen der Oberfläche und dem Server austauschen zu können.

Durch die Erweiterbarkeit von Widgets soll YAF flexibel gehalten werden. Mit Hilfe dieser Schnittstelle können problemlos Widgets von verschiedenen Entwicklern veröffentlicht werden, ohne dass sich diese über gewünschte Änderungen am YAF Code mit der Community abstimmen müssen. Es soll ähnlich dem Prinzip der Widgets unter Android oder Windows funktionieren. Widgets sollen speziell für FHEM Plugins geschrieben werden, um somit möglichst komfortable Oberflächen bieten zu können.


  • Das Projekt ist freie Software unter der GNU General Public License und befindet sich auf dem offiziellen FHEM SourceForge.net Repository:

https://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/YAF/

  • Im FHEM Forum gibt es einen Thread mit dem Titel “Yet Another Floorplan YAF”:

http://forum.fhem.de/index.php?t=msg&th=12629&start=0&rid=0

Installation

Voraussetzungen

XML::LibXML auf einer Synology

In der aktuellen Version nutzt YAF die FHEM Konfiguration, LibXML ist nicht mehr notwendig.

YAF benötigt (neben anderen Modulen, siehe HOWTO im SVN), das PERL Modul XML::LibXML.

Dies kann einen fast zur Verzweiflung bringen, da das Modul weder mit CPAN noch manuell kompilieren möchte. Das Problem ist, das "perl Makefile.PL" sich weigert, den Makefile zu erstellen. Die wenig elegante, aber funktionierende Lösung ist, den entsprechenden Code aus der Datei Makefile.PL zu entfernen:


print "Checking for ability to link against xml2...";
#if ( _libxml_check_lib('xml2') ) {
#    print "yes\n";
#}
#else {
#    print "no\n";
#    print "Checking for ability to link against libxml2...";
#    if ( _libxml_check_lib('libxml2')) {
#        print "yes\n";
#    }
#    else {
#        print STDERR <<"DEATH";
#libxml2, zlib, and/or the Math library (-lm) have not been found.
#Try setting LIBS and INC values on the command line
#Or get libxml2 from
#  http://xmlsoft.org/
#If you install via RPMs, make sure you also install the -devel
#RPMs, as this is where the headers (.h files) are.
#
#Also, you may try to run perl Makefile.PL with the DEBUG=1 parameter
#to see the exact reason why the detection of libxml2 installation
#failed or why Makefile.PL was not able to compile a test program.
#DEATH
#        exit 0; # 0 recommended by http://cpantest.grango.org (Notes for CPAN Authors)
#    }
#}

# -------------------------------------------------------------------------- #
# _NOW_ write the Makefile

danach:

perl Makefile.PL
make
make install

Installation mit FHEM Update

Funktioniert momentan leider nicht

update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/YAF/ yaf