[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Frage aus der Praxix: Scriptbibliotheken

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

Frage aus der Praxix: Scriptbibliotheken

drfoots
Beiträge gesamt: 117

7. Jul 2020, 16:36
Beitrag # 1 von 10
Bewertung:
(13519 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich hab mal eine Frage.

Wie geht ihr in Eurer Praxis damit um, wenn Ihr Scripte mit wiederkehrenden Funktionen habt?

Habt Ihr eine Scriptdatei mit vielen Funktionen drin und ladet die dann in das aktuelle Script per #include ein oder kopiert Ihr jedes mal die passende Funktion in das neue Script?

Lohnt sich der Aufbau einer Gesamtbibliothek (im Stil von z.B. jquery) auf für Indesign Scripte oder hat das eher Nachteile?

Wie geht Ihr damit um?

Viele schöne Grüße und bleibt gesund
drfoots
----------------
Creative Suite CC 2019, OS X 10.12
X

Frage aus der Praxix: Scriptbibliotheken

WernerPerplies
Beiträge gesamt: 2672

7. Jul 2020, 17:42
Beitrag # 2 von 10
Beitrag ID: #576042
Bewertung:
(13503 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

Zitat Habt Ihr eine Scriptdatei mit vielen Funktionen drin und ladet die dann in das aktuelle Script per #include ein oder kopiert Ihr jedes mal die passende Funktion in das neue Script?


Das hängt wohl davon ab, wie komplex Deine Skripte sind.

Ich schreibe sehr umfangreiche Skripte und habe diverse Funktionen, Klassen und Meldungsdateien, da geht dann nichts mehr mit Copy und Paste.

Ich habe deshalb ein Grundgerüst, neudeutsch wohl Framework :-) und füge notwendige Dateien per include hinzu.

Vor Auslieferung erzeuge ich dann per Skript eine Gesamtdatei.

Die Anfangsversion dieses Skriptes kannst Du hier finden:
WpsIncludesInCludes

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
neu: WpsEanInTables, WpsSaRInHyperlinks
Kundenstimmen


als Antwort auf: [#576037]

Frage aus der Praxix: Scriptbibliotheken

drfoots
Beiträge gesamt: 117

7. Jul 2020, 20:29
Beitrag # 3 von 10
Beitrag ID: #576045
Bewertung:
(13477 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Werner,

danke für die Rückmeldung.

Als Skriptanfänger ist alles über 20 Zeilen schon komplex und dann noch die Kommentare dazu, damit man es später auch noch nachvollziehen kann was und warum man gemacht hat.

Wollte daher einfach mal hören, wie andere das machen und was man möglichst von Anfang an besser, einfacher oder richtiger machen kann.

Besten Dank und beste Grüße
drfoots
----------------
Creative Suite CC 2019, OS X 10.12


als Antwort auf: [#576042]

Frage aus der Praxix: Scriptbibliotheken

TMA
Beiträge gesamt: 372

8. Jul 2020, 07:33
Beitrag # 4 von 10
Beitrag ID: #576046
Bewertung:
(13421 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,
da wir hier mehrere hundert Scripte im Einsatz haben, kommt man um Libraries nicht herum.

Die Libs sind so aufgeteilt das z.B. allgemeine Funktionen eine eigene 'mainLib' haben. Für Photoshop, InDesign, SQL, etc. gibt es auch jeweils eine eigene Lib. Jede enthält bis zu ca. 3.500 Zeilen Code.

Die letzte große Umstellung bei den Applescripten war die Umstellung von der Nutzung der Satimage.osax auf ASOC.
Auch für Javascript nutzen wir Bibliotheken.

Dank der Libs war die Umstellung recht einfach und ging zügig vorran. Die einzelnen Handler/Functions/Methods konnte ich vom Namen und der Übergabeparamter größtenteils so lassen. Somit brauchte ich später in den eigentlichen Scripten nur die neue ASOC-Lib einbinden und schon lief alles wie gewohnt.

Gruß
TMA


als Antwort auf: [#576045]
(Dieser Beitrag wurde von TMA am 8. Jul 2020, 07:34 geändert)

Frage aus der Praxix: Scriptbibliotheken

Gerald Singelmann
  
Beiträge gesamt: 6249

8. Jul 2020, 07:57
Beitrag # 5 von 10
Beitrag ID: #576047
Bewertung:
(13412 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Fürs eigene Haus sind Bibliotheken durchaus praktisch.

Aber ich hatte noch keinen Kunden, der damit klar kam.
Letztlich habe ich mir einen einfachen Bundler schreiben müssen, um Scripte an Kunden als eine Datei auszuliefern.


als Antwort auf: [#576037]

Frage aus der Praxix: Scriptbibliotheken

WernerPerplies
Beiträge gesamt: 2672

8. Jul 2020, 08:15
Beitrag # 6 von 10
Beitrag ID: #576048
Bewertung:
(13399 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Herr Singelmann,

Zitat Letztlich habe ich mir einen einfachen Bundler schreiben müssen, um Scripte an Kunden als eine Datei auszuliefern.


Das ist genau das, was mein WpsIncludesInCludes macht,
aber in der von mir verwendeten Version erzeugt es auch noch daraus ein Binärskript und verpackt dann dieses Skript in ein Installationskript, dass sich um die Einrichtung aller notwendigen Dateien und Verzeichnisse kümmert.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
neu: WpsEanInTables, WpsSaRInHyperlinks
Kundenstimmen


als Antwort auf: [#576047]

Frage aus der Praxix: Scriptbibliotheken

drfoots
Beiträge gesamt: 117

8. Jul 2020, 14:15
Beitrag # 7 von 10
Beitrag ID: #576055
Bewertung:
(13315 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für die vielen Antworten.

Gibt es denn auch irgendwelche Nachteile bei der Arbeitsweise mit Bibliotheken?

z.B. Laufzeitverlängerungen, höhere Gefahr von Abstürzen oder ähnliches oder kann man das ganz problemlos machen?

Mal abgesehen von einfachen Problemen wie doppelt vergebenen Variablen.

Viele Grüße
drfoots
----------------
Creative Suite CC 2019, OS X 10.12


als Antwort auf: [#576048]

Frage aus der Praxix: Scriptbibliotheken

WernerPerplies
Beiträge gesamt: 2672

8. Jul 2020, 15:38
Beitrag # 8 von 10
Beitrag ID: #576056
Bewertung:
(13296 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Gibt es denn auch irgendwelche Nachteile bei der Arbeitsweise mit Bibliotheken?


Aus meiner Sicht gibt es keinen Nachteil, aber es hängt natürlich davon ab, wie Du Deine Bibliothek organisierst.

Sofern Du alle Deine Funktionen im globalen Bereich definierst und Sie dann auch alle in eine Datei speicherst und einbindest, ist natürlich das Chaos garantiert.

Ich habe meine Module recht klein organisiert und stelle sie dann mit Include zu einer Gesamtfunktion zusammen.

Das sieht dann beispielsweise so aus:
Code
// DESCRIPTION wpsGetVersionPath 
// Dateiname: wpsGetVersionPath.jsx
// © 2018 - 2019 by Werner Perplies, EDV-Anwendungsberatung,
// https://www.weepee.de, email: [email protected]
// modified: 201905091202
// modified: 201905090809
// created: Sat Jan 20 2018 09:17:11 GMT+0100
// lastFileProps: {"date":"201905091202","scriptVersion":2.13,"size":785,"checkSum":"13a5de5d","time":"1557396129404","scriptDate":"201808020846"}
// #include "C:/Users/WernerPerplies/Source/Workspaces/Singles/InDesigns/FileHandling/wpsGetVersionPath.jsx";
// [end of header]

#include "C:/Users/WernerPerplies/Source/Workspaces/Singles/ErrorHandling/wpsErrorClass.jsx"
#include "C:/Users/WernerPerplies/Source/Workspaces/Singles/wpsGetInddVersion.jsx";

/*Folder*/function wpsGetVersionPath()
{
try
{
var /*String*/scriptPath = "", basePath = Folder.userData.fullName+"/"+"Werner Perplies, EDV-Anwendungsberatung/",
/*String*/inddVersion = wpsGetInddVersion(app.version, true);

basePath += inddVersion.substr(0, inddVersion.indexOf(".")) + "/";
return Folder(basePath);
}
catch (error)
{
wpsHandleError(error, $.stack, "wpsGetVersionPath");
}
return null;
}


An diesem Beispiel kannst Du auch sehen, das Du Includes schachteln kannst. Beachten musst Du nur, dass sich im gleichen Adressraum mehrfach geladene Module überschreiben und dann das zuletzt geladene Modul ausgeführt wird.

Bei vielen tiefgeschachtelten Includes kann sich die Ladezeit eines Skriptes erheblich erhöhen, deshalb füge ich am Schluss alle benötigten Module in einer Datei zusammen und speichere sie als ab.

Zitat Mal abgesehen von einfachen Problemen wie doppelt vergebenen Variablen.

Solange Du Deine Variablen sauber deklarierst (var!) und die Sichtbarkeit von Variablen und Objekten beachtest, sollte das kein Thema sein.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
neu: WpsEanInTables, WpsSaRInHyperlinks
Kundenstimmen


als Antwort auf: [#576055]

Frage aus der Praxix: Scriptbibliotheken

drfoots
Beiträge gesamt: 117

8. Jul 2020, 22:09
Beitrag # 9 von 10
Beitrag ID: #576063
Bewertung:
(13232 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Werner,

danke für das Beispiel.
Dann werd ich mal schauen wie ich Deine und Eure Hinweise umsetzen kann. :)

Viele schöne Grüße und bleibt gesund
drfoots
----------------
Creative Suite CC 2019, OS X 10.12


als Antwort auf: [#576056]

Frage aus der Praxix: Scriptbibliotheken

Peda
Beiträge gesamt: 93

9. Jul 2020, 06:48
Beitrag # 10 von 10
Beitrag ID: #576066
Bewertung:
(13191 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke, drfoots, für die interessante Frage.
Ich habe hier sehr neugierig mitgelesen.
---
MELPRO · 53332 Bornheim

System:
Windows 10 Professional 64 Bit · ADOBE Creative Cloud
Intel i7-5930K 6Kern · 64 GB DDR4 · Nvidia GTX750TI 2GB GDDR5


als Antwort auf: [#576063]
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
14.02.2022

Zürich, Online
Montag, 14. Feb. 2022, 07.30 - 18.00 Uhr

Word Press / Digitalisierung / Selbständigkeit

Digitalisierung und KMU's in der Schweiz Leistungsfähig im Zeitalter der Digitalisierung Machine Learning Künstliche Intelligenz CRM Change Management Kommunikation im Betrieb Kommunikation digitale Medien Digitale Vertriebsmodelle

Ja

Organisator: B. Isik

Kontaktinformation: B. Isik / Daniela Lovric, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/website-mit-wix-erstellen/

Veranstaltungen
01.03.2022 - 03.03.2022

Online
Dienstag, 01. März 2022, 10.00 Uhr - Donnerstag, 03. März 2022, 11.30 Uhr

Workshop-Reihe

Sie wollen barrierefreie PDF-Dokumente mit möglichst wenig Aufwand erstellen? Mit ein wenig Grundlagenwissen können Sie dies aus InDesign mit axaio MadeToTag erreichen – ohne manuelle Nacharbeit im PDF! In diesem 3-teiligen, interaktiven Workshop, den wir vom 1. – 3. März 2022 organisieren, lernen die Teilnehmenden, wie sie zielführend beim Erstellen von barrierefreien PDF-Dokumenten aus Adobe InDesign vorgehen. Dafür wird zu Beginn vermittelt, was ein barrierefreies PDF ist, und welche Anforderungen an solche Dokumente bestehen. Mit diesem Wissen werden, anhand von Best-Practice-Beispielen, Strategien zum effizienten Erstellen von PDF/UA-konformen Dokumenten und Formularen mit Adobe InDesign und axaio MadeToTag gezeigt. Außerdem werden Lösungen für klassische Probleme vermittelt. Die Teilnehmenden erhalten im Vorfeld eine Liste der notwendigen Software, wie auch vorbereitete Workshop-Daten, an denen alle im Workshop unter Anleitung arbeiten. Während des Workshops haben die Teilnehmenden die Möglichkeit, Fragen zu stellen.

Die Webinar-Serie besteht aus drei Teilen, an drei verschiedenen Terminen, die aufeinander aufbauen: 1.-3. März 2022, jeweils von 10.00-11.30 Uhr, mit anschliessender 20-minütiger Diskussionsrunde.
Teilnahmegebühr: 89,- EUR (zzgl. MwSt).

Ja

Organisator: axaio software

Kontaktinformation: Karina Zander, E-Mailk.zander AT axaio DOT com

https://www.axaio.com/doku.php/de:news:interaktive-webinar-serie

Barrierefreie PDF-Dokumente erstellen mit Adobe InDesign & axaio MadeToTag