Ich krieg einen Workflow mit externem Script nicht zum Laufen.
Kann jemand erkennen, was ich falsch mache?
Der Use Case:
mehrseitiges PDF File liegt im Ordner “News”
Das PDF File wird getagged mit Tag “info”
(ich habs auch schon mit Umbenennen statt taggen probiert)
Ein externes Script kopiert das PDF ohne die erste Seite in den Ordner “Infos”
Installierte Versionen:
NC 21.0.1
Workflow external scripts 1.6.0
pdftk (zum Schneiden)
Der Flow sieht so aus:
When Tag assigned
→ and File system tag
is tagged with “info”
→ Run script
/bin/openinfo %f
Das Script /bin/openinfo :
#!/bin/bash
exec 2>&1 /tmp/nc-flow-trace.log
set -x
/usr/bin/pdftk $1 cat 2-end output $1-new.pdf
mv /var/www/nextcloud/data/userabc/files/News/*-new.pdf /var/www/nextcloud/data/userxyz/files/Infos/
/usr/bin/rename s/.pdf-new.pdf/.pdf/ /var/www/nextcloud/data/userxyz/files/Infos/*.pdf
php /var/www/nextcloud/occ files:scan --all --path= “/var/www/nextcloud/data/userxyz/files/Infos” 2>/dev/null
Manuell im CLI funktioniert dieses Script, aber irgendwie wird es vom Flow nicht getriggert.
Das Logfile /tmp/nc-flow-trace.log bleibt leer und auch keine Fehlermeldung in den Logfiles im data Verzeichnis.
Nach einigen Tests mit logger hab ich gemerkt, dass das mit %n %f nicht funktioniert.
Deshalb hab ichs angepasst in der Originalfrage oben.
j-ed
May 4, 2021, 6:09pm
3
Wie ist das Dokument in den Ordner gelangt? Wurde es über den Nextcloud GUI dort abgelegt oder an Nextcloud vorbei dorthin kopiert?
Generell is es immer eine gute Idee die Suchfunktion des Forums zu nutzen um Antworten auf seine Fragen zu erhalten Gerade zur Verwendung der Workflow external script-App lässt sich über die Suchfunktion einiges finden, wie z.B.
Hi all,
I am using Nextcloud to store scanned PDF invoices. The paper invoice is scanned with a multifunctional printer as a PDF and stored in a Nextcloud directory that is shared for the printer via Samba. A cronjob executes an occ scan_files command every minute on the particular directory.
In order to make the PDF searchable I would like to setup a Workflow with an external script.
The flow is
When File created
And File name matches /..pdf$/i*
Run script
/usr/bin/ocrmypdf -l deu %n %n
…
I don’t think that it will be possible to add a watermark before a file is downloaded at the moment, but due to the fact that the files in question are already tagged you could most likely use the flow external script app to automatically add a watermark.
1 Like
Es lag einzig am Script. Die Variablen müssen natürlich in Anführungszeichen gesetzt sein, damit sie interpretiert werden. Ausserdem waren die Optionen beim Befehl files:scan nicht korrekt. Mit diesem Shellscript funktioniert es perfekt:
#!/bin/bash
exec 2>&1 >> /var/www/nextcloud/nc-flow-trace.log
set -x
/usr/bin/pdftk “$1” cat 2-end output “$1-new.pdf”
mv “$1-new.pdf” /var/www/nextcloud/data/userxyz/files/Infos/
/usr/bin/rename s/.pdf-new.pdf/.pdf/ /var/www/nextcloud/data/userxyz/files/Infos/*.pdf
php /var/www/nextcloud/occ files:scan --path=/var/www/nextcloud/data/userxyz/files/Infos
2 Likes