===== p2fRoot-Verzeichnis aktualisieren ===== ==== Anforderung ==== Im Zusammenhang mit einer neuen Version von (p2f) stellt sich in den Fällen, in denen eine bereits laufende Installation ein Update erfahren soll, die Aufgabe, die Datenbasis von (p2f), das Verzeichnis //p2fRoot// auf einen neuen Stand zu bringen. Das bedeutet, dass einige oder alle der Dateien mit dem Namen //$$rule.xml// in den einzelnen Objekt-Verzeichnissen ausgetauscht werden müssen, weil neue **Objekteigenschaften hinzugekommen**, oder bereits existierende Objekteigenschaften **verschoben** oder gar **entfernt** worden sind. Von Zeit zu Zeit kann es sogar vorkommen, dass neue Objektverzeichnisse angelegt werden müssen. Dem entsprechend müssen dann in einem zweiten Schritt die XML-Dateien der einzelnen bereits existierenden Objekte auf einen neuen Stand gebracht werden, indem die neu hinzugekommenen Eigen(-)schaften eingebaut und die entfernten Eigen(-)schaften weggenommen werden. \\ \\ Den ersten Schritt, den Austausch der //$$rule.xml//-Dateien, nimmt der jeweilige (p2f)-Installer vor, wenn er im Rahmen eines Updates einer existenten Installation das bisher gültige //p2fRoot//-Verzeichnis vorfindet. ((Das kann unter Umständen schief gehen, wenn das Verzeichnis an sehr ungewöhnlichen Orten liegt, oder wenn Zugriffsrechte eingeschränkt sind.\\ \\ )) Der Update der einzelnen Objekte wird nicht vom Installer durchgeführt. Das wäre zwar denkbar, aber es ist besser, der Administrator von (p2f) ist sich der vorgenommenen Änderungen bewusst, und kann deren Folgen abschätzen. Deshalb wird das Update der Objekte halbautomatisch im Administrationsprogramm von (p2f) unter Kontrolle des Administrators durchgeführt. \\ \\ ==== Realisierung ==== Bei** produktiven Installation** wird aber selten ein Update genau dieser Installation durchgeführt, weil das in der Regel eine Betriebsunterbrechung bedeutet, deren Länge nur schwer abzuschätzen ist. Man wird also lieber erst einmal eine **Parallelinstallation** vornehmen und diese ausgiebig testen wollen. Nach erfolgreichem Test kann dann zu einem selbstgewählten Zeitpunkt ohne Betriebsunterbrechung auf die Neuinstallation umgeschaltet werden. ((Genau aus diesem Grund gewähren wir Kunden mit einer laufenden Subskriptionsvereinbarung für eine begrenzte Dauer das Recht einer Doppellizenzierung.\\ \\ )) Wenn im Rahmen der Neuinstallation von (p2f) der Installer läuft, wird er natürlich ein vollkommen neues, leeres //p2fRoot//-Verzeichnis erzeugen. Um das bisher genutzte //p2fRoot//-Verzeichnis auf den neuen Stand zu bringen, kopieren Sie es einfach über das gerade eben neu angelegte //p2fRoot//-Verzeichnis und starten den (p2f)-Installer ein zweites mal. Der Installer wird erkennen, dass die Programmkomponenten von (p2f) den aktuellen Stand haben und nichts weiter unternehmen. Er wird aber anhand einer im //p2fRoot//-Verzeichnis hinterlegten Versionsnummer erkennen, dass Sie das //p2fRoot//-Verzeichnis ausgetauscht haben, und jetzt die //$$rule.xml//-Dateien austauschen. Das können Sie im Installationsprotokoll des Installers - Datei //install.log// im (p2f)-Programmverzeichnis - kontrollieren. \\ \\ SPE Systemhaus GmbH print2forms Installer Version 3.5.0.289 Start: 12.02.2019 15:52:06 ... Update der Basisdaten 'C:\Users\Public\Documents\SPE Systemhaus GmbH\print2forms\p2fRoot' (280->289) ... Zielverzeichnis: C:\Users\Public\Documents\SPE Systemhaus GmbH\print2forms\p2fRoot Dekomprimiere: $$bg1.bmp... 100% Dekomprimiere: $$icons.bmp... 100% Dekomprimiere: $$text.xml... 100% Dekomprimiere: iso-lat1.ent... 100% Dekomprimiere: iso-lat2.ent... 100% Dekomprimiere: p2f-backup.dtd... 100% ... Zielverzeichnis: C:\Users\Public\Documents\SPE Systemhaus GmbH\print2forms\p2fRoot\ADP Dekomprimiere: $$icons.bmp... 100% Dekomprimiere: $$rule.xml... 100% Zielverzeichnis: C:\Users\Public\Documents\SPE Systemhaus GmbH\print2forms\p2fRoot\ATM Dekomprimiere: $$icons.bmp... 100% Dekomprimiere: $$rule.xml... 100% ... Zielverzeichnis: C:\Users\Public\Documents\SPE Systemhaus GmbH\print2forms\p2fRoot Dekomprimiere: C:\Users\Public\Documents\SPE Systemhaus GmbH\print2forms\p2fRoot\GWY\$$rule.xml... 100% Dekomprimiere: C:\Users\Public\Documents\SPE Systemhaus GmbH\print2forms\p2fRoot\OVL\$$rule.xml... 100% Dekomprimiere: C:\Users\Public\Documents\SPE Systemhaus GmbH\print2forms\p2fRoot\PRC\$$rule.xml... 100% Dekomprimiere: C:\Users\Public\Documents\SPE Systemhaus GmbH\print2forms\p2fRoot\PRT\$$rule.xml... 100% Die Applikation zur Erzeugung von Testdaten ist aktuell Das Kontrollfeld des Servers ist aktuell Der Server ist aktuell Das Administrationsprogramm des Servers ist aktuell Das Kontrollfeld des Drucker-/Gateway-Dienstes ist aktuell Der Drucker-/Gateway-Dienst ist aktuell Der Druckertreiber für Windows ist aktuell Der Druckertreiber für IBM OS/400, i5/OS ist aktuell ... \\ Für Schritt zwei wird das Administrationsprogramm zu (p2f) benötigt. Öffnen Sie es und laden Sie die aktualisierte Datenbasis von (p2f) - in diesem Beispiel ein Update vom Installer Build 280 auf Installer Build 289, wie oben in der Log-Datei zu sehen. Da bei diesem Update nur bei den Prozessen eine Änderung notwendig war, werden die Objekte im Prozess-Container geladen. Alle Objekte erscheinen mit einem grünen Ausrufezeichen vor dem Namen, als Kennung dafür, dass das Objekt nicht den aktuell geltenden Regeln (Datei //$$rule.xml//) entsprach und beim Laden vom Administrationsprogramm auf neuesten Stand gebracht wurde. Repräsentativ klappen Sie einen Druckprozess (hier die //Kommisionierliste//) auf. Sofort ist zu sehen, dass auf der obersten Ebene des Objekts eine neues Attribut //Ersatzschrift// hinzugekommen ist. Da vor der //Seitenfolge// kein Ausrufezeichen steht, ist dies auch die einzige Änderung. Als nächstes klappen Sie eine Dokumentenprozess auf (hier den //ExLiefer - Lieferscheine ermitteln//), Am Ausrufezeichen vor der //Bearbeitungsliste// ist zu erkennen, dass die Änderung dort zu suchen ist. Klappen Sie die //Bearbeitungsliste// auf. Jetzt ist das Ausrufezeichen vor //Dokument Drucken 1//. Öffnen Sie auch diesen Unterabschnitt und es erscheinen zwei Ausrufezeichen vor den neuen Attributen //Prozess Zugriffpfad// und //Prozesschablone//, die jetzt den //Fixen Prozess// alternativ ergänzen. Alle Änderungen sind mit den Standardwerten besetzt und in dem hier vorliegenden Fall ohne Einfluss auf den Ablauf. Es können jetzt also problemlos aus dem Kontextmenü durch //Geänderte Objekte speichern// und anschliessendem //Entwürfe in Produktion übernehmen// alle Objekte mit ihrem neuen Stand übernommen werden. Damit ist das Update abgeschlossen. \\ \\ {{print2forms:tips:0075-1.gif}} \\ \\ ==== Bemerkungen ==== * Bei einem Update von Objekten gibt es auch Fälle, in denen sich der Wert eines neuen Attributes aus dem Wert eines anderen - eventuell sogar entfernten - Attributes ergibt. Das ist beispielsweise so, wenn aus einer Zahl im neuen Attribut eine Zeichenkette wurde. Da ist natürlich auf korrekte Übernahme der Daten zu achten. * Im Installer Build 289 wurden im Drucker-/Gateway-Dienst die Unterstützung für die Liste mit //Unter(-)drückungen// endgültig entfernt. Demzufolge wird im Formular-Objekt die zugehörige Liste auch automatisch weggenommen, wenn denn ein so altes Formular-Objekt noch existieren sollte. Um diesen Fall sichtbar zu machen, erscheint vor den betroffenen Attributen statt des Ausrufezeichens ein kleines rotes Kreuz. So etwas bedeutet natürlich, dass die damit gewünschte Aktion mit irgendeinem neuen Attribut nachgebaut werden muss. Konkret heist das hier, dass ein Linienfeld mit entsprechender Position und Größe in der Farbe weiss angelegt werden muss. So etwas geschieht **nicht automatisch**, sondern muss **manuell nachvollzogen** werden. * Im Installer Build 289 wird die Möglichkeit, in einem Textfeld den Schrifttyp der PCL-Schrift als numerische Angabe zu definieren, nicht länger unterstützt. Dies hat seinen Grund in der Verfügbarkeit der [[print2forms:schriften:schriften|Schriftenbiblithek]] und dem neuen Prozessattribut //Ersatzschrift//. Damit entfällt der Hauptgrund für den Einsatz einer numerischen Definition. Zudem wird damit eine sehr vom jeweiligen Druckermodell abhängige Einstellung innerhalb der Formularobjekte beseitigt. Bestehende (p2f)-Installation, die die numerische Definition von Schrifttypen nutzen, müssen manuell auf die Nutzung der //Ersatzschrift// umgestellt werden. Gegebenenfalls muss eine [[print2forms:schriften:firmenschrift|Firmenschrift]] genutzt werden. * Es sollte darauf geachtet werden, dass bei einem Update nicht mehrere Installer **Builds übersprungen** werden. In extremen Einzelfällen kann das dazu führen, dass das Administrationsprogramm keine regelkonformen Objekte erstellen kann. In diesen Fällen müssen Sie uns das //p2fRoot//-Verzeichnis zusenden, damit wir es manuell auf den aktuellen Stand bringen. * Es ist auch keine gute Idee, die Editionen von (p2f) zu mischem, indem man beispielsweise eine Free-Edition zum Update einer Professional-Edition benutzt. Sollte ein Wechsel zwischen den Editionen notwendig werden, sprechen Sie uns bitte direkt an. \\ \\