Diskussions Thread zur IPSLibrary

Hier bitte jede Menge Fragen und Diskussionen zur IPSLibrary, insbesondere zu folgenden Themen:

[ul]
[li]Entwicklungs Ideen zu neuen Modulen oder Erweiterungen
[/li] [li]Diskussionen zu Design technischen Themen
[/li] [li]Coding Guidelines
[/li] [li]Allgemeine Fragen
[/li][/ul]

Fragen zu den einzelnen Modulen bitte in dem jeweiligen Module Thread stellen!!

Hallo Andreas,

Wahnsinn !!! Respekt.
Ich habe schon einiges von dir am Laufen und bin jedesmal überrascht.

Ich freue mich, dass es jetzt ein einheitliche Basis gibt. Und wieder die Nutzung von „Bricks“ (wie es mal früher IPS V1 benannt wurde) möglich wird bzw. vereinheitlich wird. Somit werden wir bestimmt noch ganz viele tolle Funktionen ermöglichen und installieren können…

Weiter so. (Ich muss erstmal alles wieder durchlesen und verstehen.)

Grüße aus Texas
Björn

Hallo Andreas (Brownson) :D,

prinzipiell kann ich mich ja in einiges einarbeiten aber wenn ich ehrlich sein darf…

…mit der Library habe ich so meine Probleme.

Auch wenn ich jetzt Pfiffe bekommen, kannst Du bitte einmal ein Schritt für Schritt-Anleitung machen wie man am besten anfängt.

Also

[ul]
[li]IPSLibrary installieren[/li][li]eines deiner Module neu installieren, z.B. IPSLogging[/li][/ul]Ich bin mir sicher das die Frage auch andere stellen werden oder bin nur ich im Moment überfordert???

OK. Die Library ist drin, war ja auch ein Installationskript mit dabei :smiley:

Aber wie bekomme ich jetzt den IPSLogger oder der NetPlayer installiert.

Ist hier schon jemand weiter wie ich:confused:

Hallo Werner,

Der BaseLoader ist mal das erste was Laufen muß und Voraussetzung für alles andere.

Danach kommt der IPSLogger:
Der IPSLogger ist sicher das schwierigste - ich persönlich hab mal zuerst meine Visualisierungs Struktur angepasst (also die WebFront Struktur in Visualization.WebFront.System.IPSLogger bzw. Visualization.Mobile.System verschoben), danach hab ich das Migrations Script für den IPSLogger laufen lassen und zum Schluß noch die Installation des IPSLoggers.


   $moduleManager = new IPSModuleManager('IPSLogger');
   $moduleManager->InstallModule();  

Danach noch ein IPSLogger.ips.php File für die bestehenden Module erstellen.

Alternativ kannst Du den IPSLogger auch ganz normal installieren und zum Schluss die doppelten Einträge löschen …


   $moduleManager = new IPSModuleManager('IPSLogger');
   $moduleManager->LoadModule();  
   $moduleManager->InstallModule();  

Nun folgen die restlichen Module:


   $moduleManager = new IPSModuleManager('IPSComponent');
   $moduleManager->LoadModule();     
   $moduleManager->InstallModule();  
   
   $moduleManager = new IPSModuleManager('IPSMessageHandler');
   $moduleManager->LoadModule();     
   $moduleManager->InstallModule();     
   
   $moduleManager = new IPSModuleManager('NetPlayer');
   $moduleManager->LoadModule();     
   $moduleManager->InstallModule();     

Setzen des Verzeichnisses im NetPlayer_Configuration.inc.php File, wo Deine Musik liegt und es sollte hoffentlich funktionieren.

Eine andere Möglichkeit wäre, dass Du auf einem relativ jungfräulichen IP-Symcon System einfach das Demo Script laufen läßt - da kannst Du mal etwas experimentieren …

ich hab es so gemacht

<?

  IPSUtils_Include ("IPSModuleManager.class.php",
                    "IPSLibrary::install::IPSModuleManager");

  InstallModule('IPSLogger');
  InstallModule('IPSComponent');
  InstallModule('IPSMessageHandler');
  InstallModule('NetPlayer',     'NetPlayer_DemoConfiguration.inc.php',
                'IPSLibrary::config::modules::NetPlayer');
  InstallModule('Entertainment', 'Entertainment_DemoConfiguration.inc.php ',
                'IPSLibrary::config::modules::Entertainment');

  function InstallModule($module, $configFile='', $configNamespace='') {
    $moduleManager = new IPSModuleManager($module);
    $moduleManager->LoadModule();
    if ($configFile <> '') {
      $fileHandler = new IPSFileHandler();
      $fileHandler->CreateFileFromExample($configFile,
                        str_replace('Demo', '',$configFile), $configNamespace);
    }

    $moduleManager->InstallModule(true);
  }

?>

Skript erstellt und ausgeführt, das wars.
Vielen dank an Brownson

war zu langsam

@Brownson

mit dem angehängten Code hat bei mir die Installation auch nicht funktioniert

   $moduleManager = new ModuleManager('IPSLogger');
   $moduleManager.InstallModule(); 

könnte es so gehen?

 $moduleManager = new IPSModuleManager('IPSLogger');
   $moduleManager.InstallModule(); 

Ich habe den IPSLogger manuell deinstalliert und über das Demo Script neu installiert.

Gruß Raul.

Bei der Installation des „IPSLogger’s“ wird automatisch ein „InfoWidget“ installiert. Das „InfoWidget“ wird aber in den ersten „Webfront Konfigurator“ im Objektbaum installiert. Bei mir ist das leider der Gast zugang!

Abhilfe:
Das „InfoWidget“ selbst im richtigen „Webfront Konfigurator“ zu erzeugen.

[ol]
[li]WefFront Konfiguration –> Element hinzufügen
[/li][li]Element = Info Widget
[/li][li]Variable = Program -> IPSLibrary -> data -> core -> IPSLogger -> IPSLogger -> SingleOutMsg
[/li][li]BeiClick = Program -> IPSLibrary -> app -> core -> IPSLogger -> IPSLogger_ClearSingleOut
[/li][/ol]

@Raul

Danke Dir - ein kleiner Schreibfehler und ich kopier in auch gleich gefühlte 100x …

Das Widget und auch der Rest der WebFront GUI sollte in dem WebFront-Konfigurator erzeugt werden, der im INI File angegeben ist. Da aber dort per default NICHTS eingetragen ist, wird der erst beste genommen.

Siehe auch IPSModuleManager Konfiguration.

Das, ich nenne es mal Hauptsystem ist ja nun in IPS drin.

Aber wie installiere ich auf einem frischen System deine Module wie

  • IPSLogger oder Netplayer.

Wo muß ich die Befehle eintragen

 $moduleManager = new IPSModuleManager('IPSLogger');
$moduleManager.LoadModule(); 
$moduleManager.InstallModule(); 

oder

$moduleManager = new IPSModuleManager('IPSComponent');
$moduleManager.LoadModule(); 
$moduleManager.InstallModule(); 

$moduleManager = new IPSModuleManager('IPSMessageHandler');
$moduleManager.LoadModule(); 
$moduleManager.InstallModule(); 

$moduleManager = new IPSModuleManager('NetPlayer');
$moduleManager.LoadModule(); 
$moduleManager.InstallModule(); 

Ich denke das sind nur Startschwierigkeiten. Wenn ich das System mal logisch in meine Hirnzellen bekommen habe dann sollte das alles ein leichtes sein.

OK, bin ein Stück weiter :rolleyes:

mit

<?
IPSUtils_Include ("IPSModuleManager.class.php",
                    "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSLogger');
$moduleManager->LoadModule();
$moduleManager->InstallModule();
?>

So wollte es nicht da es ja ein Klassenaufruf ist →

<?
IPSUtils_Include ("IPSModuleManager.class.php",
                    "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSLogger');
$moduleManager.LoadModule();
$moduleManager.InstallModule();
?>

ja, das hast Du natürlich recht - man sollte wirklich jedes Stück Code ausprobieren, bevor man es postet.
Ich hatte mir komplett auf den BaseLoader und das Demo Script konzentriert, dass ich den Rest gar nicht mehr probiert habe.

Hänge auch noch am IPSLogger.
Ich hab das IPSLibrary wie beschrieben installiert (initialer Download):

Dienst neu gestartet.

Dann das folgende Script ausgeführt

   IPSUtils_Include ("IPSModuleManager.class.php","IPSLibrary::install::IPSModuleManager");
   $moduleManager = new IPSModuleManager('IPSLogger');
   $moduleManager->InstallModule()

nach dem Ausführen des Installationsscript sind die letzten Zeilen der Scriptausgabe:

IPSModuleManager-Log-IPSVariableVersionHa2012-02-11 19:40:20.73  Set Version IPSLogger=2.50.1.Beta.Installing

Warning:  include(D:\IP-Symcon\scripts\IPSLibrary\install\InstallationScripts\IPSLogger_Installation.ips.php): failed to open stream: No such file or directory in D:\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php on line 650

Warning:  include(): Failed opening 'D:\IP-Symcon\scripts\IPSLibrary\install\InstallationScripts\IPSLogger_Installation.ips.php' for inclusion (include_path='.;C:\php\pear') in D:\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php on line 650
IPSModuleManager-Log-IPSVariableVersionHa2012-02-11 19:40:20.74  Set Version IPSLogger=2.50.1.Beta

hmmmm?

Gruß
hardlog

sorry,

hätte ich mit gelesen, hätte ich letzteres nich gepostet.

Komme voran…

Hab mich nach dem IPSLOgger mit dem Entertainment probiert:

<?
IPSUtils_Include ("IPSModuleManager.class.php",
                    "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('Entertainment');
$moduleManager.LoadModule();
$moduleManager.InstallModule();
?> 

Dann kam als letzte Meldung aber

Parse error:  syntax error, unexpected ',' in D:\IP-Symcon\scripts\IPSLibrary\config\modules\Entertainment\Entertainment_Configuration.inc.php on line 45

kann es sein, dass da ein „),“ zuviel ist?
Hab es einfach gelöscht. Muß ich jetzt noch irendwas neu „installieren“ oder ist trotz dieses „Parse error“ das Modul vollständig installiert?

hardlog

Hallo Andreas,

ich habe noch nicht alles durchgelesen, aber es ist mal wider der Wahnsinn, was Du hier veröffentlichst.
Tolle Struktur und sehr gute Ideen konnte ich finden. Und der Modulare Aufbau ist perfekt.

Leider bin ich nicht dazu gekommen mein Projektchen zum Überwachen und Benachrichtigen fertig zu entwickeln, werde dies aber ganz sicher überdenken, und hier integrieren.

Danke und Gruß
Christian

PS: Dass es nach vier Tagen noch keine Reaktion gibt liegt sicherlich an der Menge von Informationen.

@Mod: Ich habe den Diskussionsthread nicht gesehen. Bitte verschieben. Danke

Schon erledigt;)

Hallo Christian,

ja ja, es hat sich über die letzten Wochen/Monate wieder jede Menge Text angesammelt.

Was die Anzahl der Reaktionen betrifft, so liegt das eh in meinen Erwartungen - sollte ohnehin nur mal aufzeigen wohin die Richtung gehen könnte.

… und die wichtigsten Feedbacks sind ohnebin per PM gekommen …

Werde das Ganze eventuell auch noch um einige WIKI Beiträge ergänzen, die nochmals detailliert beschreiben wie man selber Module schreibt.

Danke an Andreas für diese fantastische Arbeit.
Nach all den Versuchen, zu verstehen, was da abgeht, habe ich mir mein WebFront zerschossen.
Kann mir da jemand helfen?
Gruß Jens

Schau Dir mal die Datei autoload.php an (siehe auch IPSLogger)

Danke Andreas, wer lesen kann ist halt im Vorteil, ich schäme mich.
Zukünftig bin ich dafür, daß sich Leerzeichen nicht mehr so unsichtbar verstecken dürfen, jedes Leerzeichen wird verpflichtet, sich deutlich zu zeigen, sagt das den Leerzeichen!
Gruß Jens