Version 8.1.0
E-Mail-Benachrichtigungen konfigurierbar
Benutzer können sich jetzt im Konfigurationsdialog zum eigenen Benutzer-Profil (über den Button links unten zu öffnen) detailliert konfigurieren, für welche Benachrichtigungsarten (z. B. Termine, neue Postfacheinträge) E-Mails verschickt werden und wann bzw. in welcher Häufigkeit der Versand stattfindet.
Neu hinzugekommen sind dabei Benachrichtungen über neue Dateien im Eingang.
Tägliche Zusammenfassung
Die tägliche Zusammenfassung ist eine E-Mail, die über die aktuell offenen Aufgaben im Postfach informiert. Es wird nur dann eine E-Mail verschickt, wenn auch Einträge im Postfach vorhanden sind. Optional kann in dieser E-Mail auch über Dateien im Eingang informiert werden.
Die Voreinstellung ist, dass die Zusammenfassung täglich um 6 Uhr verschickt wird (außer an Wochenenden) und nur über die Aufgaben im Postfach informiert.
Einstellungen für E-Mail-Benachrichtigungen
Neben der täglichen Zusammenfassung kann für neue Postfach-Einträge (und jetzt auch für neue Dateien im Eingang) weiterhin eine zusätzliche E-Mail-Benachrichtigung verschickt werden. Dabei gibt es folgende Optionen:
- Deaktiviert
Es wird für die Kategorie keine E-Mail-Benachrichtigung verschickt. Die Einstellung hat keine Auswirkung auf die tägliche Zusammenfassung, d. h., auch wenn individuelle Postfach-Benachrichtungen deaktiviert sind, kann man eine tägliche Postfach-Übersicht erhalten.
- Einzeln
Es wird eine E-Mail verschickt, sobald das Ereignis für die Benachrichtigung ausgelöst wird.
- Gesammelt
Benachrichtigungen werden nicht mehr sofort verschickt, sondern es wird in einem konfigurierbaren Zeitintervall nur noch eine E-Mail verschickt, die alle neu hinzugekommen Benachrichtigungen in einem gemeinsamen Report enthält. Im Bereich „E-Mail-Benachrichtigungen: Versandoptionen“ kann die Länge des Intervalls in Minuten (mindestens 5) konfiguriert werden. Über Startzeit und Stoppzeit kann eingestellt werden, zwischen welchen Uhrzeiten der Versand der Reports stattfinden soll, um das beispielsweise auf die Arbeitszeit zu begrenzen. Wenn sowohl Startzeit als auch Stoppzeit auf 0 Uhr eingestellt sind, findet der Versand rund um die Uhr statt, da die Option „00:00“ bei der Stoppzeit Mitternacht des Folgetages bedeutet. Wenn es in einem Zeit-Intervall keine neuen Benachrichtigungen gibt, wird auch keine E-Mail verschickt.
In der Tabelle im Bereich „E-Mail-Benachrichtigungen: Archiv-Konfiguration“ können die Voreinstellungen für einzelne Archive für Postfach-Benachrichtigungen überschrieben werden, wenn beispielsweise gewünscht ist, dass man für ein bestimmtes Archiv keine Postfach-Benachrichtungen erhalten möchte. Dazu muss in der Tabelle eine neue Zeile hinzugefügt und das Archiv ausgewählt werden, für das man die Optionen überschreiben möchte.
Im Bereich „E-Mail-Benachrichtigungen: Versandoptionen“ gibt es darüber hinaus noch folgende Option:
- Benachrichtigungen für eigene Aktionen
Wenn diese Option eingeschaltet ist, erhält man auch Benachrichtigungen für Aktionen, die man selbst ausgeführt hat, beispielsweise, wenn ein Benutzer sich eine Datei ins eigene Postfach legt oder in den eigenen Eingang hochlädt. Diese Option ist standardmäßig deaktiviert.
Hinweis
Wenn in einer Gruppe eine E-Mail-Adresse konfiguriert ist, werden E-Mail-Benachrichtungen für neue Postfach-Einträge sowie jetzt auch Weiterleitungen an den Gruppeneingang nicht mehr an alle einzelnen Mitglieder der Gruppe gesendet, sondern nur noch an die in der Gruppe konfigurierte Adresse. Der Versand an die Gruppen-E-Mail findet grundsätzlich sofort statt.
Bessere Übersicht und automatische Abmeldung für Mehrbenutzer-Lizenzen
Die Übersicht über aktuell belegte Mehrbenutzer-Lizenzen wurde verbessert:
In der Administrations-Oberfläche wird im Bereich „Übersicht“ bei den verfügbaren Ressourcen nun auch die Anzahl der belegten Mehrbenutzer-Lizenzen angezeigt.
In der Tabelle der Benutzerkonfiguration wird in der neuen Spalte „Lizenz“ angezeigt, welcher Lizenz ein Benutzer zugewiesen ist. Einzelbenutzer-Lizenzen werden grün hervorgehoben und wenn ein Benutzer aktuell eine Mehrbenutzer-Lizenz belegt, wird dies blau hervorgehoben angezeigt.
Darüber hinaus wurden die Möglichkeiten verbessert, versehentlich blockierte Mehrbenutzer-Lizenzen durch eine Abmeldung wieder freizugeben:
Im Bereich „Übersicht“ in der Administrations-Oberfläche kann eine automatische Abmeldung bei Mehrbenutzer-Lizenzen in Minuten eingestellt werden, die sich bei Inaktivität des Benutzers auswirkt. Die Voreinstellung sind hier 10 Minuten, d. h., wenn ein Benutzer mindestens 10 Minuten lang keine Aktionen in der Oberfläche mehr ausführt (z. B. durch Mausbewegung oder Tastatureingaben), wird die Mehrbenutzer-Lizenz automatisch freigegeben. Es handelt sich hierbei um eine „weiche“ Abmeldung: Sobald der Benutzer wieder Aktivität zeigt und noch eine Mehrbenutzer-Lizenz frei ist, wird die automatisch wieder aktiviert. Eine richtige Abmeldung findet nur statt, wenn die Mehrbenutzer-Lizenz wärend der Inaktivität von einem anderen Benutzer belegt wird und anschließend alle Lizenzen vergeben sind.
In der Tabelle der Benutzerkonfiguration ist ein neuer Button „Abmelden“ hinzugekommen, mit dem ein Administrator einen Benutzer von allen Geräten zwangsweise abmelden kann.
Sichtbarkeit von Feldern im Datengitter
Die erweiterte Datenfeld-Einstellung „Unsichtbar“ wurde in zwei Optionen „Unsichtbar im Vorgangsdialog“ und „Unsichtbar im Datengitter“ aufgetrennt.
Somit es ist nun möglich, beispielsweise einzustellen, dass ein Datenfeld zwar im Vorgangsdialog verwendet wird, aber im Datengitter nicht sichtbar ist.
Neuer Rollenfilter für bereits gesehene Vorgänge
Es kann für Rollenfilter jetzt ein neuer Ausdruck accessed = true angegeben werden. Dieser
Filter gibt alle Vorgänge zurück, auf die ein Benutzer schon einmal Zugriff hatte. Das ist der Fall
in folgenden Situationen:
Man hat den Vorgang erstellt.
Man hatte den Vorgang selbst im Postfach, entweder direkt oder über einen Termin.
Man hätte den Vorgang im Postfach gehabt, es war aber gerade der Vertreter aktiv und der Vorgang Optionist direkt an diesen gegangen.
Man hat den Vorgang über eine Gruppe im Postfach gehabt.
Die Information, ob ein Benutzer schon einmal Zugriff auf einen Vorgang hatte, wird beim Upgrade anfänglich anhand der Historie befüllt und ist für Bestandsdaten daher nicht vollständig.
Ersetzen von Dokumenten
Dokumente können jetzt beim Ändern eines Vorgangs ersetzt werden. Beim Bearbeiten eines Vorgangs gibt es dafür im Dokumenten-Menü einen neuen Button „Ersetzen“, der das aktuell ausgewählte Dokument durch eine andere Datei ersetzt.
Wenn es geteilte Links auf ein Dokument gibt, bleiben diese Links anschließend bestehen und zeigen auf das neue Dokument.
Optimale Spaltenbreite
In Version 8.0 wurde ein neuer Menüpunkt „Optimale Spaltenbreite“ in Untertabellen eingeführt. Diese Option wurde für folgende Bereiche in der Oberfläche erweitert:
Viewer: Liste der Archiv-Vorgänge, Postfach, Eingang.
Admin: Spalten der Listen-Ansicht des geöffneten Bereichs.
Ein Klick auf diesen Menüpunkt verändert die Breite von allen Spalten im Datengitter so, dass sowohl die Spaltentitel als auch die Werte in allen Zellen vollständig dargestellt werden.
Historie
Öffnen von Vorgängen historisieren
In einer Archiv-Konfiguration gibt es nun eine neue Checkbox „Öffnen des Vorgangs protokollieren“. Damit wird bei jedem Öffnen eines Vorgangs ein Historieneintrag angelegt. Standardmäßig ist diese Option aus.
Neues Rollenrecht „Zugriffshistorie anzeigen“
In der Rollenkonfiguration wurde ein neuer Befehl „Zugriffshistorie anzeigen“ hinzugefügt, über den gesteuert werden kann, ob ein Benutzer in der Historie die Zugriffprotokollierung für Vorgänge und Dokumente sehen darf.
Bei bestehenden Rollen ist dieser Befehl für alle sichtbaren Status aktiviert, damit bei einem Upgrade das frühere Verhalten unverändert bleibt.
Workflows
Vorgang versenden: 4-Augen-Prinzip
In der Workflow-Aktion „Vorgang versenden“ wurde eine neue Option „Versender als Empfänger verbieten“ hinzugefügt. Wenn diese Option auf „Ja“ eingestellt wird, werden bei Ausführung des Workflow-Übergangs bei freier Empfängerauswahl folgende Empfänger nicht angeboten:
Der aktuelle Benutzer.
Alle Gruppen, in denen der aktuelle Benutzer Mitglied ist.
Auf diese Weise kann beispielsweise in einem Prüfungs-Workflow verhindert werden, dass ein Benutzer sich selbst als Prüfer auswählt.
Aufbewahrungsfrist setzen
Mit der neuen Workflow-Aktion „Aufbewahrungsfrist setzen“ kann die Aufbewahrungsfrist eines Vorgangs verlängert werden. Die Aktion verfügt über zwei Konfigurationsfelder: „Jahre“ und „Tage“, die nur Ganzzahlen akzeptieren. Es ist möglich, beide Felder oder nur eines von ihnen auszufüllen, um das Gesamt-Aufbewahrungsdatum entsprechend zu berechnen. Die neue Frist startet vom aktuellen Zeitpunkt der Ausführung plus die errechnete Zeit.
Zusätzlich gibt es eine Checkbox mit der Bezeichnung „Abbruch bei Fehler“, die das Verhalten definiert, wenn der Vorgang bereits eine Aufbewahrungsfrist hat und die Aktion versucht, eine kürzere Aufbewahrungsfrist festzulegen. Wenn die Checkbox aktiviert ist, wird der Statuswechsel in diesem Fall abgebrochen. Ist die Checkbox deaktiviert, bleibt die Aufbewahrungsfrist unverändert und der Statuswechsel wird dann ausgeführt.
Anpassung in Workflow-Aktion „Plausibilität prüfen“
In der Workflow-Aktion „Plausibilität prüfen“ kann nun eine zusätzliche Option „Beim Fehlschlag der Bedingung“ eingestellt werden. Entweder „Abbruch“, dann wird - wie gewohnt - der optionale Meldungstext angezeigt, oder „Bestätigung anfragen“, bei der ein Dialog mit dem Meldungstext erscheint. Zusätzlich wird nun gefragt: „Statuswechsel trotzdem durchführen?“
Soll der Statuswechsel trotz fehlgeschlagener Plausibilität stattfinden, geschieht dies mit der Bestätigung „Ja“. Bei „Nein“ schließt sich der Dialog und der Wechsel des Status wird nicht ausgeführt.
Der Meldungstext kann nun, ähnlich wie bei der Workflow-Aktion „E-Mail versenden“, durch geschweifte Klammern mit Platzhaltern vorbelegt werden. Datenfelder aus dem verknüpften Archiv werden als Kurzname mit einem vorangestellten Unterstrich eingefügt.
Im- und Export für Übersetzungen
Übersetzungen können in eine CSV-Datei exportiert werden sowie aus einer hochgeladenen CSV-Datei auch wieder importiert werden. Beim Import kann gewählt werden, ob die zu importierenden Einträge nur hinzugefügt werden oder auch vorhandene Übersetzungen gelöscht werden.
Anzeige von gelöschten Key-Value-Verknüpfungen
Wenn in einem Datenfeld als Vorschlagsquelle ein Key-Value-Feld, z. B. vom Typ „Benutzer“, konfiguriert war und der Benutzer anschließend gelöscht wurde, konnt der verknüpfte Name des Benutzer anschließend nicht mehr angezeigt werden.
Beim Löschen von Benutzern, Gruppen und Mandanten wird der letzte Anzeigewert nun weiterhin vorgehalten, sodass auch nach der Löschung noch ein Wert in der Verknüfung angezeigt werden kann.
Benutzer-Attribute in Vorschlagsfiltern
In Vorschlagsfiltern können Vorschläge eines Archiv- oder Datentabellenfeldes nun basierend auf der
Variable user gefiltert werden, die als Attribute Informationen über den aktuell eingeloggten
Benutzer enthält.
Es stehen folgende Attribute zur Verfügung:
idDie interne Benutzer-ID (die bespielsweise vom Key-Value-Feld „Benutzer“ gespeichert wird).
usernameLogin-Name.
fullnameName.
emailDie E-Mail-Adresse.
languageDie Sprache, die der Benutzer in der Oberfläche eingestellt hat. Mögliche Werte sind
deunden.groupsDie Liste der Gruppen-IDs, in denen der Benutzer Mitglied ist.
groups_namesDie Liste der Gruppen-Namen, in denen der Benutzer Mitglied ist.
rolesDie Liste der Rollen-IDs, in denen der Benutzer Mitglied ist.
roles_namesDie Liste der Rollen-Namen, in denen der Benutzer Mitglied ist.
Beispiel:
table.language = user.language
Basierend auf dieser Einstellung wird die Vorschlagsliste des Datenfeldes beim Bearbeiten des Vorgangs entsprechend der aktuellen Sprache des Benutzers gefiltert.
Neue STAR-Features
Mehr Funktionalität für Tabellen
Die Funktion lookup() kann jetzt auch Untertabellenfelder zurückgeben.
Die Funktion lookup_table() nimmt ein Archiv oder eine Datentabelle als Argument, wie
lookup(), aber keinen Feldnamen und gibt das Archiv oder die Datentabelle als Tabelle zurück.
Weiter gibt es eine Funktion is_table(object), die prüft ob ein Objekt eine Tabelle ist.
Tabellenobjekte haben weitere Methoden erhalten:
_table.clear()Leert die Tabelle.
_table.delete_row(idx)Entfernt die Zeile an der Stelle
idx._table.extend(other, strict=false)Fügt der Tabelle die Zeilen von
otherhinzu und überträgt alle vorhandenen Werte der Zeilen, die dem Schema der Tabelle entsprechen. Der optionale Parameterstrictkann auftruegesetzt werden. Dann kommt es, falls das Schema der beiden Tabellen nicht gleich ist, zu einem Fehler.
Listen in Funktion lookup
Die STAR-Funktion lookup wurde um einen Parameter list erweitert, der die Werte true
oder false akzeptiert (Vorgabe ist false).
Bei list=true wird von der Funktion nicht mehr der erste gefundene Wert zurückgegeben,
sondern eine Liste von allen eindeutigen Werten der Spalte. Leere Werte werden somit nicht
zurückgegeben und doppelt vorkommende Werte nur einmal im Ergebnis vorhanden sein. Die
Reihenfolge der Wert in der Ergebnisliste ist unbestimmt.
Der Parameter fallback hat bei list=true keine Auswirkung mehr.
Benutzer-Lookup (inkl. Vertreter)
Es wurde eine Funktion für das Laden von Benutzern hinzugefügt:
lookup_user(user_username="admin")Die Funktion versucht, einen Benutzer basierend auf den angegebenen Filteroptionen zu finden. Mögliche Optionen sind:
user_usernameuser_fullnameuser_emailuser_id
Falls kein Benutzer gefunden wird, wird
nullzurückgegeben.
Weiter wurde eine Hilfsfunktion zum sicheren Zugriff auf Attribute (auch bei null-Werten)
hinzugefügt.
getattr(object, "attribute_name", default="default_string")Es wird versucht, auf das Attribut des Objekts mit dem angegebenen Namen zuzugreifen. Hat das Objekt kein Attribut mit diesem Namen, beispielsweise wenn es
nullist, wird entweder ein Fehler ausgelöst oder, wenndefaultgesetzt ist, dessen Wert zurückgegeben.
Beispiel:
active = getattr(lookup_user(user_id=_freigeber), "substitute_active", false)
Hier wird nach einem User gesucht und dann anschließend versucht das Attribut substitute_active
auszulesen. Sollte lookup_user einen null-Wert zurückgeben, wird hier dann der Standardwert
false zurückgegeben.
„in“-Operator
Es ist nun möglich, mittels des in-Operators zu prüfen, ob ein Wert in einem anderen enthalten
ist.
Beispiel für die Überprüfung, ob ein String in einem anderen enthalten ist:
'ab' in 'abc'`` -> `true`
'ac' in 'abc'`` -> `false`
Oder eine Überprüfung, ob ein Wert in einer Liste enthalten ist:
"Vorgesetzte" in current_user.groups_names
Neue Funktion len
Es ist nun möglich, die Länge von Listen und Strings zu bestimmen.
Beispiele:
test = "test"
test_string_length = len(test) # 4
len(current_user().groups) # In wievielen Gruppen ist der Nutzer Mitglied
Neue Attribute für current_user
Die globale Variable current_user wurde um ein neue Attribute erweitert:
languageDie Sprache, die der Benutzer in der Oberfläche eingestellt hat. Mögliche Werte sind
deunden.groupsDie Liste der Gruppen-IDs, in denen der Benutzer Mitglied ist.
groups_namesDie Liste der Gruppen-Namen, in denen der Benutzer Mitglied ist.
rolesDie Liste der Rollen-IDs, in denen der Benutzer Mitglied ist.
roles_namesDie Liste der Rollen-Namen, in denen der Benutzer Mitglied ist.
substitute_idDie Benutzer-ID des Vertreters bzw.
null, falls kein Vertreter eingestellt ist.substitute_activeIst
true, falls ein Vertreter aktiv ist, andernfallsfalse.
Die vollständige Liste der Attribute ist in der STAR-Dokumentation zu finden.
Die Elemente der Listen lassen sich über Schleifen abrufen:
for role_id in current_user.roles do
print(role_id)
end
for group_name in current_user.groups_names do
if group_name == "Einkauf" do
print(role_name)
end
end
Zugriff auf Wert eines Key-Value-Feldes
Für Felder eines Vorgangs, die ein Key-Value-Feld sind, kann jetzt auch der Anzeige-Text abgefragt werden.
Beispiel:
if _user.text == current_user.fullname then
_user_refer = "You"
else
_user_refer = _user.text
end
Neue Hotfolder-Features
Konfiguration: URL und Token pro Sektion
Bemerkung
Die Zugangsdaten für den Hotfolder wurden aus der [Hotfolder]-Sektion der settings.ini
in eine [DEFAULT]-Sektion der hotfolder.ini migriert. Die Zugangsdaten, die in der
settings.ini hinterlegt sind, werden weiterhin beachtet, falls die hotfolder.ini keine
konfigurierten Zugangsdaten enthält.
Das Anlegen von unterschiedlichen Zugangsdaten pro Sektion wird nun unterstützt. Standardmäßig wird
der Zugang aus [DEFAULT] verwendet, sofern keine sektionsspezifischen Daten hinterlegt sind.
Beispiel für unterschiedliche Konfigurationen:
[DEFAULT]
URL = http://documents.example.com:5050/
Token = bs9fMWw7c4ctgMgyRSB7y8U8qlksGOto
[DOCX]
; keine Zugangsdaten
Directory = ...
...
[CSV]
; Verwendung einer anderen URL
URL = http://documents.example.com:8551/
...
[PDF]
; Verwendung eines anderen Hotfolders
Token = 8Z6USm5wWfUu27UlQHQC351wwrqHfzJZ
...
[XML]
; Eigene URL und Token
URL = http://documents.example.com:8551/
Token = 8Z6USm5wWfUu27UlQHQC351wwrqHfzJZ
...
Selektive Ausführung von Sektionen
Die pa_hotfolder.exe unterstützt nun ein neues Kommando --section bzw. -s, mit dem
spezifische Sektionen der hotfolder.ini angegeben werden können. Nur diese angegebenen
Abschnitte werden berücksichtigt, während die nicht angegebenen ausgelassen werden. Die Sektionen
können ohne Beachtung der Groß- oder Kleinschreibung angegeben werden.
pa_hotfolder.exe --section pdf csv
Leere Verzeichnisse und Unterverzeichnisse
Mit der neuen Hotfolder-Option DeleteEmptyDirectories werden nach Abschluss der
Hotfolder-Verarbeitung rekursiv alle leeren Unterverzeichnisse entfernt, mit Ausnahme der Ordner
_Completed, _Failed und _Processing. Standardmäßig ist diese Option auf false
gesetzt.
DeleteEmptyDirectories = true
Methode write_viewable()
Analog zur Methode write_attachment der Export- und Import-Services steht nun im HTTP-Client und
den beiden Services die Methode write_viewable zur Verfügung.
class ImportService(importservice.Base):
def process(self, file, result):
# Datei-Typ z.B. TIFF, DOCX
result.add_file(file)
def post_process(self, record):
record = self.client.jget("records/" + record["id"])
# Vorschau-Datei herunterladen in ein lokales Verzeichnis
self.write_viewable(record["attachments"][0], r"D:\Documents"))
In diesem Beispiel wird die verarbeitete PDF automatisch zum Vorgang hinzugefügt und anschließend
wieder in ein lokales Verzeichnis heruntergeladen. Im Unterschied zu write_attachment wird hier
die Vorschau-PDF-Datei heruntergeladen. Sollte keine Vorschau existieren, dann ist der Rückgabewert
der Methode None und es wird kein Download gestartet.
Unterordner berücksichtigen
In der Hotfolder-Konfiguration wird nun eine neue Optionen Subdirectories angeboten. Sobald der
Wert auf true gesetzt wird, aktiviert sich das Iterieren durch Unterordner. Analog zu
Filemask und FilemaskExclusion können anhand mehrerer Regeln und Ausnahmen, Dateien während
des Durchlaufs ausgeschlossen werden. Eine |-getrennte Liste SubdirectoriesExclusion
ermöglicht diese Ausnahmen. In der hotfolder.ini können die Konfigurationen wie folgt aussehen:
Subdirectories = true
SubdirectoriesExclusion = Test/** | C:\Users\User\Import\ExclusionFolder | a/b/c
Verzeichnisse, die von der Hotfolder-Verarbeitung ausgeschlossen werden sollen, können entweder als absolute oder relative Pfade angegeben werden oder anhand einiger Platzhalterzeichen zu einem Wildcard-Ausdruck kombiniert werden. Relative Pfade werden relativ zum Hotfolder-Verzeichnis ausgewertet, Pfade oder Muster ausserhalb des Hotfolder-Verzeichnisses werden aussortiert.
Beispiel Verzeichnis-Struktur mit Dateien:
A/
├── file1.tiff
├── file2.txt
├── test.tiff
├── AB/
│ └── file3.txt
└── AC/
└── test123.txt
Definition mit Beispielen basierend auf den Verzeichnissen:
- Platzhalter
* Entspricht einer beliebigen Anzahl von Zeichen (einschließlich keiner Zeichen).
Beispiele:
*Bschließt die Ordner „B“ und „AB“ oder prinizpiell alle Ordner, die auf „B“ enden, aus.AC/*schließt direkte Unterverzeichnisse von Ordner „AC“ aus.*/ACschließt das Unterverzeichnis „AC“ aus, das unmittelbar unter dem Hotfolder-Verzeichnis liegt.
- Platzhalter
** Ein rekursiver Platzhalter. Deckt eine unbegrenzte Anzahl an Elementen/Verzeichnissen ab.
Beispiel:
**/Bschließt jeden Ordner aus, dessen Name „B“ ist, unabhängig von seiner Tiefe im Verzeichnisbaum.
- Platzhalter
? Entspricht genau einem (beliebigen) Zeichen.
Beispiele:
?Bschließt Ordner aus, dessen Name mit einem beliebigen Zeichen beginnt, gefolgt von „B“. In diesem Fall trifft es aus das Verzeichnis „AB“ zu.
Verarbeitete Dateien aus Unterverzeichnissen werden eins-zu-eins im _Completed-Ordner hinterlegt.
Beispiel:
Vor der Verarbeitung unter
./Import/OrdnerA/OrdnerAB/file3.txtNach der Verarbeitung unter
./Import/_Completed/test_20240101/OrdnerA/OrdnerAB/file3.txt
Im Import-Service können über die Liste self.subdirectory_exclusions weitere Ausnahmen
hinzugefügt werden. Die pre_process-Methode eignet sich dafür, da die Verarbeitung hier noch
nicht stattgefunden hat.
class ImportService(importservice.Base):
def pre_process(self):
# Unterordner als Ausnahmen, die in der Hotfolder-Verarbeitung übersprungen werden.
self.subdirectory_exclusions.append("foo/*")
absolute_path = os.path.join(self.hotfolder.directory, "a/b/a")
self.subdirectory_exclusions.append(absolute_path)
on_smartindexing-Event in run_smartindexing
Sollte im Design-Formular eines Archivs ein on_smartindexing-Event konfiguriert sein, wird bei
der Ausführung eines Hotfolders mit der Option Smartindexing = true dieses aufgerufen und bei
der Vorgangs-Erstellung mitverarbeitet. Mit der Methode self.run_smartindexing aus dem
Import-Service wird nun der Inhalt mit den aktualisierten Werten aus dem on_smartindexing-Event
bereitgestellt.
Neue Variable $importservice bei on_save
Im on_save-Event steht nun eine zusätzliche Variable bereit:
$importserviceIst
true, wenn dason_save-Event für einen gerade neu angelegten oder einen bestehenden Vorgang aus dem Import-Service heraus ausgelöst wird, ansonstenfalse. Solange der Vorgang innerhalb derprocess-Methode erstellt oder aktualisiert wurde, gilt$importservice = true.
if $importservice and $new then
_imported = "Neuer Vorgang über den Import-Service"
elseif $importservice and $update then
_imported = "Aktualisierter Vorgang über den Import-Service"
end
Verschiedenes
In der Workflow-Aktionsroutine „STAR-Code“ wird jetzt der gleiche Code-Editor mit Syntax-Highlighting wie im Formular-Editor verwendet.
Im Vorgangsformular können die Sonnen-Icons von SmartIndexing durch einen neuen Button in der Toolbar (ebenfalls mit einer Sonne als Icon) aus- und wieder eingeblendet werden.
In der Dialogsuche werden in den Textfeldern nun existierende Werte vorgeschlagen.
Für die Standardspalten „Aufbewahrungsfrist“, „Löschdatum“ und „Mandant“ ist jetzt auch Multiedit möglich.
Untertabellen in Vorgängen verwenden den gesamten horizontal verfügbaren Platz, wenn kein Formular aktiv ist.
Die Empfänger-Einstellung „Aus Feldinhalt“ in der Workflow-Aktionsroutine „E-Mail versenden“ ist jetzt auch kompatibel mit dem Key-Value-Feld „Benutzer“.
Die Workflow-Aktionsroutine „Vorgang aus Postfach entfernen“ entfern keine Postfacheinträge für Termine mehr.
Sind in einer Untertabelle Pflichtfelder definiert (als „Pflichtfelder bei Statuswechsel“), so werden diese nun auch farblich hervorgehoben.
Geänderte Aufbewahrungsfristen oder Löschdaten eines Vorgang werden nun historisiert.
Analog zur Maximalhöhe kann im Formular-Designer eine Minimalhöhe für Untertabellen definiert werden.
Die verfügbaren Ressourcen in der Übersicht werden für eine kompaktere Darstellung nun als Tabelle angezeigt.
Als Benutzer mit einer einzigen Administrator-Rolle konnte man sich in der Rollenkonfiguration aus dieser entfernen und sich somit aus der Administrations-Oberfläche ausschließen. Das wird nun mit einer Fehlermeldung verhindert.
Hinweise
In On-Premises-Umgebungen wird der Elasticsearch-Dienst entfernt, da Elasticsearch nicht mehr als Abhängigkeit benötigt wird.