Aktualisieren von Dokumenten
Übersicht
Wenn Forms / Data -Werte in einem mit primedocs erzeugten Dokument aktualisiert werden sollen, kann dies mithilfe der DocumentLocation erfolgen.
Wichtig: Die ursprüngliche Datei wird selbst nicht verändert, sondern wird nur eingelesen und kann dann z.B. über Connect Commands ( Nach der Dokumentgenerierung (Commands)) wieder gespeichert werden.
“DocumentLocation”
Durch das DocumentLocation-Element in Kombination mit dem Source-Attribut muss das Dokument dabei nicht neu erstellt werden, sodass bereits vorhandene Anpassungen im generierten Dokument erhalten bleiben.
<primedocsConnect>
<DocumentLocation Source="\\MyServer\share\doc\...\documentxyz.docx" />
...
</primedocsConnect>
Es ist dabei zwingend erforderlich, dass das Dokument ursprünglich mit primedocs erstellt wurde. Ausserdem benötigt ein Benutzer, der die Aktualisierung durchführt, Zugriff auf die Vorlage, auf dessen Grundlage das Dokument generiert wurde.
Es ist nicht möglich einen Author oder die DocumentLanguage durch eine Aktualisierung zu verändern.
“Source”-Attribut
Beim Source-Attribut ist es möglich, sowohl eine lokale als auch eine Remote-Quelle zu verwenden. Wird eine Remote-Quelle genutzt, ist es zwingend erforderlich, diese zuvor im DatasourceAdmin unter ConnectionSettings freizugeben.
Connect - Remote Document Location Policies
In diesem Beispiel werden zwei Remote DocumentLocation-Policies verwendet, wodurch es Remote-Adressen nur möglich ist, Dokumente innerhalb der konfigurierten Locations zu bearbeiten.
<RemoteDocumentLocationPolicies>
<Policy uriStartsWith="https://example1.com">
<Headers>
<Header name="header1" value="value1"/>
</Headers>
</Policy>
<Policy uriStartsWith="https://example2.com">
<Headers>
<Header name="header2" value="value22"/>
</Headers>
</Policy>
....
</RemoteDocumentLocationPolicies>
Beispiel
Im nachfolgenden Beispiel werden Forms und Data Werte via primedocsConnect aktualisiert.
<primedocsConnect>
<DocumentLocation Source="\\MyServer\share\doc\...\documentxyz.docx" />
<Forms HideDialog="true">
<Value Key="FormsKey">New value after update</Value>
</Forms>
<Data>
<Value Key="MyTestValue">New value</Value>
<Object Key="MyTestObject">
<Value Key="Name">New Name</Value>
<Value Key="Address">New Addresse</Value>
</Object>
</Data>
<!-- Save updated Docoument -->
<Commands>
<OnSuccess>
<SaveFile FileName="\\MyServer\share\doc\...\documentxyz-New.docx"
Overwrite="true"
CreateFolder="true">
<Document />
</SaveFile>
</OnSuccess>
</Commands>
</primedocsConnect>
Zuviel übermittelte Forms oder Data werden ignoriert.
Aktualisierte Dokumente können über die verfügbaren Commands gespeichert werden. Erfolgt der connect-Aufruf ohne Angabe von Commands, wird das aktualisierte Dokument unmittelbar geöffnet.