[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Steuerung der Prozesse eines Hotfolders über eine Palette

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Steuerung der Prozesse eines Hotfolders über eine Palette

Martin Fischer
  
Beiträge gesamt: 12783

9. Nov 2017, 09:46
Beitrag # 1 von 5
Bewertung:
(5544 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Kollegen,

für die Steuerung von Prozessen eines Hotfolders verfolgte ich zunächst einen Ansatz über einen idleTask und einem angehängten Eventlistener wie ihn Uwe in seinem Diskussionsbeitrag zu Interaktives Panel dargestellt hat (Danke schön, Uwe, für das schöne Beispiel).

idleTask: eigenwillig
========================
Nun stellt sich in der Praxis unter InDesign CS6 und CC 2014 heraus, dass der idleTask etwas eigenwillig und mehr oder weniger unvorhersehbar agiert:
Beim ersten Ablegen von Daten im beobachteten Hotfolder werden diese sofort abgearbeitet.
Beim nächsten Ablegen kommt fast der Verdacht auf, die Beobachtung funktioniere nicht mehr. Und dann kommt überraschend doch wieder Schwung rein und die Daten werden wie erhofft und erwartet abgearbeitet.
Nach meinen Beobachtungen ist dieser Prozess zu beschleunigen, indem man InDesign den Fokus gibt.

Insgesamt wirkt dieser Ansatz aber nicht so zuverlässig.


Palette (nicht-modales Fenster)
========================
Diese Schwächen suche ich nun über die Verlagerung der Steuerung der Prozesse in eine Palette (nicht-modales Fenster) zu umgehen.
Die Palette ist bestückt mit den Buttons
Start = Starten des Beobachtungsprozesses mit Verarbeitungsroutinen
Stop = Stoppen des Beobachtungsprozesses
Exit = Stoppen des Beobachtungsprozesses, Schließen der Palette, Beendigung des Skripts
In einem StaticText-Feld wird der aktuelle Status angezeigt.

Nun habe ich aber das Problem, dass solange der durch Start in Gang gesetzte Beobachtungsprozess mit Verarbeitungsroutinen läuft, die Palette praktisch eingefroren ist und Zugriffe (wie auch die Auswertung von Klicks auf die Buttons) auf die Palette nicht mehr möglich sind. Ohne eine Notbremse läuft in der reservierten targetengine eine Endlosschleife.

Eine mögliche Notbremse: Ablegen einer Steuerungsdatei (z.B. stop.txt) in den Hotfolder, bei deren Erkennung der Beobachtungs- und Verarbeitungsprozess beendet wird.


Parallele targetengines?
========================
Eine weiterer Idee: ergänzend zur targetengine, in der die Beobachtungs- und Verarbeitungsprozesse laufen, eine davon unabhängige targetengine für das Dialogfenster (Palette) einzurichten.

Ist dies möglich?
Wenn ja, wie?
Eine einfache Angabe einer targetengine "dialog" am Anfang der Funktion für den Dialog funktioniert nicht.


Vielleicht gibt es noch einen ganz anderen Tipp?
X

Steuerung der Prozesse eines Hotfolders über eine Palette

Uwe Laubender
Beiträge gesamt: 5316

9. Nov 2017, 12:00
Beitrag # 2 von 5
Beitrag ID: #560589
Bewertung:
(5522 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: …Nach meinen Beobachtungen ist dieser Prozess zu beschleunigen, indem man InDesign den Fokus gibt.


Hallo Martin,

wo liegt denn der Fokus?

Hast Du InDesign zwar laufen, aber bist im Vordergrund mit einem anderen Programm unterwegs? Beispielsweise im Browser, um auf HDS einen Beitrag zu schreiben?

Wie groß ist der Wert von sleep in der idleTask?


als Antwort auf: [#560582]

Steuerung der Prozesse eines Hotfolders über eine Palette

Martin Fischer
  
Beiträge gesamt: 12783

9. Nov 2017, 12:33
Beitrag # 3 von 5
Beitrag ID: #560593
Bewertung:
(5516 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

Antwort auf: Hast Du InDesign zwar laufen, aber bist im Vordergrund mit einem anderen Programm unterwegs? Beispielsweise im Browser, um auf HDS einen Beitrag zu schreiben?


Nicht im Browser, sondern im Mail-Programm, um dem Kunden zu antworten, der sich über den Aussetzer nach dem ersten Datenpaket beschwert hat.
Dabei konnte ich eben auch beobachten, dass mit dem zweiten Paket an Daten lange nichts passiert und plötzlich ging's doch los. Die Beobachtung des Kunden konnte ich somit bestätigen.

Als ich zwischendurch mal nach InDesign wechselte (in den Vordergrund holte), wurden die gerade kurz davor reingelegten Daten sofort abgearbeitet und mit der nächsten Lieferung ging es nach dem Wechsel in InDesign genau so flott.

Hab auf dem MAC testweise mal den APP NAP von InDesign deaktiviert.
Konnte damit aber keine Änderung feststellen.

Antwort auf: Wie groß ist der Wert von sleep in der idleTask?

Hab den Wert auf 1000 Millisekunden eingestellt.


Inzwischen habe ich eine Behelfslösung eingerichtet.
Da InDesign während der Überwachung des Hotfolders nichts anders zu tun hat und gerne auch blockiert sein darf, genügt es, vom Skript zu Beginn eine run.txt in den Hotfolder zu legen. So lange die dort drin liegt, prüft InDesign fortlaufend ob andere Daten ankommen und reagiert darauf.
Sobald die run.txt rausgenommen, umbenannt oder gelöscht wird, stoppt die Überwachung - ohne IdleTask, EventListener oder sonst was.
InDesign ist eben während der Überwachung blockiert.
Das ließe sich vermutlich auch zu einer nicht-blockierenden Lösung ausbauen.


als Antwort auf: [#560589]

Steuerung der Prozesse eines Hotfolders über eine Palette

Martin Fischer
  
Beiträge gesamt: 12783

10. Nov 2017, 11:07
Beitrag # 4 von 5
Beitrag ID: #560628
Bewertung:
(5462 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Eine weiterer Idee: ergänzend zur targetengine, in der die Beobachtungs- und Verarbeitungsprozesse laufen, eine davon unabhängige targetengine für das Dialogfenster (Palette) einzurichten.

Ist dies möglich?


Von Marc Autret findet sich ein Beispiel für die Arbeit mit mehreren #targetengines (main und session) in https://forums.adobe.com/message/4179231#4179231.

Hier eine Abwandlung des Beispiels:

Code
#targetengine "session"    
var w = new Window("window", 'Test', undefined, {resizeable:false, borderless:false} );
var myPanel = w.add ("panel");
w.add("statictext", undefined, "#targetengines");
var mb1 = w.add("button", undefined, "main");
var mb2 = w.add("button", undefined, "session");
var mb3 = w.add("button", undefined, "default");
mb1.size = mb2.size = mb3.size = [150,20];

mb1.onClick = function()
{
app.doScript("#targetengine 'main'\r" + test.toSource() + "('" + this.text + "');",
ScriptLanguage.javascript, undefined, UndoModes.entireScript);
}
mb2.onClick = function()
{
app.doScript("#targetengine 'session'\r" + test.toSource() + "('" + this.text + "');",
ScriptLanguage.javascript, undefined, UndoModes.entireScript);
}
mb3.onClick = function()
{
app.doScript("test(this.text)",
ScriptLanguage.javascript, undefined, UndoModes.entireScript);
}

w.show();

function test(str)
{
alert('#targetengine ' + $.engineName + '\nButton: ' + str + ' clicked');
}



als Antwort auf: [#560582]
(Dieser Beitrag wurde von Martin Fischer am 10. Nov 2017, 11:50 geändert)

Steuerung der Prozesse eines Hotfolders über eine Palette

-hans-
Beiträge gesamt: 748

25. Nov 2017, 15:08
Beitrag # 5 von 5
Beitrag ID: #561000
Bewertung:
(5236 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

wenn man auf native Scriptsprachen wie Applescript oder eben VBS ausweicht wäre die Einrichtung eines Hotfolders vielleicht einfacher¿!


als Antwort auf: [#560628]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!