Weblog
InDesign Server CS3
geschreven op 12-06-2008 door Patrick C. Kannekens
|
Adobe InDesign CS3 Server, Database Publishing, Web2Print en wat nog meer...
Vanuit mijn werkzaamheden moet ik mij bezighouden met Adobe InDesign CS3 Server. Nu is InDesign Server op zich weinig nieuws onder de zon (vanuit Adobe gezien), maar qua documentatie valt het best tegen. Die bestaat namelijk niet echt voor CS3 Server. Er zijn korte document waarop deels staat uitgelegd hoe je bijv. moet communiceren, maar niet echt tips en trucs over hoe je bepaalde zaken, die normaliter 1 muisklik verwijderd zijn, moet afhandelen met code. Database Publishing / Web2PrintDatabase Publising (ook wel Web2Print genoemd) is het verschijnsel dat is ontstaan vanuit het behoefte om de kosten op drukwerk te reduceren. Organisaties zijn vaak veel geld kwijt voor standaarddrukwerk, maar al helemaal voor drukwerk wat iedere keer opgemaakt moet worden, zoals bijvoorbeeld een folder, of een advertentie. Om dit het hoofd te kunnen bieden, is Database Publishing in het leven geroepen. Dit is een techniek die er voor zorgt dat men op basis van een vooraf gedefinieerde vormgeving (ook wel template) zelf het stuk drukwerk kan vullen. Dit heeft tot gevolg dat, afhankelijk van het pakket uiteraard, iedereen met een basis kennis van Microsoft Word een folder kan vullen. Web2Print is een variant hierop, waarbij men de overstap heeft gemaakt om de applicatie webbased te maken, in plaats van een standalone applicatie. Dit heeft als voordelen onder andere dat men vrijer kan zijn in de vormgeving van de applicatie (en eventueel dit klantspecifiek kan maken) en dat de code voor de applicatie centraal staat (en dus iedereen kan meegenieten van updates en productverbeteringen). Adobe InDesign Server CS3Adobe InDesign Server CS3 is de server instantie van het welbekende DTP pakket. Het verschil met "gewoon" InDesign is dat de server editie geen grafische schil heeft, geen aansturing vanuit de gebruiker middels de muis, en eigenlijk niet eens zichtbaar is. Door middel van code wordt de applicatie aangestuurd en worden opdrachten gegeven om een bepaalde template te openen, een vlak te vullen, te exporteren naar PDF, etc. Beslissingen / Problemen / ValkuilenEen van de besluiten die moet worden genomen als men gaat met Adobe InDesign Server is op basis van welk platform men gaat werken. Kies je voor een Windows omgeving, of voor een Mac XServe oplossing?Dan komt de vraag : “In welke taal ga je ontwikkelen?”. De keuze hierin is VBScript, JavaScript of AppleScript. De keuze hierin ligt aan de affiniteit van de programmeur (lees: ontwikkelteam) met de gegeven taal. De DOM (document-object-model) blijft hetzelfde, ongeacht de taal. Dit model is overigens wel erg belangrijk om te weten tijdens de ontwikkeling. Als je het model onder knie hebt, gaat de ontwikkeling als een stuk eenvoudiger. Een van de grote problemen voor een ontwikkelaar van een database publishing applicatie op basis van een instantie van InDesign Server is dat je niet kan zien wat je doet. Het script wat wordt uitgevoerd kan technisch en semantisch kloppen, maar kan nog steeds een ongewenst resultaat opleveren. Een oplossing hiervoor is door de Adobe ExtendScript Toolbox te gebruiken. Hierbij kan je InDesign (de grafische client versie) kiezen en daar je code op los laten. Dan zie je in InDesign zelf ook wat er gebeurd aan de hand van de eigen geschreven programmatuur. Als het dan klopt, kan de code weer worden overgenomen om te worden gebruikt in InDesign Server. Daarnaast is het verstandig om rond lastige blokken code een try-catch structuur te bouwen. Maar daarbij komt uiteraard het volgende probleem. Een programmeur is doorgaans niet grafisch aangelegd. Er is altijd een spanningsveld tussen wat de ontwerper wilt en de programmeur kan (of wil). Dus om überhaupt te kunnen beginnen met database publishing is bij voorbaat kennis nodig van InDesign. Als je niet weet hoe InDesign werkt, is het erg lastig om InDesign Server aan te sturen (want je weet eigenlijk niet wat je moet doen, of waarmee). Het projectteam wat hiermee aan de slag gaat moet dus van alle markten thuis zijn. Daarnaast zijn er issues met betrekking tot het aanmaken en onthouden van variabelen binnen InDesign Server. Je kan bijvoorbeeld het volgende doen als je het pagina item “Kleurvlak” wilt aanspreken op de MasterPage: var myDocument = app.documents.item(0); var myMasterSpread = myDocument.MasterSpreads.item(0); var myMasterPage = myMasterSpread.pages.item(0); var myMasterPageItem = myMasterPage.pageItems.item(‘Kleurvlak’); Dit is wenselijker dan : app.documents.item(0).MasterSpreads.item(0).pages.item(0). pageItems.item(‘Kleurvlak’); Een goede (en dus luie) programmeur wil niet iedere keer de variabelen declareren en toewijzen. Dit is helaas wel verplicht als je iedere keer aparte calls doet richting de server. Het is daarom wijs om het volledige script samen te voegen, vooraleer het naar InDesign Server wordt gestuurd. Overigens is het niet veel moeilijker dan het bouwen van menig andere web-applicatie. Wanneer men de documentstructuur van InDesign goed onder de knie heeft, is het ‘wollige’ er af en kan men erg goed uit de voeten. Toegegeven, het begin is moeilijk, maar dat is toch juist de uitdaging? ;-) Als er overigens vragen zijn naar aanleiding van dit stukje, aarzel dan niet om het contactformulier in te vullen :-) |
22-01-2009 Het beest nadert
22-12-2008 Update
10-08-2008 Love and marriage
19-07-2007 Publiciteit
04-06-2007 Een nieuwe verwelkoming
01-06-2007 Verwelkomen en afscheid nemen
05-03-2007 Gewonnen!!!
02-03-2007 Search Engine Optimalisation
19-02-2007 Jeugdsentimenten
16-02-2007 Huizen, hypotheken, bellen, notarissen, offertes
29-01-2007 Lichtdoos
18-01-2007 Hoor de wind waait door de bomen...
06-12-2006 T.R.I.
30-10-2006 Kiezen, kiezen, kiezen
13-10-2006 Blue and yellow purple pills
10-10-2006 Bedompt vakantiegevoel
14-09-2006 Vakantiegevoel
28-08-2006 Mailing ook al online!
22-08-2006 Weblog online!
20-08-2006 Harley dag in Breda


