Auch wenn die IPSLibrary inkl. IPSLogger bei mir mittlerweile läuft möchte ich Schablone zustimmen.
Ich denke den wenigstens liegt daran was das Konstrukt alles kann sondern wie es Ottonormalverbraucher zur Installation von deinen genialen Produkten nutzen kann.
Prinzipiell werden eigentlich zwei Anleitungen benötigt.
Eine für Dummies und eine für Entwickler.
Ich hatte alleine schon mit der Installation der Library Probleme, mag mitunter auch daran liegen das geschätzte 100 Beiträge gleichzeitig eingestellt wurden, aber nur mit Nachfrage konnte ich diese und den IPSLogger installieren.
Deshalb nochmals auch von mir die Bitte eine Anleitung für Dummies zu erstellen da sonst deine geniale Bibliothek nur von Profis genutzt werden wird.
genau so gehts mir auch: in Erfurcht erstarre ich vor dem Gesamtwerk, das sieht sehr professionell (sowohl vom Konzept her als auch in der Realisierung -> vielleicht wirkt das als Widerspruch zu den folgenden Sätzen) aus. Ich hab die Threads ein wenig mitverfolgt und in die Doku reingelesen. Aber ich hab nicht wirklich im Detail verstanden, was ich damit anfangen kann. Beim lesen ging mir der gleiche Gedanke durch den Kopf: sehr fachspezifisch, aber der gemeine Anwender (wie z.B. ich => ich kann zwar mittlerweile ca 80% meiner IPS-Probleme via PHP lösen, aber von „Fremdcode verstehen“, geschweige denn professionellem Programmieren bin ich ganz, ganz weit entfernt) versteht nicht wirklich worum es geht.
Ich denke, das ist eine Sache die das Zeug zum breiten Standard hat und damit einen riesen Entwicklungsschub geben kann - daher wäre es hilfreich, wenn sich auch „Normaluser“ schnell damit auseinander setzen und das für sich nutzbar machen können;)
ja, ist mir schon klar, dass das Ganze relativ viel war und etwas technisch ist. Es war mir in erster Linier einmal wichtig, dier Library und die Idee dahinter vorzustellen und diverses Feedback zu erhalten.
Feedback habe ich mittlerweile erhalten und ich bin gerade dabei noch einige Dinge zu vereinfachen.
Wie Werner bereits vorgeschlagen hat, werde ich die Installation für normale User noch genauer beschreiben und wahrscheinlich vereinfachen und andererseits einige WIKI Beiträge für Developer veröffentlichen.
Als erstes ist die Ausführung des „BaseLoader“ Scripts nötig, dieses Script muss einmalig ausgeführt werden und lädt den IPSModuleManager aus dem Repository.
Der IPSModuleManager ist Voraussetzung für alles weitere, ermöglicht die Installation aller anderen Module und kann sich letztendlich auch selber aktualisieren.
Zur Zeit werden noch alle Files den IPSModuleManagers in IPS registriert, ich werde das in Zukunft noch unterbinden, weil es für normale User nicht nötig ist.
Folgender Code kann zum Laden verwendet werden:
<?
// Repository
$remoteRepository = 'https://raw.github.com/brownson/IPSLibrary/master/';
// Download BaseLoader Script and Installation
$remoteFile = $remoteRepository.'IPSLibrary/install/BaseLoader/IPSLibrary_BaseLoader.ips.php';
$localFile = IPS_GetKernelDir().'scripts\\IPSLibrary_BaseLoader.ips.php';
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,$remoteFile);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false);
echo 'Load File '.$remoteFile."
";
$fileContent = curl_exec($curl_handle);
if ((strpos($fileContent, 'Something went wrong with that request. Please try again')>0) and
(strpos($fileContent, 'IPSInstaller')===false)) {
die('File '.$remoteFile.' could NOT be found on the Server !!!'.PHP_EOL);
}
curl_close($curl_handle);
if (!file_put_contents($localFile, $fileContent)) {
die('Create File '.$localFile.' failed!');
}
include $localFile;
?>
ich brauche also die IPSLibrary nicht runter zu laden.
Das erledigt dein Script in Step 1. Dieses Script läd den „BaseLoader“
aus dem Repository (engl. für Lager, Depot, Quellen oder Archiv) und
führt Ihn direkt aus.
Was habe ich gemacht:
Ich habe in IPS ein neues Script mit dem Namen „BaseLoader“ angelegt.
In diesem Script habe ich deinen Code reinkopiert und habe das Script gespeichert und ausgeführt.
Was ist passiert:
In dem Verzeichnis „scripts“ von IPS wurde die Datei „IPSLibrary_BaseLoader.ips.php“ aus dem Repository geladen und ausgeführt.
Bei mir wurde eine Verzeichnisstruktur in den IPS-Verzeichnis „scripts“ angelegt.
In IPS wurde eine neue Struktur von Kategorien und Scripten angelegt.
ich finde die IPSLibraray super und diesen Thread hier besonders gutauch Leider habe ich heute keine Ziet mehr, aber morgen werde ich hier auch mal mitmischen
den Schritt 2 hab ich noch nicht verstanden.
Gibt es den Code für die Module bereits oder
muss ich für jedes Modul das ich haben möchte
ein neues Script anlegen,
die vier Zeilen reinkopieren
und ausführen?
Wenn das so ist, ist es egal wo dann die neuen Scripte liegen?
An diesem Punkt bin ich jetzt auch.
Bevor da weiter mache stellt sich mir die Frage:
Ich habe schon laengere Zeit den IPSLogger installiert.
Muss ich den erst deinstallieren oder wie geh ich am besten vor ?
… und genau so einfach ist auch das Update.
Sollte es also durch einen neuen IP-Symcon Release zu einer Änderung kommen oder ich einfach nur ein neues Feature implementieren, dann ist alles was Du zu tun hast, ein Update des Modules auszuführen!
Update eines Modules funktioniert ähnlich der Installation:
IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSLogger');
$moduleManager->UpdateModule();
@bmw3
Deinstallation geht noch nicht autom. - kommt aber wahrscheinlich noch.
Hallo, bekomme immer folgende Fehler Meldung beim installieren vom IPSLogger.
kann mir jemand sagen was ich falsch mache bitte.
beim Installieren vom NetPlayer das gleiche.
IPSModuleManager-Log-IPSVariableVersionHa2012-02-19 19:44:19.29 Set Version IPSLogger=2.50.0…Loading
IPSModuleManager-Log-IPSVariableVersionHa2012-02-19 19:44:19.31 Set Version IPSLogger=2.50.0…Loaded
Fatal error: Uncaught exception ‚IPSConfigurationException‘ with message ‚Configuration Value with Key=Version could NOT be found (Section="")‘ in C:\IP-SYMCON\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php:70
Stack trace: #0 C:\IP-SYMCON\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(651): IPSConfigHandler->GetValue(‚Version‘) #1 C:\IP-SYMCON\scripts\35191.ips.php(5): IPSModuleManager->InstallModule() #2 {main}
thrown in C:\IP-SYMCON\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php on line 70
Gestern hat es noch funtioniert.
Heute hab ich es nochmal installieren wollen.
Es kommt beim Modul Installieren
Fatal error: Class 'IPSVariableVersionHandler' not found in [Program\IPSLibrary\install\IPSModuleManager\IPSModuleManager] on line 112
PHP-Error-Error: Class 'IPSVariableVersionHandler' not found
Error in Script C:\Programme\IP-SYMCON2\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php on Line 112Abort Processing during Error: Class 'IPSVariableVersionHandler' not found
Error in Script C:\Programme\IP-SYMCON2\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php on Line 112