ich hab inzwischen meine ersten Projekte nach dem Erscheinen des Project Exporters erstellt und hab somit ein paar praktische Erfahrungen sammeln können. Und zwar als Projekt-Autor und als Anwender in Personal-Union :D. Auch habe ich als reiner Anwender beim Testen von Ferengi-Master’s Projekten fungiert (als quasi im Blindflug). Das Exportieren und anschließende Importieren im Zielsystem geht in jeweils einer Minute, egal wie komplex das Projekt ist.
Dei ersten Erfahrungen zeigen, dass das Arbeiten mit dem Exporter wirklich erstaunlich easy ist. Für den Projektautor hat es einen riesen Vorteil, wenn man sich in der Projektentwicklung nur noch auf die eigentlichen Projekt-Funtionen konzentrieren muss: für die Infrastruktur (Objekte, Variablen, Instanzen, Webfront-elemente) und deren Verlinkung sorgt ja der Project Exporter.
Ich hab zwar im Hinterkopf immer wieder leichte Bedenken (nach dem Motto: na, funktioniert das auch wirklich, was Du da zusammen gehäkelt hast? ) - bisher lief aber aus Exporter-Sicht alles fehlerfrei. Und es waren schon ziemlich komplexe Projektstrukturen und Scripte dabei. Und ich (ich denke, das gilt gleichermaßen für die Forenkollegen, die bisher damit gearbeitet haben) bin hier ziemlich kritisch.
Auch das Übertragen von Projekten ist extrem schlank und schnell zu realisieren. Dabei schälen sich mittlerweile einige Standard-Prozeduren heraus, die das Leben noch mehr erleichtern.
Damit nicht jeder diese Erfahrungen erst selbst erarbeiten muss, bin ich dabei, diese als Tipps und Tricks in die Projekthomepage einzubringen. Und zwar getrennt nach Projekt-Autor und Anwender.
hier der aktuelle Stand (Updates dann auf der projekt-Homepage):
Tipps & Tricks für Projekt-Autoren
[ul]
[li]keine Verwendung von Sonderzeichen in IPS-Objektnamen (sowohl im Quell- als auch im Zielsystem) -> dies kann zu unerwünschen Effekten/Fehlern im Export-Script führen (besonders tödlich: ‘ [Hochkomma])[/li][li]bei Option “$existsScriptsoverwrite = 1; ” vor Scriptausführung genau überlegen, was man tut! Hier werden nämlich bestehende und mit eigenen Namen versehene Scripts (Beispiel: “PHPSonos.inc.php“) auf File-Ebene gelöscht und neu angelegt. Gewöhnlich sind das Scripte, die Funktionen für das gesamte System zur Verfügung stellen – nicht nur für das aktuelle, zu importierende Projekt (falls dennoch ein Malheur passiert ist: das gelöschte Script ist nicht ganz weg sondern “nur” aus dem Objektbaum entfernt und in den File-Ordner “/IP-Symcon/scripts/deleted” verschoben[/li][li]Module für Aktoren (z.B. Homematic- oder Enocean-Instanzen) werden zwar kopiert, können aber vom Install-Script nicht verlinkt werden (da diese Module ihre eigenen Status-Variablen anlegen. Hier sollte innerhalb des Projektes eine eigene Zuordnungs-Logik eingebaut werden, falls auf diese variablen zugegriffen werden muss.[/li][li]im Script-Meldefenster (Export-Script) werden alle Aktivitäten angezeigt, d.h. dort wird auch angezeigt, welche Objekte nicht vollständig konfiguriert werden konnten[/li][li]Link-Objekte für WFE-Darstellung: empfohlen wird die Anlage eines separaten Link-Ordners (Kategorie) innerhalb des Projektordners. Hier können beliebige Linkstrukturen aufgebaut werden, die im Zielsystem ebenfalls automatisch korrekt angelegt und konfiguriert werden.[/li][li]für anwenderspezifische Konfigurationen sollte im Projekt immer eine Kategoorie “Config” vorgesehen werden. Alle Objekte innerhalb dieser Kategorie werden vom Install-Script im Update-Modus niemals überschrieben.[/li][li]Dem Anwender sollten die unmittelbar folgenden Tipps und Tricks für Anwender mitgegeben werden (so dass dieser z.B. die Updatefähigkeit seines Projektes sicherstellt), da dieser u.U. den Projekt-Exporter und dessen Arbeitsweise nicht kennt[/li][/ul]
Tipps und Tricks für Anwender
[ul]
[li]will man sein installiertes Projekt updatefähig halten, muss zwingend das letzte Installationsprotokoll (welches nach der Instalation unter deem Install-Script zu finden ist, Name endet auf “InstallProtokoll”) vorhanden sein. Ich löse das bei mir so, dass ich das Installscript und das dazugehörige Protokoll in den Ordner “Config” im installierten Projekt verschiebe (wenn der Ordner “Config” nicht vorhanbden ist, kann man diesen nachträglich anlegen, er wird vom Install-Script niemals überschrieben). So finde ich das zu Projekt gehörende Script und Install-Protokoll immer wieder.[/li][/ul]