Getting support............................12 Preparing for development................13 Installing the development environment....................13 Manually associating JavaScript files with Eclipse...................14 Accessing the Lexmark Document Distributor Script Reference Guide............14 Developing workflow solutions..............15 Best practices for solution design......................15 Creating a new workflow solution project....................16 Understanding the contents of a workflow solution project..............16 Managing solution projects........................17...
Page 3
Creating a new component project......................71 Understanding the contents of a component project................71 Including a component in a workflow solution project................72 Troubleshooting..................73 Network connection problems occur when installing or updating plug‑ins in Eclipse......73 The Lexmark Solution Development perspective or other features are missing........73...
Page 4
Contents Auto‑complete does not work or items are missing in auto‑complete lists for LDD objects....73 A properties file updated using revision control does not update............74 LDD system times out when directly exporting a solution..............74 The MFP emulator does not run......................74 The MFP emulator runs but cannot be discovered in LMC..............75 The Backspace and left arrow keys do not work when viewing LMC in Eclipse........75 Notices.......................76...
Users can submit paper documents from multifunction printers, or they can submit digital documents from individual computers. For more information about Lexmark Document Distributor, see the Lexmark Document Distributor Administrator's Guide, available at http://support.lexmark.com.
Confirmation See the Lexmark Document Distributor Administrator's Guide for more information about each stage. A workflow solution usually provides a new profile, or a type of job a user can initiate, on a device or software client to which it is deployed.
Workflow solution scripts are written using JavaScript. See a JavaScript reference for information on core programming methods. Lexmark Document Distributor includes the LDD SDK for development of scripts, supporting components, and packaged solutions.
What is the LDD SDK? The LDD SDK is a group of plug‑ins included with Lexmark Document Distributor for the Eclipse IDE, which is available from http://www.eclipse.org. The SDK provides tools for creating solutions for Lexmark Document Distributor, allowing you to write scripts, edit solution settings and device policies, develop components, and package finished solutions.
X862x 2,3,4,5 • X864x These printers may be identified as corresponding single‑function (“C,” “T,” or “W”) models in Lexmark Management Console. Scanning functionality is not affected. These printers may require additional memory to support eSF applications. Supports Simplified Chinese prompting...
Page 10
Getting started Single‑function printers e‑Task 2+ printers with a touch screen e‑Task 2 printers without a touch screen Supported T656x • T654x printers • W850x Supported • • ArrayPrompt ArrayPrompt prompts • • AuthenticationPrompt (requires a AuthenticationPrompt (requires a supported card reader) supported card reader) •...
Page 11
Getting started Single‑function printers e‑Task printers without a touch screen e‑Task 3 printers with a touch screen Supported printers • • C520x C792 • • C522x C925 • • C524x C950 • C530x Notes: • C532x • These printers support Simplified Chinese, Traditional •...
LDD SDK plug‑in versions Note: You can find the SDK plug‑in versions by clicking Help > About Eclipse Platform, and then clicking Plug‑in Details in the dialog that appears. LDD SDK plug‑ins list the provider as “Lexmark International Inc.” •...
For online installation (inside the Lexmark network): In Eclipse, click Help > Install New Software > Add. Type http://hyperion.mw.lexmark.com/lddsdk/current/ in the Location field, and then click OK. If the Password Required window appears, enter your user name and password, and then click OK.
Preparing for development Perspectives provide predefined layouts and editor sets in Eclipse. The Solution Builder Toolkit includes the Lexmark Solution Development perspective that should be used when developing solutions for LDD 4.x. Click Window > Open Perspective > Other. Select Lexmark Solution Development from the list, and then click OK.
Developing workflow solutions Developing workflow solutions Best practices for solution design Follow these guidelines when developing the workflow and user interface of a solution: • Make it clear to the user when document input is expected. Depending on the nature of the solution, a prompt asking the user to place a certain document on the scanner may be beneficial.
Each LDD solution is maintained as a project within Eclipse. In Eclipse, click File > New > LDD 4.x Solution. Note: If the Lexmark Solution Development perspective is not open, then click File > New > Project. Select LDD 4.x Solution from the Lexmark folder, and then click Next.
Developing workflow solutions • Creating scripts • Building projects For more information, see the Eclipse documentation. Editing the properties of an existing workflow solution project After creating or importing a solution, you can change the name of the solution, build version, package name, and version of the LDD server where the solution is installed.
To enable JSLint during the build: In Eclipse, click Window > Preferences. In the category list, expand Lexmark, and then select JSLint. Select Enable JSLint. If necessary, configure the checks to be carried out by JSLint, and then click OK.
Developing workflow solutions The script file library.js in the TestSNS example template is an example of a library script. Adding a library script to a solution A library script does not require a specific file name. To begin adding a library script, add a blank script in the scripts\ folder.
Page 21
Using auto‑configure methods All methods used for auto‑configure are members of the caller object, which is detailed in the Lexmark Document Distributor Script Reference. These methods can also be used in a scheduled script in which the caller object is assigned as follows: var caller = context.getObject("autoconfigUtilities")
Page 22
Developing workflow solutions • x642—X642 printers • T656—T656 printers (single‑function printer with a touch screen) The layout is specified as an integer in the contents of the <buttonLayout> element. The settings apply as shown in the following table. Buttons for the home screen are contained within a <buttons> element. Each button is defined using the <button> element, which contains the following child elements to define the properties of a button: •...
Page 23
Developing workflow solutions Device class Valid contents of the <buttonLayout> Valid contents of the<action> element element Standard printer functions etask2 1–9 The value specifies the number of buttons • Copy on the first page of the home screen. Three • subsequent nine‑button pages are included •...
Page 24
Developing workflow solutions Device class Valid contents of the <buttonLayout> Valid contents of the<action> element element Standard printer functions etask2+ 1–9 The value specifies the number of buttons • Change Language on the first page of the home screen. Three •...
Page 25
Developing workflow solutions Device class Valid contents of the <buttonLayout> Valid contents of the<action> element element Standard printer functions sfp_etask2+ 1–9 The value specifies the number of buttons • Change Language on the first page of the home screen. Three •...
Page 26
Developing workflow solutions Device class Valid contents of the <buttonLayout> Valid contents of the<action> element element Standard printer functions etask3 1–10 The value specifies the number of buttons • Change Language on the first page of the home screen. Three •...
Page 27
Developing workflow solutions Device class Valid contents of the <buttonLayout> Valid contents of the<action> element element Standard printer functions sfp_etask3 1–4 The value specifies the number of buttons • Change Language on the first page of the home screen. Three •...
Page 28
Developing workflow solutions Device class Valid contents of the <buttonLayout> Valid contents of the<action> element element Standard printer functions t656 1–9 The value specifies the number of buttons • Change Language on the first page of the home screen. Three •...
Developing workflow solutions <!-- Buttons in page 2 (page 2 starts after specifying all 5 buttons on the first page) --> <!-- Place a profile button in position 5, using empty buttons for the first 4 --> <button/> <button/> <button/> <button/>...
Page 30
Developing workflow solutions Assign callback functions to the following fields of the mergeContext top‑level object at the end of the main() function (or, when using exception handling, at the end of the try block within the function): mergeContext field to which the Stage of forms merge at which the Parameters of assigned callback callback function is assigned...
Page 31
Developing workflow solutions function myEndDocFunction(fileName) //Actions to take after input from a single form is completed //and the resulting PDF is rendered … catch(e) //Logging and other exception handling … throw e; function myEndDataSetFunction(fileName) //Actions to take after input from a single form is completed //and the resulting dataset is generated …...
Scripts access the value supplied by the administrator using the field taskInfo.additionalOptions. To create a scheduled script, create a new script in the src\scripts\scheduled\ folder. For more information about adding scheduled scripts in LMC, see the Lexmark Document Distributor Administrator's Guide.
For more information and examples for specific prompts, see the Lexmark Document Distributor Script Reference Guide. Note that a separate function is used for the prompt object to enhance readability and reusability of code.
Developing workflow solutions // Set the default value of the prompt myprompt.value = "sample response"; // Execute the prompt caller.ask(myprompt); // Return the value of the prompt return myprompt.value; Notes: • No prompts should be used when developing a script to be run on a schedule. •...
To edit an existing setting, select an item in the Local Solution Settings list or Global Solution Settings list. To add a new setting, click New beside the associated list. To delete the current selection, click Remove beside the associated list. To change the position of the current selection in Lexmark Management Console, click Up or Down beside the associated list.
Page 36
Developing workflow solutions Property Description Type This is the type assignment for the property. See the following table or property types for a description of each type. The following table shows the type assignments available for each solution setting: Type assignments and their descriptions Type Displayed in LMC Properties...
Developing workflow solutions Type Displayed in LMC Properties File Type List of predefined file type settings Values: • TIFF • JPEG • • Media Size List of predefined media‑size settings Values: • Letter • Legal • • • Executive • •...
Page 38
Name The name used for the profile in Lexmark Management Console Note: For a profile used with a Lexmark Document Server Port, the name must be 14 or fewer characters. Task The script associated with the policy No Scan (e‑Task and...
Page 39
Developing workflow solutions Type Available values Darkness • • • • • • • • • Depth • Black and White • Grayscale • Color Duplex • Simplex • Long Edge Bound File Type • TIFF • JPEG • • Media Size •...
Page 40
Solutions tab and the eSF Configuration task for device groups will no longer function, and intervention from Lexmark Professional Services will be required to restore access. Before importing the descriptor file, open it in a text editor and remove any colons from tag names.
Developing workflow solutions Click the eSF Descriptor Editor tab at the bottom of the Device Policy Editor. Modify the settings as necessary, and then click Save. Managing the Solution Status Page The Solution Status Page can optionally be used to provide simple and easy-to-use access to status information for the server system where the solution is running and the printers in the device groups to which the solution is deployed.
Developing workflow solutions Managing formsets You can use forms merge in a solution by including formsets created with Lexmark Forms Composer. Formsets included in a workflow solution project are uploaded to the LDD system when the workflow solution is installed.
Developing workflow solutions If you are using auto‑configure to schedule the report, then select the period for the report to cover. Add a custom parameter for either a query parameter defined in the custom report file: In the Key field, type the name of the parameter defined within the report. Select the parameter type to identify the type of data contained in the parameter.
Developing workflow solutions Two‑dimensional symbology support Premium package Value package Datamatrix PDF417 Bar code write support The LDD SDK includes two bar code write packages: a premium Windows native package, and an open source, Java‑based Barbecue. The following tables compare the details of each package: Features and usage Premium Barbecue...
PDF417 OCR support Lexmark Document Distributor optionally includes an optical character recognition (OCR) module to retrieve text from scanned documents, enabling them for searching, editing, and indexing. Entire documents, specific pages of documents, or specific areas of pages can be stored as text documents.
Page 47
Developing workflow solutions The following table lists the features of the OCR module: Feature Details Supported • English languages • Danish • Dutch • Finnish • French • German • Italian • Norwegian • Polish • Portuguese • Russian • Spanish •...
Developing workflow solutions Feature Details Document color Supported for input: • Bitonal • Grayscale • Color Supported for output: • Bitonal • Color Resolution Input is accepted from documents scanned at 150 dpi–600 dpi. Performance is best with documents scanned at 300 dpi. Image processing The following image processing tasks are available: capabilities...
The LDD 4.x Job Submission Web Service allows any Web service‑capable client software to interact with an LDD system. Select'N'Send and the Lexmark Document Server Port use this service, and eSF applications used in hybrid solutions can use it as well. For an example, see the TestHybrid example templates.
Where possible, prompting should occur before submitting the job. This gives you the opportunity to cancel jobs when prompted for information they don't have at the moment. The Job Submission Web Service provides prompting capability to Lexmark Document Server Printer Port clients. From the port monitor, the following prompts are supported: •...
JSEclipse only for the objects in the latest version of LDD, so do not rely on auto‑complete when developing solutions for previous versions. For information about objects in previous versions of LDD, see the Lexmark Document Distributor Script Reference.
Upload the solution to be tested in LMC. For more information about uploading a solution to the LDD system, see the Lexmark Document Distributor Administrator's Guide. Add the MFP emulator to a device group in LMC, and then discover it.
Testing and deploying workflow solutions If you included the profile on the home screen, then click the icon for the profile. If the profile does not appear on the home screen, then do the following: Click Held Jobs > Profiles. Click the icon for the profile.
Page 54
Testing and deploying workflow solutions To set the simulator to discovery mode, type 0 for both “Number of MFPs” and Repetitions fields. Click to save the test profile, and then click to start the simulator in discovery mode. Make sure the LDD system is online. Upload the solution to be tested in LMC.
Page 55
Testing and deploying workflow solutions Property Description Default ui.logging Determines whether the test is logged in Log4J false Basic (e‑Task) prompting properties Property Description Default basic.addressRange The IP addresses used for emulated e‑Task printers. A single IP may Local IP address be used to emulate multiple e‑Task printers at a single address, since (set the emulator can use multiple HTTP connections for e‑Task.
Page 56
Testing and deploying workflow solutions Property Description Default basic.multiIP Determines whether multiple IP addresses are used for emulating true multiple e‑Task printers. If false, then only the first address (automatically changed to specified for basic.addressRange is used. If true, then the number of addresses specified for basic.addressRange must false if the test is run...
Page 57
Testing and deploying workflow solutions Property Description Default advanced.nummfps The number of printers to emulate for the test. Use 0 for both this property and advanced.repetitions to enter discovery mode. Note: It is not recommended to emulate more than 250 printers.
Page 58
Testing and deploying workflow solutions Basic (e‑Task) prompting scan properties Property Description Default basic.linfo.name The profile name associated with ${CurrentTestProfile.profileName} the scan task. The default, which (This refers to the profileName property in the Simulator refers to the profile that is run for Properties table.) the test, should usually remain set.
Page 59
Testing and deploying workflow solutions Property Description Default basic.pj.save Determines whether to save print false jobs from the LDD system basic.pj.poolSize The size of the thread pool to use for ${CurrentTestProfile.serverPoolSize} print jobs. The default, which refers to the overall server pool size, should usually remain set.
Page 60
Testing and deploying workflow solutions Property Description Default The maximum delay between test repetitions startDelayMax 2000 The minimum delay before answering prompts promptDelayMin 2000 The maximum delay before answering prompts promptDelayMax 2000 The minimum delay before submitting a simulated scan initScanDelayMin 2000 The maximum delay before submitting a simulated scan...
Page 61
Testing and deploying workflow solutions Property Description Default basic.numScheduledMfpsToRemove The number of printers to remove at the interval specified by basic.removeMfpCronExp Advanced (e‑Task 2) scheduled task properties Property Description Default advanced.pauseCronExp A CRON expression that schedules a pause in the test None advanced.unpauseCronExp A CRON expression that schedules the test to resume after a pause has...
Page 62
Testing and deploying workflow solutions The following table shows the valid answer values for each prompt type: Prompt type Valid answer values Default value if no default is specified by the script Array Zero‑based array index Authentication A value, separated by a colon from a colon‑delimited list of key=value pairs that Empty string (magnetic stripe card simulate data from a magnetic stripe card or RFID device, using the following...
Page 63
Note: JConsole is installed with the Java SE Development Kit. The default location for JConsole is C:\Program Files\Java\jdk<current version>\bin\jconsole.exe. While a performance simulator test is running, select com.lexmark.workflow.simulator.App from the list of processes on the Local tab. Note: If a test is started after the “Connect to Agent” dialog is opened, then click the empty area within the list of processes to refresh it.
Page 64
Testing and deploying workflow solutions From the Attributes tab, you can see the following details of a running test: • ActiveMfps—This is the number of MFPs currently being emulated for the test. • BetweenClientStartUpDelaySize—This is the number of MFPs started after each interval specified by the clientStartUpDelay setting in the test profile.
You can determine this value by testing the solution with the performance simulator. For more information about system sizing using the value determined by this process, see the Lexmark Document Distributor Administrator's Guide.
If a solution performs several actions using an auto‑configure script, then you may need to increase the value of the Solution Export Wait Time setting in the Lexmark preferences to allow enough time for deployment. Select the solution you want in the Package Explorer pane.
Testing and deploying workflow solutions Restarting the Lexmark Solutions Application Server If you install a workflow solution that includes a component, then you may need to restart the Lexmark Solutions Application Server for the solution to fully function. Before restarting the Lexmark Solutions Application Server, set the server offline on the System tab in LMC. Make sure the server is offline before proceeding.
Copy the Rhino JavaScript compiler, js-1.6R1.jar, to the new folder. Add the working folder to the classpath. Example: java ‑classpath C:\solutionfolder\ Remove the timestamp from the file names of com.lexmark.lddsdk.core_1.0.0.timestamp.jar and com.lexmark.lddsdk.sbtcore_1.0.0.timestamp.jar, so that the new file names are as follows: •...
Page 69
• working_folder_path—The full path of the working folder you created in step 1 Command example: java ‑jar com.lexmark.lddsdk.sbt44_1.0.0.v20081027-1303.jar C:/workspace/TestMFP C:/solutionfolder/js‑1.6R1.jar After a successful build, a new solution file can be found in the \target\install folder within the project container folder.
Implement the result field, and return an array where appropriate. • Each method is automatically logged to the confirmation page when called. Use com.lexmark.workflow.framework.annotation.ConfirmBeanMethodLoggingOverride to hide methods or arguments that should not appear in the confirmation page, such as passwords: –...
Click Next. Type a description for the solution and the name of the author, and then click Finish. The Lexmark Solution Development perspective is opened if another perspective is open before the new project is created. Understanding the contents of a component project The following folder structure details the contents of a component project.
Developing components test\—This contains source files for unit and integration tests. web\WEB‑INF\—This contains applicationContext*.xml class configuration files for Spring Framework. Note: To be recognized by Spring Framework, class configuration file names must begin with applicationContext. The default class configuration file is named applicationContext‑ContainerName.xml.
If you connect to the Internet through a proxy, then make sure the proxy connection is set up correctly in Eclipse. For more information, see“Installing the development environment” on page 13. The Lexmark Solution Development perspective or other features are missing Make sure that Java SE 6 is installed: From the Windows Control Panel, double‑click Java.
If a solution performs several actions using an auto‑configure script or the network is slow, then increase the timeout for exporting a solution to an LDD system: Click Window > Preferences. In the category list, select Lexmark. In the Solution Export Wait Time field, type a higher value. The MFP emulator does not run Occasionally, a Java process associated with the MFP emulator may continue to run after the MFP Emulator window is closed, which prevents a new session from running correctly.
Eclipse tab focus is changed. You can restore the function of the Backspace and left arrow keys by opening and closing a dialog: Click Help > About Eclipse Platform > OK. Return to the Lexmark Management Console tab, and then continue editing.
All rights reserved. Trademarks Lexmark and Lexmark with diamond design are trademarks of Lexmark International, Inc., registered in the United States and/or other countries. Sun, Sun Microsystems, Solaris, and the Solaris Logo are trademarks or registered trademarks of Sun Microsystems, Inc.
Page 77
Notices The Apache Software License, Version 1.1 Copyright (c) 2000-2002 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Page 78
Notices "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
Page 79
Notices that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
Index Index component projects contents 71 a properties file updated using Eclipse components revision control does not update 74 associating JavaScript files 14 best practices 70 accessing the functions of a library creating a new component script 20 supported platforms 12 project 71 accessing the LDD Script Reference editing the properties an existing...
Page 81
18 KDC address 51 reports Kerberos authentication 51 managing custom reports 42 objects restarting the Lexmark Solutions prompts 33 Application Server 67 services 34, 49 LDD SDK 8 running tests in the performance top-level objects 33...
Page 82
LDD system times out when creating 16 managing 35 directly exporting a solution 74 understanding contents 16 Solution Status Page Lexmark Solution Development workflow solution projects managing 41 perspective or other features are managing 17 solution types missing 73...