CIP 4 Tools Tutorial ixJED Scripting at work November 6, 2005 Koen Van de Poel
2 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – In search for more automated tools Did use own tools + CIP4 tools But needed ability to simulate more complex interactions test tools for non-JDF skilled operators fully automated JMF validation (including plates/previews) Looked at Build ourselves Outsource a custom made system Wait till full validation systems become available
3 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Solution ixJED scripting environment has the basic commands to build easily a simulation Open for later enhancements Prebuild device simulator ICS validators?
4 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Use case 1 Automated nightly build verification
5 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Use case: automated nightly build test Description Nightly full rebuild of ApogeeX prepress, install and launch Auto load test suite of jobs (JDF and non JDF) the 'tester of the day' inspects the results time consuming and boring Improvement request Need auto validation if correct plates produced for reference MIS jobs Check JDF/JMF code as MIS or Press controller would read it Validate all messages But does not replace manual check
6 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Needed MIS simulator Submit job Check returned signals (plates) Press simulator Check resource commands (plates/previews)
7 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – JMF sequences handled
8 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – MIS Simulator Press Simulator Overview Prepress Submit Extract Plates Previews Fixup Extract Plates ResSign al Plates Update table Warnings ResCmd Plates ResCmd Previews Update table Warnings Display Preview
9 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Prepress MIS simulator Takes a MIS JDF ( or set) Fixes it (subscription URL, DeviceID, content URL) Sends to prepress system and press simulator Extracts table with ExposedMedia (plates/proofs) Receives ResourceSignals ExposedMedia Checks for match with table, displays Color name changes (Spot1 PANTONE 234 U) Missing plates "Unknown" plates Changed quantities (plate remakes)
10 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Prepress Press simulator Receives JDF Extracts table with ExposedMedia / Previews Receives ResourceCommands ExposedMedia / Previews ExposedMedias (plates) Checks for match with table, displays Color name changes (Spot1 PANTONE 234 U) Missing plates "Unknown" plates Previews Verifies URL Displays PPF previews using ImpoStrip KeySetting
11 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Integrating in automated build system Command line interfacing allows to start specific scripts, pass parameters and return result code All results gathered in central test report Multiple ixJEDs can be spawned, UI can be hidden Easy to catch results and integrate into test log
12 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Other Use cases
13 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – checking/showing JMF messages Description Running a prepress job can generate 100s of JMF messages Impossible for QA/developers to check these manually by opening in editor one by one (time consuming, error prone, boring and needs JDF skills Should never trust log files of generating application Solution JMF messages are properly responded, captured and analysed Validated against the schema Dumped in a 'readable' format for none JDF skilled operator Optionally dump in spreadsheet format for later analysis
14 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – showing Device Info Problem JMF Known devices returns a lot of interesting info but DevCaps are not so readable Solution Decode to readable format, convert points to cm etc. DeviceID: 'PlatesetterTIFF'; FriendlyName: 'TIFF Platesetter'; Status: 'Running'. 'Resolution' with min: ' ' dpi ; max: ' ' dpi 'Dimension' with min: '0x0 cm'; max: '406.4x406.4 cm' Supported JDF Process: 'ImageSetting' MediaType: 'Plate' Operation: 'output' with paramset: 'Initial' <= default
15 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – testing KnownMessages Problem Testing all supported JMF commands in a flexible way Validation against schema Use KnownMessages to find supported commands Borrowed from Alces Solution Script JMFTestValidate: send KnownMessages, send test message for each supported message, validate
16 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Fixing up JDF files Problem Large set of test files from different MIS vendors Need to adjust or add Unique JobID Subscription URLs DeviceID to available devices Paths to content files (or add them) TimeStamps, start/end time
17 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Log of fixes Modified from: 'SP52' to: 'R906' at: /jdf:JDF[1]/jdf:JDF[1]/jdf:ResourcePool[1]/jdf:Device[1] Modified from: 'AGFA_XVLF' to: 'PlatesetterTIFF' Modified at Modified at Modified at Modified at Modified at Modified from: 'file://agbgs01Public/KVDP_PDF/Get_the_Knowledge_COVER_U.pdf' to: 'file:///D:/Content/Get_the_Knowledge_COVER_U.pdf'
18 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Playing back sequences Problem Catching a complete sequence can be time consuming if a lot of operator interaction is involved Need to compare sequences of reference build against a new build Need to refine script without real connection Solution ixJED captures all messages to a folder Folder is then saved and a separate aync thread posts them again for replay
19 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Experiences
20 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Experiences with ixJED simulator Beta testing for 3 months Experiences with ixact quick responses to reported problems (within 2 days) Not blindly fixing problems but always checking against standards / RFC Uses standard scripting environment (lua) Uses dotnet (xml parsing, http protocol) Good support for mime files
21 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Using lua for scripting A bit like phyton (but footprint), no compilation Speed is OK Powerful table/array handling (but unusual) Good error messages with suggestions (at exact point) Very basic editor in ixJED Weak point: variables Auto declaration Global by default No warning on redeclaration
22 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Improvements Large memory leaks (lua arrays, in resolution) Better editor (search, …) No integrated http server for content etc. Intelligent compare against reference files dotnet window handling (drives you crazy) Building a simple UI (just added now) Interactive: editing in source code
23 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Modes All in one environment Interactive Editing, send/receive JMF, building/editing mime, tracing Scripting "Lights out" mode: driven from batch script Still use XMLSpy for editing checkJDF an JDFEditor for validation
24 CIP4 Tutorial Strasbourg ixJED simulator Koen Van de Poel – Demo time Script to trace plates Send/validate known messages Dumping DeviceInfo Fixing up JDF files