Transcript
Page 1: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

ADOBE® INDESIGN® CS6

EINFÜHRUNG IN DIEENTWICKLUNG MIT

ADOBE INDESIGN CS6 SERVER

Page 2: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

© 2012 Adobe Systems Incorporated. All rights reserved.

Einführung in die Entwicklung mit Adobe® InDesign® CS6 Server

If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe Systems Incorporated. Please note that the content in this guide is protected under copyright law even if it is not distributed with software that includes an end user license agreement.

The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide.

Please remember that existing artwork or images that you may want to include in your project may be protected under copyright law. The unauthorized incorporation of such material into your new work could be a violation of the rights of the copyright owner. Please be sure to obtain any permission required from the copyright owner.

Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual organization.

Adobe, the Adobe logo, InCopy, and InDesign are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Windows is either a registered trademark or a trademark of Microsoft Corporation in the United States and/or other countries. Mac OS is a trademark of Apple Computer, Incorporated, registered in the United States and other countries. All other trademarks are the property of their respective owners.

Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference.

Page 3: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

3

Inhalt

1 Einführung in Adobe InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Adobe InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Erste Schritte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Dokumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Skripte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7COM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Windows-Dienst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7launchd-Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Leistung und Skalierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Installieren und Ausführen von InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Installieren von InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Systemanforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Ausführen des Installationsprogramms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9CJK-Funktionssatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Installieren des InDesign Server Windows-Dienstes (nur Windows) . . . . . . . . . . . . . . . . . . . 10Installieren des InDesign Server-SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Ausführen von InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Befehlszeilenargumente für InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Starten von InDesign Server von der Befehlszeile aus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Starten von InDesign Server für die Verwendung mit SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Starten von InDesign Server für die Verwendung mit CORBA . . . . . . . . . . . . . . . . . . . . . . . . . 14Starten von einem anderen Programm oder Skript aus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Ausführen mehrerer InDesign Server-Instanzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Beenden von InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Konfigurieren des InDesign Server Windows-Dienstes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Konfigurieren eines launchd-Daemons für InDesign Server unter Mac OS . . . . . . . . . . . . . 18

3 Integration von InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Integration von InDesign Server über SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Verwenden von SampleClient zum Ausführen eines InDesign Server-Skripts . . . . . . . . . . 21

Integration mit InDesign Server über ein Zusatzmodul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Integration mit InDesign Server über COM (nur Windows) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Visual Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Integration von InDesign Server über LBQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Page 4: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

4

Handhabung von Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Zugreifen auf Fehler und Meldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Umleiten von Fehlern und Meldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Häufig gestellte Fragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Kann ich sowohl einen SOAP-Anschluss als auch eine IOR-Datei festlegen, wenn ich den Server starte? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Gibt es ein Verzeichnis aller Klassen und Methoden in der Skript-DOM von InDesign Server? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Kann ich mit InDesign Server kommunizieren, wenn ich es ohne SOAP starte? . . . . . . . . 28Wie gebe ich einen Wert von meinem Skript an den SOAP-Client zurück? . . . . . . . . . . . . . 28

4 Nächste Schritte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29InDesign Server-Skripterstellung und -Zusatzmodule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Page 5: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

5

1 Einführung in Adobe InDesign Server

Dieses Dokument bietet einen Überblick über Adobe® InDesign® Server. Es wird beschrieben, wie InDesign Server in einer einfachen Umgebung installiert und ausgeführt wird und wie Sie über externe Komponenten mit InDesign kommunizieren können.

Adobe InDesign ServerInDesign Server wird von Systemintegratoren und Lösungsentwicklern verwendet, um serverbasierte Lösungen für Veröffentlichungen zu erstellen. Sie können sich InDesign Server als eine InDesign-Version ohne Benutzeroberfläche vorstellen. Es ist auf der gleichen Codebasis aufgebaut wie die Desktop-Version von InDesign, wurde aber an die Serververwendung angepasst. Die Anpassung beinhaltet den Support mehrerer Instanzen, die Fehlererfassung und -protokollierung sowie Kommunikation über SOAP.

Wie das Desktop-Gegenstück bietet InDesign Server eine funktionsreiche Entwicklungsumgebung. Die Software unterstützt offene Standards, wie z. B. XML, und ist hochgradig skriptfähig und erweiterbar. InDesign Server kann durch Verwendung der APIs aus den SDKs der InDesign-Zusatzmodule und der InDesign Server-Skripterstellung erweitert werden. Diese APIs können verwendet werden, um C++-Zusatzmodule, JavaScript-Skripte, AppleScript-Skripte und VBScript-Skripte zu erstellen.

Erste SchritteInformationen zu ersten Schritten, zum Inhalt des Installationsverzeichnisses des InDesign Server-SDK und zur Verwendung der im SDK enthaltenen Beispiele finden Sie im Dokument Getting Started with the Adobe InDesign Server SDK.

TerminologieIn diesem Abschnitt finden Sie eine Definition der Begriffe, die in diesem Dokument verwendet werden:

Ant – Another Neat Tool, ein auf Java basierendes Programmierungswerkzeug.

Client – Ein Modul, das Dienste von einem Server in einem verteilten Computersystem anfordert.

COM – Component Object Model, eine Technologie, die das Zusammenspiel von Anwendungen und Komponenten fördert.

IDS – InDesign Server.

<IDS> – Der Ordner, in dem Sie InDesign Server installiert haben.

<IDS SDK> – Der Ordner, in dem Sie das InDesign Server-SDK installiert haben.

InDesign Server-SDK – Enthält verschiedene Technologien zum Arbeiten mit InDesign Server, wie zum Beispiel SOAP. Die gesamte InDesign Server-Dokumentation ist in diesem SDK enthalten.

InDesign-Skript-DOM – Skript-Objektmodell. Dieses bezieht sich auf Objekte in InDesign und ihre Hierarchie, nach der sie von einem Skript aus aufgerufen werden.

InDesign-Skript-SDK – Die API für den Zugriff auf das Skript-DOM.

Page 6: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 1: Einführung in Adobe InDesign Server Roadmap 6

IOR-Datei – Interoperable Object Reference-Datei. Diese wird von CORBA und den Clients verwendet, um ein Objekt im CORBA-Objektmodell zu identifizieren.

IPv6 – Internet Protocol Version 6, der Nachfolger von IPv4. IPv6 wird von InDesign CS4 Server und höher unterstützt.

Auftragswarteschlange – Ein Mechanismus, der eingereichte Aufträge in Warteschlangen stellt, sie asynchron ausführt und eine Möglichkeit bietet, den Auftragsstatus später zu prüfen.

Lastverteilung – Das Verteilen von Aufträgen auf mehrere Instanzen und Server je nach Verfügbarkeit.

<locale> – Gibt in einem Pfad die Sprachversion von InDesign Server an, zum Beispiel deutsch.

LBQ – Lastverteilung und Auftragswarteschlangen. Eine Add-On-Komponente, die für mehrere IDS-Instanzen Aufträge in Warteschlangen stellt und Lastverteilung durchführt.

Server – Der Dienstleister in einem verteilten Computersystem.

Shell-Fenster – Ein Befehlszeilen-Fenster. Unter Windows® verwenden Sie die Eingabeaufforderung (im Ordner „Zubehör“ des Startmenüs). Unter Mac OS® verwenden Sie das Dienstprogramm „Terminal“ (unter „/Programme/Dienstprogramme“).

<Scripting SDK> – Der Ordner, in dem Sie das InDesign Skript-SDK installiert haben.

<SDK> – Der Ordner, in dem Sie das InDesign-Zusatzmodul-SDK installiert haben.

SOAP – Simple Object Access Protocol, ein XML-basiertes Protokoll für den Austausch von Meldungen zwischen Programmen und Plattformen. InDesign Server unterstützt verschiedene Versionen von SOAP: die branchenüblichen SOAP-Versionen 1.1 und 1.2 (RPC und doc/lit) sowie WSDL 1.1.

<version> – Gibt in einem Pfad die Versionsnummer von InDesign Server an, zum Beispiel steht 8.0 für CS6.

WSDL – Web Service Description Language, ein XML-basiertes Format zur Beschreibung, wie auf einen Webdienst zugegriffen werden kann und welche Vorgänge dieser durchführt.

RoadmapIn diesem Abschnitt finden Sie eine Übersicht über verschiedene Möglichkeiten für die Arbeit mit und die Erweiterung von InDesign Server sowie Verweise auf weiterführende Informationsquellen zu den jeweiligen Themen. In den anderen Abschnitten dieses Dokuments finden Sie zusätzliche Informationen.

Dokumentation

Die SDKs von InDesign-Zusatzmodulen und InDesign-Skripterstellung enthalten Dokumentation und Beispielcodes, die die Erweiterung von InDesign Server erklären und veranschaulichen. Beide SDKs können von adobe.com heruntergeladen werden. Die in diesem Dokument genannten Dokumente sind ebenfalls in den SDKs zu finden.

Skripte

Wie InDesign bietet InDesign Server Skriptsupport für JavaScript, AppleScript und VBScript.

Page 7: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 1: Einführung in Adobe InDesign Server Roadmap 7

Schreiben eines Skripts

Wenn Sie lernen möchten, InDesign Server-Skripte zu schreiben, lesen Sie die folgenden Dokumente:

Adobe InDesign Scripting Tutorial

Adobe InDesign Scripting Guide

Adobe InDesign Server Scripting Guide

Außerdem können Sie über das Hilfemenü von Adobe ExtendScript Toolkit auf den InDesign Object Model Viewer zugreifen.

Ausführen eines Skripts

InDesign Server stellt eine einzige SOAP-Methode bereit, RunScript, über die ein Skript an InDesign Server gesendet wird. Die Installation von InDesign Server umfasst einen einfachen SOAP-Client, SampleClient, den Sie zur Ausführung von Skripten verwenden können. Siehe „Verwenden von SampleClient zum Ausführen eines InDesign Server-Skripts“ auf Seite 21.

SampleClient wurde in C++ programmiert. Sein Quellcode ist im Produkt-SDK von InDesign enthalten. Das InDesign Server-SDK umfasst andere Client-Beispielprojekte, die in verschiedenen Sprachen programmiert sind, darunter C#, PHP, VB.NET und Flex.

C++

Schreiben eines C++-Zusatzmoduls

InDesign Server ist in C++ geschrieben und bietet Support für C++-Zusatzmodule, die mit der InDesign C++-API entwickelt wurden. Weitere Informationen finden Sie unter „Integration mit InDesign Server über ein Zusatzmodul“ auf Seite 24 im Adobe InDesign Plug-In Programming Guide sowie unter „InDesign Server Plug-in Techniques“ im Dokument Getting Started with Adobe InDesign Plug-In Development.

Aufrufen eines Zusatzmoduls von einem Skript aus

Um ein Zusatzmodul von einem Skript aus aufzurufen, muss das Zusatzmodul skriptfähig sein. Weitere Informationen finden Sie im Kapitel „Scriptable Plug-in Fundamentals“ im Adobe InDesign Plug-In Programming Guide.

COM

InDesign Server veröffentlicht eine COM-Typenbibliothek, mit der COM-Komponenten mit Schnittstelle zu InDesign Server entwickelt werden können. COM-Komponenten können in verschiedenen Programmiersprachen entwickelt werden. In diesem Dokument wird unter „Integration mit InDesign Server über COM (nur Windows)“ auf Seite 25 kurz auf die Verwendung von Visual Basic und C# eingegangen.

Windows-Dienst

Sie können InDesign Server über einen Windows-Dienst verwalten. Um den Dienst verwenden zu können, müssen Sie zunächst InDesignServerService installieren (siehe „Installieren des InDesign Server Windows-Dienstes (nur Windows)“ auf Seite 10). Sie können dann InDesignServerService mit dem InDesign Server Microsoft Management Console-Snap-In konfigurieren.

Page 8: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 1: Einführung in Adobe InDesign Server Roadmap 8

launchd-Daemon

Unter Mac OS können Sie InDesign Server über einen launchd-Daemon verwalten. Anweisungen zur Konfiguration eines Daemons finden Sie unter „Konfigurieren eines launchd-Daemons für InDesign Server unter Mac OS“ auf Seite 18.

Leistung und Skalierbarkeit

Dokumentation zur Leistung und Skalierbarkeit von InDesign Server sowie entsprechende Werkzeuge finden Sie im InDesign Server-SDK. Weitere Informationen finden Sie im Dokument Getting Started with the Adobe InDesign Server SDK.

Page 9: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

9

2 Installieren und Ausführen von InDesign Server

In diesem Kapitel wird beschrieben, wie Adobe InDesign Server installiert, ausgeführt und konfiguriert wird.

Installieren von InDesign ServerBevor Sie InDesign Server installieren, überprüfen Sie Ihr System, um sicherzustellen, dass es den entsprechenden Anforderungen entspricht. Führen Sie dann das Installationsprogramm aus, das vom ESD (Electronic Software Download; Elektronisches Software-Downloadprogramm) zur Verfügung gestellt wird. Nach der Installation können Sie InDesign Server über die Befehlszeile ausführen (wie unter „Ausführen von InDesign Server“ auf Seite 11 beschrieben). Beachten Sie, dass die Eingabe der Seriennummer für InDesign Server beim ersten Start über die Befehlszeile durch Übergabe des Arguments „-serialnumber“ erfolgt.

SystemanforderungenEine detaillierte Auflistung der Systemanforderungen für InDesign Server finden Sie in der Datei „Bitte lesen“ der Anwendung.

Wenn Sie den InDesign Server Windows-Dienst ausführen möchten, ist Microsoft .NET Framework Version 2.0 oder höher erforderlich.

Ausführen des InstallationsprogrammsSobald Sie das InDesign Server-ESD heruntergeladen und extrahiert haben, können Sie das Installationsprogramm ausführen, indem Sie auf das Symbol des Programms doppelklicken. Folgen Sie den Anweisungen auf dem Bildschirm. Während der Installation können Sie festlegen, wo Sie InDesign Server installieren möchten, oder den Standardspeicherort verwenden.

Unter Windows steht InDesign Server CS6 nur in einer 64-Bit-Version zur Verfügung.

Unter Mac OS steht InDesign Server CS6 nur in einer 32-Bit-Version zur Verfügung.

CJK-FunktionssatzInDesign Server führt den Textsatz auf der Grundlage des aktivierten Funktionssatzes durch: Latein (Englisch) oder Japanisch (CJK). Unter Windows wird der aktivierte Funktionssatz über die Registrierungseinstellungen festgelegt. Unter Mac OS gibt es für beide Funktionssätze jeweils eine separate Anwendung.

Beim Installieren von InDesign Server auf einem englischen Windows-Betriebssystem wird standardmäßig der Funktionssatz „Latein“ verwendet. Beim Installieren von InDesign Server beispielsweise auf einer chinesischen Version von Windows wird standardmäßig der Funktionssatz „CJK“ verwendet. Wenn beim Installieren von InDesign Server auf einer englischen Version von Windows Chinesisch als Installationssprache gewählt wird, wird standardmäßig der Funktionssatz „CJK“ verwendet.

Sie können den Standard-Funktionssatz ändern, indem Sie regedit ausführen und die folgenden Schlüssel ändern. (Passen Sie die Versionsnummer entsprechend an.)

Page 10: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 2: Installieren und Ausführen von InDesign Server Installieren von InDesign Server 10

64-Bit-Anwendung unter 64-Bit-Windows:

HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\InDesign Server\<version>

Setzen Sie den Schlüssel für die Funktionssatz-Ländereinstellung auf 400 (Latein) bzw. 401 (CJK). Die Einstellung ist nach dem nächsten Start von InDesign Server aktiviert.

FirewallsAlle Firewalls, die zwischen dem Computer (Server) mit InDesign Server und den Clients des Servers bestehen, müssen entsprechend konfiguriert werden, damit die Clients Verbindungen zum Server herstellen können. Weitere Informationen finden Sie in der Dokumentation zu der Firewall. Sie können sich jedoch auch an Ihren Netzwerk-Systemadministrator wenden.

Installieren des InDesign Server Windows-Dienstes (nur Windows)Der InDesign Server Windows-Dienst überwacht angegebene Instanzen von InDesign Server und startet sie neu, wenn sie beendet werden oder der Computer neu gestartet wird. Er leitet InDesign Server-Meldungen zum Windows-Ereignisprotokoll weiter und ermöglicht so ein lokales und externes Abrufen der Meldungen. Instanzen von InDesign Server können mit einem Benutzernamen und einem Kennwort, die sich von denen des aktuellen Computerbenutzers unterscheiden, konfiguriert werden.

Der InDesign Server Windows-Dienst kann entweder mit dem InDesign Server-Installationsprogramm oder über die Befehlszeile installiert werden. Wenn Sie das Installationsprogramm verwenden, führen Sie einfach das InDesign Server-Installationsprogramm aus und wählen Sie die entsprechende Option, um die Dienst-Dateien für InDesign Server zu installieren. Bei einer Installation über die Befehlszeile wechseln Sie zu dem Ordner, in dem Sie InDesign Server installiert haben, und führen Sie folgenden Befehl aus:

InDesignServerService /install

Um den InDesign Server Windows-Dienst über die Befehlszeile zu deinstallieren, wechseln Sie zum Ordner von InDesign Server und führen Sie folgenden Befehl aus:

InDesignServerService /install /u

Die zweite Komponente des InDesign Server Windows-Dienstes ist das InDesign Server-Service Management Console-Snap-In. Bei der Installation des Dienstes über das InDesign Server-Installationsprogramm wird das Snap-In automatisch installiert. Bei der Installation des Dienstes über die Befehlszeile muss das Snap-In manuell installiert werden. Gehen Sie dazu wie nachfolgend beschrieben vor.

Um das Snap-In auf einem 64-Bit-Computer zu installieren, führen Sie folgenden Befehl aus:

regsvr64 InDesignServerMMC64.dll

Die Deinstallation des InDesignServerMMC-Snap-In entspricht im Wesentlichen der Installation, jedoch ist ein zusätzliches Befehlszeilenargument erforderlich:

regsvr64 InDesignServerMMC64.dll /u

Informationen zur Konfiguration des Snap-Ins finden Sie unter „Konfigurieren des InDesign Server Windows-Dienstes“ auf Seite 17.

Installieren des InDesign Server-SDK

Das InDesign Server-SDK enthält Beispiele, Skripte und Dokumentation für InDesign Server. Das InDesign Server-SDK kann von adobe.com heruntergeladen werden. Sie können den Ordner mit dem SDK nach dessen Einrichtung verschieben.

Page 11: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 2: Installieren und Ausführen von InDesign Server Ausführen von InDesign Server 11

Ausführen von InDesign ServerSie können InDesign Server von der Befehlszeile oder von einem anderen Programm oder Skript aus starten. Bei allen Methoden können Sie Befehlszeilenargumente verwenden, die steuern, wie InDesign Server ausgeführt und konfiguriert wird.

Befehlszeilenargumente für InDesign Server

Mit den InDesign Server-Befehlszeilenargumenten lassen sich verschiedene Aspekte von InDesign Server konfigurieren. Die Befehlszeile hat folgende Syntax (die Argumente werden in der nachfolgenden Tabelle beschrieben):

InDesignServer [argumente]

Page 12: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 2: Installieren und Ausführen von InDesign Server Ausführen von InDesign Server 12

Argument Beschreibung

-configuration name Optional. Legt den Konfigurationsnamen für diese Instanz von InDesign Server fest. name muss ein im aktuellen System gültiger Ordnername sein. Dieser wird von InDesign Server verwendet, um den Konfigurationsordner zu erstellen, in dem private Daten, Cache- und Konfigurationsdateien abgelegt werden. Der Standardname lautet „configuration_noport“ oder „configuration_n“, wobei „n“ der Anschlussnummer (bei angegebenem Argument „-port“) entspricht. Der Konfigurationsordner wird an folgendem Speicherort erstellt:

Unter Windows:

C:\Dokumente und Einstellungen\<benutzername>\Anwendungsdaten\ Adobe\InDesign Server\<version>\<sprache>\

Unter Windows Vista und Windows Server 2008:

C:\Users\<benutzername>\AppData\Roaming\Adobe\InDesign Server\<version>\<sprache>\

Unter Windows mit dem Windows-Dienst:

C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\ Adobe\InDesign Server\<version>\<sprache>\

Unter Windows Vista und Windows Server 2008 mit dem Windows-Dienst:

C:\ProgramData\Adobe\InDesign Server\<version>\<sprache>\

Unter Mac OS:

/Users/<benutzername>/Library/Preferences/Adobe InDesign Server/<version>/<sprache>/

-[no]console Optional. Nur Windows. Dies erstellt ein neues Konsolenfenster (eine Befehls-Shell) und leitet „stderr“ und „stdout“ dorthin um. Wenn „-noconsole“ angegeben ist, werden „stdout“ und „stderr“ an das Terminal (bzw. Fenster) gesendet, in dem InDesign Server gestartet wurde. Dieses Argument ist nützlich, wenn der Microsoft Visual Studio-Debugger verwendet wird, um ein InDesign Server-Zusatzmodul, das Sie entwickeln, zu debuggen, weil der Debugger standardmäßig Daten, die in „stderr“ und „stdout“ ausgegeben werden, verwirft. Dies kann auch nützlich sein, wenn InDesign Server aus einer anderen Anwendung, wie z. B. einem Anwendungsserver, gestartet wird. Dieses Argument kann nur mit InDesignServer.exe verwendet werden, nicht mit InDesignServer.com. Die Standardeinstellung ist „-noconsole“.

-[no]errorlist Optional. Steuert, ob InDesign Server Skriptfehler aus SOAP-Aufrufen im Speicher speichern soll. Die Fehlerliste wird nicht automatisch gelöscht. Wenn die zulässige Anzahl Fehler überschritten ist, gehen neue Fehler verloren. Die Standardeinstellung ist „-noerrorlist“.

-help Optional. Zeigt kurze Beschreibungen aller Argumente an.

Page 13: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 2: Installieren und Ausführen von InDesign Server Ausführen von InDesign Server 13

-iorfile filepath Für CORBA erforderlich. Das Add-In für Lastverteilung und Warteschlangenbildung für InDesign benötigt CORBA, ansonsten optional. Weist InDesign Server an, in welchen Ordner die Datei geschrieben werden soll, die die IOR des Anwendungsobjekts enthält. Die IOR in dieser Datei wird von einem Client verwendet, um einen Verweis auf das Anwendungsobjekt von InDesign Server zu erstellen. Sie können sich dies als Cookie vorstellen, den der Client-Code verwendet, um auf das Anwendungsobjekt von InDesign Server zuzugreifen. Alle Serverinstanzen benötigen eine eindeutige IOR-Datei. Mehrere Clients greifen auf einen bestimmten Server zu, indem sie die IOR-Datei für diesen Server verwenden. Die IOR wurde in die angegebene Datei geschrieben, wenn InDesign Server folgende Meldung ausgibt: „[server] Writing IOR to ...“

-LogToApplicationEventLog Optional. Unter Windows wird hiermit die Konsolenausgabe von InDesign Server in das Anwendungsprotokoll der Windows-Ereignisanzeige umgeleitet. Die Ausgabe kann in der Ereignisanzeige der Computerverwaltung angezeigt werden. Unter Mac OS sollte dieses Argument verwendet werden, wenn InDesign Server als launchd-Daemon genutzt wird. Die Ausgabe kann mit dem Dienstprogramm „Konsole“ angezeigt werden.

-maxerrors number Optional. number legt die maximale Anzahl von Skriptfehlern aus SOAP-Aufrufen fest, die InDesign Server im Speicher speichern soll. Der Standardwert ist 10.000.

-pluginpath path[,path] Für CORBA erforderlich. Das Add-In für Lastverteilung und Warteschlangenbildung für InDesign benötigt CORBA, ansonsten optional. Weist den Server an, sämtliche Zusatzmodule im angegebenen Ordner und den entsprechenden Unterordnern zu laden. Durch Angabe des installierten Unterverzeichnisses „server/corba“ wird das CORBA-Zusatzmodul für InDesign Server geladen und aktiviert. path bezeichnet einen relativen Pfad zum InDesign Server-Installationsordner (z. B. verweist „Server/Corba“ auf den Ordner „C:\Programme\Adobe\Adobe InDesign CS6.0 Server\Server\Corba“). Verwenden Sie keinen absoluten Pfad. Das CORBA-Zusatzmodul wurde geladen, wenn InDesign Server folgende Meldung ausgibt: „[server] ApplicationIOR: ...“

-port number Für SOAP erforderlich, ansonsten optional. Dies ist die Anschlussnummer, die InDesign Server verwendet, um SOAP-Anforderungen von Client-Anwendungen zu bearbeiten. Wenn keine Nummer festgelegt ist, wird kein Anschluss verwendet und SOAP-Anforderungen können nicht verarbeitet werden. Allen Instanzen von InDesign Server, die auf dem gleichen System ausgeführt werden, muss jeweils eine eindeutige Anschlussnummer zugewiesen sein, wenn SOAP aktiviert wird. Die Anschlussnummer muss eine positive ganze Zahl sein.

-[no]previews Optional. Legt fest, ob beim Import von Bildern Vorschaubilder erstellt werden sollen. Die Standardeinstellung ist „-nopreviews“.

-[no]seh Optional. Nur Windows. Legt fest, ob SEH (Structured Exception Handling, strukturierte Handhabung von Ausnahmen) verwendet werden soll. Die Standardeinstellung ist „-seh“.

-[no]sendcrashlogs Nur Mac OS. Sendet automatisch Absturzprotokolle an Adobe. Die Standardeinstellung ist „-nosendcrashlogs“.

-serialnumber number Gibt die Seriennummer für die Anwendung ein. Dieses Argument muss nur ein Mal zum Freigeben der Anwendung verwendet werden.

Argument Beschreibung

Page 14: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 2: Installieren und Ausführen von InDesign Server Ausführen von InDesign Server 14

Starten von InDesign Server von der Befehlszeile aus

1. Öffnen Sie in dem System, auf dem InDesign Server installiert ist, ein neues Shell-Fenster. Verwenden Sie unter Windows die Eingabeaufforderung und unter Mac OS das Dienstprogramm „Terminal“.

2. Wechseln Sie in den Ordner, in dem InDesign Server installiert ist. Unter Windows enthält der Ordner die Anwendung „InDesignServer.com“. Unter Mac OS enthält der Ordner das Anwendungspaket „InDesignServer.app“. Beispiel:

64-Bit-Windows:

cd "C:\Program Files\Adobe\Adobe InDesign CS6 Server x64\"

Mac OS:

cd '/Applications/Adobe InDesign CS6 Server/'

3. Führen Sie den folgenden Befehl aus. (Unter Windows wird standardmäßig „InDesignServer.com“ ausgeführt. Dabei werden Pfade eingerichtet und „InDesignServer.exe“ ausgeführt.)

InDesignServer

4. InDesign Server zeigt seine Startmeldungen im Shell-Fenster an. Wenn InDesign Server bereit ist, wird die Meldung „[server] Server Running“ angezeigt. Während InDesign Server ausgeführt wird, werden Meldungen und Fehler im Shell-Fenster angezeigt, sodass Sie das Fenster verwenden können, um InDesign Server zu überwachen.

Starten von InDesign Server für die Verwendung mit SOAP

Wenn in Ihrem Workflow Skripte zur Kommunikation mit InDesign Server zum Einsatz kommen, umfasst der Workflow vermutlich auch das Übermitteln der Skripte an InDesign Server über SOAP. Damit die Kommunikation mit InDesign Server über SOAP möglich ist, müssen Sie beim Starten von InDesign Server das Argument „-port“ angeben. Im folgenden Beispiel müssen Sie „12345“ durch die tatsächliche Anschlussnummer ersetzen.

InDesignServer -port 12345

Unter den Startmeldungen von InDesign Server sollte auch folgende Meldung angezeigt werden:

"[soap] Servicing SOAP requests on port 12345."

Dies weist darauf hin, dass InDesign Server zum Empfangen von SOAP-Anforderungen bereit ist.

Starten von InDesign Server für die Verwendung mit CORBA

Wenn in Ihrem Workflow Lastverteilung und Warteschlangenbildung (LBQ) zur Kommunikation mit InDesign Server verwendet wird, müssen Sie InDesign Server für die Verwendung mit CORBA starten. Das InDesign Server-LBQ-Add-In verwendet das Corba Support-Zusatzmodul, um mit InDesign Server zu kommunizieren. Diese Kommunikation wird durch die Verwendung einer Textdatei erleichtert, die eine IOR-Zeichenfolge zur eindeutigen Identifizierung eines Objekts in CORBA enthält.

Sobald die InDesign Server-Instanz initialisiert ist, schreibt sie die IOR für das Anwendungsobjekt in die angegebene Textdatei. Durch Verwenden der IOR in der IOR-Datei kann ein LBQ-Client ein Proxyobjekt für das Anwendungsobjekt von InDesign Server instanziieren.

Page 15: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 2: Installieren und Ausführen von InDesign Server Ausführen von InDesign Server 15

Um InDesign Server für die Verwendung mit CORBA zu starten, fügen Sie der Befehlszeile die Argumente „-iorfile“ und „-pluginpath“ hinzu. Der mit „-pluginpath“ festgelegte Pfad ist relativ zum Installationsordner von InDesign Server. Beim Starten erstellt InDesign Server die angegebene Textdatei und schreibt die IOR seiner Anwendung in diese Datei. Für den Dateipfad müssen Zugriffsrechte zum Schreiben vorliegen. Ersetzen Sie im folgenden Beispiel „c:\ior.txt“ (Windows) bzw. „~/ior.txt“ (Mac OS) durch den gewünschten Dateipfad.

Windows:

InDesignServer -iorfile c:\ior.txt -pluginpath Server\Corba

Mac OS:

InDesignServer -iorfile ~/ior.txt -pluginpath Server/Corba

Unter den Startmeldungen von InDesign Server sollten auch folgende Meldungen angezeigt werden:

"[server] ApplicationIOR:...""[server] Writing IOR to ..."

Diese weisen darauf hin, dass InDesign Server zum Empfangen von CORBA-Befehlen bereit ist und dass Sie über die angegebene Datei auf die Anwendungs-IOR von InDesign Server zugreifen können.

Starten von einem anderen Programm oder Skript ausInDesign Server kann als Prozess von einem anderen Programm oder Skript aus gestartet werden. Beachten Sie unter Windows, dass InDesign Server in der Regel über „InDesignServer.com“ statt über „InDesignServer.exe“ ausgeführt wird. Die .com-Version unterscheidet sich von der .exe-Version darin, dass sie die erforderlichen Pfade zum omniorb-Ordner einrichtet, der von der InDesign Server-CORBA-Implementierung benötigt wird. Die .exe-Version richtet diese Pfade nicht ein. Daher müssen Sie den omniorb-Ordner u. U. manuell zur Umgebungsvariablen „PATH“ hinzufügen, bevor Sie „InDesignServer.exe“ starten.

Ausführen mehrerer InDesign Server-InstanzenWenn Ihre Site ein hohes Aufkommen an InDesign Server-Anforderungen hat, können Sie den Durchsatz erhöhen, indem Sie mehrere Instanzen von InDesign Server auf dem gleichen System ausführen. Als allgemeine Faustregel für die maximale Anzahl von InDesign Server-Instanzen auf einem Computer addieren Sie den Wert 1 zu der Anzahl von Prozessoren auf dem Computer. Weitere Informationen finden Sie unter „InDesign Server Scalability and Performance“ im Dokument Adobe InDesign Server Solutions.

Um mehrere Instanzen auszuführen, müssen Sie jeder Instanz einen eindeutigen Konfigurationsnamen geben. Verwenden Sie dazu das Argument „-configuration“ und legen Sie für jede Instanz einen eindeutigen Namen fest. Wenn Sie InDesign Server von der Befehlszeile aus ausführen, müssen Sie jede Instanz in einem eigenen Fenster ausführen.

1. Starten Sie von einem Shell-Fenster aus die erste Instanz, indem Sie folgende Zeile ausführen:

InDesignServer -configuration myIDS1

2. Öffnen Sie ein neues Shell-Fenster und führen Sie folgende Zeile für die zweite Instanz aus:

InDesignServer -configuration myIDS2

Ausführen mehrerer Instanzen über SOAP

Wenn Sie Anwendungen nutzen, die über SOAP mit InDesign Server kommunizieren, müssen Sie jeder Instanz von InDesign Server eine eindeutige Anschlussnummer zuweisen. In den folgenden Beispielen müssen Sie das Argument „-configuration“ nicht festlegen, da InDesign Server einen Konfigurationsnamen auf der Grundlage des angegebenen Anschlusses erstellt (siehe „Befehlszeilenargumente für InDesign Server“ auf Seite 11). Die folgenden Beispiele erstellen die Konfigurationsnamen „Konfiguration_18383“ und „Konfiguration_18555“.

Page 16: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 2: Installieren und Ausführen von InDesign Server Ausführen von InDesign Server 16

Die erste Instanz wird mit der folgenden Befehlszeile ausgeführt:

InDesignServer -port 18383

Eine zweite Instanz wird mit der folgenden Befehlszeile ausgeführt:

InDesignServer -port 18555

Optional können Sie jeder Instanz einen eindeutigen Konfigurationsnamen geben, allerdings ist für die Verwendung von SOAP immer noch eine eindeutige Anschlussnummer erforderlich. Beispiel:

InDesignServer -configuration myIDS3 -port 18777

Ausführen mehrerer Instanzen über CORBA

Wenn Sie das Add-In für Lastverteilung und Warteschlangenbildung für InDesign Server verwenden, müssen Sie jeder Instanz in InDesign Server eine eigene IOR-Textdatei und einen eigenen Konfigurationsnamen zuweisen. Die folgenden Beispiele erstellen eindeutige IOR-Textdateien und Konfigurationsnamen für jede Instanz.

Unter Windows wird die erste Instanz mit der folgenden Befehlszeile ausgeführt:

InDesignServer -configuration myIDS1 -iorfile c:\IDS\ior_1.txt-pluginpath Server/Corba

Eine zweite Instanz wird mit der folgenden Befehlszeile ausgeführt:

InDesignServer -configuration myIDS2 -iorfile c:\IDS\ior_2.txt-pluginpath Server/Corba

Unter Mac OS wird die erste Instanz mit der folgenden Befehlszeile ausgeführt:

InDesignServer -configuration myIDS1 -iorfile /IDS/ior_1.txt-pluginpath Server/Corba

Eine zweite Instanz wird mit der folgenden Befehlszeile ausgeführt:

InDesignServer -configuration myIDS2 -iorfile /IDS/ior_2.txt-pluginpath Server/Corba

Beenden von InDesign Server

Es gibt mehrere Möglichkeiten zum Beenden von InDesign Server:

Drücken Sie im Fenster der Eingabeaufforderung (bzw. „Terminal“ unter Mac OS), in dem InDesign Server gestartet wurde, die Tastenkombination Strg+C (Windows) bzw. Ctrl+C (Mac OS).

Senden Sie ein Skript an InDesign Server, das InDesign Server über das quit-Ereignis der Anwendung beendet. Im folgenden JavaScript-Beispiel wird InDesign Server beendet, ohne offene Dokumente zu speichern:

app.quit(SaveOptions.no);

Wenn die InDesign Server-Instanz über den InDesign Server Windows-Dienst gestartet wurde, können Sie den Dienst anhalten und so sämtliche Instanzen von InDesign Server beenden, die über diesen Dienst gestartet wurden.

Page 17: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 2: Installieren und Ausführen von InDesign Server Ausführen von InDesign Server 17

Konfigurieren des InDesign Server Windows-DienstesDer InDesign Server Windows-Dienst kann über die Kategorie „Dienste“ der Windows-Computerverwaltung gestartet, angehalten und konfiguriert werden. Diese kann gestartet werden, indem Sie entweder mit der rechten Maustaste auf „Arbeitsplatz“ > „Verwalten“ klicken oder im Startmenü „Verwaltung“ > „Computer-verwaltung“ wählen. Wählen Sie im Dialogfeld „Computerverwaltung“ zunächst „Dienste und Anwendungen“ und dann „Dienste“. Doppelklicken Sie in der Liste der Dienste auf „InDesignServerService“ oder „InDesignServerService x64“. Dadurch wird ein Eigenschaften-Dialogfeld aufgerufen, in dem Sie den Dienst starten, beenden oder anhalten und die Anmeldung sowie die Startmethode des Dienstes ändern können.

Microsoft empfiehlt, auf der Registerkarte „Anmelden“ eine Einstellung mit möglichst eingeschränkten Rechten zu wählen, ohne dass die Funktionalität des Dienstes beeinträchtigt wird. Der Dienst muss mindestens über Lese- und Schreibzugriff auf den Ordner „Dokumente und Einstellungen“ sowie auf den Pfad mit den Dokumenten verfügen, über die der Server gesteuert wird. Außerdem muss er in der Lage sein, einen Anschluss zu öffnen und Registrierungseinstellungen zu lesen. „Lokales Systemkonto“ verfügt über weitreichendere Rechte als das Benutzerkonto „LocalService“. Daher sollten Sie zunächst versuchen, „dieses Konto“ auf „LocalService“ zu setzen (z. B. „NT AUTHORITY\LocalService“).

Auf der Registerkarte „Wiederherstellen“ sollten Sie die Einstellung „Keine Aktion durchführen“ beibehalten. So haben Sie auch weiterhin die Möglichkeit, den Dienst neu zu starten, falls er abstürzt. Wenn der Dienst ordnungsgemäß funktioniert, hat er bereits Instanzen von InDesign Server mit den angegebenen Anschlüssen/Konfigurationen gestartet. Wenn der Dienst dann abstürzt und die Instanzen von InDesign Server weiterhin aktiv sind, versucht die neue Instanz des Dienstes, neue Instanzen von InDesign Server zu starten. Dies schlägt aber fehl, da die Anschlüsse/Konfigurationen bereits verwendet werden. Diese Einstellungen haben keinen Einfluss darauf, wie der Dienst reagiert, wenn Instanzen von InDesign Server abstürzen. Dieses Verhalten wird über die Registrierungseinstellungen „MaximumFailureCount“, „MaximumFailureIntervalInMinutes“ und „TrackFailures“ unter „HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InDesignCS55ServerWinService“ konfiguriert. Einträge für diese drei Registrierungseinstellungen werden für jede neue Instanz erstellt, die dem Dienst hinzugefügt wird. Das Installationsprogramm fügt keine Instanzen automatisch hinzu. Wenn Sie dem Dienst eine Instanz hinzufügen, werden diese Registrierungseinträge erstellt.

InDesign Server Console Management-Snap-In

Die zweite Komponente des Windows-Dienstes ist das InDesign Server Console Management-Snap-In. Um das Snap-In einer Verwaltungskonsole hinzuzufügen, doppelklicken Sie im Installationsordner von InDesign Server auf die Datei „InDesignServerService.msc“. Sie können das Snap-In einer Verwaltungskonsole auch manuell hinzufügen. Führen Sie dazu die Windows-Anwendung „mmc.exe“ aus und wählen Sie „Datei“ > „Snap-In hinzufügen/entfernen“. Es wird eine Liste aller verfügbaren MMC-Snap-Ins angezeigt. Wenn keine Liste angezeigt wird, klicken Sie auf „Hinzufügen“. Wählen Sie „InDesignServerService“ aus der Liste, um es der aktuellen Konsole hinzuzufügen. Schließen Sie das Dialogfeld „Snap-In hinzufügen/entfernen“.

Um eine InDesign Server-Instanz der Konsole hinzuzufügen, klicken Sie im linken Bereich der Konsole mit der rechten Maustaste auf „InDesignServerService“ und wählen Sie „Neu“ > „Neue InDesign Server-Instanz“. Die neue Instanz übernimmt die Ausfallparameter aus der letzten Instanz. Ihr wird eine Anschlussnummer zugewiesen, die um 1 höher ist als der höchste InDesignServerService-Instanzanschluss. Die Standard-befehlszeile ist leer. Um die Konfiguration einer Instanz anzupassen (Anschlussnummer oder Befehlszeile), doppelklicken Sie im rechten Bereich auf die Instanz. Die Befehlszeile muss wie unter „Starten von InDesign Server von der Befehlszeile aus“ auf Seite 14 beschrieben formatiert sein. Allerdings darf das Argument „-port“ nicht angegeben werden, da es über den Anschlusseintrag definiert wird.

Damit auf einem Rechner mehrere InDesign Server-Instanzen ausgeführt werden können, muss jede Instanz über einen eindeutigen Anschluss oder Konfigurationsnamen verfügen. Diese können über die Anschluss- und Befehlszeileneinstellungen für den Dienst angepasst werden. In der Regel müssen Sie nur die Anschluss- und Befehlszeileneinstellungen für den Dienst bearbeiten. Allerdings gibt es einige andere Einstellungen, die über die Registrierungseinstellungen für die Dienstinstanz geändert werden können:

Page 18: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 2: Installieren und Ausführen von InDesign Server Ausführen von InDesign Server 18

MaximumFailureCount – Legt fest, wie oft der Dienst versucht, eine abgestürzte Instanz neu zu starten.

MaximumFailureIntervalInMinutes – Legt den Zeitraum für „MaximumFailureCount“ fest. InDesign Server muss öfter als „MaximumFailureCount“ Mal innerhalb von „MaximumFailureIntervalInMinutes“ Minuten abstürzen, bevor der Dienst die Versuche zum Neustart einstellt.

TrackFailures – ein boolescher Wert. Bei einem Wert von 1 (Standardwert) versucht der Dienst, InDesign Server neu zu starten; bei einem Wert von 0 tut er dies nicht.

Um diese Einstellungen zu bearbeiten, führen Sie „regedit“ aus und rufen Sie die Schlüssel unter „HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InDesignCS55ServerWinService“ auf. Für jede Instanz, die über InDesignServerService.msc oder das Console Management-Snap-In konfiguriert wurde, ist jeweils ein Schlüsselsatz vorhanden (z. B. „065c361a-0cbe-4917-bf15-5276b1815769“).

Konfigurieren eines launchd-Daemons für InDesign Server unter Mac OSInDesign Server kann unter Mac OS als Hintergrundprozess (Daemon) gestartet werden, ohne dass ein Benutzer unmittelbar eingreifen muss. Durch das Ausführen von InDesign Server als Daemon können Sie InDesign Server zeitgleich mit dem Betriebssystem starten und festlegen, wie bei einem Absturz reagiert werden soll.

Um den Daemon zu konfigurieren, erstellen Sie eine Konfigurationsdatei (plist) mit den erforderlichen Einstellungen und installieren sie im gewünschten LaunchAgents- bzw. LaunchDaemons-Ordner.

Die launchd-Konfigurationsdatei

Erstellen Sie die launchd-Konfigurationsdatei mit einem beliebigen Editor für reinen Text und tragen Sie den XML-Inhalt wie unten beschrieben ein. Speichern Sie die Datei mit der Bezeichnung des Daemons als Dateiname und „.plist“ als Erweiterung (z. B. „com.adobe.ids.launchd.12345.plist“). Sie können plist-Dateien auch mit dem XCode-Dienstprogramm „Property List Editor“ bearbeiten, das Sie unter „Developer/Applications/Utilities“ finden.

In der folgenden Tabelle sind die erforderlichen Einstellungen für einen InDesign Server launchd-Daemon aufgelistet. Eine vollständige Liste der launchd-Optionen finden Sie auf der man-Seite für launchd.

Option Beschreibung

Label Die eindeutige Kennung Ihres Daemons, z. B. „com.adobe.ids.launchd.12345“

OnDemand Dieser Wert muss auf false gesetzt sein, damit InDesign Server nach dem Beenden oder nach einem Absturz wieder gestartet werden kann.

ProgramArguments Ein Array mit den beim Start der Anwendung angegebenen Argumenten als Zeichenfolgen. Das erste Element des Arrays enthält den vollständigen Pfad der Anwendung. Die übrigen Array-Elemente enthalten die Argumente, die beim Starten von InDesign Server über die Befehlszeile verwendet wurden.

Um die Konsolenausgabe aus InDesign Server zu aktivieren, muss das Argument „-LogToApplicationEventLog“ verwendet werden.

RunAtLoad Dieser Wert ist auf true gesetzt. InDesign Server wird gestartet, wenn der Daemon beim Systemstart oder manuell über „launchctl“ geladen wird.

Page 19: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 2: Installieren und Ausführen von InDesign Server Ausführen von InDesign Server 19

Das folgende Beispiel zeigt den XML-Inhalt einer plist-Konfigurationsdatei, die in InDesign Server über SOAP mit Anschluss 12345 ausgeführt wird:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"<plist version="1.0"><dict>

<key>Label</key><string>com.adobe.ids.launchd.12345</string><key>OnDemand</key><false/><key>ProgramArguments</key><array>    <string>/Applications/Adobe InDesign CS5.5 Server/InDesignServer</string>    <string>-port</string>    <string>12345</string>    <string>-LogToApplicationEventLog</string></array><key>RunAtLoad</key><true/>

</dict></plist>

Installieren der Konfigurationsdatei

Um eine launchd-Konfigurationsdatei zu installieren, müssen Sie sie nur auf dem Rechner, auf dem InDesign Server ausgeführt werden soll, in den entsprechenden Ordner kopieren. Wenn Sie mehrere Instanzen von InDesign Server ausführen möchten, können Sie für jede Instanz eine separate Daemon-Konfigurationsdatei anlegen. Bei einer typischen InDesign Server-Installation wird Mac OS X Server ohne Benutzerkonten ausgeführt. Kopieren Sie in diesem Fall die Konfigurationsdatei in den folgenden Ordner:

/Library/LauchDaemons

Wenn Sie InDesign Server unter einem Benutzerkonto ausführen möchten, kopieren Sie die plist-Datei in den LaunchAgents-Ordner im Library-Ordner des Systems oder des Benutzers (möglicherweise müssen Sie den LaunchAgents-Ordner für den Benutzer zunächst erstellen):

/Library/LaunchAgents/Users/<username>/Library/LaunchAgents

Laden des Daemons

Führen Sie einen Neustart des Systems durch, nachdem Sie die plist-Datei in den LaunchAgents-Ordner kopiert haben. Der Daemon wird dann automatisch geladen. Sobald der Daemon geladen ist, wird InDesign Server unter Verwendung der Einstellungen in der plist-Datei gestartet. Geben Sie in einem Terminal-Fenster folgenden Befehl ein, um zu bestätigen, dass der Daemon geladen wurde:

launchctl list

Wenn die Bezeichnung Ihres Daemons aufgelistet ist, wurde er erfolgreich geladen.

Um zu bestätigen, dass InDesign Server ausgeführt wurde, lassen Sie die Liste aller aktiven Prozesse mit der Aktivitäts-Anzeige auflisten.

Sie können den Daemon mit Hilfe des Befehls „launchctl“ manuell laden:

launchctl load /Library/LaunchDaemons/com.adobe.ids.launchd.12345.plist

Page 20: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 2: Installieren und Ausführen von InDesign Server Ausführen von InDesign Server 20

Entladen des Daemons

Sie können den Daemon mit Hilfe des Befehls „launchctl“ manuell entladen. Beachten Sie jedoch, dass die InDesign Server-Instanz durch das Entladen des Daemons nicht ebenfalls beendet wird:

launchctl unload /Library/LaunchDaemons/com.adobe.ids.launchd.12345.plist

Um die InDesign Server-Instanz zu beenden, senden Sie ein entsprechendes Skript an InDesign Server oder beenden Sie den Prozess mit Hilfe der Aktivitäts-Anzeige.

Page 21: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

21

3 Integration von InDesign Server

In diesem Kapitel werden verschiedene Möglichkeiten zur Integration von InDesign Server beschrieben.

„Integration von InDesign Server über SOAP“ auf Seite 21

„Integration mit InDesign Server über ein Zusatzmodul“ auf Seite 24

„Integration mit InDesign Server über COM (nur Windows)“ auf Seite 25

„Integration von InDesign Server über LBQ“ auf Seite 26

Außerdem werden in diesem Kapitel folgende Themen behandelt:

„Handhabung von Fehlermeldungen“ auf Seite 27

„Häufig gestellte Fragen“ auf Seite 28

Integration von InDesign Server über SOAPInDesign Server unterstützt den SOAP-Befehl RunScript, der es Ihnen ermöglicht, ein InDesign Server-Skript auszuführen. Sie können das Skript mit JavaScript, VBScript (nur Windows) oder AppleScript (nur Mac OS) schreiben. Wenn Sie RunScript aufrufen, wird die Skriptdatei an InDesign Server übergeben und InDesign Server führt das Skript intern aus.

Der RunScript-Befehl ist über die InDesign Server-WSDL definiert. Sie können diese WSDL mit branchenüblichen SOAP-Werkzeugen verwenden, um automatisch SOAP-Meldungspakete zu erstellen. Es gibt zwei Methoden zum Anzeigen der WSDL:

Zeigen Sie die InDesign Server-SDK-Datei „IDSP.wsdl“ an.

Greifen Sie nach dem Starten von InDesign Server über HTTP auf die WSDL zu. Verwenden Sie dazu das Argument „-port“ (z. B. „http://localhost:12345/service?wsdl“).

Informationen zum Entwickeln eines SOAP-Clients, der mit InDesign Server kommuniziert, finden Sie unter „Working with InDesign Server SOAP“ im Dokument Adobe InDesign Server Solutions und in den „SampleClient“-Beispielen des SDK.

Verwenden von SampleClient zum Ausführen eines InDesign Server-Skripts

InDesign Server bietet eine SOAP-Client-Beispielanwendung: SampleClient. SampleClient ist eine Befehlszeilenanwendung, die über den InDesign Server-SOAP-Befehl RunScript ein Skript an InDesign Server sendet. Das Skript kann in JavaScript, AppleScript oder VBScript geschrieben werden. SampleClient geht von folgenden Erweiterungen aus: .applescript für AppleScript, .vbs für VBScript. Skripte mit anderen Erweiterungen werden als JavaScript interpretiert.

Das SDK für InDesign-Produkte beinhaltet die Komponenten, die erforderlich sind, um SampleClient zu generieren:

Der Quellcode ist abgelegt unter <IDS SDK>/samples/sampleclient-cplusplus-soap/.

Page 22: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 3: Integration von InDesign Server Integration von InDesign Server über SOAP 22

SampleClient-Befehlszeilenargumente

Über die Argumente für SampleClient geben Sie das System an, auf dem InDesign Server ausgeführt wird, den Anschluss für die SOAP-Kommunikation, den Namen der auszuführenden Skript-Datei sowie an das Skript zu übergebende Argumente. Für SampleClient gilt folgende Syntax (die Argumente werden in der folgenden Tabelle beschrieben):

sampleclient [-host hostID:port] [-server] skript-pfad [argumente][-repeat anzahl_der_wiederholungen] [-h]

Argument Beschreibung

argumente Optional. Ein oder mehrere Name/Wert-Paare, über die Argumente an das Skript übergeben werden. Das Format lautet argname=wert, wobei argname für den Namen des Arguments steht und wert für dessen Wert. Trennen Sie mehrere Argumente mit Leerzeichen. Beispiel:

sampleclient -host localhost:18383 /myScript.jsx myArg="hello world"

Skripte können den Argumentwert lesen, indem sie die Methode „get“ des Objekts „scriptArgs“ im Anwendungsobjekt verwenden. Mit dem folgenden Befehl wird z. B. das Argument myArg abgerufen:

myArg = app.scriptArgs.get("myArg");

-h Optional. Zeigt kurze Beschreibungen dieser Argumente an.

-host hostID:port

Optional. Der Host, auf dem InDesign Server ausgeführt wird. hostID kann eine der folgenden Kennungen für das System sein, auf dem InDesign Server ausgeführt wird: die IP-Adresse des Systems, der Hostname des Systems (z. B. „ourhost.corp.company.com“) oder das Schlüsselwort „localhost“, wenn InDesign Server auf dem gleichen Computer ausgeführt wird wie SampleClient. Es werden sowohl IPv4- als auch IPv6-Adressen akzeptiert. port ist die Host-Anschlussnummer, die konfiguriert wurde, um SOAP-Meldungen zu empfangen. Beispiel:

-host 10.0.0.1:18383-host [fe80::405:2345:fe56:8901]:18383

Auf einem lokalen System:

-host localhost:18300

-repeat Optional. Bestimmt, wie oft das Skript ausgeführt werden soll.

Page 23: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 3: Integration von InDesign Server Integration von InDesign Server über SOAP 23

skript-pfad Erforderlich. Ohne das Argument „-server“ bezeichnet skript-pfad den Pfad der Skript-Datei im lokalen Dateisystem. Dabei kann es sich um eine absolute oder eine relative Pfadangabe (relativ zum aktuellen Arbeitsverzeichnis) handeln. Wenn das Argument „-server“ verwendet wird, kann skript-pfad zwei Formate annehmen. Zum einen kann skript-pfad eine absolute Pfadangabe zum Skript auf der Grundlage des Dateisystems sein, auf dem die InDesign Server-Instanz ausgeführt werden soll.     

Unter Windows:

C:\<myScriptsFolder>\myScript.jsx

Unter Mac OS:

~/<myScriptsFolder>/myScript.jsx

Zum anderen kann skript-pfad auf einer vordefinierten Pfadkonstante basieren. InDesign Server definiert zwei Pfadkonstanten: Scripts:Application und Scripts:User. Scripts:Application steht für den Skript-Ordner der Anwendung. Speicherort:     

Unter Windows:

C:\Program Files\Adobe\Adobe InDesign CS6 Server\Scripts\

Unter Mac OS:

/Applications/Adobe InDesign CS6 Server/Scripts/

Scripts:User steht für den Skript-Ordner des Benutzers. Speicherort:     

Unter Windows:

C:\Dokumente und Einstellungen\<benutzername>\Anwendungsdaten\ Adobe\InDesign Server\<version>\<sprache>\configuration_12345\Scripts\

Unter Windows Vista und Windows Server 2008:

C:\Users\<benutzername>\AppData\Roaming\Adobe\<version>\<sprache>\configuration_12345\Scripts\

Unter Mac OS:

/Users/<benutzername>/Library/Preferences/Adobe InDesign Server/<version>/<sprache>/configuration_12345/Scripts

Legen Sie Ihre Skript-Datei in einem der Skript-Ordner auf dem Rechner mit InDesign Server ab und übergeben Sie den entsprechenden Pfad an SampleClient. Beispiel (beachten Sie, dass Sie sowohl unter Windows als auch unter Mac OS einen Doppelpunkt (:) als Pfadtrennzeichen verwenden müssen):

Scripts:Application:myScript.jsxScripts:User:myScript.jsx

-server Optional. Wenn dieses Schlüsselwort festgelegt ist, wird davon ausgegangen, dass skript-pfad für eine Datei auf dem Computer steht, auf dem InDesign Server ausgeführt wird. Andernfalls wird davon ausgegangen, dass skript-pfad für eine Datei auf dem lokalen Computer steht, auf dem SampleClient ausgeführt wird.

Argument Beschreibung

Page 24: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 3: Integration von InDesign Server Integration mit InDesign Server über ein Zusatzmodul 24

Starten von SampleClient

1. Sie benötigen eine Skript-Datei, die von InDesign Server ausgeführt werden kann. Sie können eines der Beispielskripte des InDesign Server-SDK verwenden oder ein eigenes Skript mit Hilfe der InDesign-Skript-API schreiben. Wenn Sie ein Skript schreiben, beachten Sie, dass InDesign Server keine Benutzeroberfläche hat. Stellen Sie daher sicher, dass das Skript nicht mit Benutzeroberflächenkomponenten arbeitet.

2. Starten Sie InDesign Server für die Verwendung mit SOAP. Informationen finden Sie unter „Starten von InDesign Server für die Verwendung mit SOAP“ auf Seite 14. Notieren Sie den Host und den Anschluss, über die InDesign Server gestartet wird.

3. Öffnen Sie ein neues Befehlszeilenfenster (unter Windows verwenden Sie die Eingabeaufforderung, unter Mac OS das Dienstprogramm „Terminal“).

4. Ändern Sie die Verzeichnisse in den Pfad von SampleClient:

64-Bit-Windows:

cd "C:\Program Files\Adobe\Adobe InDesign CS6 Server x64"

Mac OS:

cd '/Applications/Adobe/Adobe InDesign CS6 Server'

5. Führen Sie den SampleClient-Befehl mit dem entsprechenden Host, Anschluss und Skriptdateipfad aus. Beispiele:

Wenn InDesign Server lokal ausgeführt wird:

sampleclient -host localhost:18383 eigenerSkriptpfad

Wenn InDesign Server auf einem anderen System ausgeführt wird:

sampleclient -host 192.168.1.100:18383 eigenerSkriptpfad

6. SampleClient zeigt Meldungen und den Rückgabewert für das Skript im Befehlszeilenfenster an, sodass Sie es für die Überwachung verwenden können.

Integration mit InDesign Server über ein ZusatzmodulFür das Entwickeln eines Zusatzmoduls für InDesign Server sind die gleichen grundlegenden C++- und objektorientierten Programmier- und Designkenntnisse notwendig wie beim Entwickeln von Zusatzmodulen für InDesign. Da InDesign Server keine Benutzeroberfläche hat wie sein Desktop-Gegenstück, müssen viele besondere Aspekte berücksichtigt werden, wenn ein neues Zusatzmodul erstellt oder ein vorhandenes InDesign-Zusatzmodul für die Verwendung in InDesign Server portiert wird.

Unter „InDesign Server Plug-in Techniques“ im Dokument Getting Started with Adobe InDesign Plug-In Development wird beschrieben, wie Zusatzmodule geschrieben werden, die sicher in der InDesign Server-Umgebung ausgeführt werden können. In diesem Dokument wird außerdem die Entwicklung von 64-Bit-Zusatzmodulen erläutert.

Damit vorhandene Zusatzmodule unter InDesign Server x64 ausgeführt werden können, müssen Sie sie in eine 64-Bit-Version umwandeln.

Um über Skripte mit dem Zusatzmodul zu kommunizieren, müssen Sie das Modul skriptfähig machen. Weitere Informationen finden Sie im Kapitel „Scriptable Plug-in Fundamentals“ im Adobe InDesign Plug-In Programming Guide. Hier wird erklärt, wie Sie die API des Zusatzmoduls durch das Skript-DOM darstellen können.

Page 25: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 3: Integration von InDesign Server Integration mit InDesign Server über COM (nur Windows) 25

Integration mit InDesign Server über COM (nur Windows)InDesign Server veröffentlicht eine COM-Typenbibliothek, mit der COM-Komponenten mit Schnittstelle zu InDesign Server entwickelt werden können. Die Typenbibliothek enthält Definitionen von Klassen, Methoden und Konstanten des Skript-DOM für InDesign Server.

InDesign Server basiert auf Zusatzmodulen, daher ist das Skript-DOM davon abhängig, welche Zusatzmodule beim Starten verfügbar sind. Damit ihre Gültigkeit gewährleistet ist, wird die Typenbibliothek für InDesign Server beim Starten erstellt bzw. aktualisiert und auf der lokalen Festplatte gespeichert. Die generierte .tlb-Datei wird im Ordner „Application Data“ abgelegt:

C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Adobe\InDesign Server\<version>\<sprache>\configuration_12345\Scripting Support\<version>\Resources for Visual Basic.tlb

Unter Windows Vista und Windows Server 2008:

C:\ProgramData\Adobe\InDesign Server\<version>\<sprache>\configuration_12345\Scripting Support\<version>\Resources for Visual Basic.tlb

In diesen Pfadangaben steht „configuration_12345“ für den Konfigurationsnamen der InDesign Server-Instanz, von der die Tabellendatei erstellt wurde.

Da die COM-Typenbibliothek für InDesign Server auf dem Skript-Modell mit flexibler Typbindung von InDesign Server basiert, verwendet sie ebenfalls die flexible Typbindung. Beachten Sie bei der Auswahl einer Sprache zur Entwicklung Ihrer COM-Komponenten, dass sich mit größerer Flexibilität in der Typbindung auch die Kompatibilität mit der COM-Typenbibliothek für InDesign Server verbessert.

Visual BasicAm besten geeignet für die Entwicklung einer COM-Komponente für InDesign Server ist Visual Basic 6. Neuere Versionen von Visual Basic verwenden eine engere Typbindung, wodurch sich die Kompatibilität mit dem InDesign Server-DOM mit flexibler Typbindung verschlechtert.

Die Verwendung von Visual Basic .NET ist ebenfalls möglich, sofern Sie die Kompilierungsoptionen „Option Explicit“ und „Option Strict“ für das Projekt deaktivieren. Dadurch wird die enge Typbindung von VB.NET gelockert. Sie sollten außerdem vermeiden, Variablen über die Anweisung „Dim“ zu deklarieren, da dadurch der Typ der Variablen fixiert wird. Da Projekte nur abgeschlossen werden können, wenn Variablen über „Dim“ deklariert werden, können Sie die Deklaration in der Regel am Anfang einer Methode mit „Dim“ durchführen und die Dim-Anweisung dann vor der Ausführung des Codes mit „REM“ auskommentieren.

Damit Sie die COM-Typenbibliothek für InDesign Server in Ihrem Projekt verwenden können, müssen Sie Zugriff auf die interop-DLL für InDesign Server haben. Unter .NET erreichen Sie dies durch einen Verweis auf die .tlb-Datei. Klicken Sie mit der rechten Maustaste auf Ihr Projekt und wählen Sie „Verweis hinzufügen“. Wechseln Sie zur COM-Registerkarte und suchen Sie den Eintrag „Adobe InDesign CS6 Server Type Library“. Wenn dieser nicht aufgelistet ist, müssen Sie zunächst InDesign Server auf Ihrem Rechner starten, damit InDesign Server die Typenbibliothek erstellt.

Um einen Verweis auf eine Instanz von InDesign Server in Ihrem Code zu erstellen, verwenden Sie die Methode „CreateObject“. Beachten Sie, dass Sie bei mehreren Instanzen mit „CreateObject“ die InDesign Server-Zielinstanz für das Skript nicht angeben können.

Set myApp = CreateObject("InDesignServer.Application")

Um einen Verweis auf eine bestimmte Instanz von InDesign Server in Ihrem Code zu erstellen, verwenden Sie die Methode „GetObject“ und übergeben Sie den Konfigurationsnamen der gewünschten InDesign Server-Instanz.

Set myApp = GetObject("configuration_12345")

Page 26: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 3: Integration von InDesign Server Integration von InDesign Server über LBQ 26

Weitere Informationen und Beispiele finden Sie im Ordner „<IDS SDK>/samples/“ sowie im Dokument Adobe InDesign Scripting Guide.

C#

C# ist zum Entwickeln von COM-Komponenten weniger geeignet. Aufgrund der engen Typbindung von C# und der flexiblen Typbindung des Skript-DOM von InDesign Server gibt es eine Reihe von Problemen zwischen beiden Sprachen. Bei sorgfältiger Typisierung und präziser Parameterübergabe ist es jedoch möglich, einfache COM-Komponenten für InDesign Server zu schreiben.

Eine mögliche Lösung besteht darin, über C#-Code die Methode „doScript“ von InDesign Server aufzurufen und eine Skript-Datei bzw. den Text eines Skripts zu übergeben. Ein Beispiel hierfür ist „sampleclient-csharp-com“ im InDesign Server-SDK.

Beim Entwickeln komplexer Komponenten in C# können u. a. die folgenden Probleme auftreten:

C# basiert auf enger Typbindung, d. h., der Typ eines Objekts muss immer bekannt sein. Die Folge ist, dass der Typ sämtlicher Objekte, die vom Skript-DOM abgerufen werden, deklariert sein muss. Dies ist kein Problem, solange der Typ jedes Objekts bekannt ist. Allerdings akzeptieren viele Methoden im Skript-DOM Variablentypen bzw. geben diese zurück und es ist nicht immer möglich, den Typ einer zurückgegebenen Variable vorherzusehen.

Sie müssen beim Aufrufen von Methoden sämtliche Parameter angeben, auch wenn diese im Skript-DOM optional sind. Die Übergabe von „null“ ist nicht zulässig. Parameter müssen vollständige Objekte sein.

In bestimmten Situationen ist das Arbeiten mit optionalen Parametern u. U. nicht möglich. Dies ist z. B. der Fall, wenn eine Methode in der Skript-DOM zulässt, dass der erste Parameter nicht übergeben wird, sodass InDesign Server stattdessen den zweiten Parameter verarbeitet. Mit C# ist dies nicht möglich.

Um in C# einen Verweis auf eine InDesign Server-Instanz zu erstellen, verwenden Sie die InteropServices-Methode „Marshal.BindToMoniker“:

myApp = (InDesignServer.Application)(System.Runtime.InteropServices.Marshal.BindToMoniker("configuration_12345"));

Weitere Informationen und Beispiele finden Sie im Ordner „samples/“ im InDesign Server-SDK.

Integration von InDesign Server über LBQInDesign Server beinhaltet die optionale Komponente LBQ, die Funktionen für das Stellen von Aufträgen in Warteschlangen und für Lastverteilung in InDesign Server bietet. LBQ ist vollkommen optional und für das Ausführen von InDesign Server nicht erforderlich. Es ist eine Lösung für Lastverteilung und Auftragswarteschlangen.

LBQ bietet Lastverteilung für mehrere Instanzen von InDesign Server, die auf einem oder mehreren Rechnern ausgeführt werden. Es verwendet CORBA für die Kommunikation mit diesen Instanzen von InDesign Server, sodass jede Instanz wie unter „Starten von InDesign Server für die Verwendung mit CORBA“ auf Seite 14 beschrieben gestartet werden muss.

Zusätzlich zur Lastverteilung und Warteschlangenbildung unterstützt LBQ folgende Funktionen:

Priorisieren von Warteschlangen

Statussichtbarkeit

Protokollierung

Page 27: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 3: Integration von InDesign Server Handhabung von Fehlermeldungen 27

Mehrere Warteschlangen

Bearbeiten von Aufträgen in Warteschlangen

Clients interagieren mit LBQ über eine RESTful API. RESTful API-Aufrufe werden über eine URL-Anfrage durchgeführt. Nach Ausführen einer Anfrage wird eine XML-Antwort zurückgegeben.

LBQ unterstützt folgende Vorgänge:

EnqueueJob

ModifyJob

CancelJob

StartQueue

StopQueue

ReinitializeQueue

GetVersion

JobStatus

QueueStatus

IDSStatus

Ping

Kill

Genaue Beschreibungen dieser Vorgänge sowie hilfreiche Informationen zur Arbeit mit LBQ finden Sie unter „Working With Load Balancing and Queueing“ im Dokument Adobe InDesign Server Solutions.

Handhabung von FehlermeldungenInDesign Server protokolliert seine Meldungen und Fehler in „stderr“ und „stdout“. Diese Fehler und Meldungen können erfasst oder umgeleitet werden.

Zugreifen auf Fehler und MeldungenVon einem Zusatzmodul aus können Sie die C++-APIs „MessageLog“ und/oder „IErrorList“ verwenden. Dies wird unter „InDesign Server Plug-in Techniques“ im Dokument Getting Started with Adobe InDesign Plug-In Development näher erläutert.

Umleiten von Fehlern und MeldungenWenn Sie InDesign Server aus einer Anwendung heraus ausführen, können Sie „stdout“ und „stderr“ so konfigurieren, dass Meldungen von InDesign Server an Ihre Anwendung übertragen werden.

Unter Windows können InDesign Server-Meldungen in das Anwendungsprotokoll der Windows-Ereignisanzeige umgeleitet werden, indem InDesign Server mit dem Argument „-LogToApplicationEventLog“ gestartet wird. Wenn Sie InDesign Server vom InDesign Server Windows-Dienst aus ausführen, werden protokollierte Meldungen automatisch in das Anwendungsprotokoll der Windows-Ereignisanzeige umgeleitet. Das Ereignisprotokoll kann in der standardmäßigen Ereignisanzeige der Computerverwaltung angezeigt werden.

Page 28: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

KAPITEL 3: Integration von InDesign Server Häufig gestellte Fragen 28

Unter Mac OS können Sie Meldungen in die Systemkonsole umleiten, indem Sie InDesign Server mit dem Argument „-LogToApplicationEventLog“ starten. Das Protokoll kann über das Dienstprogramm „Konsole“ eingesehen werden.

Häufig gestellte FragenKann ich sowohl einen SOAP-Anschluss als auch eine IOR-Datei festlegen, wenn ich den Server starte?

Ja. InDesign Server kann SOAP- und CORBA-Befehle gleichzeitig verarbeiten. Allerdings kann dadurch die Systemleistung beeinträchtigt werden.

Gibt es ein Verzeichnis aller Klassen und Methoden in der Skript-DOM von InDesign Server?

Ja. Eine Object Model Reference für InDesign Server ist über das Hilfe-Menü in Adobe ExtendScript Toolkit verfügbar.

Kann ich mit InDesign Server kommunizieren, wenn ich es ohne SOAP starte?

Ja. Sie können über JavaScript, AppleScript, VBScript oder COM mit InDesign Server kommunizieren, ohne SOAP zu verwenden.

Wie gebe ich einen Wert von meinem Skript an den SOAP-Client zurück?

In JavaScript und AppleScript ist der Rückgabewert eines Skripts der letzte im Skript angetroffene Wert. In VBScript definieren Sie eine Variable mit der Bezeichnung „returnValue“, um einen Rückgabewert für das Skript festzulegen. Jedes der folgenden Beispiele gibt den Namen des Dokuments am ersten Index zurück.

JavaScript:

var documentName = app.documents.item(0).name;documentName;

AppleScript:

tell application "InDesignServer"set documentName to name of document 1

end telldocumentName

VBScript:

Set myApp = CreateObject("InDesignServer.Application")documentName = myApp.Documents.Item(1).NamereturnValue = documentName

Page 29: EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 …€¦ · EINFÜHRUNG IN DIE ENTWICKLUNG MIT ADOBE INDESIGN CS6 SERVER ... Einführung in die Entwicklung mit Adobe® InDesign®

29

4 Nächste Schritte

Nachdem Sie sich mit der Vorgehensweise zum Ausführen von InDesign Server und der Verwendung von SOAP beim Ausführen von Beispielen aus dem SDK vertraut gemacht haben, möchten Sie u. U. die Funktionen von InDesign Server erweitern. Schreiben Sie dazu Skripte, Zusatzmodule oder sogar Anwendungen, die InDesign in einen Satzdatei-Workflow integrieren.

Dieses Kapitel enthält Informationen zu weiterführenden Ressourcen, die Ihnen beim Schreiben solcher Skripte, Zusatzmodule und Anwendungen behilflich sein können.

InDesign Server-Skripterstellung und -Zusatzmodule Um Informationen zum Schreiben von Skripten und Zusatzmodulen für InDesign und InDesign Server zu erhalten, lesen Sie folgende Dokumente:

Adobe InDesign Plug-In Programming Guide – Bietet Informationen zum Erstellen von C++-Zusatzmodulen für InDesign Server.

Adobe InDesign Scripting Guide – Bietet grundlegende Informationen und zahlreiche Beispiele zum Erstellen von Skripten in InDesign. Es gibt drei Versionen dieses Dokuments: für AppleScript, JavaScript und VBScript.

Getting Started with Adobe InDesign Plug-In Development, Kapitel „InDesign Server Plug-in Techniques“.

Adobe InDesign Server Solutions, folgende Kapitel:

“Working with InDesign Server SOAP.”

„InDesign Server Scalability and Performance“ – Bietet Benchmarks und Informationen zum Konfigurieren des Systems, um die Leistung und Skalierbarkeit von InDesign Server zu optimieren.

Adobe Scripting von Chandler McWilliams. New York: Wiley Publishing Inc., 2003. ISBN 0-7645-2455-0.

JavaScriptDokumentation zur JavaScript-Sprache und Beschreibungen zur Verwendung finden Sie hier:

JavaScript: The Definitive Guide, 4th Edition von David Flanagan. O’Reilly, 2001. ISBN 0-596-00048-0.

JavaScript Bible. 5th Edition von Danny Goodman und Michael Morrison. John Wiley and Sons, 1998. ISBN 0-7645-57432.

JavaScript Programmer's Reference von Cliff Wooton. Wrox, 2001. ISBN 1-861004-59-1.

SOAPInformationen zur Kommunikation mit SOAP finden Sie im SOAP Primer von W3C unter http://www.w3.org/TR/soap12-part0/.


Recommended