Die Migrations bestehender Skripte (IPSLogger, IPSShadowing, …) konnte durch diverse Struktur Änderungen nicht komplett automatisiert werden.
Es wird generell empfohlen die alten Module komplett zu löschen und mit der IPSLibrary neu zu installieren.
Es ist auch möglich alte Module mit der IPSLibrary zu mischen, allerdings empfiehlt es sich in diesem Fall den IPSLogger auf die neue Struktur zu migrieren.
Für bestehende Module kann dann der IPSLogger durch ein Include File mit dem Namen „IPSLogger.ips.php“ im /scripts Verzeichnis auf die neue Struktur verlinkt werden (kompletten Inhalt der Datei mit folgendem Code ersetzen):
<?
IPSUtils_Include ('IPSLogger.inc.php', 'IPSLibrary::app::core::IPSLogger');
?>
Alle anderen IPSLogger_xxx Files können gelöscht werden
Migrations Script:
Weiters gibt es auch noch die Möglichkeit ein Migrations Script auszuführen, das teilweise versucht die bestehenden Strukturen in die IPSLibrary zu migrieren:
Es gibt jedoch ein Script, dass die alten Installationen so gut es geht in die neue Struktur migriert (um die bereits vorhandenen IDs in IPS nicht zu Veränderung und Verlinkungen auf die bereits installierten Module nicht ungültig zu machen. Voraussetzung ist, dass die IPSLibrary Base Installation bereits vorhanden ist (siehe Thread weiter oben).
1.) Folgendes Script lädt die neuen Files für das jeweilige Module und verschiebt auch alle Variablen in die neue Struktur (die Zeile für das zu migrierende Modul muss auskommentiert werden.
Ein manuelles Anlegen des Scriptes ist nicht erforderlich, es wird bereits durch den „BaseLoader“ erzeugt und ist unter Program.IPSLibrary.install.BaseLoader zu finden):
2.) Die Anpassungen im jeweiligen Konfigurations File muss manuell gemacht werden (es kann aber der Inhalt von den alten Konfigurations Files direkt übernommen werden).
3.) Installations Script nochmals ausführen:
$moduleManager = new IPSModuleManager('<<MyModuleName>>');
$moduleManager->InstallModule();
ACHTUNG:
Pfad für WebFront und Mobile Installation haben sich geändert. Diese liegt jetzt unter „Visualization.WebFront“ bzw. „Visualization.Mobile“. Pfad im Init File (/IPSLibrary/install/InitializationFiles/<<Module>>.ini anpassen oder Links manuell verschieben.
Im Falle des IPSLoggers hat sich die Struktur im WebFront von „WebFront.Logger“ auf „Visualization.WebFront.IPSLogger“ und bei Mobile von
„iPhone.System.Logging“ auf „Visualization.Mobile.System.Logging“ geändert.
Beim IPSLogger muss auch noch das Widget manuell korrigiert werden (die ID des Scriptes muss auf das neue Script Program.IPSLibrary.app.core.IPSLogger.IPSLogger_ClearSingleOut.ips.php korrigiert werden, alternativ kann das Widget auch gelöscht werden, es wird dann beim nächsten Installation Vorgang automatisch angelegt).
Im Zweifel einfach die bestehenden Struktur des jeweiligen Modules löschen, und die Installation erneut ausführen.