[GastForen Betriebsysteme und Dienste HELIOS ScriptServer: wie eingehende Files eindeutig umbenennen?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

ScriptServer: wie eingehende Files eindeutig umbenennen?

Yann Borg
Beiträge gesamt: 337

23. Nov 2016, 00:20
Beitrag # 1 von 4
Bewertung:
(5722 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

wir möchten Buchhaltungsrelevante Papierbelege in Dateibelege umwandeln und als PDF-Files die in bestimmte Ordner ablegen. Da sie ursprünglich willkürliche Namen tragen, möchten wir sie nach einem bestimmten Muster eindeutig benennen. Dies lässt sich sicherlich mit Helios und dem ScripServer realisieren, nur wie?

Ein paar Regelpunkte wären:

- alle eingehende PDFs bekommen einen neuen Namen (wäre super wenn der Ursprungsnamen in den Metadaten stecken würden, Helios kann das aber es ist kein muss)

- der Namen wird nach dem Muster „OCR-Beleg“ oder „Digital-Beleg“ und einem lesbaren Zeitstempel versehen: 2016-22-13:54:26_XX, wobei XX hochzählt. Beispiel: "OB_2016-22-13:54:26_01" oder für den seltenem Fall es wird zeitlgleich eine Datei erzeugt "OB_2016-22-13:54:26_02", oder "DB_2016-22-13:54:26_01"

- Optional: je nachdem welcher User die Datei ablegt, wird sie in einem bestimmten Ordner abgelegt. Dateien von User xy kommend werden im Ordner "OCR-Belege" verschoben und umbenannt und vom User zw werden sie im Ordner "Digital-Belege" verschoben und umbenannt.

- Anschliessend würden die Zugriffsrechte angepasst werden, damit die PDFs für alle nur lesbar sind.

Dachte mit, der Fall könnte für andere interessant sein? Wer möchte denn nicht sein Papierworkflow endlich digital abwickeln? ;-) Das wäre ein kleiner Schritt dahin um die Eingangsdokumente eindeutig indentifizierbar zu machen.

Viele Dank für jeden Tipp und Grüße

Yann Borg
Hier Klicken X

ScriptServer: wie eingehende Files eindeutig umbenennen?

Bernd Flachsbart
Beiträge gesamt: 48

23. Nov 2016, 09:37
Beitrag # 2 von 4
Beitrag ID: #554125
Bewertung:
(5672 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Yann,

Antwort auf [ Yann Borg ]
- der Namen wird nach dem Muster „OCR-Beleg“ oder „Digital-Beleg“ und einem lesbaren Zeitstempel versehen: 2016-22-13:54:26_XX, wobei XX hochzählt. Beispiel: "OB_2016-22-13:54:26_01" oder für den seltenem Fall es wird zeitlgleich eine Datei erzeugt "OB_2016-22-13:54:26_02", oder "DB_2016-22-13:54:26_01"

- Optional: je nachdem welcher User die Datei ablegt, wird sie in einem bestimmten Ordner abgelegt. Dateien von User xy kommend werden im Ordner "OCR-Belege" verschoben und umbenannt und vom User zw werden sie im Ordner "Digital-Belege" verschoben und umbenannt.


Dazu zwei Tips:

Eindeutige Dateinamen kann man am einfachsten erzeugen, indem man die Prozess-ID (PID) mit in den Dateinamen aufnimmt. Sowohl in Bash Shellscripten als auch in Perl kannst Du dafür die Variable $$ verwenden. Damit kann man wirksam verhindern, dass sich zufällig gleichzeitig und damit gleichnamige Dateien überschreiben.
Der Ansatz mit dem hochzählen _01, 02, etc. würde zwar prinzipiell auch halbwegs funktionieren, aber da müsstest Du erst ermitteln welches die höchste Nummer ist. Da der Scriptserver Prozesse parallel abarbeitet, kann es dabei zu einer Race Condition kommen. Der Weg mit der PID ist m.E. einfacher und sicherer.

Den User Kontext stellt Helios in der Environment Variable SCRIPT_EVENTUSER zur Verfügung. Auf diese kannst Du auch z.B. in einem Shell- oder Perl-Script zugreifen. Somit ist die Sortierung nach Userkontext auch relativ einfach möglich.

viele Grüße
Bernd Flachsbart


als Antwort auf: [#554121]

ScriptServer: wie eingehende Files eindeutig umbenennen?

GreatOm
Beiträge gesamt: 378

23. Nov 2016, 13:24
Beitrag # 3 von 4
Beitrag ID: #554133
Bewertung:
(5632 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin!

So etwas ist problemlos möglich. Man braucht nur jemanden, der ein passendes Skript schreibt.
Es gibt ja etliche Vorlagen im "Settings" Volume -> ScriptServer -> Samples sowie über den "HELIOS ScriptAssistant".

Gruß,

GreatOm
--
Five exclamation marks, the sure sign of an insane mind. -- (Terry Pratchett, Reaper Man)


als Antwort auf: [#554121]

ScriptServer: wie eingehende Files eindeutig umbenennen?

Thomas Kaiser
  
Beiträge gesamt: 1299

12. Dez 2016, 09:45
Beitrag # 4 von 4
Beitrag ID: #554421
Bewertung:
(5393 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Yann,

das Ganze ist problemlos möglich (auch numerisches Inkrementieren ohne Race Condition -- der Trick ist, an der Stelle die Auswahl des Dateinamens an's Ende der Skriptverarbeitung zu setzen und dann mit dem lockfile-Kommando zu arbeiten).

Metadaten können auch einfach wieder ins PDF geschrieben werden (ich würde exiftool dafür empfehlen).

Problem ist nur, dass das relativ flott für einen spezifischen Workflow geschrieben ist, aber extrem aufwändig wird, wenn man es universell für alle möglichen Workflow-Varianten konfigurierbar macht.

Abgesehen davon ist sowas eigentlich ein klassischer Switch-Anwendungsfall. Um Dateien durch Workflows zu schieben, müsste man eigentlich nicht mehr mit Skripting arbeiten...


als Antwort auf: [#554121]
Hier Klicken X

Aktuell

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
18.06.2019 - 19.06.2019

Effiziente Medienproduktion mit InDesign und Photoshop

Leipzig
Dienstag, 18. Juni 2019, 09.30 Uhr - Mittwoch, 19. Juni 2019, 17.30 Uhr

Schulung, Seminar

Wie arbeiten Sie mit Colormanagement in InDesign? Wie gelangen Sie rascher zu einer flexiblen Dateivorlage? Welche Prozesse im Umgang mit Texten, Bildern oder Tabellen lassen sich eleganter gestalten, welche automatisieren? Wir zeigen Ihnen, wie Sie mit Profiwerkzeugen für Typo und Layout deutlich schneller und effizienter arbeiten können – auch im Team und mit Kunden!

Ja

Organisator: Cleverprinting.de

https://www.cleverprinting.de/zweitaegige-weiterbildung-zum-next-generation-publisher/

Zweitägige Weiterbildung zum Next Generation Publisher
Veranstaltungen
19.06.2019

Leipzig
Mittwoch, 19. Juni 2019, 09.30 Uhr

Schulung, Seminar

Die Schulung richtet sich an erfahrene Designer/-innen und PrePress-Profis, die mit InDesign CS6 oder CC arbeiten. Wir zeigen Ihnen, wie Sie mit Profiwerkzeugen für Typo und Layout deutlich schneller und effizienter arbeiten können – auch im Team und mit Kunden! Wertvolle Tipps aus der Praxis runden die Schulung ab, damit Sie auf anspruchsvolle Aufgaben eine Antwort mit InDesign kennen.

Ja

Organisator: Cleverprinting.de

https://www.cleverprinting.de/schulungen/indesign-schulung-next-generation/

InDesign Schulung für Fortgeschrittene