You are on page 1of 1646

LoftwareSpectrum

Version 3.0.1
User Guide
2017May. All rights reserved. Version 3.0.1

Loftware, Loftware Spectrum, LLM, Loftware Label Design, Loftware Print Server, LPS, Loftware Connector, Global Marking
Solutions, I-Push, and I-Pull are all registered trademarks of Loftware, Inc. Loftware WebAccess, LWA, and Loftware Web Services
are trademarks of Loftware, Inc. SAP is a registered trademark of SAP AG in Germany and in several other countries. Oracle and
Java are registered trademarks of Oracle and/or its affiliates. All other marks are the property of their respective owners. Loftware
Spectrum contains barcode components licensed from IDAutomation.com, Inc. These products may only be used as part of and in
connection with Loftware Spectrum.

Loftware, Inc., 249 Corporate Drive, Portsmouth, NH 03801


Phone: 603.766.3630
Fax: 603.766.3631
sales@loftware.com
www.loftware.com
This page intentionally left blank
Contents

Welcome to LoftwareSpectrum 20
Documentation and Support 21
About the LoftwareSpectrum UserGuide 22
Open the SpectrumUserGuide 23
User Interface: Help 24
About Loftware Spectrum 25
Tabs 26
Buttons 28
Licensing, Warranty, and Support 29
Technical Support 30
Contact Loftware 31
Sales 32
Customer Account Management 33
Engineering Technical Support (ETS) 34
Professional Services Group 35
Technical Requirements for Spectrum3.0 37
Server Requirements for Spectrum3.0 39
Requirements for Loftware Spectrum Database Server with Existing Oracle
Database 40
Requirements for Loftware Spectrum Database Server with Embedded Database 41
Requirements for Loftware SpectrumApplicationServer 42
Requirements for Multi-Site Deployment 43
Server Performance Tips 44
Client Computer Requirements for Spectrum3.0 46
Requirements for Spectrum Client Computers 47
Requirements for SpectrumRemotePrint Agent Computers 49
Other Requirements for Integrations 50
Requirements for Oracle Applications Integration 51
Requirements for Integration for use with SAP Applications 52
Log in to Spectrum 53
Spectrum Root Folder 57
Change Your Password 58
Loftware Spectrum Tools 59
Designing Labels 60
Configuring the Design Workspace 61
Set User Preferences 62
Select Data to Display in Design 63

Loftware Spectrum 3.0.1 User Guide 3


Display Default, Placeholder, or Live Data in Design 64
Add Data to a Live Data Set from a Data Source 65
Import Data to a Live Data Set from a File 66
Manually Change a Data Set 67
Arranging the Design Workspace 68
Grid Overlay and Rulers 69
Zoom 70
Split Screen View 71
User Preferences Page (Designing) 72
General Preferences 73
Label/Document Preferences 74
Design Preferences 75
Print Preferences 77
Buttons 78
Working in a Version-Controlled Environment 79
Check Out a Version-Controlled Object 83
Save a Copy 84
Check In a Version-Controlled Object 85
Next Steps 86
Publish a Version-Controlled Object 87
Take Control of a Version-Controlled Object 88
Managing Label Templates 89
Using Layouts to Control Print Order on a Page 90
Create, Import, or Export a Label Template or Other Object 91
Create a Label Template 92
Create a Layout 93
Create a Form 94
Create a Reusable Object 95
Import a New Image 97
Export a Label Template or Other Object 98
Import a Label Template or Other Object 99
Using Workflows 101
Workflow Sample 104
Categorize a Label Template or Other Object 105
Built-in Tag Category: Source 105
Associate a Layout with a Label Template 107
Save a Label Template or Other Object 108
Save a New Label Template or Other Object 109
Save an Existing Label Template or Other Object 110
Save a Copy of a Label Template or Other Object 111
Open an Existing Label Template or Other Object 112

4 Loftware Spectrum 3.0.1 User Guide


Close a Label Template or Other Object 113
Close a Label Template or Layout 114
Close All Open Label Templates and Layouts 115
Delete a Label Template or Other Object 116
Designing Labels and Forms 117
Work with a Migrated Label Template 119
Configuring Label Template Properties and Options 121
Configure the Design Orientation of a Label 122
Change the Print Rotation of a Label 123
Change the Unit of Measure for a Label Template 124
Override Device Options with Label Specific Options 125
Adding Fields to a Label 127
Add a Data Source to a Field 128
Resize and Position Fields in a Label Template 129
Configure the Properties of a Field 133
Using Text 134
Add Fixed Text 135
Add Variable Text 136
Add Text Box 137
Change the Field Tabbing Order 139
Text Properties 140
Using Controls 151
Adding Controls 153
Add a Table Rule 164
Add a Column Rule 165
Select Data Source Queries and Rules to Run 168
Configure the Running Order for Queries and Rules 172
Dynamically Manage If a Control Is Displayed 174
Dynamically Manage If a Control Is Enabled 175
Dynamically Manage the Tab Order of a Control 176
Associate the Control Output with a Field in a Label 177
Control Properties 178
Using Barcodes 195
Add a Barcode 196
Add Healthcare Barcodes 197
Add Healthcare Barcodes with Data Identifiers 201
Barcode Properties and Symbologies 204
Using Images 229
Add an Image 230
Add a Variable Image 231
Image Properties 233

Loftware Spectrum 3.0.1 User Guide 5


Using Shapes 236
Add Shapes 237
Shape Properties 238
Using Reusable Objects 241
Add a Reusable Object to a Label Template or a Form 242
Using Forms 243
Configure a Form to Run a Data Source 244
Search the Tool Library 245
Preview and Print a Label in Design 246
Design Page 247
Views and Document Information 248
Menu Bar and Toolbar 250
Library 260
Data Sources 264
Format Sources 265
Form Rules 266
Properties 267
Field Tabbing Order 268
Label Specific Options or Layout Specific Options 269
Tags 270
Data Sets 271
Top Bar 272
Label Template Properties 273
Layout Properties 282
Form Properties 284
Stock Layouts 289
Building with Application Architect 290
Create an Application 292
Next Steps 293
Save the Application 294
Create a Transition Between Forms 295
Create a Form Rule 296
Create a Trigger to Run a Rule 297
Application Properties 299
Application Properties 300
Form Properties in an Application 302
Configuring Label Data Sources 305
About Data Refs 306
Create a Data Entry Data Source 307
Associate a Data Entry Data Source with Variable Text Field 308
Create a Database Data Source 309

6 Loftware Spectrum 3.0.1 User Guide


Create a Date/Time Data Source 313
Create a Formula Data Source 314
Create and Verify a Formula Data Source 315
Use a Formula with a Variable Text or Barcode Field 316
Create an Inc/Dec Data Source 317
Create an Alternate Data Source 318
Creating Script Data Sources 321
Create a Script Data Source 325
Script Reference 326
Script Methods for Barcodes 347
ASCII Characters in Scripts 373
Script Examples 375
Label Data Sources Properties 390
Date/Time Data Source Formats 391
Formula Data Source Operations and Functions 394
Inc/Dec Data Source Properties 402
Form Rules Reference 405
Close Application Form Rule 407
Electronic Signature Form Rule 408
File Selector Form Rule 409
Focus Form Rule 411
Hyperlink Form Rule 412
Job Request Form Rule 413
Map Operations Form Rule 414
Message Form Rule 417
Static Form Rule 418
Triggers in Design 419
Configuring Format Sources 425
Create a Character-Level Format Source 426
Examples of Character-Level Formatting 429
Character-Level Format Source Properties 431
General Data 432
Patterns 433
Ranges 434
Style/Effect and Value 435
Designing Business Rules with the Configurator 437
Getting Started with Business Rules in Configurator 438
Create a Business Rule in Configurator 440
A Component Set: A Trigger and Component Blocks 441
Component Block Order 442
Create a Business Rule 443

Loftware Spectrum 3.0.1 User Guide 7


Create a Reusable Rule 446
Create a Reusable Rule 447
Delete Blocks and Triggers in Configurator 448
Delete a Business Rule 449
Examples of BusinessRules Using Configurator 450
Replace the Label Template 451
Change Print Attributes 453
Retrieve Data from a Database 455
Generate Related Labels Using Multiple Label Templates 457
Business Rule Configurator Reference 459
Triggers in Configurator 460
Component Blocks 463
Reusable Rules 486
Process Design with the Configurator 487
Navigation Tree 490
Business Rule Properties 491
Printing Labels and Viewing Status 494
Configuring User Preferences for Printing 495
Set User Preferences (Printing) 496
User Preferences Page (Printing) 497
General Preferences 498
Print Preferences 499
Buttons 500
Printing Labels 501
Printing Copies of a Label 502
Print a Label Using On-Demand Print 503
Reprint Labels 504
View the Print Data 505
Print a Label to Multiple Destinations 506
Print by Using File Drop 507
Print by Using Oracle 508
Print by Using SAP ERP 509
Print Page 510
Documents Tree 511
Data Entry View 512
Managing Job and Device Status 515
View Status Summary 516
View the Status of Device Queues 517
View Jobs in a Device Queue 518
Start, Stop, or Pause aDevice Queue 519
Find a Print Job in a Queue 520

8 Loftware Spectrum 3.0.1 User Guide


Cancel a Print Job 521
Set a Print Job to an Error Status 522
View an Error Reason 523
Move a Print Job to a Different Queue 524
Release a Print Job 525
Add a Marker to a Queue 526
Search Device Queues 527
Take Control of a Device Queue 528
View the Status of Print Jobs 529
Search Print Jobs 530
View the Status of Devices 533
Search Devices 534
View a Device Web Page 535
Cancel the Current Job on a Device 536
Send a Command to a Device 537
View the Status of Facilities 538
Status Page 539
Dashboard 540
Queues 542
Jobs 547
Successes and Failures 548
Status 549
Date Range 550
Devices 556
Facilities 558
Configuring and Administering 559
Controlling Access in Spectrum 560
Authenticating Users 561
Configuring Access 562
Restrictive versus Permissive Security 563
Access Concepts in Spectrum 564
Best Practices for Access Control 568
Getting Started with Users and Permissions 569
Create Folders to Manage Users and Groups 570
Create a Group and Assign a Role to Grant Permissions 571
Grant Access to a Work Area and Objects 574
Create a User Account and Assign Group Membership 579
Configuring Folder Structure and Access 580
Considerations 581
Best Practices 582
Create a Folder 583

Loftware Spectrum 3.0.1 User Guide 9


Configuring Roles 585
Access Control List 586
Permissions 587
Best Practices 588
Create or Modify a Role 589
Configuring Loftware Spectrum Groups 592
Considerations 593
Best Practices 594
Create or Modify a Group 595
Configuring Loftware Spectrum Users 597
Considerations 598
Best Practices 599
Create or Modify a User 600
Assign a Domain to a User 602
Change a User's Password 603
Configuring Access Control Lists 604
Root Access Control 605
Best Practices 606
Configure the Default Access Control List 607
Configuring Document Access 608
Best Practices 609
Control Document Access 610
Configuring Device Access 611
Control Access to a Device Group 612
Configuring Process Access 614
Control Access to a Process 615
Configuring Integration Access 616
Control Access to an Integration 617
Configuring Data Service Access 618
Control Access to a Data Service 619
Configuring SpectrumApplicationServer Access 620
Control Access to a SpectrumApplicationServer 621
Remove a SpectrumApplicationServer 622
Configuring and Managing a Multi-Site Deployment 624
What Items Are Synchronized 627
Create or Modify a Facility 629
Select Objects to Sync 631
Schedule Synchronization for a Facility 633
Manually Synchronize a Facility with Headquarters 635
Review Synchronization Results 637
Stop Synchronization 639

10 Loftware Spectrum 3.0.1 User Guide


User Interface: Facility 641
Categorize an Object 646
Built-in Tag Category: Source 646
Delete an Object 648
Create a Link 649
Access Control Page 650
Access Control Tree 651
Access Tab 653
Types of Objects 654
Object Access Permissions 678
Role Permissions 684
User Info 693
Group Info 697
Version Info 699
Managing a Version-Controlled Environment 701
Turn on Version Control 704
Force a Check In 705
Roll Back to a Previous Version 706
Roll Back a Recently Published Version 707
Roll Back to a Specific Version 708
Version-Control Actions and Permissions 710
Version-Controlled Document Commands 711
Version-Controlled Process Commands 713
Terminate an Active Workflow 714
Performing System Management 715
High Availability with Distributed Services 716
Types of Services 718
Configure for High Availability 723
Configure for Load Balancing 725
Configure for Failover 726
Automatically Configure Services 728
Load Balance Among Application Servers 729
Configure a Load-Balanced Service Group 730
Service Management Options 731
Managing a Multi-Site Deployment 734
What Items Are Synchronized 735
Manually Synchronize a Facility with Headquarters 737
Review Synchronization Results 739
Facility Sync Options 741
Configuring Authentication 743
LDAP 744

Loftware Spectrum 3.0.1 User Guide 11


Single Sign-On 745
Configure LDAP Authentication 746
Configuring Single Sign-On (SSO) Using Integrated Windows Authentication 747
Configure Single Sign-On (SSO) Using Security Assertion Markup Language
(SAML) 750
LDAP Authentication Options 753
Managing Fonts 758
Install Additional Fonts 759
Delete Fonts 761
Font Management Options 762
Tag Management 766
Create a Tag Category 767
Change Tag Values in a Tag Category 769
Tag Management Options 770
Change the Source of Spectrum Help 772
Provide Static Help to Users 773
Provide Dynamic Help to Users (Recommended) 774
System Management Page 775
Global Settings 776
Other Options 780
Configuring User Profiles 781
Configure and Apply a User Profile 782
Configure a User Profile 783
Assign and Apply a User Profile 784
Update and Reapply a User Profile 785
User Preferences Page (Administration) 786
General Preferences 787
Label/Document Preferences 788
Design Preferences 790
Print Preferences 792
Buttons 793
Managing Devices 794
Add a Device 796
Create a TCP/IP Device Connection 797
Create a Print-to-PDF Device Connection 799
Create a Print-to-Image Device Connection 801
Create a Server Spooler Connection 803
Create a USB Device Connection 805
Create a RemoteSpooler(LPR) Connection 807
Create a Generic Device Connection 810
Create a QCPL Device Connection 812

12 Loftware Spectrum 3.0.1 User Guide


Create a Pass Through Device Connection 814
Importing Multiple Devices 816
Categorize a Device 819
Built-in Tag Category: Source 819
Delete a Device 820
Supported Printers 821
Remote Printing with SpectrumRemotePrint 822
Configure a Remote Site 823
Install the Remote Print Agent 824
Add Devices for a Remote Site 826
Import/Export Names 827
Common Options for Import/Export File 828
Connection Options for Import/Export File 829
Device Options for Import/Export File 830
Device Management Page 842
Connection Options 845
Device Driver Options 858
Pass Through File Types 869
Pass Through File Types 877
Pass Through File Types 885
Pass Through File Types 897
Pass Through File Types 916
Pass Through File Types 925
Pass Through File Types 943
Pass Through File Types 960
Pass Through File Types 974
Remote Site Options 977
Managing Data Services 979
Using Data from a Database or a Spreadsheet 980
Modifying Data in a Database 982
Requirements for JDBC Data Services and JDBC Update Data Services 983
Using Data or an Image from a File or URL 984
Using Data from a Web Service 985
Managing Data Service Parameters 986
Add a JDBC Driver to Spectrum 989
Configure a JDBC Data Service 990
Configure a Link Data Service 994
Configure a File Data Service 996
Configure an HTTP Data Service 999
Configure a SOAP Web Service Data Service 1001
Test a JDBC Data Service 1004

Loftware Spectrum 3.0.1 User Guide 13


Test the JDBC URL for a JDBC Data Service 1005
Preview a JDBC Data Service 1006
Start a Data Service 1007
Update a JDBC Data Service Result Map 1008
Determine Where a Result Map is Managed 1009
Update a Result Map 1010
Stop a Data Service 1011
Categorize a Data Service 1012
Built-in Tag Category: Source 1012
Delete a Data Service 1013
Data Services Page 1014
Configuration Parameters for JDBC Data Services 1020
Configuration Parameters for File Data Services 1028
Configuration Parameters for HTTP Data Services 1032
Configuration Parameters for Link Data Services 1036
Configuration Parameters for SOAP Web Service Data Services 1038
Integrating with Other Applications 1042
Configuring a Run As User for Integrations 1043
Configure a Job Target Folder 1045
Configuring Triggers to Support Integration 1047
File Drop Integration 1048
File Structure of a Scan Folder 1049
Integrate by File Drop 1050
Commands for Use with File Drop Integration 1053
User Interface: File Drop Integration 1057
Oracle Integration 1062
Configure an Oracle User for Spectrum 1063
Integrate with Oracle 1064
Loftware on the Oracle MSCA & Warehouse Management System 1067
Defining Label Formats 1069
How to Set Up Label Formats 1071
User Interface: Oracle Integration 1082
Integration for Use with SAP Applications 1085
Preparing for Integration for Use with SAP Applications 1086
Configure SAP ERP for BC-XOM Communication 1092
Integrate with SAP BC-XOM 1098
RDI Format Reference for SAP BC-XOM Integrations 1102
XSF and XML Format Reference for SAP BC-XOM Integrations 1106
XFP Format Reference for SAP BC-XOM Integrations 1111
User Interface: SAP BC-XOM Integration 1114
Configure SAP ERP for RFC Communication 1119

14 Loftware Spectrum 3.0.1 User Guide


Integrate with SAP RFC 1122
ABAP Reference for SAP RFC Integrations 1125
User Interface: SAP RFC Integration 1130
Event Integration 1134
Web Services Integration 1136
REST API for Web Services Integration 1137
SOAP API for Web Services Integration 1139
Categorize an Integration 1177
Built-in Tag Category: Source 1177
Delete an Integration 1178
Integration Management Page 1179
Implementing Business Logic 1181
Getting Started with Business Rules in XML, Processes, and Integrations 1183
Getting Started with Workflow Templates 1185
Configuring Access for Processes and Business Rules 1186
Creating Objects to Support Business Logic 1188
Create a Business Rule in XML 1189
Create a Simple Process 1192
Create a Generator Process 1194
Create a Reprint Process 1196
Create a Workflow Template 1198
Categorize a Process, Business Rule, or Workflow Template 1200
Built-in Tag Category: Source 1200
Delete a Process, Business Rule, or Workflow Template 1201
Print External Files 1202
Examples 1205
Configure Job Handling Options 1207
Configure Auditing Data 1208
Business Rules to Replace Loftware Connector Filters 1209
Examples of Business Rules Using XML 1210
Replace the Label Template (XML) 1211
Change Print Attributes (XML) 1214
Access Label Data Sources (XML) 1216
Specify an Email Address for a Device Connection (XML) 1217
Retrieve Detailed Device Status (XML) 1221
Retrieve Data from a Database (XML) 1224
Generate Related Labels Using Multiple Label Templates (XML) 1227
Business Rule Reference 1229
Business Rules 1230
Business Rule Components 1231
Triggers and Events 1346

Loftware Spectrum 3.0.1 User Guide 15


Conditions and Operators 1353
Data and Parameters 1359
Children 1366
Business Rules for Generator Processes 1367
Process Design Page 1374
Navigation Tree 1377
Simple Process Properties 1378
Generator Process Properties 1383
Reprint Process Properties 1387
Business Rule Properties 1392
Workflow Template Properties 1395
Using Cross Reference Table Applications 1396
What Cross Reference Table Applications Are 1397
What Cross Reference Table Applications Can Do 1398
How Cross Reference Table Applications Work 1399
ConfiguringAccess for Cross Reference Tables 1402
Who are the users who need access to the cross reference table applications? 1403
What are the basic permissions required? 1404
What other permissions are required? 1407
Create a Cross Reference Table 1408
Edit Columns in a Cross Reference Table 1409
Reorder a Column 1410
Add a Column 1411
Edit a Column Name 1412
Change a Column Type 1413
Delete a Column 1414
View Data in a Cross Reference Table 1415
Search for Data in a Table 1416
Edit Data in a Cross Reference Table 1417
Insert Row 1418
Update Row 1419
Delete Row 1420
Import Data to a Cross Reference Table 1421
Export Data from a Cross Reference Table 1422
Delete a Cross Reference Table or Data in a Table 1423
View Cross Reference Table Audit Records 1424
Search for Data in a Table Audit Record 1425
Export Data from a Audit Record Table 1426
Troubleshooting 1427
Event (Application) Logging 1428
Log4j 2 Configuration File 1429

16 Loftware Spectrum 3.0.1 User Guide


Logging Levels 1430
Configure Log Files 1432
Adjust Rollover Triggers 1433
Configure Appenders 1434
Package-Level Loggers 1435
Spectrum Log Files 1436
System Log (spectrum.log) 1437
Critical Event Log (spectrum-critical.log) 1438
Driver Install Log (spectrum-drv-install-svc.log) 1439
Integration Event Log (spectrum-integration.log) 1440
Printing Event Log (spectrum-print.log) 1441
Security Event Log (spectrum-security.log) 1442
SOAP Web Service Log (spectrum-soap.log) 1443
Entity Sync Log (spectrum-sync-entity.log) 1444
Transaction Sync Log (spectrum-sync-transaction.log) 1445
User Event Log (user-rules.log) 1446
View Log Files 1447
Troubleshoot General Issues 1448
Time Values in Spectrum 1449
Troubleshoot Access Control (Permissions) 1450
Troubleshoot Data Services 1453
Troubleshoot Design 1455
Troubleshoot Label Data Sources 1457
Troubleshoot Label Specific Options 1460
Troubleshoot Layouts 1461
Troubleshoot Devices 1462
Troubleshoot a RemoteSpooler(LPR) Connection 1465
Troubleshoot a TCP/IP Device Connection 1467
Troubleshoot Distributed Services 1468
Troubleshoot Integrations, Processes, and Business Rules 1470
Troubleshoot File Drop Integration 1471
Troubleshoot Oracle Integration 1475
Troubleshoot Integration for Use with SAP Applications 1477
Troubleshoot LDAP Authentication 1479
Troubleshoot Printed Labels 1481
Troubleshoot by Using Status 1482
References 1483
Open and Save As Dialog Boxes 1484
Barcode Properties and Script Methods 1486
Reserved Keys 1487
Miscellaneous Reserved Keys 1488

Loftware Spectrum 3.0.1 User Guide 17


Reserved Keys for Process Properties 1489
Reserved Keys for Print Parameters 1490
Reserved Keys for Spectrum System Properties 1494
Job Processing 1495
Printing 1496
Reserved Keys for Detailed Device Status 1497
Reserved Keys for Detailed Status for cab Devices 1498
Reserved Keys for Detailed Status for Datamax-O'Neil Devices 1501
Reserved Keys for Detailed Status for PCL Devices 1504
Reserved Keys for Detailed Status for QuickLabel Devices 1506
Reserved Keys for Detailed Status for SATO Devices 1510
Reserved Keys for Detailed Status for Zebra Devices 1512
Character Set References 1515
ASCII Code 39 Reference 1516
Code 128 Character Sets 1517
Wedge Reader Conversion Reference 1523
IBM ASCII Reference 1525
IBM ASCII Extended Reference 1526
Configuring User Preferences 1527
Spectrum Reporting Schema 1547
Sample Queries 1548
Reporting Schema Reference 1551
Master Data Views 1552
Transactional Archive Views 1572
Spectrum Auditing Schema 1584
DEVICE_ACL_ENTRY 1586
DEVICES 1588
DOCUMENT_ACL_ENTRY 1590
DOCUMENT_STEP 1592
FOLDER_ACL_ENTRY 1594
FOLDERS 1598
FONT 1602
FONT_JOIN 1604
FONT_TYPE 1605
GROUP_ACL_ENTRY 1607
GROUP_ROLES 1609
GROUPS 1610
JVM_PROCESS 1612
JVM_PROCESS_DEVICE_CONFIG 1614
JVM_SRVC_CONFIG 1615
LDAP_DOMAINS 1617

18 Loftware Spectrum 3.0.1 User Guide


LOCALIZED_RESOURCES 1618
LOGICAL_DEVICE_ACL_ENTRY 1620
LOGICAL_DEVICES 1622
PERMISSIONS 1624
ROLE_ACL_ENTRY 1625
ROLES 1627
SERVER_ACL_ENTRY 1629
SERVERS 1631
SERVICES 1633
SYSTEM_PROPERTIES 1635
USER_ACL_ENTRY 1636
USER_GROUPS 1638
USER_ROLES 1639
USERS 1640
Bitmask Values 1643
External Links 1645

Loftware Spectrum 3.0.1 User Guide 19


Welcome to LoftwareSpectrum

LoftwareSpectrum is the industry's first all-in-one, browser-based enterprise labeling solution


and it offers unparalleled integration, design, management, and printing capabilities for labels and
documents throughout your supply chain. Spectrum is designed for global enterprises and
leverages over 25 years of innovation and industry leadership with more than 5,000 customers in
all major industries.
Spectrum enables companies to extend the power of enterprise labeling to users across the
supply chain while maintaining centralized control of access, permissions, and data. Spectrum is
designed to integrate with enterprise applications and seamlessly connect to the sources of
labeling data. At the same time, it empowers users to create business rules and processes that
provide nearly limitless flexibility in addressing variability in labeling due to unique business
processes, product variants, geographies, languages, customer demands, and regulatory
requirements.
This browser-based label design solution offers users an intuitive, WYSIWYG approach to
designing even the most complex labels and documents for your supply chain. Powerful version
control capabilities ensure that the proper version of a label is used during the printing process,
which can be triggered automatically through business process in external applications or via
Spectrum's robust on-demand print capabilities. On-demand print capabilities can be securely
extended to remote users, enabling suppliers and partners to directly print the appropriate labels
and documents.
Spectrum builds on Loftware's track record of printing performance by offering native print
drivers for leading printer vendors and introducing revolutionary universal label templates
allowing the same label to be printed on different printer makes and models. Spectrum also
affords users a wide array of capabilities to check on the status of print requests, control device
queues, and extend the ability to view print status directly to users that initiate a print request.
Welcome to Loftware Spectrum!

Loftware Spectrum 3.0.1 User Guide 20


Welcome to LoftwareSpectrum

Documentation and Support


You are reading the LoftwareSpectrum UserGuide, which includes topics that provide an overview
of concepts, topics that provide instructions about how to perform a task, and reference
material.
The LoftwareSpectrum UserGuide is optimized for delivery via web browser. The printed version
may contain links that do not connect due to its standalone nature.
For further assistance, contact Loftware.

21 Loftware Spectrum 3.0.1 User Guide


Documentation and Support

About the LoftwareSpectrum UserGuide


This user guide includes three types of topics:
l Concepts - Topics that give you an overview. They describe a process such as
administering roles in the LoftwareSpectrum Role Based Access Control system.
l Tasks - Topics that tell you how to do something. They describe how to use
LoftwareSpectrum to accomplish a goal such as creating a user role.
l References - Topics that provide details and definitions. They describe the objects on
the screen and define properties such as the permissions you can assign to a role.

Context Sensitivity
When you click Help in Spectrum, the SpectrumUserGuide displays a topic about the section you
are viewing. For example, if you click help while you are in Design, the help for the Design
page is displayed. From these topics, you can follow links to complete tasks and to view
reference material.

Dynamic Help
When you click Help in Spectrum, a dynamic web-based version of the help is opened by
default. The dynamic help system is hosted on Loftware's website, and it gives you access to up-
to-the-minute content updates, additions, and corrections. For information about how an
administrator can configure Spectrum to use a static copy of the help system instead, see
"Change the Source of Spectrum Help" on page 772.

Help Version
At the bottom of each topic is a copyright statement that includes the version of Spectrum and
the revision of the help that you are viewing.
The example shown below would indicate that this topic is from the B (or second) revision of
the 1.0 version of SpectrumUserGuide.
Copyright 2012 Loftware, Inc. All rights reserved. Version 1.0 Rev B

Comments
Each topic contains an Ask the Doc Team link. Please send us your thoughts about what we got
right, what we got wrong, and where we need to expand our documentation.

Loftware Spectrum 3.0.1 User Guide 22


Welcome to LoftwareSpectrum

Open the SpectrumUserGuide

After logging into Spectrum, you can use the Help buttons to open the SpectrumUserGuide.
l Click near the top of the Spectrum window in the title bar.
l Click the button in dialog boxes in Spectrum to display context sensitive help.

23 Loftware Spectrum 3.0.1 User Guide


Documentation and Support

User Interface: Help

The following tools are available while viewing the Help for LoftwareSpectrum.
Contents

The Contents tab contains a list of the help topics available. Think of it as the Table of
Contents of a book.
Glossary

The Glossary tab contains a list of terms and their definitions.


Search

The Search field allows you to search all the content in the help system.

Loftware Spectrum 3.0.1 User Guide 24


Welcome to LoftwareSpectrum

About Loftware Spectrum


To view information about Spectrum, click in the Spectrum title bar. The About
Loftware Spectrum dialog box opens and displays the following information.

25 Loftware Spectrum 3.0.1 User Guide


Documentation and Support

Tabs
General
l Spectrum Version
l Server Name
l Usage
l Operating System
l Server ID
License
l Spectrum Version
l Server Name
l Usage
l Contract
l Data Management
l Business Rules
l Web Service Integrations
l Multi-Site (if applicable)
l Device Seats
l File Drop Integrations
l Oracle Integrations
l Integrations for use with SAP ERP
Advanced
l Spectrum Version
l Server Name
l Usage
l Operating System
l Server ID
l Contract
l Server Version
l Server Build Number
l Client Version
l Client Build Number
l Flash Player Version
l Flash Player Debugger
l Java Home
l Java Runtime Version
l Java Vendor
l Java Classpath
l OS Name
l OS Version

Loftware Spectrum 3.0.1 User Guide 26


Welcome to LoftwareSpectrum

l OS Architecture

27 Loftware Spectrum 3.0.1 User Guide


Documentation and Support

Buttons

Button Description
Copy to Saves a copy of the information on all tabs, which can be pasted into an
Clipboard application such as a word processor.
OK Closes the About Loftware Spectrum dialog box.

Loftware Spectrum 3.0.1 User Guide 28


Welcome to LoftwareSpectrum

Licensing, Warranty, and Support


The following documents are available with the Loftware Spectrum Installation Package.
l Loftware End User License Agreement (if applicable)
l Loftware Third Party Terms and Conditions

l Loftware Software Services Support Agreement

Tip: You can check the version of LoftwareSpectrum and obtain information
about its components, the SpectrumApplicationServer, and your Spectrum
license (including the integrations allowed) by clicking in the Spectrum
title bar. You can save a copy of the information by clicking the Copy to
Clipboard button in the About Loftware Spectrum dialog box and pasting into
an application such as a word processor.

29 Loftware Spectrum 3.0.1 User Guide


Documentation and Support

Technical Support
Software licenses purchased directly from Loftware include the first year of Technical Support.
This initial 12-month support period starts on the day the product is shipped and invoiced from
Loftware's factory. During this period, customers are eligible to receive unlimited telephone and
web-based support and access to software upgrades and enhancements.

Before Calling Support


Loftware has highly trained professional technicians available to help you with your labeling
system needs and issues. Technical support calls are most efficiently handled when all of the
following Technical Support requirements are met:
1. There is an active Support Contract in place that covers the specific license in question.
2. You have checked the product documentation for information related to your question.
3. If you suspect that your problem is hardware related, try to first determine if it is a
problem with your computer, network, or printer and contact the appropriate company.
Loftware does not sell or service any hardware products.
4. Have your serial number and the version number of the product you are using ready.
These numbers can be obtained by clicking the About button in the Spectrum window.
5. Think about how you are going to efficiently explain the problem prior to speaking with a
technician. The better the description, the quicker the solution and/or resolution to your
problem.
6. If this is a follow up call to a previous incident, please have the case number ready.
Phone: +1-603-766-3630 Option 3
Fax: +1-603-766-3635
E-mail: support@loftware.com

Loftware Spectrum 3.0.1 User Guide 30


Welcome to LoftwareSpectrum

Contact Loftware
Locations
US Office GmbH Office
Corporate Headquarters Rmerstrasse 39
249 Corporate Drive 78183 Hfingen
Portsmouth, NH 03801 Germany
Phone: +1-603-766-3630 Phone: +49 771-8978-4250
Fax: +1-603-766-3631 Fax: +49 771-8978-4251
UK Office Asia Office
Abbey House 31 Rochester Drive Level 24
Brooklands Business Park Singapore 138637
Wellington Way, Weybridge Phone +65-6808-8763
Surrey KT13 0TT Fax +65-6808-8779
Phone: +44 (0) 1932 268470

31 Loftware Spectrum 3.0.1 User Guide


Documentation and Support

Sales

Loftware's Sales Department is available for product information, quotes, and placing orders.
Call between 8:00a.m. and 5:00p.m. (Eastern Time), Monday - Friday. Email and faxes are
received 24 hours a day.
Phone: +1-603-766-3630, Option 1
Fax: +1-603-766-3631
Email: sales@loftware.com

Loftware Spectrum 3.0.1 User Guide 32


Welcome to LoftwareSpectrum

Customer Account Management

Loftware's Customer Account Management Department is available for product and license
information and placing orders. Call between 8:00a.m. and 5:00p.m. (Eastern Time), Monday -
Friday. Email and faxes are received 24 hours a day.
Phone: +1-603-766-3630, Option 2
Fax: +1-603-766-3631
Email for Customer Service: CustomerService@loftware.com
Email for Contracts Administration: contracts@loftware.com

33 Loftware Spectrum 3.0.1 User Guide


Documentation and Support

Engineering Technical Support (ETS)

Loftware's Engineering Technical Support Department is available between the hours of


6:00AM and 10:00PM (Eastern U.S. Time), Monday - Friday. Email and faxes are received 24
hours a day. To receive Technical Support from our highly-trained Technical Support Call
Center, we require registration of your software and ask that you follow the recommended
troubleshooting procedures. Please allow up to 24-hours for your registration information to
become active.
Each purchase of a Loftware Product includes one full year of Technical Support. Your Annual
Support Contract is renewable and includes on-going upgrades, access to our Technical Support
Call Center, and guaranteed replacement keys.
Phone: +1-603-766-3630, Option 3
Fax: +1-603-766-3635
Email: support@loftware.com

Loftware Spectrum 3.0.1 User Guide 34


Welcome to LoftwareSpectrum

Professional Services Group

If you are a Systems Analyst, Integrator, or an MIS, IS, or IT Director and your questions
specifically refer to integrating other applications or programs with Loftware, please contact one
of our System Analysts for a free telephone consultation. This is an extremely important and
invaluable service to those who are in the process of designing and developing labeling systems.
It is our desire to help you start your development process in the right direction. Email and faxes
are received 24 hours a day.
Phone: +1-603-766-3630 x209
Fax: +1-603-766-3631
Email: webanalyst@loftware.com

35 Loftware Spectrum 3.0.1 User Guide


This page intentionally left blank
Technical Requirements for Spectrum3.0

Technical Requirements for Spectrum3.0


The following are the hardware and software requirements for LoftwareSpectrum3.0. This
includes the requirements for the SpectrumApplicationServer and the database server, as well
as for client computers that connect to Spectrum. Also, the requirements for devices that
receive output from Spectrum, and requirements for integrating with other applications.

Server Requirements
All enterprise environments are unique. The server requirements necessary to fulfill your
organization's needs can be affected by the number of unique labels to be printed, the number of
devices to which labels will be printed, the relationship between the number of labels and the
number of devices, the complexity of your label templates, and other factors. Depending on
your organization's needs, you may able to use these recommendations as base guidelines.
Loftware's Professional Services Group can help you determine the server requirements
necessary to meet your exact business needs.
Database Server
You can configure and install Spectrum into your existing Oracle database, or you can use the
embedded database included with Spectrum.
l "Requirements for Loftware Spectrum Database Server with Existing Oracle Database"
on page 40
l "Requirements for Loftware Spectrum Database Server with Embedded Database" on
page 41

Note: For more information, see the LoftwareSpectrum Installation and Configuration
Guide.
Application Server
Whether you install the Spectrum database into your existing Oracle database or use the
embedded database, Loftware requires the SpectrumApplicationServer to be installed on a
dedicated server.
l "Requirements for Loftware SpectrumApplicationServer" on page 42
Tip: Spectrum can be configured with the application and embedded database on
the same computer. A combined server may be appropriate for proof of concept or
development environments, but it is not supported for production printing. You
must follow the Embedded Database Server requirements for a combined
application and embedded database server.

Loftware Spectrum 3.0.1 User Guide 37


Multi-Site Requirements
In a multi-site deployment1 of Loftware Spectrum, a Spectrum instance 2 at one site
(headquarters) is synchronized with Spectrum instances at other sites (facilities). There are a few
considerations when configuring a multi-site deployment.
l "Requirements for Multi-Site Deployment" on page 43
Server Performance Tips
The following tips may help you optimize your configuration.
l "Server Performance Tips" on page 44

Client Computer Requirements


Client computers connect to the SpectrumApplicationServer.
l "Requirements for Spectrum Client Computers" on page 47
l "Requirements for SpectrumRemotePrint Agent Computers" on page 49

Device Requirements
LoftwareSpectrum supports printers from a variety of manufacturers. For a list of supported
printers, in Spectrum click Device Management, click Add Device, select a Family, and then
click Model to view the list of supported models. The printer models supported may vary with
the version of Spectrum.
Note: LoftwareSpectrum encodes print data using UTF-8. Ensure that your
device firmware supports UTF-8. Older devices may not support this encoding.

Other Application Requirements for Integration (Optional Features)


You can integrate Spectrum with Oracle, SAP ERP, or other applications. By doing so, you can
route print requests initiated by users in other applications so that they are processed and printed
using Spectrum. In many cases, Spectrum can report the status back to the originating
application. You can configure as many integrations as your Spectrum license allows.
l "Requirements for Oracle Applications Integration" on page 51
l "Requirements for Integration for use with SAP Applications" on page 52

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.
2A Spectrum Application Server and a Spectrum Database Server that are associated with each other by a Spectrum License.

38 Loftware Spectrum 3.0.1 User Guide


Technical Requirements for Spectrum3.0

Server Requirements for Spectrum3.0


The following are the hardware and software requirements for servers for
LoftwareSpectrum3.0.

Loftware Spectrum 3.0.1 User Guide 39


Requirements for Loftware Spectrum Database Server with Existing Oracle
Database

These are the database server requirements for LoftwareSpectrum3.0 when it is used with a
new or existing Oracle database server.
Important! The storage for both the flash recovery area and the tablespace data
must be on a fault-tolerant system, such as SAN or NAS. The same is
recommended for all drives that hold the Spectrum applications and data.
Component Requirement
CPU 8 cores or better
Memory 32 GB RAM or more
Available disk space for 2 TB or more. Multiple factors can affect the amount of space
database required. Contact Loftware's Professional Services Group (PSG)
for assistance.
Available disk space for 2.5 TB or more
flash recovery
Oracle One of the following, as appropriate for the operating system:
l Oracle Database 12c

l Oracle Database 11g, version 11.2.0.4 or later

40 Loftware Spectrum 3.0.1 User Guide


Technical Requirements for Spectrum3.0

Requirements for Loftware Spectrum Database Server with Embedded Database

These are the Loftware-supplied embedded database server requirements for


LoftwareSpectrum3.0.
Important! The storage for both the flash recovery area and the tablespace data
must be on a fault-tolerant system, such as SAN or NAS. The same is
recommended for all drives that hold the Spectrum applications and data.
Component Minimum Maximum
CPU 4 cores 4 cores
Memory 16 GB RAM No limit
Available disk 2 TB. Multiple factors can affect the amount of space 10 TB
space for required. Contact Loftware's Professional Services Group
database (PSG) for assistance.
Available disk 2.5 TB. This drive must be separate from the database drive. 10 TB
space for flash
recovery
Operating One of the following 64-bit operating systems:
system l Microsoft server operating systems

l Windows Server 2012 R2

l Windows Server 2008 R2

Constraints

The Loftware-supplied embedded database includes the following limits. If these limits are
exceeded, you must use the non-embedded database configuration. For more information, see
"Requirements for Loftware Spectrum Database Server with Existing Oracle Database" on page
40.
Component Maximum
Archive retention 12 months or less
period
Peak load 10 labels per second, summed across all distributed application
servers
Label throughput 1 million labels per month
Users 1500 users
Devices 1500 devices
Archive retention 50 million labels
Distributed servers 3 SpectrumApplicationServers, including the primary

Loftware Spectrum 3.0.1 User Guide 41


Requirements for Loftware SpectrumApplicationServer

A server that will act as a dedicated SpectrumApplicationServer has the following


requirements.
Important! If you are installing Spectrum into a network running as a Windows
domain, install the SpectrumApplicationServer on a domain-member server.
Production Spectrum servers running in a Windows domain are not supported
unless they are part of the domain.
Component Requirement
CPU 8 cores or better
Memory 32GB RAM or more
Available 250GB or more
disk space Note: The Spectrum application requires approximately 10GB
of disk space upon installation. This includes space to retain
SpectrumApplicationServer log files which are archived and
retained.
Operating One of the following 64-bit operating systems:
system l Microsoft server operating systems

l Windows Server 2012 R2

l Windows Server 2008 R2

l Oracle Linux operating systems

l Oracle Linux "Unbreakable" 7.x

l Oracle Linux "Unbreakable" 6.x, version 6.4 or later

l Red Hat Linux operating systems

l Red Hat Enterprise Linux 7.x

l Red Hat Enterprise Linux 6.x, version 6.4 or later

Note: For Linux operating systems, the Spectrum installation


requires the latest lsb_release package as well as a graphical
interface.

42 Loftware Spectrum 3.0.1 User Guide


Technical Requirements for Spectrum3.0

Requirements for Multi-Site Deployment

If you are configuring a multi-site deployment1, the following are requirements for facility
sites.
l Each facility site can have only one SpectrumApplicationServer and one Spectrum
Database Server.
l Each facility site must use the Loftware-supplied embedded database.
l The name of the root folder in Spectrum must be the same at the headquarters site and at
each facility site associated with that headquarters.
l The headquarters and facility sites must be in the same WAN, but facilities are not
required to be able to communicate with each other.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

Loftware Spectrum 3.0.1 User Guide 43


Server Performance Tips

The following information may help you configure your Spectrum environment and your servers
to optimize their performance.
Configuring for High Availability with Distributed Services

If you are planning a Spectrum environment that will include more than one
SpectrumApplicationServer, it is recommended that you configure your environment to
support distributed services. In a Spectrum environment with distributed services, all
SpectrumApplicationServers are configured to interact as peers within the Spectrum
environment, all accessing the same Spectrum database.
In such an environment, you use distributed services to manage which server or servers are
providing Spectrum functionality at any time. In Spectrum, you can configure distributed
services for high availability or for failover only. It is recommended that you configure for high
availability of distributed services in Spectrum. This approach involves configuring Spectrum to
load balance those services that support load balancing so that they are run concurrently on
multiple SpectrumApplicationServers. Services that do not support load balancing should be
configured to fail over among SpectrumApplicationServers so that if one or more servers go
offline, a standby server or servers begin running the associated services to minimize any
interruption for users.
For information about how to install Spectrum to support distributed services, see the
LoftwareSpectrum Installation and Configuration Guide in More Documentation. For information
about configuring distributed services, see "High Availability with Distributed Services" on page
716.
For information about how to install Spectrum to support distributed services, see the
LoftwareSpectrum Installation and Configuration Guide. For information about configuring distributed
services, see the LoftwareSpectrum UserGuide.
Optimizing Performance

The following tips may help you to optimize the performance of your Spectrum configuration.
l Consult your database administrator for guidance about database tuning.
l The more memory that you have configured for the SpectrumApplicationServer, the
greater the number of devices, label templates, and users that it can support. For more
information, see the LoftwareSpectrum Installation and Configuration Guide.
l Increasing the amount of memory available to the database server typically improves
performance. If you can make significantly more memory available, you can dramatically
increase performance because all or a significant portion of the label and configuration
data can be cached in memory.

44 Loftware Spectrum 3.0.1 User Guide


Technical Requirements for Spectrum3.0

l The amount of space on the database server required for recent history data is typically
greater and more variable than the space required for label and configuration data.
However, if you can make the amount of memory required for recent history data
available on the database server, you can dramatically increase the performance of
reporting.
l Sufficient network bandwidth must be available to support your expected printing
throughput.

Loftware Spectrum 3.0.1 User Guide 45


Client Computer Requirements for Spectrum3.0
Client computers connect to the SpectrumApplicationServer.

46 Loftware Spectrum 3.0.1 User Guide


Technical Requirements for Spectrum3.0

Requirements for Spectrum Client Computers

Each computer on which the LoftwareSpectrum3.0 client software will be run must be able
to connect to the SpectrumApplicationServer and has the following requirements.
Component Requirement
CPU 2.0GHz Dual Core or better
Memory One of the following
l 4GB RAM or more (64-bit operating system)

l 2GB RAM or more (32-bit operating system)

Operating system One of the following:


l Microsoft client computer operating systems

l Windows 10

l Windows 8.x

l Windows 7 with SP1 or later

l Microsoft server operating systems

l Windows Server 2012 R2

l Windows Server 2008 R2

l Oracle Linux operating systems

l Oracle Linux "Unbreakable" 7.x

l Oracle Linux "Unbreakable" 6.x, version 6.4 or later

l Red Hat Linux operating systems

l Red Hat Enterprise Linux 7.x

l Red Hat Enterprise Linux 6.x, version 6.4 or later

Web browser One of the following:


l Internet Explorer 9.0 or later

l Mozilla Firefox 18.0 or later

l Google Chrome 24.0 or later

l Microsoft Edge

Plugin Adobe Flash Player Plugin 11.8.800.94 or later

Loftware Spectrum 3.0.1 User Guide 47


Component Requirement
Support for Optional. You can configure the client computer to allow
remotespooler(LPR) Spectrum to print via remotespooler(LPR) connection (that is, to
connections spool to a device queue that is directly connected to it by a wired
or wireless connection). If you plan to do so, you must configure
the computer as follows:
l Ensure that the computer is accessible via IP address or

DNS name.
l If Windows Server is installed, ensure that the Role

Services installed include Print Server and LPD Service.


l If Windows is installed, ensure that the LPD Print

Service feature of Windows is turned on. (The LPR Port


Monitor feature is not required.)
It is not necessary to perform this configuration on other
computers that access this device connection via shared network
printing.
Note: For information about creating a
remotespooler(LPR) connection, see " Create a
RemoteSpooler(LPR) Connection" on page 807.

48 Loftware Spectrum 3.0.1 User Guide


Technical Requirements for Spectrum3.0

Requirements for SpectrumRemotePrint Agent Computers

LoftwareSpectrum3.0 supports remote printing, the act of printing a label to a device that
would not normally be accessible to Spectrum by using your LAN or by using a direct
connection to Spectrum. For example, printing using a device that is physically connected to a
computer outside of your WAN. The SpectrumRemotePrint solution includes a Remote Print
Agent that is installed on a remote computer. Each Remote Site computer on which
SpectrumRemotePrint will be run has the following requirements.
Component Requirement
CPU 2.0GHz Dual Core or better
Memory 4GB RAM or more
Operating system One of the following 64-bit operating systems:
l Microsoft client computer operating systems

l Windows 10

l Windows 8.x

l Windows 7 with SP1 or later

l Microsoft server operating systems

l Windows Server 2012 R2

l Windows Server 2008 R2

Web browser One of the following:


l Internet Explorer 9.0 or later

l Mozilla Firefox 18.0 or later

l Google Chrome 24.0 or later

l Microsoft Edge

Plugin Adobe Flash Player Plugin 11.8.800.94 or later

Loftware Spectrum 3.0.1 User Guide 49


Other Requirements for Integrations
You can integrate Spectrum with Oracle, SAP ERP, or other applications. By doing so, you can
route print requests initiated by users in other applications so that they are processed and printed
using Spectrum. In many cases, Spectrum can report the status back to the originating
application. You can configure as many integrations as your Spectrum license allows.

50 Loftware Spectrum 3.0.1 User Guide


Technical Requirements for Spectrum3.0

Requirements for Oracle Applications Integration

Oracle integration extends the functionality of Oracle applications, incorporating


LoftwareSpectrum capabilities so that users can print labels and other Spectrum documents
from Oracle Warehouse Management Solution (WMS), Oracle Mobile Supply Chain, and other
Oracle applications. Print requests initiated by users in Oracle applications can be processed and
printed by Spectrum, and Spectrum reports the status of each request to the originating
application. You can configure as many Oracle integrations as your Spectrum license allows. If
you are integrating Spectrum3.0 with Oracle applications, you must meet the following
requirements.
Component Requirement
Loftware License Spectrum license that includes Oracle Integration
Database Software One of the following, including patches:
l Oracle 12c

l Oracle 11g

Loftware Spectrum 3.0.1 User Guide 51


Requirements for Integration for use with SAP Applications

LoftwareSpectrum Integration for use with SAP Applications is an optional component that
extends the functionality of SAP applications, incorporating LoftwareSpectrum capabilities so
that users can print labels from SAP applications. Print requests initiated by users in SAP
applications are processed and printed by Spectrum, and Spectrum reports the status of each
request to the originating application. You can configure as many integrations as your Spectrum
license allows. If you are integrating Spectrum3.0 with SAP ERP, you must meet the following
requirements.
Component Requirement
License Spectrum license that includes Integration for use with SAP Applications
SAP ECC SAPECC 6.0 or later with the latest enhancements
SAP JCo SAP JCo (sapjco3.jar) 3.0.16 or later must be deployed to the
SpectrumApplicationServer. SAP JCo can be obtained from SAP
Marketplace. For more information, see "Preparing for Integration for Use
with SAP Applications" on page 1086.
Java Java Development Kit (JDK) version 1.8 must be installed on the SAP
Application Server for the Command Line Interpreter

52 Loftware Spectrum 3.0.1 User Guide


Log in to Spectrum

Log in to Spectrum
To log in to Spectrum, use this procedure.
Note: Logging into Spectrum simultaneously as different users from the same
workstation is not supported.
1. Open Spectrum from a supported browser. The Login page is displayed.
Example
Enter the following in the address field of your browser, where spectrum-server
is the name of the server hosting Spectrum for your organization:
http://spectrum-server:8080/loftwarespectrum
Note: If opening Spectrum in Internet Explorer, use the fully-qualified
name of the server, such as www.example.com, rather than a short form of
the server name such as example. To permit the use of short names, in
Internet Explorer configure the Compatibility View Settings so that intranet
sites are not displayed in Compatibility View.

2. Enter your user name in the Username field.


3. Enter your password in the Password field.
4. Select the domain to which you want to log in from the Domain list.
Tip: If you entered your user name by using the format
username@domain, you can skip this step. Any domain selected will be
disregarded.
5. Click Login.
If you are logging into Spectrum for the first time, you may be asked to change your password.

Loftware Spectrum 3.0.1 User Guide 53


From Internet Explorer on a Computer Running Windows Server
The computer must meet the requirements for client computers as specified in the "Technical
Requirements for Spectrum3.0" on page 37. After installing Spectrum, you may need to disable
Internet Explorer Enhanced Security Configuration to connect to Spectrum from a computer
running Windows Server.

54 Loftware Spectrum 3.0.1 User Guide


Log in to Spectrum

Windows Server 2012 R2

1. Open Server Manager.


2. Select Local Server.
3. In the Properties section, click On next to IE Enhanced Security Configuration.
The Internet Explorer Enhanced Security Configuration dialog box opens.
4. Select Off for Administrators and/or Users as needed.

Loftware Spectrum 3.0.1 User Guide 55


Windows Server 2008 R2

1. Open Server Manager.


2. Select the root node.
3. In the Server Summary section, select Security Information.
4. Select Configure IE ESC.
5. Select Off for the appropriate groups.

56 Loftware Spectrum 3.0.1 User Guide


Log in to Spectrum

Spectrum Root Folder


After installing Spectrum and before you create any objects, you should rename the root folder
(initially named Default) to something relevant to your organization.

Important: Changing the root folder name after you have started using Spectrum
is not recommended.

Note: In a multi-site deployment, the name of the root folder must be the same at
the headquarters (HQ) and at each facility associated with that HQ.

Loftware Spectrum 3.0.1 User Guide 57


Change Your Password
The first time you log into Spectrum, you may be required to change your password.
Note: If you use domain credentials to log into Spectrum, then you are not
prompted you to change your password.
1. In the Old Password field, enter your old password, or the password you were given by
your administrator.
2. In the New Password and Confirm Password fields, enter a new password.
3. Click OK to make the change and return to the Login window.
4. Enter your new password to log in to Spectrum.

58 Loftware Spectrum 3.0.1 User Guide


Loftware Spectrum Tools

Loftware Spectrum Tools


LoftwareSpectrum provides the following tools for designing and printing labels and for
configuring and administering user access, device connections, and data services such as
database connections, files, and URLs.
Design "Managing Label Templates" on page 89
"Designing Labels and Forms" on page 117
"Building with Application Architect" on page 290
"Configuring Label Data Sources" on page 305
" Configuring Format Sources" on page 425 (including
character-level formatting)
Print " Printing Labels" on page 501
Data Services " Managing Data Services" on page 979
Device Management " Managing Devices" on page 794
Access Control " Controlling Access in Spectrum" on page 560
Status " Managing Job and Device Status" on page 515
Integration Management "Integrating with Other Applications" on page 1042
System "Performing System Management" on page 715
Management
User Preferences "Configuring the Design Workspace" on page 61
"Configuring User Preferences for Printing" on page 495
"Configuring User Profiles" on page 781
Process Design "Implementing Business Logic" on page 1181
"Designing Business Rules with the Configurator" on page
437
About "About Loftware Spectrum" on page 25
LoftwareSpectrum

Loftware Spectrum 3.0.1 User Guide 59


Designing Labels

Designing Labels

The topics in this section describe how to use LoftwareSpectrum to perform the following
tasks.
l Configure your Design workspace by using User Preferences.
l Design and develop label templates, forms, layouts, reusable objects, or applications by
using Design.
l Design and develop business rules by using the Configurator in Process Design.

60 Loftware Spectrum 3.0.1 User Guide


Configuring the Design Workspace

Configuring the Design Workspace


You can arrange the workspace in Design to suit your needs. Also, by configuring your User
Preferences you can customize which page is initially displayed when you log into Spectrum,
which device is your default device 1, and default characteristics of new label templates that you
create. You can also specify whether the data displayed in fields in Design is based on default
values that you specify, placeholder data provided by Spectrum, or live data from a Database data
source.

1A physical printer, print queue, or other target for output, such as an image file or a PDF file.

Loftware Spectrum 3.0.1 User Guide 61


Designing Labels

Set User Preferences


User preferences in Spectrum may allow you to customize which page is initially displayed when
you log into Spectrum, to specify a default device 1 for yourself, to specify whether default
values or placeholder data2 is displayed for fields in Design, and to specify the default size,
shape, and orientation of new label templates that you create. The preferences available to you
depend on the user profile applied to you.
To configure the default behavior for when you are logged in to Spectrum, use this procedure.
1. Click User Preferences.
2. In the Preferences pane, click your user profile.
3. Configure preferences to suit your needs. For more information, see " User Preferences
Page (Designing)" on page 72.
4. Click Save.

1A physical printer, print queue, or other target for output, such as an image file or a PDF file.
2For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.

62 Loftware Spectrum 3.0.1 User Guide


Configuring the Design Workspace

Select Data to Display in Design


You can specify what data to show in fields when a label template or a reusable object is
displayed in Design. You can use default data that you specify in the Default Value properties,
placeholder data1 provided by Spectrum, or data from a live data set2 drawn from a Database
data source, an Alternate data source, or a Date/Time data source.
Your choice affects what is displayed in the Label view for a label template or a reusable object,
as well as what is displayed when you preview or print a label in Design. More specifically, this
option affects what is displayed in text fields, barcode fields, and variable image fields.
Displaying placeholder data can help you evaluate the size of the field when the maximum
character limit is reached. Using a snapshot of live data from a database can help you evaluate the
appearance of a label or a form using typical data.

1For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
2A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

Loftware Spectrum 3.0.1 User Guide 63


Designing Labels

Display Default, Placeholder, or Live Data in Design

To change the source for data displayed in Design, use the following procedure.
1. In Design, click Options > Design Data.
2. Select one of the following:
n Default Value: The values specified in the Default Value property for each field
are used.
n Placeholder: The data used for each field is placeholder data 1 provided by
Spectrum.
n LiveData Set: If configured, values from a live data set2 obtained from a
Database data source, an Alternate data source, or a Date/Time data source are
used. You can also add data map entries to the data set manually.
Tip: If the Default Value property or the value from a live data set is empty or
contains only a space and that option is selected, then a placeholder value is
displayed in the Label view or Form view in Design. No visible indication of the
field is displayed when you preview or print in Design.

1For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
2A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

64 Loftware Spectrum 3.0.1 User Guide


Configuring the Design Workspace

Add Data to a Live Data Set from a Data Source

To add data map entries to a data set by querying a Database data source, an Alternate data
source, or a Date/Time data source, use the following procedure.
1. In Design, click the title bar of the Data Sources pane in the left column and the Data
Sets pane in the right column to expand those panes if they are collapsed.
2. In the Data Sources pane, click a Database data source, an Alternate data source, or a
Date/Time data source.
3. Click to query the selected data source and save the data to a live data set.
4. Click File > Save or click the Save button on the toolbar to save the label template
or reusable object.
Important! A data set is part of a label template or a reusable object. If you
do not save the label template or reusable object, the data set that you
created will be discarded.
In the Data Sets pane, a data map entry or data map entries is added using data retrieved by
querying the data source.

Loftware Spectrum 3.0.1 User Guide 65


Designing Labels

Import Data to a Live Data Set from a File

To add data map entries to a data set by importing data from an XML file or a CSV file, use the
following procedure.
1. In Design, click the title bar of the Data Sets pane in the right column to expand it if it
is collapsed.
2. In the Data Sets pane, click the item that should be the parent of the new data map
entries, such as the Live data set.
3. Click to open the Import Data dialog box.
4. In the Import Data dialog box, select whether you are importing data from an XMLfile
or a CSV file.
5. If you are importing data from a CSV file, specify the following information about the
source data.
a. Select whether the source data is tabular data or key/value pairs (data map entries).
b. For Text Qualifier, enter the character that can be used to enclose the data of
one cell in the source data. By default, this is a double quotation mark (").
6. Select the XML or CSV file to import, and then click OK.
7. Click File > Save or click the Save button on the toolbar to save the label template
or reusable object.
Important! A data set is part of a label template or a reusable object. If you
do not save the label template or reusable object, the data set that you
created will be discarded.

66 Loftware Spectrum 3.0.1 User Guide


Configuring the Design Workspace

Manually Change a Data Set

To manually add a data map entry 1 to a data set or to alter a data map entry in a data set, use
the following procedure.
1. In Design, click the title bar of the Data Sets pane in the right column to expand it if it
is collapsed.
2. To add a new data map entry to a data set, do the following.
a. In the Data Sets pane, click the item that should be the parent of the new data
map entry, such as the Live data set.
b. Click to create a new data map entry.
c. In the Add Entry dialog box, enter a name and a value for the data map entry, and
then click OK.
d. Repeat for any other data map entries to be added.
3. To delete a data map entry from a data set, do the following.
a. In the Data Sets pane, click the data map entry that you want to delete from the
data set.
b. Click to delete the selected data map entry and its children, if any.
c. Repeat for any other data map entries to be deleted.
4. To change a data map entry in a data set, do the following.
a. In the Data Sets pane, click the data map entry that you want to change.
b. Click to edit the data map entry.
c. In the Edit Entry dialog box, change the name and value as needed, and then
click OK.
d. Repeat for any other data map entries to be changed.
5. Click File > Save or click the Save button on the toolbar to save the label template
or reusable object.
Important! A data set is part of a label template or a reusable object. If you
do not save the label template or reusable object, the data set that you
created will be discarded.

1A name (key) and value pair in the data map for a job.

Loftware Spectrum 3.0.1 User Guide 67


Designing Labels

Arranging the Design Workspace


You can configure the appearance of the Design workspace.

68 Loftware Spectrum 3.0.1 User Guide


Configuring the Design Workspace

Grid Overlay and Rulers


To view the grid

You can add a grid overlay to your Design workspace to aid in aligning fields.
l Click View > Grid. The grid appears on the label and form view. The grid setting field
and Set Grid button are displayed.
To change grid settings

You can change the appearance of the grid overlay.


1. Click Options, and point to Grid Settings.
2. Select the type of grid to overlay on your Design workspace.
If you have made the grid visible, the grid overlay changes to match the type you select.
To set the grid

You can change the spacing of grid marks.


1. With the grid displayed, enter a value in the grid setting field.
2. Click Set Grid.

Figure A.1: Grid setting field and Set Grid button


To align a field with the grid

You can align a corner of a field to the nearest grid intersection.


1. Click a field in the label template.
2. Click Options > Align to Grid. The top left corner of the field moves to the nearest
grid intersection point.

Loftware Spectrum 3.0.1 User Guide 69


Designing Labels

Zoom
To change zoom level
From the Menu
1. Click View, and point to Zoom.
2. Select a zoom percentage from the list.
The Design view changes to the new zoom level.
From the Toolbar

Select a zoom percentage from the Zoom icon.

70 Loftware Spectrum 3.0.1 User Guide


Configuring the Design Workspace

Split Screen View


To change split style

1. Click View, and point to Split Screen.


2. Select a split style. The Design window changes.

Loftware Spectrum 3.0.1 User Guide 71


Designing Labels

User Preferences Page (Designing)


The following are options that may be included in your user profile on User Preferences and
may be configurable in the Preferences pane.
Note: Even if Spectrum is configured so that you cannot change a preference that
controls what is initially displayed when you log in, you can still change what is
displayed while working in a session of Spectrum.

72 Loftware Spectrum 3.0.1 User Guide


Configuring the Design Workspace

General Preferences

Preference Description
Display The language used in the user interface of Spectrum. Options include the
Language following:
l English

l German

l French

l Spanish

l Simplified Chinese

l Traditional Chinese

l Portuguese (Brazilian)

l Japanese

Landing Page The page (top-level tab) that is displayed when you log in to Spectrum.
Home Folder Folder in Spectrum initially selected and expanded in the tree when
opening, saving, or printing.
Initial Label The label template or process that is initially loaded when you click Print.
Default Process The process used if users to whom this profile is applied do not select a
process when printing a label template from Print.
ReprintProcess The Reprint process used when users to whom this profile is applied click
Reprint in Status.
Change Display a dialog box that allows you to change your password for
Password Spectrum.

Loftware Spectrum 3.0.1 User Guide 73


Designing Labels

Label/Document Preferences

These preferences control what is initially selected in Design when you create a new label
template. However, even if these preferences are locked down, you can change what is displayed
for the current session by selecting options in Design.
Preference Description
Size The default size used when producing a label template.
Width The default horizontal span of the label template.
The unit of measure is as defined in Units under Design Preferences, or in
Design under Options > Units.
Height The default vertical span of the label template.
The unit of measure is as defined in Units under Design Preferences, or in
Design under Options > Units.
Shape The default appearance of the outside edge of the label canvas when you
create a new label template.
Orientation Sets the default direction objects are aligned on the label when you create a
new label template.
Document The default resolution in dots per inch for objects on the label.
DPI
Font The default font category to be used on the label.
Category TrueType
DPL1
IPL2
ZPL II3
Note: If Use Label Font Category is selected, the default
type of font is whatever type was most recently used by that
user when creating a label template or reusable object.
New Whether to display the Create Label dialog box when creating a new label
Document template.
Dialog Box If Bypass and use my preferences is selected and if Size (or Width and
Height), Shape, Orientation, Document DPI, and Font Category are
configured in your preferences, then the dialog box is not displayed.
Otherwise, the dialog box is displayed.

1Datamax-O'Neil Programming Language, a printer control language.


2Intermec Printer Language, a printer control language.
3Zebra Programming Language II, a printer control language.

74 Loftware Spectrum 3.0.1 User Guide


Configuring the Design Workspace

Design Preferences

These preferences control what is initially displayed in Design when a Document Designer
creates or edits a label template. However, even if these preferences are locked down, the
Document Designer can change what is displayed for the current session by selecting options in
Design.
Preference Description
View Whether to initially display the Label View, Form View, or both.
Units The default unit of measure to be used to position and size objects in label
templates. Options include inches, cm, and mm.
Grid Whether to initially display an overlay grid to assist Document Designers with
aligning objects. The dots or lines of the grid are not displayed in printed
labels or in the forms displayed to Data Providers. The type of grid can be
configured in Grid Settings.
Align to Whether to initially force the top left corner of each object to align with the
Grid nearest alignment overlay dot or intersection of lines. Whether the grid is
used can be configured in Grid.
Grid The type of alignment overlay. Options include Dot, Line, Dotted Line, and
Settings Dashed Line.
The dots or lines of the grid are not displayed in printed labels or in the forms
displayed to Data Providers. Whether the grid is used can be configured in
Grid.

Loftware Spectrum 3.0.1 User Guide 75


Designing Labels

Preference Description
Design What data to show in fields when displaying a label template or a reusable
Data object in Design. This option affects what is displayed in the Label view and
Form view in Design, as well as what is displayed when you preview or print
a label in Design. More specifically, this option affects what is displayed in
text fields, barcode fields, and variable image fields.
l Default Value: The values specified in the Default Value property

for each field are used.


l Placeholder: The data used for each field is placeholder data
1
provided by Spectrum.
2
l Live Data Set: If configured, values from a live data set obtained

from a Database data source, an Alternate data source, or a Date/Time


data source are used. You can also add entries to the data set manually.
Tip: If the Default Value field or the value from a live data set
is empty or contains only a space and that option is selected,
then a placeholder value is displayed in the Label view or Form
view in Design. No visible indication of the field is displayed
when you preview or print in Design.
For more information, see "Select Data to Display in Design" on page 63.
Label Font Default font to be used in Label View and on printed labels. The available
options are restricted by the Font Category selected.
Label Font For text in Label View and on printed labels, the default size of text in points.
Size This property may not be used by some fonts.
Form Font Default font to be used in Form View and in forms displayed to Data
Providers.
Form Font For text in Form View and in forms displayed to Data Providers, the default
Size size of the text in points. This property may not be used by some fonts.

1For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
2A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

76 Loftware Spectrum 3.0.1 User Guide


Configuring the Design Workspace

Print Preferences

These preferences control the default options when printing from Print. However, even if these
options are locked down, you can change printing options for the current session on Print.
Preference Description
Default The device 1 used unless you select a different device at print time.
Device
Clear fields Whether to automatically reset all values entered in the form for on-demand
after print after printing occurs.
successful
print
Navigation Whether the Documents Tree is displayed in Print.
Panel Show: The tree is displayed, but you can click a control to hide it.
Hide: The tree is hidden, but you can click a control to display it.
Hide and Lock: The tree is hidden and you cannot display it.
Allow Print Whether the Preview button is displayed in Print.
Preview Note: To use Print Preview, a user should have a role with
Print permission for Documents, have Print permission for
Documents for folders containing label templates and images to
be previewed, and have Allow Print Preview selected in User
Preferences.
View Data Whether to allow a user to click the object title in Print and display the data
Map on map entries in a dialog box. For more information, see " View the Print Data"
PrintPage on page 505.

1A physical printer, print queue, or other target for output, such as an image file or a PDF file.

Loftware Spectrum 3.0.1 User Guide 77


Designing Labels

Buttons

Button Effect
Save Save any changes that you have made to your preferences.
Cancel/Undo Discard any changes that you have made to your preferences.
Edits
Restore Reset all of your preferences to the default values specified in the user
Defaults profile applied to you. These default values can be changed in the user
profile by an administrator.

78 Loftware Spectrum 3.0.1 User Guide


Working in a Version-Controlled Environment

Working in a Version-Controlled Environment


In LoftwareSpectrum, you can use version control1 to retain multiple versions of a label
template, form, layout, image, reusable object, application, business rule, or process and to roll
back to a previous version if necessary. In a multi-user environment, you can use version control
to help ensure that users do not accidentally overwrite each other's work.
Creating version-controlled items
Any object that can be version controlled that you create in a folder for which version
control is turned on will be version-controlled. Version control can be enabled or disabled
only during the creation of a folder. After a new folder has been saved, its version control
setting can no longer be changed. Any object that is created in or saved into a folder becomes
version-controlled if version control is turned on for that folder.
Note: If you save a copy of a version-controlled object into a different folder,
the version control history is not propagated to the new instance.

Note: You cannot import an object from an import (SER) file into a folder in
which an object with the same name already exists unless the folder is version-
controlled, the object in the folder is checked out to you, and the version
number of the object in the folder is less than the version number of the object
you are importing.
Recognizing version-controlled items
When you open a version-controlled object, the Version is displayed in the bar at the bottom
of the editing pane in Design or Process Design. A lock icon is also displayed in this bar if
the object is checked in. Also, in the File menu, the Version Control > Check In option is
available if the item is checked out, and the Version Control > Check Out option is
available if the item is checked in and you have the permissions needed to check out the
item.

Figure A.2: Checked-in version-controlled label template

Figure A.3: Checked-out version-controlled label template

Version-controlled folders are identified in console trees where they appear by the icon .
In a console tree, if a label template is checked out, it is identified by the icon . If
checked in, it is identified by the icon .

1The ability to maintain distinct versions of a label template or other item. An item is checked out to be modified, and checked in to
save a new version. After a version is checked in, that version cannot be changed.

Loftware Spectrum 3.0.1 User Guide 79


Designing Labels

Understanding version numbers


A major.minor numbering scheme is used to differentiate between published versions (major
versions) and minor versions of an object. Images have only published versions. Layouts
must be published before they are available for attachment to a label template.
The first time that an object is checked out, the Version is 0.1. The minor version is
incremented each time that a user checks out the object. Merely saving an object does not
change its version.
When an object is published, its major version number is incremented and its minor version
number is set to zero. For example, if you have a label template with a version of 1.3,
publishing that label template creates a version 2.0.
Note: For a version-controlled reusable object to be displayed in the Library in
Design, the reusable object must be in the Reusable Objects folder or a
subfolder and the reusable object must be published.
Printing and version control
By default, the latest available version of a version-controlled object is selected when you
print an object . However, the versions available for you to print can be limited by your
permissions. If you have the necessary permissions for printing from Design, then you can
print any published version1 or minor version except a version that is checked out to
another user. Otherwise, you can print only the latest published version.
A Data Provider 2 typically has only the permissions necessary to view and print published
versions. For a Data Provider, the latest version is the latest published version.
Checking in a version
A checked-in version cannot be altered. The most recently published version3 can be rolled
back and deleted if no minor version has been checked in after that published version. If the
most recently published version is immediately preceded by other published versions, they
can also be rolled back and deleted. Other than those exceptions, although an entire object
can be deleted, individual versions of it cannot be deleted separately.
Checking out before making changes
Before you begin making changes to a version-controlled object, you should check it out so
that you will be able to save and check in changes when finished. Checking out an object also
prevents other users from making changes to it at the same time and from viewing your
version until you check it in. If you do not check out a version-controlled object before
changing it, then you must save your changes to a new object to retain them. Otherwise, the

1When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
3When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.

80 Loftware Spectrum 3.0.1 User Guide


Working in a Version-Controlled Environment

changes will be discarded when the object is checked out.


Publishing objects
Typically, the latest published version of an object is used for printing and within business
rules and processes.
Because some users do not have the permissions necessary to print minor versions of a
version-controlled label template, you may need to create a published version1 of a label
template for review. Because a version-controlled layout must be published before it can be
attached to a label template, you may need to create a published version of a layout for
review. You can do so by publishing the object in place.
Requesting review and approval of a label template (workflow)
If your Spectrum environment is using workflow, you can request review of a label template
by starting a workflow. For more information, see "Using Workflows" on page 101.
Approving or rejecting a label template (workflow)
If your Spectrum environment is using workflow, you may be responsible for reviewing and
approving a label template that someone else has edited. For more information, see "Using
Workflows" on page 101.
Requesting that a label template be published to another folder
Your Local Admin2 may configure separate folders for development (where you create and
edit objects) and production (where released objects are stored), or for any situation in which
objects are edited in one folder and must be moved to another. If you are a Document
Designer 3, you may not have the necessary permissions to publish objects to the production
area. When an object is ready to be released, request that a Local Admin4 publish the object
to the production area.
Alternatively, you may have the permissions necessary to export an object to a separate file
and import it into another folder.
Note: You cannot import an object from an import (SER) file into a folder in
which an object with the same name already exists unless the folder is version-
controlled, the object in the folder is checked out to you, and the version
number of the object in the folder is less than the version number of the object
you are importing.
Best Practices

1When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.
2A Spectrum role with all permissions except those needed for role administration.
3Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
4A Spectrum role with all permissions except those needed for role administration.

Loftware Spectrum 3.0.1 User Guide 81


Designing Labels

If label templates that you create are typically copied from one folder to another,
it is recommended that you save layouts and label templates in separate folders
to prevent confusion. Administrators can copy all label templates and layouts in a
folder to a second folder. If associated layouts and label templates are mingled in
the same folder, when an administrator copies all items in the folder to a second
folder, label templates in the second folder still point to the layouts in the
original folder.
Note: A version-controlled layout must be published before it can be attached to a
label template.

Note: Each version of an object can have different tags applied.

82 Loftware Spectrum 3.0.1 User Guide


Working in a Version-Controlled Environment

Check Out a Version-Controlled Object


Before you edit a version-controlled object, you should check out the object or save it under a
different name or in a different folder. Otherwise, any changes that you make will be discarded
when you close or check out the object. In order to check out an object, the object must be
checked in.
To check out a version-controlled object, use the following procedure.
1. Open the version-controlled object, and verify that it is checked in.
2. Click File > Version Control > Check Out. This option is available only for the latest
version of the object and only if it is not currently checked out by another user.

Loftware Spectrum 3.0.1 User Guide 83


Designing Labels

Save a Copy

To create a copy of a version-controlled object that you can edit, click File > Save As, select
the folder where you want to save the new copy, change the name if desired, and then click OK.

84 Loftware Spectrum 3.0.1 User Guide


Working in a Version-Controlled Environment

Check In a Version-Controlled Object


When you are finished editing a version-controlled object, you must check in the object to save
a version that includes your changes and to make the object available for others to check out.
After you check in a version, that version cannot be changed.
1. Click File > Version Control > Check In.
2. In the Version Control Comment dialog box, enter a description by which to identify
the version that you are creating.
3. Click OK.

Loftware Spectrum 3.0.1 User Guide 85


Designing Labels

Next Steps

If the object is ready to be used in production, you can "Publish a Version-Controlled Object"
on page 87.

86 Loftware Spectrum 3.0.1 User Guide


Working in a Version-Controlled Environment

Publish a Version-Controlled Object


To publish a version-controlled object, use the following procedure.
Note: Performing this task requires Publish permission for Documents. By
default, the only role that has this permission is the Local Admin1 role.
1. Open the version-controlled object.
2. Click File > Version Control > Publish.
3. In the Version Control Comment dialog box, enter a description by which to identify
the published version that you are creating, and then click OK. If the object is checked
out, it is automatically saved and checked in. The object is published and the Version is
updated to display the next major version number.
Note: If you need to immediately remove the published version that you created
and are certain that no print jobs that use it are pending, you can do so by clicking
File > Undo Publish. This option is only available if no minor version has been
created after the published version.

1A Spectrum role with all permissions except those needed for role administration.

Loftware Spectrum 3.0.1 User Guide 87


Designing Labels

Take Control of a Version-Controlled Object


In certain cases it may be necessary to check in an object that is checked out to another user.
Note: Performing this task requires both the Write and Admin permissions for
Documents.
1. Open Access Control, and select the object that you need to take control of.
2. Select the Version Info tab.
3. Right-click the most recent version, and select Take Control.
The document is checked out to you. You can now open and edit the object in Design or
Process Design, or you can check in and publish from Access Control.

88 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Managing Label Templates


In LoftwareSpectrum, a Document Designer 1 can design a form for data entry, a label used
for printed output, and the layout of labels within a page 2. A typical label template includes
both a form for data entry and a label for printed output. If you want to configure the
organizational structure for a page, you can create a layout and associate the layout which each
label template to which it should apply. Additionally, you can create reusable objects that
contain components for use in a label and form so that you can incorporate them into labels and
forms efficiently and consistently. You can use the same label template for printing regardless of
the type of integration that you are using or whether you are printing via on-demand print.
The Spectrum library comes with some common images already installed, and if your
organization migrated existing label templates from Loftware Print Server (LPS), then images
unique to your organization may have been added to the library. You can also import images.
You can also export label templates, forms, layouts, reusable objects, or applications as import
(SER) files so that they can be imported into another instance of Spectrum.
See "Working in a Version-Controlled Environment " on page 79 for information on managing
objects, including label templates in version-controlled folders.
Tip: You can create a new folder when you save a label template.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2In relation to media, the organization of labels specified by a layout. In relation to the Spectrum user interface, a top-level tab.

Loftware Spectrum 3.0.1 User Guide 89


Designing Labels

Using Layouts to Control Print Order on a Page


A label template allows you to design the layout of a printed label and the data entry form
associated with that label. However, when printing a series of related labels or when printing
labels onto stock with slots for multiple labels in each row, you may also want to manage the
order in which labels are printed within a page of stock.
You can associate a layout with a label template to specify how many slots for labels exist on a
page of stock and in what order to print labels on a page. For example, you could specify that
twelve slots for labels exist on each page, three across each row and four down each column. By
configuring the Fill Direction and Start Origin, you could specify that labels should be printed
on the page beginning with the label in the top left slot and then progressing vertically down
slots in the first column before moving to the next column.
Tip: You can associate the same layout with multiple label templates.
If a Document Designer associates a layout with a label template, then a Data Provider 1 who
uses Print to print the label receives access to page-related information and commands such as
the number of labels queued for the page and an Eject button to print queued labels and then
eject the page from the device.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

90 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Create, Import, or Export a Label Template or Other Object


In LoftwareSpectrum, a Document Designer 1 can create label templates, forms, layouts,
reusable objects, or applications, and can import new images into Spectrum. You can also export
any of these objects as import (SER) files so that they can be imported into another instance of
Spectrum.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

Loftware Spectrum 3.0.1 User Guide 91


Designing Labels

Create a Label Template

You can use a label template to design a label for printed output.
To create a new label template, use this procedure.

1. In Design, click File > New > Label or click the button.
2. In the Create Label dialog box, configure the "Label Template Properties" on page 273.
Note: To view or configure the unit of measurement, in the menu bar
select Options > Units.

Tip: To configure a custom label template size, for the Size field select
Custom. Specify the dimensions of the label template in the Width and
Height fields.
3. Click OK. The Label and Form views are displayed.
Best Practice
Save your label template immediately after creation.
Save the Label Template

To save the label template, use this procedure.

1. Click File > Save or click the Save button.


2. In the Save dialog box, click a folder in the left column and enter a Name.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Tip: You can add a new folder within the folder selected in the left pane by
clicking the Add Folder button.
3. Click OK.
Note: The first time you save a label template to a version controlled folder, the
label template is automatically checked out. When you are finished editing it, be
sure to click File > Check In to save and check in your version and make it
available for others to check out.

92 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Create a Layout

You can use a layout to configure the organization of labels within a page (a sheet of stock or a
row of roll stock).
Note: Stock layouts are available in Document Templates\Stock Layouts.
To create a new layout, use this procedure.

1. In Design, click File > New > Layout or click the button. A new layout is
displayed.
2. In the Properties pane, configure the "Layout Properties" on page 282.
Tip: To configure a custom stock size, for the Stock Size field select
Custom. Specify the dimensions of the stock in the Width and Height
fields.
3. Click File > Save As.
4. In the Save As dialog box, select a folder in the document tree, and enter a name for the
layout.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
5. Click OK.
Best Practices
Save your layout immediately after creation.
If label templates that you create are typically copied from one folder to another, it
is recommended that you save layouts and label templates in separate folders to
prevent confusion. Administrators can copy all label templates and layouts in a
folder to a second folder. If associated layouts and label templates are mingled in the
same folder, when an administrator copies all items in the folder to a second folder,
label templates in the second folder still point to the layouts in the original folder.
Note: A version-controlled layout must be published before it can be attached to a
label template.

Loftware Spectrum 3.0.1 User Guide 93


Designing Labels

Create a Form

You can use a form to design a data entry user interface to use with your label templates.
To create a new form, use this procedure.

1. In Design, click File > New > Form or click the button. A blank form is displayed.
2. In the Properties pane, configure the "Form Properties" on page 284.
Note: To view or configure the unit of measurement, in the menu bar
select Options > Units.

Tip: To configure a custom form size, for the Size field select Custom.
Specify the dimensions of the form in the Width and Height fields.
3. Click File > Save As.
4. In the Save As dialog box, select a folder in the document tree, and enter a Name.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
5. Click OK.
Note: The first time you save a form to a version controlled folder, the form is
automatically checked out. When you are finished editing it, be sure to click File >
Check In to save and check in your version and make it available for others to
check out.
Best Practice
Save your form immediately after creation.

94 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Create a Reusable Object

You can use a reusable object to include components for use in a form for data entry, a label for
printed output that, or both. After you create and save a reusable object, it is displayed in the
Library in Design so that it is available for use in label templates, forms, and reusable objects.
Note: Changes made to a reusable object are not reflected in copies already
incorporated into label templates, forms, or reusable objects. Also, after a reusable
object is incorporated into a label template or other object, the copy of the
reusable object in the label template or other object can be modified.

Tip: You can include any aspect of a label template or a form in a reusable object
except for Label Specific Options and Database data sources.
To create a new reusable object, use this procedure.

1. In Design, click File > New > Reusable Object or click the button.
2. In the Create Reusable Object dialog box, configure the "Label Template Properties"
on page 273 for the reusable object.
Note: To view or configure the unit of measurement, in the menu bar
select Options > Units.

Tip: To configure a custom label template size, for the Size field select
Custom. Specify the dimensions of the label template in the Width and
Height fields.
3. Click OK. The Label and Form views are displayed.
Best Practice
Save your reusable object immediately after creation. Always save reusable objects
in the Reusable Objects folder or a subfolder within it so that they can be
displayed in the Library and incorporated into label templates. If you want some
reusable objects to be version-controlled, create them in a version-controlled
subfolder of the Reusable Objects folder.
Save the Reusable Object

To save the reusable object, use this procedure.


1. Click File > Save As.
2. In the Save As dialog box, select the Reusable Objects folder or a subfolder within it
so that the reusable object can be displayed in the Library, and enter a Name.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:

Loftware Spectrum 3.0.1 User Guide 95


Designing Labels

spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
3. Click OK.
Note: The first time you save a reusable object to a version controlled folder, the
reusable object is automatically checked out. When you are finished editing it, be
sure to click File > Check In to save and check in your version and make it
available for others to check out.

Create a Reusable Object Containing Existing Fields

To create a reusable object that includes existing fields from a label template, form, or another
reusable object, use this procedure.
1. Open the label template, form, or reusable object that contains the fields you want to
reuse.
2. Select the fields you want to include in the reusable object by holding the Shift key and
clicking the fields.
3. Right-click on one of the fields selected, and click Create Reusable Object.
4. In the Create Reusable Object dialog box, select the Reusable Objects folder or a
subfolder within it so that the reusable object can be displayed in the Library, and enter a
Name.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
5. Click OK. The reusable object that you created is added to the Library.

96 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Import a New Image

You can import a new image into the LoftwareSpectrum library.


Tip: You can also import images or other objects that were previously exported
from Spectrum as import (SER) files. For more information, see "Import a Label
Template or Other Object" on page 99.
To import a new image, use the following procedure.
1. Click Design.
2. Click File > New > Image or click the button, browse to select an image file to
import into the library, and then click Open.
Note: Spectrum supports images that use an RGB color model and one of
the following file formats: PNG, GIF, JPG, BMP, or PCX.
3. Click File > Save As, enter a name for the image, and save the image to the
Images\User Images folder.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.

Important: When importing an image, it is recommended that you save it


to the Images\User Images folder. An image that will be used only as
part of a Variable Image may be saved to any folder in Spectrum. Otherwise,
for an image to be available to add to a label template, you must save it to
the Images\User Images folder, the Images\Stock Images folder, or a
subfolder of one of those folders.

Note: Spectrum converts all image files to PNG, so you must give each
image that you import a name that is unique within the folder where it is
saved.
If the image is saved to a version-controlled folder, the image is automatically saved as a
published version to ensure that it can be printed by a Data Provider 1 with the Document
Printer role. It is not necessary to manually publish the image.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 97


Designing Labels

Export a Label Template or Other Object

You can export a label template, form, layout, image, reusable object, application, business rule,
or process to an import (SER) file that you can import into another instance of Loftware
Spectrum.
Example

If your organization has one SpectrumApplicationServer for development, one


for testing, and one for production, you can use this capability to export a label
template from one SpectrumApplicationServer and import it into another.
To export a label template, form, layout, image, reusable object, application, business rule, or
process, use the following procedure.
1. Click Design.
2. Open a label template, form, layout, image, reusable object, application, business rule, or
process.
3. Click File > Export.
4. In the Export dialog box, click OK.
5. In the Select location for download dialog box, navigate to a folder on your computer
or a shared folder in which to save the file, and then click Save. If changing the file name,
it is recommended that you choose a name using characters supported in Spectrum.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
For the import file that you have exported to be used, it must be imported into an instance of
Spectrum. For more information, see "Import a Label Template or Other Object" on page 99.

98 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Import a Label Template or Other Object

You can import a label template, form, layout, image, reusable object, application, business rule,
or process into Loftware Spectrum if the object was previously exported to an import (SER) file.
For information about exporting to an import file, see "Export a Label Template or Other
Object" on page 98.
Tip: You can also import images that were not previously in Spectrum. For more
information, see "Import a New Image" on page 97.
To import a label template, form, layout, image, reusable object, application, business rule, or
process, use the following procedure.
1. Click Design.
2. Click File > Import.
3. In the Import dialog box, click Browse and select an import file.
4. In the Import Name field, you can specify what the name of the object will be in
Spectrum.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
5. For Import Location, select a folder in Spectrum where the object will be saved.
Important: When importing an image, it is recommended that you save it
to the Images\User Images folder. An image that will be used only as
part of a Variable Image may be saved to any folder in Spectrum. Otherwise,
for an image to be available to add to a label template, you must save it to
the Images\User Images folder, the Images\Stock Images folder, or a
subfolder of one of those folders.

Important: When importing a reusable object, it is recommended that you


save it to the Reusable Objects folder. For a reusable object to be
available to add to a label template, you must save it to the Reusable
Objects folder or a subfolder of that folder.
6. Click OK.

Loftware Spectrum 3.0.1 User Guide 99


Designing Labels

Note: You cannot import an object from an import (SER) file into a folder
in which an object with the same name already exists unless the folder is
version-controlled, the object in the folder is checked out to you, and the
version number of the object in the folder is less than the version number
of the object you are importing.

100 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Using Workflows
In LoftwareSpectrum, you can use workflows to track and manage the creation and
modification of label templates, while automating the approval and publishing process.
Depending on its configuration, a workflow can:
l Automatically select users to review or approve a label template
l Automatically email users when they need to review or approve a label template
l Allow users to see the current step of the workflow for a label template

l Require users to review, approve, reject, or comment on a label template applied to a

workflow
l Use eSignature at any step

l Automatically publish a label template once the required users have approved

A workflow template is a collection of steps1 and possible progressions2 defined by XML


that can be applied to a label template to create an instance of the workflow. The workflow
template can call Event integrations (for example, an Event Email Producer) to extend the
capabilities of workflow outside of Spectrum.
A workflow template is created in Process Design, which can then be applied to a label
template in Design . Application Architect is used to create a custom front-end interface for the
workflow. You may have multiple workflow templates in your Spectrum environment.
Workflow sample
A workflow is a sequence of steps that a workflow template follows. Your Administrator can
create workflow templates in Process Design. For more information, see "Workflow
Sample" on page 104.
Recognizing an item in a workflow
When you open a label template in Design that is applied to a workflow, the following
information is displayed:
l In Workflow appears in the bar at the bottom of the editing pane. A lock icon is also
displayed in this bar if the label template is checked in.

Figure A.4: Checked-in version-controlled label template in a workflow


lWorkflow Step is included in the Properties pane of the label template with the
name of the current step of the workflow.
Note: A label template can only be applied to one workflow at a time.
View the current step of a workflow
If an item is applied to a workflow, you may view the current step of that workflow,

1The states an item goes through when applied to a workflow.


2The transitions between the steps in a workflow.

Loftware Spectrum 3.0.1 User Guide 101


Designing Labels

depending on the workflow template and your permissions.


To view the step of a workflow for a label template, use this procedure.

1. In Design, click File > Open or click the Open button in the toolbar.
2. In the Open dialog box, select a label template and then click OK.
3. Click File > Workflow > View Current Step Details or click the View Current

Step Details button in the toolbar.


Starting a workflow
If your Spectrum environment is using workflow, you can request review of a label template
by starting a workflow.
To start a workflow for a label template in Design, use this procedure.

1. In Design, click File > Open or click the Open button in the toolbar.
2. In the Open dialog box, select a label template and then click OK.
3. Make changes to the label template as needed and save. If it is a version-controlled
object, see "Working in a Version-Controlled Environment " on page 79 for more
information.

4. Click File > Workflow > Start Workflow or click the Start Workflow button in
the toolbar.
5. In the Select a Workflow Template dialog box, select a workflow template and then
click OK.
Approving or rejecting an item in a workflow
If your Spectrum environment is using workflow, you may be responsible for reviewing and
approving a label template that someone else has edited.
To approve or reject a label template in a workflow, use this procedure.

1. In Design, click File > Open or click the Open button in the toolbar.
2. In the Open dialog box, select a label template and then click OK.
3. Click File > Workflow and select a progression as appropriate. For example, select
Approve to approve the changes to the label template.
Note: The options or progressions available are dependent on the
workflow template and your permissions.
4. Depending on the workflow template, a dialog box for comments may display.
5. Depending on the workflow template, you may be required to add your electronic
signature.
Using eSignature
In Spectrum, you can use eSignature to electronically sign a label template in a workflow,

102 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

providing a formal and verifiable approval of the label template.


eSignature can be customized using Forms and Application Architect, and applying an
Electronic Signature form rule to the application. For more information, see "Electronic
Signature Form Rule" on page 408.

Loftware Spectrum 3.0.1 User Guide 103


Designing Labels

Workflow Sample

A workflow is a sequence of steps that a workflow template follows. Your Administrator can
create workflow templates in Process Design.

104 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Categorize a Label Template or Other Object


In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
Note: If a label template or other object is version controlled, you must check it
out before you can assign tags or change which tags are assigned. Each version of
the object can have different tags applied. However, you cannot change the tags
applied in a previous version of an object.
To assign a tag in Design, use this procedure.

1. In Design, click File > Open or click the Open button in the toolbar.
2. In the Open dialog box, select an object and then click OK.
3. In the right column, click the Tags title bar to expand the pane.
4. Perform one or more of the following actions:
n To add a tag to the object, click . In the Add Tags dialog box, select a
category and a value for the tag, and then click OK.
Note: The list of values available is dependent on the category
selected.
n To change the value of a tag that has been assigned to the object, click the row for
that tag, and then click . Select a value for the tag, and then click OK.
n To remove a tag from the object, click the row for that tag, and then click .
When prompted, click Yes to delete the tag.
Tip: Deleting a tag from a device does not delete the tag category
from Spectrum. You can add a new tag to the device and select that
same category again.

5. Click File > Save or click the Save button in the toolbar.
Built-in Tag Category: Source

A built-in tag category named Source is included with Spectrum. It is designed for use in a tag
that characterizes the origin of an object. If an object supports tags, then a tag with a category of
Source and a value of Spectrum is automatically assigned to it the first time that the object is
saved.
Value Purpose
System The object was built in to Spectrum.

Loftware Spectrum 3.0.1 User Guide 105


Designing Labels

Value Purpose
LPS The object was created in Loftware Print Server (LPS) and was migrated to
Spectrum.
Spectrum The object was created in Spectrum.
Unknown The origin of the object is unknown.

106 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Associate a Layout with a Label Template


You can associate a layout1 with a label template to specify the organizational structure with
which labels are printed on a sheet of stock or a row of roll stock. The same layout can be
associated with multiple label templates.
To associate a layout with a label template, use this procedure.

1. In Design, click File > Open or and select the label template that you want to
associate with a layout.
2. If a lock is displayed in the tab showing the name, click File > Check Out.
3. Click the Label view, and click the label canvas to display the properties of the label.
4. In the Properties pane, for Layout browse to select a layout.
Note: Stock layouts are available in Document Templates\Stock
Layouts.

Note: A version-controlled layout must be published before it can be


attached to a label template.

Note: When browsing to layouts in the version-controlled folder, only the


latest version of each layout is displayed.
5. Ensure that Layout Enabled is selected.
Note: You can temporarily turn off the layout without disassociating it from
the label template by clearing this check box. You can disassociate the
layout from the label template by clicking next to the name of the
layout.

6. Click File > Save or to save the label template. When the label template is printed,
the printed labels are organized as indicated in the layout.
7. If the label template is version-controlled, click File > Check In to save and check in a
version that includes your changes and to make the label template available for others to
check out. After you check in a version, that version cannot be changed.

1An item that defines an organizational structure for printing multiple labels by using the same label template.

Loftware Spectrum 3.0.1 User Guide 107


Designing Labels

Save a Label Template or Other Object

108 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Save a New Label Template or Other Object

To save a n object for the first time, use this procedure.

1. Click File > Save As, or click the Save button on the toolbar.
2. In the left pane of the Save As dialog box, click the folder in which you want to save the
object. You can double-click a folder to display subfolders.
Tip: You can add a new folder within the folder selected in the left pane by
clicking the Add Folder button.
3. In the Name box, enter a name for the object.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
4. Click OK.
Note: If an object is in a version-controlled folder , you should check in the
object when you are finished working on it so that it is available for other users to
edit. Checking in an object also saves the object, but merely saving or closing an
object does not check it in.

Loftware Spectrum 3.0.1 User Guide 109


Designing Labels

Save an Existing Label Template or Other Object

To save an object under its existing name, use this procedure.

l Click File > Save, or click the Save button on the toolbar.

110 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Save a Copy of a Label Template or Other Object

To save an object with a new name or in a new location, use this procedure.
1. Click File > Save As.
2. In the left pane of the Save As dialog box, click the folder in which you want to save the
object. You can double-click a folder to display subfolders.
Tip: You can add a new folder within the folder selected in the left pane by
clicking the Add Folder button.
3. In the Name box, enter a name for the object.
4. Click OK.
Best Practice
Click the Save button or File > Save frequently while designing objects.

Loftware Spectrum 3.0.1 User Guide 111


Designing Labels

Open an Existing Label Template or Other Object


To open an existing label template, form, layout, reusable object, or application, use this
procedure.

1. In Design, click File > Open or click the Open button.


2. In the left pane of the Open dialog box, click a folder to display the label templates and
other objects within that folder. You can also double-click a folder to display subfolders.
3. In the middle pane, click the object that you want to open. You can also double-click a
subfolder to navigate to it. The right pane displays details and tag information about the
selected object.
Tip: If you do not know where to find a particular object, in the left pane
click the top-level folder, type part of the name of the object into the search
box, and click the Search button. Search results are displayed in the
middle pane. Note that only the folder selected in the left pane is searched.

4. If the object is in a version-controlled folder , the latest version is selected by default.


However, in the Versions pane, you can select a different version to open instead.
5. Click OK. The object is displayed. If it is version-controlled, the Version is displayed
near the bottom of the editing pane.
Important: Before you edit a version-controlled object, you should check out the
object or save it under a different name or in a different folder. Otherwise, any
changes that you make will be discarded when you close or check out the object.
For more information, see "Check Out a Version-Controlled Object" on page 83.

112 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Close a Label Template or Other Object


Note: If a label template, form, layout, image, reusable object, application,
business rule, or process is in a version-controlled folder , you should check in
the label template, form, layout, image, reusable object, application, business rule,
or process when you are finished working on it so that it is available for other users
to edit. Checking in a label template also saves the label template, but merely
saving or closing a label template does not check it in.

Loftware Spectrum 3.0.1 User Guide 113


Designing Labels

Close a Label Template or Layout

To close the active label template, form, layout, reusable object, or application, use this
procedure.

1. Click File > Close or click the Close button on the toolbar. The active label
template, form, layout, reusable object, or application is closed.
2. If you have not saved the label template, form, layout, reusable object, or application
since a change, respond to the Close dialog box.

114 Loftware Spectrum 3.0.1 User Guide


Managing Label Templates

Close All Open Label Templates and Layouts

To close all open label templates, forms, layouts, reusable objects, or applications, use this
procedure.
1. Click File > Close All. All open label templates, forms, layouts, reusable objects, or
applications are closed.
2. If you have not saved a label template, form, layout, reusable object, or application since
a change, respond to the Close dialog box.

Loftware Spectrum 3.0.1 User Guide 115


Designing Labels

Delete a Label Template or Other Object


To delete a label template, layout, or other object, use this procedure.
1. Click Access Control.
2. In the Access Control tree, click the object that you want to delete.
3. At the bottom of the window, click Delete Label, and then click Yes to confirm.
Tip: You can also delete a label template or other object in an Open dialog box in
Design by right-clicking the object and selecting Delete.

116 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Designing Labels and Forms


A label template in Spectrum is the combination of the design for a label that will be printed and
the entry form that will be used for gathering the data for the label. You can use the same label
template for printing regardless of whether you are printing via on-demand print, Oracle
integration, File Drop integration, or Integration for Use with SAP Applications. Designing
label templates involves creating Label and Form views, adding fields and other items, and
configuring the properties of fields.
Note: You can also create forms that are not associated with a label template and
use Loftware Spectrum's Application Architect to link individual forms together to
provide complex, intelligent data entry form experiences for end users. For more
information, see "Building with Application Architect" on page 290.

Create Label and Form Views in a Label Template


In LoftwareSpectrum, label templates have a Label view and a Form view. The Label view
shows the design for the printed label. The Form view shows how the data entry form appears
to users in Print.
Note: Fields cannot be placed off the canvas in Label view.

Add Fields and Other Items to the Label Template


You can use the following fields and other items in a label template.
l Data sources are used to populate fields in a label template. You can use buttons and
prompts as triggers1 to allow a Data Provider 2 to select information from a data source
such as a database.
l Format sources are used to format text within fields to which they are applied. You can
use format sources to apply character-level formatting to specified characters within a
field.
l Fixed Text fields contain text that remains the same for all printed labels that use a
particular label template. You can use text fields for data such as company name or
address.
l Variable Text fields and Text Box fields contain text that can vary among printed
labels produced using the same label template. You can use variable text for data such as
customer name or part number.
l Controls can be used to permit data entry in forms.
l Shapes include lines, circles, and rectangles. You can use shapes to separate sections of a
label template, or to emphasize information.

1A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 117


Designing Labels

l Images can be used as background, to add brand information, or to help identify a


product associated with a label template.
l Barcodes encode data to be read by scanners. You can use this data to provide
information about an object or package to which a label template is attached.
l Reusable objects contain fields and other items that can be added to a label template,
form, or reusable object. After you add a reusable object to a label template, form, or
another reusable object, you can edit the fields and other items contributed by the
reusable object.

Configure the Properties of Fields


Your label template and each field in it are defined by properties. These include settings that
define the appearance of fields such as height and width, font size and color, and settings that
define the function of the field such as barcode symbology and check digit.
Best Practice
Name the fields in a label template by configuring the Field Name property.

118 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Work with a Migrated Label Template


If you are working with a label template that was migrated from a Loftware Print Server (LPS)
environment, you should assess whether LPS-Style Font Rendering is and should continue to be
in use. You should also review whether issues occurred during migration.

Migration Issues
If you are viewing a label template that was migrated from an LPS environment, you can
determine whether issues occurred during migration. If issues occurred, you can view
information about the issues and any changes that were necessary.
Review Migration Issues
To determine whether issues occurred during the migration of a label template, do the following.
1. In Design, click File > Open, select the label template that you want to review for
migration issues, and click OK.
2. In the Properties pane, review the value displayed for the Migration property.
n If the value is Successfully migrated, then no migration issues occurred for the
label template.
n If the value is Migrated with issues, then migration was performed but some
issues occurred and changes may have been necessary.
3. If the label template was migrated with issues, you can view information about the issues
and any changes that were necessary.
n To view a tool tip listing any migration issues for a particular field, in the
Properties pane click the flag icon for that field.
n To view a report of all migration issues for the label template, in the Migrated
property click the flag icon.
Tip: You can remove an individual icon by clicking the Clear Flag button, or
remove all of the icons and the report by clicking the Clear All Flags button.

LPS-Style Font Rendering


When migrating a label template from an LPS environment to a Spectrum environment, the
administrator performing the migration can specify whether to use LPS-Style Font Rendering for
the migration. Using this feature maintains compatibility with LPS/LLM (version 9.8) printed
output for TrueType fonts. However, when LPS-Style Font Rendering is used, the label
template may not be WYSIWYG and is read-only except for changes that can be performed in
Access Control.
Note: For information about how to configure LPS-Style Font Rendering when
performing migration, see the Loftware Spectrum Migrate and Transfer Guide.
Determine If LPS-Style Font Rendering Is Used
If a label template has been migrated with LPS-Style Font Rendering turned on, then when you
open the label template in Design an LPS-Style Font Rendering in use notice is displayed in

Loftware Spectrum 3.0.1 User Guide 119


Designing Labels

the Properties pane. Also, the label template is read-only.

Turn Off LPS-Style Font Rendering


When LPS-Style Font Rendering is used, the label template is read-only except for changes that
can be performed in Access Control and the label template may not be WYSIWYG. You can
turn off LPS-Style Font Rendering and use Spectrum Font Rendering instead, which will allow
you to edit the label template.
To turn off LPS-Style Font Rendering for a particular label template, use the following
procedure.
1. In Design, click File > Open, select the label template for which you want to turn off
LPS-Style Font Rendering, and click OK.
2. Click File > Save As and enter a file name.
Important! It is recommended that you save to a different file name so that
you do not overwrite the label template for which LPS-Style Font
Rendering is in use. If you overwrite the label template, Spectrum Font
Rendering is applied and LPS-Style Font Rendering cannot be restored.
3. Click OK.
The LPS-Style Font Rendering in use message is removed, and Spectrum Font Rendering is
employed.

120 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Configuring Label Template Properties and Options


You can configure characteristics of a label template such as its orientation for design, rotation
for printing, unit of measurement. You can also configure Label Specific Options.

Configure the Design Orientation of a Label 122


Change the Print Rotation of a Label 123
Change the Unit of Measure for a Label Template 124
Override Device Options with Label Specific Options 125

Loftware Spectrum 3.0.1 User Guide 121


Designing Labels

Configure the Design Orientation of a Label

You can configure how your label canvas in Spectrum is aligned in relation to objects in the label
template.
Note: To change the orientation of the label relative to the stock on which it will
be printed, see "Change the Print Rotation of a Label" on page 123.

When Creating a New Label Template

In the Create Label dialog box, click Portrait or Landscape for the Orientation property.
The canvas changes shapes to match your selection.
When Editing an Existing Label Template

1. In Design, open a label template and then expand the Properties pane.
2. Click the Label view, and click the label canvas to display the properties of the label
template.
3. For Orientation, click Portrait or Landscape. The canvas shape changes.
Note: Objects on your label may move so that they stay on the label canvas.

122 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Change the Print Rotation of a Label

To change the orientation of the label relative to the stock on which it will be printed, use this
procedure.
1. In Design, open a label template and then expand the Properties pane.
2. Click the Label view, and click the label canvas to display the properties of the label
template.
3. Select a value in degrees for Print Rotation.
Note: The appearance of the label in Spectrum is not changed. To change the
orientation of the label in Spectrum, see "Configure the Design Orientation of a
Label" on page 122.

Loftware Spectrum 3.0.1 User Guide 123


Designing Labels

Change the Unit of Measure for a Label Template

To change the unit of measure used in Spectrum, use this procedure.


1. In Design, in the menu bar, click Options and point to Units.
2. Click a unit of measure.
The rulers and grid change to the unit of measure you select. The values of properties dependent
on the unit of measure are converted to the new unit of measure.

124 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Override Device Options with Label Specific Options

Label Specific Options (LSOs) enable a Document Designer 1 to override device settings on a
per-label template, per-device model basis. For example, if devices are typically configured with
cutters turned off and a particular label template requires every label to be cut, then when
designing the label template you would create an LSO to override the default setting. LSOs
override device options, and device options override the settings on the device itself if Send
Device Options is enabled.
Tip: If available for the device, Send Device Options can be configured on the
Advanced tab in an LSO or in Device Management.
Each LSO that you create is associated with a specific label template and with a specific device
model or device family. If no LSOs are included in a label template, then the device options
configured in Device Management are used.
Best Practice
It is recommended that device options be configured in Device Management and
overridden by LSOs only where necessary.
To add a collection of Label Specific Options to a label template, use the following procedure.
1. In Design, open a label template.
2. In the right column of the Spectrum window, click the Label Specific Options title bar
to expand the pane.
3. In the Label Specific Options pane, click to open the Label Specific Options
dialog box.
4. For Family, select the family of the devices for which you want to override settings.
5. For Model, select the model of the devices for which you want to override settings.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

Loftware Spectrum 3.0.1 User Guide 125


Designing Labels

6. For each setting that you want to override, select the Override check box, and then
configure the option. (If there is more than one check box for the setting, the Override
check box is the first one following the option name.)
Tip: For information about specific device options, see " Device Driver
Options" on page 858.

Tip: If overriding the Paper Size or Paper Source option for a server
spooler device, you are not limited to selecting from the values displayed.
You can type in a custom value.

Note: Selecting the Print as Image property for a Barcode field overrides
the option for the relevant symbology on the Barcode Imaging tab for
both LSOs and device options, and the barcode is sent as an image.
Selecting Print as Image removes any potential device variation when
natively encoding the barcode data. If you have cleared Print as Image,
selecting Override in the LSO and selecting the relevant symbology also
causes barcodes to be generated by Spectrum and printed as an image.
7. Click OK to save the Label Specific Options collection.
8. Click File > Save or click on the toolbar to save the label template.
Important! An LSO is part of a label template. If you do not save the label
template, the LSO that you created will be discarded when you close the
label template.

126 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Adding Fields to a Label


You can add fields such as text, shapes, barcodes, and images to the label view or the form view
of a label template.
Drag an object from the Library to the Label view or Form view to add it. Your mouse pointer
indicates where the upper left corner of the field will appear. Rulers track the location of the
field when you move the mouse pointer over the canvas.
Note: Some fields, such as variable text, can only be placed in the Label view.
Other fields, such as prompts and buttons, can only be placed in the Form view.

Loftware Spectrum 3.0.1 User Guide 127


Designing Labels

Add a Data Source to a Field

To attach a data source to a field on the label or form, use one of the following methods:
l Drag the data source from the Data Sources pane to the field on the Label or Form
view.
l Enter the name of the data source in the Data Ref property of the field that you want to
display the data.

128 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Resize and Position Fields in a Label Template

To position text fields, images, shapes, and barcodes in your label template, use the following
tools.
Tip: You can group fields together so that you can move and order them as a single
unit and configure some properties in common. However, fields within a group are
rotated, aligned, and distributed individually. If you copy and paste a group, the
fields are ungrouped when pasted.

Resize a Shape or an Image

To change the size of a circle, box, line, or the displayed size of an image, use one of the
following procedures.
Note: Resizing an image by using these procedures does not alter the image in the
Spectrum library.
Using Handles
1. Click a field to resize. Drag handles appear at the corners, sides, or ends.
2. If resizing an image in the Label view, for Resizing select Fit to Envelope.
3. Drag the handles to change the size.
Note: By default, images maintain proportionality when you change their sizes. To
disproportionately resize an image, clear the Lock Aspect Ratio check box in the
Properties pane.
Using Properties
1. Click a field to resize.
2. If resizing an image in the Label view, for Resizing select Fit to Envelope.
3. Open the Properties pane, and adjust the Width and Height properties.
Resize a Text Field

You can resize Fixed Text and Variable Text fields using the Chars Per Line and Font Size
properties.
1. Click a text field to resize.
2. Open the Properties pane, and adjust the Width and Height properties.
Rotate a Field

Tip: When rotating a barcode, it is possible to become disoriented about which


edge of the barcode is which. It is recommended that you use the Rotation
property for a barcode rather than other methods to help ensure that the
orientation of the barcode is as you intend it.
Using Handles

Loftware Spectrum 3.0.1 User Guide 129


Designing Labels

To freely rotate a field that permits it, do the following. This approach is not available for
barcodes or for groups of fields that include a barcode.
1. Click a field to rotate.
2. Move the mouse pointer outside one of the corners of the field. The pointer changes to
an arc with arrows on each end.

Figure A.5: Rotation tool


3. Click and hold the mouse button, and move your mouse to rotate the field.
Using the Menu
To rotate a field in 90-degree increments, do the following.
1. Click the field to rotate.
2. Click Position > Rotate, and then click one of the rotation options.
n Clockwise
n Counterclockwise

Note: Fields cannot be positioned off the label canvas. If you need to rotate a large
field, you may notice that the field is blocked by the edge of the canvas. You can
temporarily resize a field to rotate or reposition it.

Align Fields

You can position fields so their edges or centers are aligned with each other, or you can align a
single field relative to the label template. You can also align some types of fields within their
envelopes.
Tip: To move a field only horizontally or vertically from its current position, press
Shift while moving the field.

Tip: For a text field with only one line, you can display guidelines indicating the
top, text baseline 1, and bottom edge of text. To do so, click the text field, and in
the Properties pane, Font section, select the check box for Alignment Markers.
Align Fields with Each Other
To position fields so their edges or centers are aligned, use Align.
1. Select the fields to align. You can use one of the following methods to select multiple
fields.
n Click and drag over the fields. Envelopes appear around the fields selected.
n Press and hold the Shift key, and click fields.

1The conceptual line on which characters sit by default. Characters with a rounded bottom edge may extend slightly below the
baseline. Some characters (such as y) have descenders that extend significantly below the baseline. The baseline is not printed on
labels or displayed in forms, but is an alignment marker that can be viewed in Design.

130 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

2. Click Position > Align, and click one of the alignment options.
n Left
n Center
n Right
n Top
n Middle
n Bottom
Align a Field with the Label Template
To align a single field relative to the label template, use Align.
1. Select the field to align.
2. Click Position > Align, and click one of the alignment options.
n Left
n Center
n Right
n Top
n Middle
n Bottom
Align a Field with its Envelope
You can align a barcode, a variable image, or text within or relative to its envelope.
To align a field relative to its envelope, perform the following steps.
1. Select the field to align.
2. In the Properties pane, navigate to the section specific to the type of field, such as
Barcode, Image, or Font.
3. Click an option for Horizontal Alignment.
4. If available, click an option for Vertical Alignment.
Equally Distribute Fields

To separate multiple fields by an equal amount of space, use Distribute. You must select at least
three fields.
1. Select the fields to separate. You can use one of the following methods to select multiple
fields.
n Click and drag over the fields. An envelope appears around the fields selected.
n Press and hold the Shift key, and click fields.
2. Click Position > Distribute, and click one of the space options.
n Horizontally
n Vertically

Order Overlapping Fields

To adjust the stacking order of overlapping fields, use Order. Within the Label view and within
the Form view, each field has a unique position in the stacking order.

Loftware Spectrum 3.0.1 User Guide 131


Designing Labels

1. Click a field for which you want to change the stacking order in relation to other fields in
the view.
2. Click Position > Order, and click one of the options.
n Bring to Front: Position forward of all other fields in the view. If this field
overlaps with others, this field appears in front of the other fields.
n Bring Forward: Move one step closer to the front of the view.
n Send to Back: Position underneath all of the other fields in the view. If this field
overlaps with others, this field appears behind the other fields.
n Send Backward: Move one step closer to the back of the view.

132 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Configure the Properties of a Field

After adding a field, shape, image, or barcode to a label template, you may need to adjust the
properties of the field.
1. If the Properties pane is not visible in the right column, click the arrow at the top right
of Design.
2. Click the field, shape, image, or barcode in the label template or select it from the
Document Field drop down in the Properties pane. The properties of the field are
displayed in the Properties pane.
3. Change the properties of the field.
Tip: The option selected for Design Data controls what data is used in
fields when previewed, printed, or displayed in Design. Either default
data1, placeholder data2, or data from a live data set3 can be used. For
more information, see "Select Data to Display in Design" on page 63.

1For each field, the value specified in the Default Value property for that field.
2For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
3A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

Loftware Spectrum 3.0.1 User Guide 133


Designing Labels

Using Text
Fixed Text fields contain text that remains the same for all printed labels that use a particular
label template. For example, you can use Fixed Text fields for data such as company name or
address.
Variable Text fields and Text Box fields contain text that can vary among printed labels
produced using the same label template. For example, you can use Variable Text fields for data
such as customer name or part number. Text Box fields provide additional formatting options for
text that spans more than one line.

134 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Add Fixed Text

To add text that stays the same from label to label, use these procedures.
Add Fixed Text

1. From the Text list in the Library, click and drag Fixed Text to the Label or Form
view.
2. Double-click the Fixed Text field. The Edit Fixed Text dialog box is displayed.
3. Type the field text in the Enter Text field.
n Press Enter to add more lines to the field.
4. Click OK. The text is displayed in the label template.
Modify the Text in a Fixed Text Field

1. Double-click the Fixed Text field. The Edit Fixed Text dialog box is displayed.
2. Modify the text in the Enter Text field, and click OK.
The changed text is reflected in the Label view or the Form view, and in the Default Value
property in the Properties pane.

Loftware Spectrum 3.0.1 User Guide 135


Designing Labels

Add Variable Text

To add text that can vary from label to label, use these procedures.
Tip: For data that must fill a region of a specific size or for which you want to
control paragraph spacing, a Text Box field is recommended. For data that must be
restricted to a specific number of characters, a Variable Text field is recommended.

Add a Variable Text Field

From the Text list in the Library, select Variable Text.


l No Prompt - Click and drag the variable text field to the Label view. The variable text

field appears on the Label view.


l With a Prompt - Press Shift, and click and drag the variable text field to the Label view.

A Prompt appears on the Form view. A Data Entry data source is created.

Tip: The option selected for Design Data controls what data is used in fields
when previewed, printed, or displayed in Design. Either default data1,
placeholder data2, or data from a live data set3 can be used. For more
information, see "Select Data to Display in Design" on page 63.

1For each field, the value specified in the Default Value property for that field.
2For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
3A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

136 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Add Text Box

To add a Text Box field to the Label view, use the following procedures.
Tip: For data that must fill a region of a specific size or for which you want to
control paragraph spacing, a Text Box field is recommended. For data that must be
restricted to a specific number of characters, a Variable Text field is recommended.

Add a Text Box Field

1. From the Text list in the Library, click and drag Text Box to the Label view.
2. Double click the Text Box field. The Edit Text Box Default Data dialog box is
displayed.
3. Type the default text for the Text Box field in the Enter Text field.
4. Click OK. The text is displayed in the label template.
Modify the Default Data for a Text Box

1. Double click the Text Box field. The Edit Text Box Default Data dialog box is
displayed.
2. Modify the text in the Enter Text field, and click OK.
The changed text is reflected in the Label view and in the Default Value property in the
Properties pane.
Tip: The option selected for Design Data controls what data is used in fields
when previewed, printed, or displayed in Design. Either default data1,
placeholder data2, or data from a live data set3 can be used. For more
information, see "Select Data to Display in Design" on page 63.

When Data Exceeds the Space

When configuring a Text Box field, the following is the behavior when data exceeds the length
of a line or the size of the Text Box.
Line wrapping in a Text Box
Data in a Text Box field automatically wraps at the end of each line if the text would
otherwise extend beyond the envelope of the field. When line wrapping occurs, the line
break is either at the end of a word or after a hyphen, en-dash, or em-dash. If a word is too
wide to fit in the field, a line break occurs within the word at the edge of the envelope.
When data exceeds the size of a Text Box
If the amount of data received for a Text Box field is more than fits, the Text Box Overrun

1For each field, the value specified in the Default Value property for that field.
2For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
3A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

Loftware Spectrum 3.0.1 User Guide 137


Designing Labels

Mode property controls how Spectrum responds. Text may overrun the Text Box and
continue until reaching the edge of the label, text may be truncated at the end of a word or
paragraph, or the print job may be failed. An administrator may configure this property
system-wide for Spectrum or for a specific device. You can override the system-wide and
device options by using Label Specific Options (LSOs). For more information, see "Override
Device Options with Label Specific Options" on page 125.

138 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Change the Field Tabbing Order

You can change the order in which prompts receive focus as a user enters information and
presses theTab key to move to the next prompt on the data entry form.
Alternatively, you can "Dynamically Manage the Tab Order of a Control" on page 176 or use a
"Focus Form Rule" on page 411. To manage whether the control is a tab stop, use the "Tab
Stop" on page 181 control property.
Note: By default, the first prompt that is added has a tab order value of 1, the
second prompt that is added has a tab order value of 2, and so on.
1. In the right column of the Spectrum window, expand the Field Tabbing Order pane.
2. Arrange the available fields by dragging them into the intended order.
The tabbing order is changed for users entering data in Print.

Loftware Spectrum 3.0.1 User Guide 139


Designing Labels

Text Properties

Text fields in a label template, a form, or a reusable objectsuch as Fixed Text, Variable Text,
and Text Boxhave the following properties.
Note: A Field Name, Data Ref, or Input Data Ref can include letters and
numbers. Additionally, the following characters are permitted but cannot begin the
name: hyphens, underscores, and periods.
Name and Data

Property Description Fields Where Available


Field Name The identifier of the text in the label template, form, or All Fields
reusable object. A field name is the link between a label and
data entry.

140 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Property Description Fields Where Available


Data Ref Data reference. The data source used to populate the field Variable
with a value. Text
Tip: By default, Data Ref fields are case Prompt
sensitive. If the label template is intended for Text Box
use with an SAP BC-XOM integration or an SAP RFC
integration, use only uppercase text in the Data
Ref field.
When configuring a Text Box field, the following is the
behavior when data exceeds the length of a line or the size of
the Text Box.
Line wrapping in a Text Box
Data in a Text Box field automatically wraps at the end of
each line if the text would otherwise extend beyond the
envelope of the field. When line wrapping occurs, the line
break is either at the end of a word or after a hyphen, en-
dash, or em-dash. If a word is too wide to fit in the field, a
line break occurs within the word at the edge of the
envelope.
When data exceeds the size of a Text Box
If the amount of data received for a Text Box field is more
than fits, the Text Box Overrun Mode property controls
how Spectrum responds. Text may overrun the Text Box
and continue until reaching the edge of the label, text may
be truncated at the end of a word or paragraph, or the print
job may be failed. An administrator may configure this
property system-wide for Spectrum or for a specific
device. You can override the system-wide and device
options by using Label Specific Options (LSOs). For more
information, see "Override Device Options with Label
Specific Options" on page 125.
Default Value Default content for the field. If the field is populated by a Variable
Data Ref that returns a null value or has not yet received data, Text
this value is used. Prompt
Note: The text box for the property is read- Text Box
only, but you can click the button for the
property to open a dialog box that allows you to
edit the value.

Loftware Spectrum 3.0.1 User Guide 141


Designing Labels

Property Description Fields Where Available


Value Content for the field. The text box for the property is read- Fixed
only, but you can click the button for the property to Text
open a dialog box that allows you to edit the value.
Chars Per The maximum number of characters on a line within the field. Fixed
Line For Fixed Text, the value is automatically calculated from theText
text entered. (read-
only)
Variable
Text
# Lines The number of text rows in the field. For Fixed Text, the Fixed
value is automatically calculated from the text entered. Text
(read-
only)
Variable
Text
Max Chars The greatest number of characters that can appear in the field. Fixed
The value is automatically calculated based on Chars Per Text
Line and # Lines. (read-
only)
Variable
Text
(read-
only)
Force Max Whether Data Providers are required to enter the number of Variable
Chars characters specified by the Max Chars property. Text
: Data Providers may enter any number of characters up to
the number specified by Max Chars.
: Data Providers must enter exactly the number of
characters specified by Max Chars.
Remove Line Whether line breaks in the data should be reflected in the Text Box
Breaks label. Regardless of how this property is configured, the text
wraps when it reaches the envelope of the text box.
: Line breaks in the data are included in the label.
: Line breaks in the data are omitted from the label and
replaced with a space except when preceded by a hyphen.
Note: This property applies hard returns
(control characters \r and \r\n), but not to soft
returns.

142 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Property Description Fields Where Available


Trim Whether to remove leading or trailing spaces from the value if Variable
they exist. Text
l None: Leading and trailing spaces are not removed. Text Box
l Left: Any spaces on the left side of the text are

removed. For languages that are read from left to right,


these are the leading spaces, if any. For languages that
are read right to left, these are the trailing spaces, if
any.
l Right: Any spaces on the right side of the text are

removed. For languages that are read from left to right,


these are the trailing spaces, if any. For languages that
are read right to left, these are the leading spaces, if
any.
l Both: Any leading or trailing spaces are removed.

Arrange

Property Description Fields Where Available


Left The distance from the left edge of the field to the left All Fields
edge of the label. The value is dependent on the unit of
measure for the label template.

Top The distance from the top edge of the field to the top of All Fields
the label. The value is dependent on the unit of measure
for the label template.
Center X The distance from the middle of the field to the left edge All Fields
of the label. The value is dependent on the unit of
measure for the label template.
Center Y The distance from the middle of the field to the top of All Fields
the label. The value is dependent on the unit of measure
for the label template.
Width The distance from the left edge of the field to the right All Fields
edge of the field. The value is dependent on the unit of
measure for the label template. Chars Per Line, Max
Chars, and font formatting also impact this value.
For some properties, this property is automatically
configured and is read-only by default. For Fixed Text and
Variable Text, this property can be manually configured if
Auto Envelope is cleared.

Loftware Spectrum 3.0.1 User Guide 143


Designing Labels

Property Description Fields Where Available


Height The distance from the top edge of the field to the bottom All Fields
edge of the field. The value is dependent on the unit of
measure for the label template. Line Spacing, # Lines,
and font formatting also impact this value.
For some properties, this property is automatically
configured and is read-only by default. For Fixed Text and
Variable Text, this property can be manually configured if
Auto Envelope is cleared.
Rotation The angle of the text field in relation to the printed label. Fixed Text
The value is in degrees. Variable
Text
Text Box
Printing Field Whether the field appears on the printed label. Fixed Text
(Label
view only)
Variable
Text
Text Box
Lock Field If selected, no changes can be made to the properties of All Fields
the field, and the field cannot be moved or deleted. The
order of the field relative to other fields in the label
template can be changed regardless of whether the field is
locked.
Note: This feature can be used to prevent
accidental changes to fields. It does not
prevent other Document Designers from
unlocking a field.
Font

144 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Property Description Fields Where Available


Font Category The type of font to use for text in the field. The following Fixed Text
options are available: Variable
TrueType Text
DPL1 Text Box
IPL2
ZPL II3
If the Font Category is TrueType, the fonts reside on
the server. For other font categories, the fonts reside on
the target device.
Note: The options available may be limited
by the Font Category selected for the
entire label template. In the Label view,
click the label canvas and then configure the
Font Category in the Properties pane.
Font The set of type to use for text in the field. Fixed Text
If the Font Category is TrueType, the fonts reside on Variable
the server. For other font categories, the fonts reside on Text
the target device. Text Box
Note: For a Text Box field, only TrueType
fonts and native scalable fonts are available.

Tip: If you have selected Datamax Native


for Font Category, Datamax recommends
using a native scalable font rather than the
Smooth font.
Font Size The size of type in the field in points. Fixed Text
Note: If Dynamic Font Sizing is enabled, Variable
the size of text displayed or printed in a Text Text
Box field may differ from the value specified Text Box
by Font Size.

1Datamax-O'Neil Programming Language, a printer control language.


2Intermec Printer Language, a printer control language.
3Zebra Programming Language II, a printer control language.

Loftware Spectrum 3.0.1 User Guide 145


Designing Labels

Property Description Fields Where Available


Font Height % For text that uses a TrueType font or a native scalable Fixed Text
font, you can adjust the height and width independently as Variable
percentages with respect to the selected point size. By Text
default, the Font Height % and Font Width % are Text Box
100.0%.
Note: This property is available only if a
TrueType font or a native scalable font is
used for the text.
Font Width % For text that uses a TrueType font or a native scalable Fixed Text
font, you can adjust the height and width independently as Variable
percentages with respect to the selected point size. By Text
default, the Font Height % and Font Width % are Text Box
100.0%.
Note: This property is available only if a
TrueType font or a native scalable font is
used for the text.
Mag. Height For text that uses a font other than a TrueType font or a Fixed Text
native scalable font, you can adjust the magnification of Variable
the height and width independently as multipliers with Text
respect to the base font size. The default multiplier is
dependent upon the font.
Note: This property is available only if a
font that is not a TrueType font or a native
scalable font is used for the text.
Mag. Width For text that uses a font other than a TrueType font or a Fixed Text
native scalable font, you can adjust the magnification of Variable
the height and width independently as multipliers with Text
respect to the base font size. The default multiplier is
dependent upon the font.
Note: This property is available only if a
font that is not a TrueType font or a native
scalable font is used for the text.

146 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Property Description Fields Where Available


Font Style For text that uses a TrueType font, additional formatting Fixed Text
for text in the field. Options include Bold, Italic, Variable
Underline, and Strikethrough. Text
Note: This property is available only if Text Box
TrueType is selected for Font Category.
Horizontal For text that uses a TrueType font, horizontal alignment Fixed Text
Alignment of text in the field. Options include Left, Center, and Variable
Right. Text
Note: This property is available only if Text Box
TrueType is selected for Font Category.
Vertical Vertical alignment of text in the field. Options include Text Box
Alignment Top, Center, and Bottom.
Vertical Distance by which the text is shifted up or down from the Fixed Text
Alignment baseline 1. The value is dependent on the unit of measure Variable
Offset for the label template. Text
Tip: Offset distances are from the top left
corner of the envelope. A positive value
indicates that the text is shifted below the
baseline. A negative value indicates that the
text is shifted above the baseline.
Line Spacing Vertical space allotted for each line of text in the field. Fixed Text
This can include additional space below the text if you Variable
specify more than single line spacing. Text
For Fixed Text and Variable Text, values include Single, Text Box
Double, Triple, and Quadruple.
For a Text Box, you can enter a numeric value in points
relative to Font Size. Single line spacing for the font's
size is represented as 1.000.
Auto Envelope If selected, the Height and Width are configured Fixed Text
automatically based on Font Size and Max Chars. If Variable
cleared, Height, Width, and Fit to Envelope can be Text
manually configured. By default, Auto Envelope is
selected.

1The conceptual line on which characters sit by default. Characters with a rounded bottom edge may extend slightly below the
baseline. Some characters (such as y) have descenders that extend significantly below the baseline. The baseline is not printed on
labels or displayed in forms, but is an alignment marker that can be viewed in Design.

Loftware Spectrum 3.0.1 User Guide 147


Designing Labels

Property Description Fields Where Available


Fit to Envelope If selected, the text will be stretched or compressed as Variable
needed to completely span the height and width of the Text
envelope for the field. The aspect ratio of the text will not
be maintained.
Note: Fit to Envelope is available only if a
TrueType font or a native scalable font is
used and if Auto Envelope is cleared.
Alignment If # Lines is set to 1, display gray horizontal dashed Fixed Text
Markers 1
guidelines indicating the top, text baseline , and bottom Variable
edge of the text. Alignment markers are not displayed in Text
forms or printed.
The following text is shown with alignment markers.

Paragraph Vertical space preceding each paragraph within a Text Box Text Box
Before in lines of space. The height of a line of space is defined
by Line Spacing.
Paragraph After Vertical space following each paragraph within a Text Box Text Box
in lines of space. This spacing is in addition to any defined
by Line Spacing. The height of a line of space is defined
by Line Spacing.
Dynamic Font Whether to permit the point size for the text to increase Text Box
Sizing or decrease until the text reaches the envelope, or to
strictly adhere to the value specified by Font Size.
: The text size is specified by Font Size.
: The text size is automatically adjusted to allow the
text to more completely fill the Text Box field. The font
size is limited by Min Size, Max Size, and Maintain
Aspect Ratio.
Min Size If Dynamic Font Sizing is enabled, the smallest font size Text Box
that may be used. This value is in points.
Note: This property is available only if
Dynamic Font Sizing is selected.

1The conceptual line on which characters sit by default. Characters with a rounded bottom edge may extend slightly below the
baseline. Some characters (such as y) have descenders that extend significantly below the baseline. The baseline is not printed on
labels or displayed in forms, but is an alignment marker that can be viewed in Design.

148 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Property Description Fields Where Available


Max Size If Dynamic Font Sizing is enabled, the largest font size Text Box
that may be used. This value is in points.
Note: This property is available only if
Dynamic Font Sizing is selected.
Maintain Aspect When Dynamic Font Sizing is enabled, whether to permit Text Box
Ratio the height and width of characters change asynchronously
when the size of the font is altered.
: The aspect ratio of the font may be altered,
asynchronously changing the height and the width of the
characters to enable the text to more completely fill the
field.
: The aspect ratio of the font may not be altered.
Note: This property is available only if
Dynamic Font Sizing is selected.
Color

Property Description Fields Where Available


Text Color Color of characters in the field. You can select a color or Fixed Text
enter a hexadecimal RGB color value. Variable
Tip: To swap the Text Color and the Fill Text
Color, click . Text Box

Note: Color printing is possible only if


supported by the device and device driver.
Fill Color The background color if Fill is set to a value other than Fixed Text
No Fill. You can select a color or enter a hexadecimal Variable
RGB color value. Text
Note: Color printing is possible only if Text Box
supported by the device and device driver.
Fill Whether the specified Fill Color is used as the Fixed Text
background for the text. Variable
No Fill: The field has a transparent background and the Text
Fill Color is not used. Text Box
Solid Fill: The field has a background of the Fill Color.
Format Sources
In a label template, you can configure format sources, which serve as formatting

Loftware Spectrum 3.0.1 User Guide 149


Designing Labels

specifications that can be applied to text fields. Format sources allow you to configure
formatting once, and then apply it to as many fields in the label template as needed. For more
information, see " Configuring Format Sources" on page 425.
Property Description Fields Where Available
Format Sources A list of format sources that are applied to the field. Fixed Text
To apply a format source to the field, expand the (Label view
Format Sources pane in the left column, and drag and only)
drop a format source onto a field in the Label view. Variable
To remove a format source from a field, click the field, Text
and in the Format Sources section of the Properties Text Box
pane select the name of a format source and click .

150 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Using Controls
Controls such as Button1, Check Box2, Drop-Down List3, Device Selector 4,Folder
Selector 5, Label Selector 6, Radio Button Group7, Prompt8, User Selector 9, and Text Box
Prompt10 fields can be included in data entry forms to allow a Data Provider 11 to enter
information for use in printed labels. In addition to simple data entry, those controls as well as a
Table 12 control can be used to allow a Data Provider to run a data source query and select
information from a database, or to run a form rule or a business rule that performs complex
instructions.
When configuring controls such as drop-down lists and radio button groups that provide a list of
options from which to select, a Document Designer 13 can manually provide the option names
and values from which Data Providers can select. Alternatively, the available options can be
dynamically drawn from the data map14.
A Document Designer can dynamically manage the appearance of each control. You can manage
whether each control is displayed to or hidden from Data Providers. Also, you can manage
whether each control is enabled or disabled"grayed out" and not available for use.
Example

If a form in Design includes a Print Alternate Address check box, you can
configure the dynamic properties of the Check Box field so that it is displayed to a
Data Provider in Print only if an alternate address is available in the data map14.

1A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when clicked by a Data Provider.
2A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when the check box is selected or cleared by a Data Provider.
3A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when a Data Provider changes which item is selected.
4A control field in a form or in the data entry view of a label template that allows a Data Provider to select a printer or other device. A
Device Selector is displayed as a browse button and the name of the selected device. Clicking the browse button opens a dialog
box from which a Data Provider can select a device. A control can also be used to run a data source query, a form rule, or a business
rule.
5A control field in a form or in the data entry view of a label template that allows a Data Provider to select a folder. A Folder Selector
is displayed as a browse button and the name of the selected folder. Clicking the browse button opens a dialog box from which a
Data Provider can select a folder. A control can also be used to run a data source query, a form rule, or a business rule.
6A control field in a form or in the data entry view of a label template that allows a Data Provider to select a label. A Label Selector is
displayed as a browse button and the name of the selected label. Clicking the browse button opens a dialog box from which a Data
Provider can select a label. A control can also be used to run a data source query, a form rule, or a business rule.
7A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when a Data Provider changes which item is selected.
8A type of control or document field used to collect information from a Data Provider in the data entry view of a label template or in
a form. When a Data Provider submits data via a prompt, a data source query, a form rule, or a business rule may be run.
9A control field in a form or in the data entry view of a label template that allows a Data Provider to select a user. A User Selector is
displayed as a browse button and the name of the selected user. Clicking the browse button opens a dialog box from which a Data
Provider can select a user. A control can also be used to run a data source query, a form rule, or a business rule.
10A type of control or document field in the data entry view of a label template or in a form that can be used to allow a Data Provider
to retrieve lengthy data from a database and then manipulate the data retrieved.
11Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer.
A user acting as a Data Provider requires the Document Printer role or equivalent permissions.
12A control field in a form that systematically displays the results of a data source query, a form rule, or a business rule in columns
and rows.
13Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

Loftware Spectrum 3.0.1 User Guide 151


Designing Labels

Tip: For most on-demand data entry, a Prompt field is recommended. However, a
Text Box Prompt field is appropriate for situations in which Data Providers are
expected to retrieve lengthy data from a database and then manipulate the data
retrieved.

152 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Adding Controls

You can add the following control fields to a label template, a form, or a reusable object:

Tip: For most on-demand data entry, a Prompt field is recommended. However, a
Text Box Prompt field is appropriate for situations in which Data Providers are
expected to retrieve lengthy data from a database and then manipulate the data
retrieved.

Add a Button

To add a Button control to a data entry form, use this procedure.


1. From the Controls list in the Library, click and drag Button to the Form view of a label
template to or to a form.
2. In the Properties pane, enter a name for the button in the Field Name property.
Note: A Field Name, Data Ref, or Input Data Ref can include letters
and numbers. Additionally, the following characters are permitted but
cannot begin the name: hyphens, underscores, and periods.
3. For the Label Text property, enter text to be displayed on the button.

Configure Functionality
You can configure more functionality for the control, such as running data source queries or
rules, dynamically displaying or hiding the control, dynamically enabling or disabling the control,
and associating the control with data.
l "Select Data Source Queries and Rules to Run" on page 168
l "Configure the Running Order for Queries and Rules" on page 172
l "Dynamically Manage If a Control Is Displayed" on page 174
l "Dynamically Manage If a Control Is Enabled" on page 175
l "Dynamically Manage the Tab Order of a Control" on page 176
Best Practice
Save the label template or form immediately after configuring a control.
Add a Check Box

To add a Check Box control to a data entry form, use this procedure.
1. From the Controls list in the Library, click and drag Check Box to the Form view of a
label template to or to a form.
2. In the Properties pane, enter a name for the check box in the Field Name property.
Note: A Field Name, Data Ref, or Input Data Ref can include letters
and numbers. Additionally, the following characters are permitted but
cannot begin the name: hyphens, underscores, and periods.

Loftware Spectrum 3.0.1 User Guide 153


Designing Labels

3. For the Default Value property, enter either true (selected) or false (cleared) for the
value that is returned by the check box by default.
4. For the Label Text property, enter text to be displayed next to the check box.

Configure Functionality
You can configure more functionality for the control, such as running data source queries or
rules, dynamically displaying or hiding the control, dynamically enabling or disabling the control,
and associating the control with data.
l "Select Data Source Queries and Rules to Run" on page 168
l "Configure the Running Order for Queries and Rules" on page 172
l "Dynamically Manage If a Control Is Displayed" on page 174
l "Dynamically Manage If a Control Is Enabled" on page 175
l "Dynamically Manage the Tab Order of a Control" on page 176
l " Associate the Control Output with a Field in a Label" on page 177
Best Practice
Save the label template or form immediately after configuring a control.
Add a Drop-Down List

To add a Drop-Down List control to a data entry form, use this procedure.
1. From the Controls list in the Library, click and drag Drop-Down List to the Form
view of a label template to or to a form.
2. In the Properties pane, enter a name for the drop-down list in the Field Name
property.
Note: A Field Name, Data Ref, or Input Data Ref can include letters
and numbers. Additionally, the following characters are permitted but
cannot begin the name: hyphens, underscores, and periods.

154 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

3. In the Name and Data section, configure the initial appearance of the drop-down list.
You can either display text with no associated value to prompt the Data Provider 1 to
make a selection, or you can specify an option that is selected by default.
n To display text to prompt the Data Provider to make a selection, enter text for the
Prompt.
Note: This text is not associated with an option value. Also, if you
specify a Default Value, then the Prompt is not displayed to Data
Providers.
n To display a default option as selected, for the Default Value enter an option
value from the list.
Tip: Enter the option value, not the corresponding option name.
4. Click the Option Values pane to expand it, and then indicate whether you will manually
enter the options for the drop-down list or whether you will provide a data ref pointing to
the names and values for the options.
n To manually type the option names and values for the drop-down list, click
Manual Entry. Click Add Value. In the dialog box, enter an option name for
Label, enter the corresponding value, and click Add. Repeat for each option. For
the last option in the list, click OK to enter the option and close the dialog box.
n To configure Spectrum to retrieve the option names and values from the datamap,
click From Data Map. For Data Ref, enter a reference to a data map entry 2.

Configure Functionality
You can configure more functionality for the control, such as running data source queries or
rules, dynamically displaying or hiding the control, dynamically enabling or disabling the control,
and associating the control with data.
l "Select Data Source Queries and Rules to Run" on page 168
l "Configure the Running Order for Queries and Rules" on page 172
l "Dynamically Manage If a Control Is Displayed" on page 174
l "Dynamically Manage If a Control Is Enabled" on page 175
l "Dynamically Manage the Tab Order of a Control" on page 176
l " Associate the Control Output with a Field in a Label" on page 177
Best Practice
Save the label template or form immediately after configuring a control.
Add a Device Selector

To add a Device Selector control to a data entry form, use this procedure.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
2A name (key) and value pair in the data map for a job.

Loftware Spectrum 3.0.1 User Guide 155


Designing Labels

1. From the Controls list in the Library, click and drag Device Selector to the Form view
of a label template or to a form.
2. In the Properties pane, enter a name for the device selector in the Field Name
property.
Note: A Field Name, Data Ref, or Input Data Ref can include letters
and numbers. Additionally, the following characters are permitted but
cannot begin the name: hyphens, underscores, and periods.

Configure Functionality
You can configure more functionality for the control, such as running data source queries or
rules, dynamically displaying or hiding the control, dynamically enabling or disabling the control,
and associating the control with data.
l "Select Data Source Queries and Rules to Run" on page 168
l "Configure the Running Order for Queries and Rules" on page 172
l "Dynamically Manage If a Control Is Displayed" on page 174
l "Dynamically Manage If a Control Is Enabled" on page 175
l "Dynamically Manage the Tab Order of a Control" on page 176
l " Associate the Control Output with a Field in a Label" on page 177
Best Practice
Save the label template or form immediately after configuring a control.
Add a Folder Selector

To add a Folder Selector control to a data entry form, use this procedure.
1. From the Controls list in the Library, click and drag Folder Selector to the Form view
of a label template or to a form.
2. In the Properties pane, enter a name for the folder selector in the Field Name
property.
Note: A Field Name, Data Ref, or Input Data Ref can include letters
and numbers. Additionally, the following characters are permitted but
cannot begin the name: hyphens, underscores, and periods.

Configure Functionality
You can configure more functionality for the control, such as running data source queries or
rules, dynamically displaying or hiding the control, dynamically enabling or disabling the control,
and associating the control with data.
l "Select Data Source Queries and Rules to Run" on page 168
l "Configure the Running Order for Queries and Rules" on page 172
l "Dynamically Manage If a Control Is Displayed" on page 174
l "Dynamically Manage If a Control Is Enabled" on page 175

156 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

l "Dynamically Manage the Tab Order of a Control" on page 176


l " Associate the Control Output with a Field in a Label" on page 177
Best Practice
Save the label template or form immediately after configuring a control.
Add a Label Selector

To add a Label Selector control to a data entry form, use this procedure.
1. From the Controls list in the Library, click and drag Label Selector to the Form view
of a label template or to a form.
2. In the Properties pane, enter a name for the label selector in the Field Name property.
Note: A Field Name, Data Ref, or Input Data Ref can include letters
and numbers. Additionally, the following characters are permitted but
cannot begin the name: hyphens, underscores, and periods.

Configure Functionality
You can configure more functionality for the control, such as running data source queries or
rules, dynamically displaying or hiding the control, dynamically enabling or disabling the control,
and associating the control with data.
l "Select Data Source Queries and Rules to Run" on page 168
l "Configure the Running Order for Queries and Rules" on page 172
l "Dynamically Manage If a Control Is Displayed" on page 174
l "Dynamically Manage If a Control Is Enabled" on page 175
l "Dynamically Manage the Tab Order of a Control" on page 176
l " Associate the Control Output with a Field in a Label" on page 177
Best Practice
Save the label template or form immediately after configuring a control.
Add a Radio Button Group

To add a Radio Button Group control to a data entry form, use this procedure.
1. From the Controls list in the Library, click and drag Radio Button Group to the Form
view of a label template to or to a form.
2. In the Properties pane, enter a name for the radio button group in the Field Name
property.
Note: A Field Name, Data Ref, or Input Data Ref can include letters
and numbers. Additionally, the following characters are permitted but
cannot begin the name: hyphens, underscores, and periods.

Loftware Spectrum 3.0.1 User Guide 157


Designing Labels

3. For the Default Value property, enter the option value for the radio button that is
initially selected by default.
Tip: Enter the option value, not the corresponding option name.
4. Click the Option Values pane to expand it, and then indicate whether you will manually
enter the options for the radio button group or whether you will provide a data ref
pointing to the names and values for the options.
n To manually type the option names and values for the radio button group, click
Manual Entry. Click Add Value. In the dialog box, enter an option name for
Label, enter the corresponding value, and click Add. Repeat for each option. For
the last option in the group, click OK to enter the option and close the dialog box.
n To configure Spectrum to retrieve the option names and values from the datamap,
click From Data Map. For Data Ref, enter a reference to a data map entry 1.

Configure Functionality
You can configure more functionality for the control, such as running data source queries or
rules, dynamically displaying or hiding the control, dynamically enabling or disabling the control,
and associating the control with data.
l "Select Data Source Queries and Rules to Run" on page 168
l "Configure the Running Order for Queries and Rules" on page 172
l "Dynamically Manage If a Control Is Displayed" on page 174
l "Dynamically Manage If a Control Is Enabled" on page 175
l "Dynamically Manage the Tab Order of a Control" on page 176
l " Associate the Control Output with a Field in a Label" on page 177
Best Practice
Save the label template or form immediately after configuring a control.
Add a Prompt

To add a Prompt field to a data entry form, use this procedure.


1. From the Controls list in the Library, click and drag Prompt to the Form view of a
label template or to a form. A Form Prompt and a Prompt are added. A Data Entry data
source is added to the label template.
2. In the Properties pane, enter a name for the prompt in the Field Name property. This
is shared by the Form Prompt and the Prompt.
Note: A Field Name, Data Ref, or Input Data Ref can include letters
and numbers. Additionally, the following characters are permitted but
cannot begin the name: hyphens, underscores, and periods.
3. For the Prompt property, enter text to be displayed next to the Prompt field.

1A name (key) and value pair in the data map for a job.

158 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

Configure Functionality
You can configure more functionality for the control, such as running data source queries or
rules, dynamically displaying or hiding the control, dynamically enabling or disabling the control,
and associating the control with data.
l "Select Data Source Queries and Rules to Run" on page 168
l "Configure the Running Order for Queries and Rules" on page 172
l "Dynamically Manage If a Control Is Displayed" on page 174
l "Dynamically Manage If a Control Is Enabled" on page 175
l "Dynamically Manage the Tab Order of a Control" on page 176
l " Associate the Control Output with a Field in a Label" on page 177
Best Practice
Save the label template or form immediately after configuring a control.
Add a User Selector

To add a User Selector control to a data entry form, use this procedure.
1. From the Controls list in the Library, click and drag User Selector to the Form view
of a label template or to a form.
2. In the Properties pane, enter a name for the user selector in the Field Name property.
Note: A Field Name, Data Ref, or Input Data Ref can include letters
and numbers. Additionally, the following characters are permitted but
cannot begin the name: hyphens, underscores, and periods.

Configure Functionality
You can configure more functionality for the control, such as running data source queries or
rules, dynamically displaying or hiding the control, dynamically enabling or disabling the control,
and associating the control with data.
l "Select Data Source Queries and Rules to Run" on page 168
l "Configure the Running Order for Queries and Rules" on page 172
l "Dynamically Manage If a Control Is Displayed" on page 174
l "Dynamically Manage If a Control Is Enabled" on page 175
l "Dynamically Manage the Tab Order of a Control" on page 176
l " Associate the Control Output with a Field in a Label" on page 177
Add a Table

You can use a Table control to display the results of a data source query, form rule, or business
rule in an application in Print. You can also add rules to the table and to specific columns to
change the styling based upon the data in a cell. For more information, see "Add a Table Rule"
on page 164.
To add a Table control to a data entry form, use this procedure.

Loftware Spectrum 3.0.1 User Guide 159


Designing Labels

1. From the Controls list in the Library, click and drag Table to the Form view of a label
template or to a form.
2. In the Properties pane, change the Field Name to a meaningful name.
Note: A Field Name, Data Ref, or Input Data Ref can include letters
and numbers. Additionally, the following characters are permitted but
cannot begin the name: hyphens, underscores, and periods.
3. For the Source Data Ref field in the Table section, enter the location in the datamap
from which the columns obtain data.
Example
/MyData
4. For the ColumnCount property, modify the value to add or remove columns in the
table as needed.
Tip: If you want the number of columns in the table to be determined from
the data source, set the Column Count to 0.
5. Decide whether the envelope 1 of the table should automatically resize based on row
height and column width or if the envelope should be a fixed size, then do one of the
following:
Automatically resize the envelope of the table
a. In the Table section of theProperties pane, select the Auto Envelope check
box.
b. Adjust the values in the Row Height and Row Count fields as needed.
Set a fixed size for the envelope of the table
a. In the Table section of theProperties pane, clear the Auto Envelope check
box.
b. In the Arrange section, adjust the values in the Width and Height fields as
needed.
6. To add a search toolbar to the table, select Show Search.
7. To display the number of each row, select Show Row Numbers. Row numbers are
displayed in Print.
8. To modify the fill color of alternating rows, use Alternating Row Colors.
9. Click the Columns and Table Rules pane.

1In the Label view or Form view in Design, a blue box that outlines a field when the field is selected.

160 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

10. In the ColumnHeaders section, do the following for each column in the table:
Note:If yourColumn Count is 0, skip this step.
a. Select the row of the column you want to configure and then click Edit . The
Configure Properties dialog box for the column is displayed.

b. Under Header, enter text for the header Display Name or leave this field blank
to use the name as defined in the data source.
c. UnderColumn, enter the name of the column as defined in the data source for
the Column Name.
d. If desired, modify the column Width and any additional header and column
properties. For more information, see "Columns and Table Rules" on page 189.
11. If desired, configure rules for the table and for specific columns. For more information,
see "Add a Table Rule" on page 164.
12. To style the table using a business rule, in the Style Data Ref field, enter the location in
the datamap from which the columns obtain styling data, and then add a trigger on the
form to run the business rule with the onLoad event. For more information, see "Style a
Table" on page 165.
Note: Styles defined by a Style Data Ref override the styles configured in
the Columns and Table Rules pane.
13. View the populated and styled table in Print. For more information, see View a Table.
View a Table
A table is displayed in an application in Print. To view a table, perform the following steps:
1. If the table data is populated by a business rule, add a trigger on the form to run the
business rule with the onLoad event.
2. Open or create an application and add the form to the application.
3. In Print, open the application to view your table with data and styling as specified.
Note: If a table cell is editable, editing the cell modifies the data map entry
but does not modify the data in the data source.

Loftware Spectrum 3.0.1 User Guide 161


Designing Labels

4. If a column is sortable, you can click the column header to sort the table by that column
in ascending or descending order.
5. To change the displayed order of a columns, click and drag the column in the table.

Configure Functionality
You can configure more functionality for the control, such as running data source queries or
rules, dynamically displaying or hiding the control, dynamically enabling or disabling the control,
and associating the control with data.
l "Select Data Source Queries and Rules to Run" on page 168
l "Configure the Running Order for Queries and Rules" on page 172
l "Dynamically Manage If a Control Is Displayed" on page 174
l "Dynamically Manage If a Control Is Enabled" on page 175
l "Dynamically Manage the Tab Order of a Control" on page 176
l " Associate the Control Output with a Field in a Label" on page 177
Best Practice
Save the label template or form immediately after configuring a control.
Configure Table Rules
You can use table rules to change the styling of rows in the table based upon the data in the row,
and you can use column rules to change the styling of cells in a specific column based upon the
data in the column. For example, if you want the rows that contain a specific date to stand out,
you can add a table rule to change the background color of the rows containing that date to
yellow. If you add a rule to both the table and a column that overlaps, the column rule overrides
the table rule for that cell.
Example
You add a table rule to change the background color of rows that contain January 1 in
the Date column to yellow.
Table Rule
Column Name Operator Value Set Style Style Value
Date Equals January 1 BackgroundColor yellow
You also add a rule on the Date column to change the background color of cells in
the column that contain January 1 to green.
Column Rule
Column Name Operator Value Set Style Style Value
Date Equals January 1 BackgroundColor green
Result

162 Loftware Spectrum 3.0.1 User Guide


Designing Labels and Forms

When the table is displayed in Print, the cells containingJanuary 1 in the Date
column are green because a column rule overrides a table rule, and the other cells in
the row are yellow from the table rule.
Date Item Quantity
January 1 12345 100
January 2 12346 100

Loftware Spectrum 3.0.1 User Guide 163


Designing Labels

Add a Table Rule


1. In Design, click the table you want to add a rule to.
2. Click the Columns and Table Rules pane.
3. Click the TableRules button.
4. In the Table Rules dialog box, click add to add a rule.
5. For Column Name, double-click the cell and select a column from the drop-down list.
6. For Operator, double-click the cell and select an operator from the drop-down list.
7. For Value, enter the value for which the rule applies.
8. For Set Style, double-click the cell and select a property from the drop-down list.
9. For Style Value, enter the desired style. For information on accepted values, see
"Columns and Table Rules" on page 189.
10. To add an additional rule, click add and configure the fields for the rule.
11. To change the order in which a rule is implemented, click the row and use the arrows
to move the rule. Rules are implemented in order beginning with the rule at the top,
and the last rule overrides previous rules if applicable.

164 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Add a Column Rule


1. In Design, click the table you want to add a rule to.
2. Click the Columns and Table Rules pane.
3. Select the column you want to add a rule to and click Edit . The Configure
Properties dialog box for the column is displayed.
4. In the dialog box under Column Rules, click add to add a rule.
5. For Operator, double-click the cell and select an operator from the drop-down list.
6. For Value, enter the value for which the rule applies.
7. For Set Style, double-click the cell and select a property from the drop-down list.
8. For Style Value, enter the desired style. For information on accepted values, see
"Columns and Table Rules" on page 189.
9. To add an additional rule, click add and configure the fields for the rule.
10. To change the order in which a rule is implemented, click the row and use the arrows
to move the rule. Rules are implemented in order beginning with the rule at the top,
and the last rule overrides previous rules if applicable.

Style a Table
You can style a table using the options in the Properties pane and by configuring the properties
for each column in the Columns and Table Rules pane. However, if you have several tables
inSpectrum and you want to quickly apply the same styles to multiple tables, you can define the
table styles using a business rule and then apply those styles to a table using the Style Data Ref
property.
Note: Styles defined by a Style Data Ref override those configured in the
Columns and Table Rules pane.
Styles can be defined using the following locations in the datamap. If the same style is defined
in both locations, the Style Data Ref is used. For property keys and values, see "Columns and
Table Rules" on page 189.
Property
Location in DataMap Example
Type
Table /{Style Data Ref}/{Key} /myTableStyle/alternatingItemColors
Table /{Table Name}/{Key} /Table001/alternatingItemColors
Columns /{Style Data Ref}/columns/{Key} /myTableStyle/columns/horizontalAlign
Columns /{Table Name}/columns/{Column /Table0001/columns/Date/horizontalAlign
Name}/{Key}
To style a table using a business rule, perform the following steps:

Loftware Spectrum 3.0.1 User Guide 165


Designing Labels

1. In Process Design, create and save a new business rule that adds the desired values (or
"styles")to the appropriate data map entries (or "properties"). For more information, see
"Create a Business Rule in Configurator" on page 440. For property keys and values, see
"Columns and Table Rules" on page 189.
Tip: To apply these styles to more than one table, use the /{Style Data
Ref}/{Key} and /{Style Data Ref}/columns/{Key} locations in the
datamap.
2. In Design, open the label template or form with the table and click the table.
3. In the Table section of the Properties pane, in the Style Data Ref property, enter the
location in the datamap from which the columns obtain styling data as defined in your
business rule.
Example
/myTableStyle
4. On the form, add a trigger to run the new styling business rule with the onLoad event.
For more information, see "Create a Trigger to Run a Rule" on page 297.
5. View the styled table in Print. For more information, see View a Table.

Add a Text Box Prompt

To add a Text Box Prompt field to a data entry form, use this procedure.
Tip: For most on-demand data entry, a Prompt field is recommended. However, a
Text Box Prompt field is appropriate for situations in which Data Providers are
expected to retrieve lengthy data from a database and then manipulate the data
retrieved.
1. From the Controls list in the Library, click and drag Text Box Prompt to the Form
view. A Form Prompt and a Text Box Prompt are added to the Form view of the label
template. A Data Entry data source is added to the label template.
2. In the Properties pane, enter a name for the Text Box Prompt in the Field Name
property. This is shared by the Form Prompt and the Text Box Prompt.
Note: A Field Name, Data Ref, or Input Data Ref can include letters
and numbers. Additionally, the following characters are permitted but
cannot begin the name: hyphens, underscores, and periods.
3. For the Prompt property, enter text to be displayed next to the Text Box Prompt field.

Configure Functionality
You can configure more functionality for the control, such as running data source queries or
rules, dynamically displaying or hiding the control, dynamically enabling or disabling the control,
and associating the control with data.

166 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

l "Dynamically Manage If a Control Is Displayed" on page 174


l "Dynamically Manage If a Control Is Enabled" on page 175
l "Dynamically Manage the Tab Order of a Control" on page 176
l " Associate the Control Output with a Field in a Label" on page 177
Best Practice
Save the label template or form immediately after configuring a control.

Loftware Spectrum 3.0.1 User Guide 167


Designing Labels

Select Data Source Queries and Rules to Run

If you want data source queries, form rules, or business rules to run when a Data Provider 1
performs a particular action using a control, you must configure a trigger 2 for each data source
or rule.
Trigger
Control When the Trigger Event Occurs
Event
Button3 onClick A Data Provider clicks a button.
Check Box4 onChange A Data Provider selects or clears a check box,
changing its state.
Drop-Down List5 onChange A Data Provider changes which option is selected in
a drop-down list.
Device Selector 6 onChange A Data Provider changes which printer or other
device is selected and clicks OK in a Device
Selector dialog box.
Folder Selector 7 onChange A Data Provider changes which folder is selected and
clicks OK in a Folder Selector dialog box.
Label Selector 8 onChange A Data Provider changes which label is selected and
clicks OK in a Label Selector dialog box.
Radio Button onChange A Data Provider changes which option is selected in
Group9 a radio button group.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
2A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
3A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when clicked by a Data Provider.
4A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when the check box is selected or cleared by a Data Provider.
5A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when a Data Provider changes which item is selected.
6A control field in a form or in the data entry view of a label template that allows a Data Provider to select a printer or other device. A
Device Selector is displayed as a browse button and the name of the selected device. Clicking the browse button opens a dialog
box from which a Data Provider can select a device. A control can also be used to run a data source query, a form rule, or a business
rule.
7A control field in a form or in the data entry view of a label template that allows a Data Provider to select a folder. A Folder Selector
is displayed as a browse button and the name of the selected folder. Clicking the browse button opens a dialog box from which a
Data Provider can select a folder. A control can also be used to run a data source query, a form rule, or a business rule.
8A control field in a form or in the data entry view of a label template that allows a Data Provider to select a label. A Label Selector is
displayed as a browse button and the name of the selected label. Clicking the browse button opens a dialog box from which a Data
Provider can select a label. A control can also be used to run a data source query, a form rule, or a business rule.
9A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when a Data Provider changes which item is selected.

168 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Trigger
Control When the Trigger Event Occurs
Event
Prompt1 onCommit A Data Provider submits text via a prompt.
Note: After an interactive user has
typed text into the field, clicking to
another field, tabbing to another field,
or pressing the Enter key submits the
text in the Prompt field to Spectrum.
User Selector 2 onChange A Data Provider changes which user is selected and
clicks OK in a User Selector dialog box.
Text Box Prompt3 onCommit A Data Provider submits text via a text box prompt.
Note: After an interactive user has
typed text into the field, clicking to
another field, tabbing to another field,
or pressing the Enter key submits the
text in the Text Box Prompt field to
Spectrum.

Note: For information about how to add a control, see "Adding Controls" on page
153.

Select a Data Source Query to Run


If you want a query of a Database data source 4 or an Alternate data source 5 to be run when
a Data Provider uses a particular control, do the following to select a trigger.
Tip: If you have not yet created the data source for which using the control should
act as a trigger, you can skip this step and select the trigger when you create the
data source. For more information, see "Create a Database Data Source" on page
309 or "Create an Alternate Data Source" on page 318.
1. Click the Triggers pane.
2. Click Add to open the Select a Trigger dialog box.

1A type of control or document field used to collect information from a Data Provider in the data entry view of a label template or in
a form. When a Data Provider submits data via a prompt, a data source query, a form rule, or a business rule may be run.
2A control field in a form or in the data entry view of a label template that allows a Data Provider to select a user. A User Selector is
displayed as a browse button and the name of the selected user. Clicking the browse button opens a dialog box from which a Data
Provider can select a user. A control can also be used to run a data source query, a form rule, or a business rule.
3A type of control or document field in the data entry view of a label template or in a form that can be used to allow a Data Provider
to retrieve lengthy data from a database and then manipulate the data retrieved.
4A connection to a database that acts as a data source and can serve as the data ref for a document field. A Database data source
is associated with a Database data service.
5A connection to a file external to Spectrum that acts as a data source and can serve as the data ref for a document field. An
Alternate data source is associated with either a File data service or an HTTP data service.

Loftware Spectrum 3.0.1 User Guide 169


Designing Labels

3. For Trigger Type, select Data Source.


4. For Data Source, click the data source for which using the control should act as a
trigger.
5. If you have configured more than one data source query to be run by this control, you
can configure the running order of the data source queries by entering a value for
Trigger Priority. The data source with the lower value for Trigger Priority is run first.
6. Click OK.
7. Repeat for any additional data source queries to run when the control is used by a Data
Provider.

Select a Form Rule to Run


If you want a form rule to be run when a Data Provider uses a particular control, do the
following to select a trigger:
1. Click the Triggers pane.
2. Click Add to open the Select a Trigger dialog box.
3. Select a Trigger Event from the drop-down list.
4. For Trigger Type, select Form Rule.
5. For Form Rules, click the form rule to be run when the control is used by a Data
Provider.
6. If you have configured more than one form rule to be run by this control, you can
configure the running order of the form rules by entering a value for Trigger Priority.
The form rule with the lower value for Trigger Priority is run first.
7. Click OK.
8. Repeat for any additional form rules to run when the control is used by a Data Provider.

Select a Business Rule to Run


If you want a business rule to be run when a Data Provider uses a particular control, do the
following to select a trigger:
1. Click the Triggers pane.
2. Click Add to open the Select a Trigger dialog box.
3. Select a Trigger Event from the drop-down list.
4. For Trigger Type, select Business Rule.
5. For Business Rule, click , select a business rule to be run when the control is used
by a Data Provider.
6. For Business Rule Event, enter the name of an event specified in the business rule.
When the control is used by a Data Provider, the business rule is run as if this event has
occurred.
7. If you have configured more than one business rule to be run by this control, you can
configure the running order of the business rules by entering a value for Trigger
Priority. The business rule with the lower value for Trigger Priority is run first.

170 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

8. Click OK.
9. Repeat for any additional business rules to run when the control is used by a Data
Provider.

Loftware Spectrum 3.0.1 User Guide 171


Designing Labels

Configure the Running Order for Queries and Rules

If a control acts as a trigger source 1 for more than one data source or more than one rule and
the order in which the they are run is important, then you must configure values for trigger
priority 2 for these triggers. In that situation, you can assign different values for Trigger
Priority for these otherwise identical triggers, and the data source, form rule, or business rule
with the lower value for Trigger Priority is run first. For data sources, whether the type of data
source differs is not relevant.
Note: For information about how to select data source queries, form rules, and
business rules to be run when a control is used, see "Select Data Source Queries
and Rules to Run" on page 168.

Note: Trigger Priority values for data sources are not compared with Trigger
Priority values for form rules and business rules. Regardless of their Trigger
Priority values, all data sources are run before any form rules or business rules are
run.
To configure the order in which data source queries are run relative to each other and the order
in which rules are run relative to each other, do the following:
1. If the control acts as a trigger for more than one data source and the order in which the
they are run relative to each other is important, do the following to assign values for
trigger priority for these triggers.
a. In the Triggers section of the Properties pane, double-click a trigger in the
Data Sources box.
b. In the Select a Trigger dialog box, click Next twice.
c. In the list of triggers, enter a value for Trigger Priority for the data source. The
data source with the lower value for Trigger Priority is run first.
Tip: Trigger priorities are compared only if the triggers have the
same trigger source, trigger event, and trigger key (if any). For
example, if a data source has both a button and a prompt that act as
triggers, their Trigger Priority values are not compared to each
other.
d. Click OK.
e. Repeat for each data source for which a trigger is listed.

1A field that is used in conjunction with a trigger event to interactively run a data source, form rule, or business rule. For example, a
button that runs a query when clicked, a prompt that runs a query when submitted, or a form that runs a query when loaded.
2The order in which data sources, form rules, or business rules that have otherwise identical triggers are run. Trigger values are
compared only if the triggers have the same trigger source, trigger event, and trigger key (if any). The type of data source is
irrelevant. Among data sources, form rules, or business rules with otherwise identical triggers, the data source with the lowest
value for trigger priority is run first.

172 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

2. If the control acts as a trigger for more than one rule (regardless of whether they are form
rules or business rules) and the order in which the they are run relative to each other is
important, do the following to assign values for trigger priority for these triggers.
a. In the Triggers section of the Properties pane, double-click a trigger in the
Form Rules box.
b. For Priority, enter a value for trigger priority for the rule. The rule with the lower
value for trigger priority is run first.
c. Click OK.
d. Repeat for each form rule or business rule for which a trigger is listed.

Loftware Spectrum 3.0.1 User Guide 173


Designing Labels

Dynamically Manage If a Control Is Displayed

You can use the value referred to by a data ref to manage whether the control is displayed to or
hidden from Data Providers. The control is displayed only if a comparison between the value
associated with a field and a specified value is evaluated as true.
Note:By default, a control with no dynamic properties is enabled and visible and is
a tab stop.
1. Click the Dynamic Properties pane.
2. Click Add to open the Configure Properties dialog box.
3. For Property, select Visible.
4. For Data Ref, select the field to use to manage whether the control is displayed.
5. For Operator, select how the value associated with the field should be compared to a
specified value.
6. If the Value property is displayed, enter the literal value to which the value associated
with the field should be compared.
7. Click OK.
Tip: The Value property must not include a data ref or the name of a data map
entry. If you want to use a variable to manage whether the control is displayed, you
can accomplish this by using a business rule that includes a conditional business
rule component. Configure the output of the business rule to be a value in the
data map1, and then use that value to manage whether the control is displayed.

1A repository for the data for use when responding to a print request. Each data map entry is composed of a name (key) and a
value.

174 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Dynamically Manage If a Control Is Enabled

You can use the value referred to by a data ref to manage whether the control is enabled for Data
Providers to use. The control is enabled only if a comparison between the value associated with
a field and a specified value is evaluated as true. Otherwise, the control is displayed in a disabled
state"grayed out" and not available for use.
Note:By default, a control with no dynamic properties is enabled and visible and is
a tab stop.
1. Click the Dynamic Properties pane.
2. Click Add to open the Configure Properties dialog box.
3. For Property, select Enabled.
4. For Data Ref, select the field to use to manage whether the control is enabled.
5. For Operator, select how the value associated with the field should be compared to a
specified value.
6. If the Value property is displayed, enter the literal value to which the value associated
with the field should be compared.
7. Click OK.
Tip: The Value property must not include a data ref or the name of a data map
entry. If you want to use a variable to manage whether the control is enabled, you
can accomplish this by using a business rule that includes a conditional business
rule component. Configure the output of the business rule to be a value in the
data map1, and then use that value to manage whether the control is enabled.

1A repository for the data for use when responding to a print request. Each data map entry is composed of a name (key) and a
value.

Loftware Spectrum 3.0.1 User Guide 175


Designing Labels

Dynamically Manage the Tab Order of a Control

You can use the value referred to by a data ref to manage whether a control field is a tab stop,
and, if it is, manage the order in which the field receives focus when a Data Provider uses the
Tab key for navigating in the form. The field is not a tab stop if the Tab Order value is -1.
Alternatively, you can select or clear the "Tab Stop" on page 181 property, manually "Change
the Field Tabbing Order" on page 139, or use a "Focus Form Rule" on page 411.
Note: By default, a control with no dynamic properties is enabled and visible and
is a tab stop.
1. Click the Dynamic Properties pane.
2. Click Add to open the Configure Properties dialog box.
3. For Property, select Tab Order.
Note: If the Tab Order option is not displayed, click the Properties pane,
select theTab Stop property for the control, and then click Save.
4. For Data Ref, select the field to use to manage the tab order of the control.
5. Click OK.
Tip: If you want to use a variable to manage the tab order value of a control, you
can accomplish this by using a business rule. Configure the output of the business
rule to be a value in the data map1, and then use that value to manage the tab
order value.

1A repository for the data for use when responding to a print request. Each data map entry is composed of a name (key) and a
value.

176 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Associate the Control Output with a Field in a Label

If the form containing the control is part of a label template, you can use a Data Entry data
source to associate the data provided via the control with a field in the Label view of a label
template. Data provided by using the control can be printed on a label. To do so, use this
procedure.
1. Expand the Data Sources pane.
2. Expand the Data Entry data sources.
3. Click and drag the listing for the control onto a Variable Text field or a Barcode field in
the Label view.
n : Displayed when the mouse pointer is over a field that can accept the data
source.
n : Displayed when the mouse pointer is not over a field that can accept the data
source.
The Variable Text or Barcode field is now configured to use the control as its source of data.
You can confirm this by clicking the Variable Text or Barcode field and noting that in the
Properties pane the Data Ref property contains the name of the control.
Important! After you assign a data source to a field, renaming the data source or
associated control breaks the connection between the variable field or barcode and
the data source. You must complete the association procedure again, or rename the
Data Ref property of the variable field or barcode to match the new name of the
data source.

Loftware Spectrum 3.0.1 User Guide 177


Designing Labels

Control Properties

The types of control fields available in Loftware Spectrum include Button1, Check Box2,
Drop-Down List3, Device Selector 4, Folder Selector 5, Label Selector 6, Radio Button
Group7, Prompt8, User Selector 9, Table 10, and Text Box Prompt11 fields. Control fields
can be used in a form, in the Form view of a label template, or the Form view of a reusable
object and have the following properties.
Name and Data

Note: A Field Name, Data Ref, or Input Data Ref can include letters and
numbers. Additionally, the following characters are permitted but cannot begin
the name: hyphens, underscores, and periods.

Property Description Fields Where Available


Field Name The identifier of the control in the label template, form, All fields
or reusable object. A field name is the link between a
label and data entry.

1A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when clicked by a Data Provider.
2A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when the check box is selected or cleared by a Data Provider.
3A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when a Data Provider changes which item is selected.
4A control field in a form or in the data entry view of a label template that allows a Data Provider to select a printer or other device. A
Device Selector is displayed as a browse button and the name of the selected device. Clicking the browse button opens a dialog
box from which a Data Provider can select a device. A control can also be used to run a data source query, a form rule, or a business
rule.
5A control field in a form or in the data entry view of a label template that allows a Data Provider to select a folder. A Folder Selector
is displayed as a browse button and the name of the selected folder. Clicking the browse button opens a dialog box from which a
Data Provider can select a folder. A control can also be used to run a data source query, a form rule, or a business rule.
6A control field in a form or in the data entry view of a label template that allows a Data Provider to select a label. A Label Selector is
displayed as a browse button and the name of the selected label. Clicking the browse button opens a dialog box from which a Data
Provider can select a label. A control can also be used to run a data source query, a form rule, or a business rule.
7A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when a Data Provider changes which item is selected.
8A type of control or document field used to collect information from a Data Provider in the data entry view of a label template or in
a form. When a Data Provider submits data via a prompt, a data source query, a form rule, or a business rule may be run.
9A control field in a form or in the data entry view of a label template that allows a Data Provider to select a user. A User Selector is
displayed as a browse button and the name of the selected user. Clicking the browse button opens a dialog box from which a Data
Provider can select a user. A control can also be used to run a data source query, a form rule, or a business rule.
10A control field in a form that systematically displays the results of a data source query, a form rule, or a business rule in columns
and rows.
11A type of control or document field in the data entry view of a label template or in a form that can be used to allow a Data Provider
to retrieve lengthy data from a database and then manipulate the data retrieved.

178 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Fields Where Available


Data Ref Data reference. The data source used to populate the All fields
field with a value. except
Tip: By default, Data Ref fields are case Form
sensitive. If the label template is intended Prompt
for use with an SAP BC-XOM integration
or an SAP RFC integration, use only
uppercase text in the Data Ref field.
Input Data Ref The data reference for a data source, such as a Database All fields
data source, from which a Prompt field obtains data. except
Button
Default Value The default option value or content for the field. If the Check Box
field is populated by a Data Ref that returns a null Drop-
value 1, then the default value is used instead. Down List
Note: For controls that have both an option Prompt
name and an option value, this is the option Radio
value. Button
Group
Important! For a Check Box field, this Text Box
value must be either true (selected) or false Prompt
(cleared).
Prompt Text displayed next to or in a prompt or a drop-down list Drop-
in a form. Down List
Prompt
Form
Prompt
Text Box
Prompt
Label Text Text displayed on a button or adjacent to a check box. Button
Check Box

1A value that is unknown. A null value is different from an empty string or a zero value.

Loftware Spectrum 3.0.1 User Guide 179


Designing Labels

Property Description Fields Where Available


Entry Type Whether a Data Provider 1 is required to provide data for Prompt
this field. Text Box
Optional: The field may be left empty. Prompt
Mandatory: The field must have content.
Must Fill: The maximum number of characters (Max
Chars) for the field must be entered. This value is not
available for Text Box Prompt fields.
Read-Only Whether a Data Provider 2 is prevented from entering Prompt
data in this field. Selecting this option may be appropriate Text Box
if the field is automatically populated with data from a Prompt
database and should not be altered in Print.
Important! If this option is selected, then
Entry Type should be set to Optional
unless the field is being automatically
populated.
Character Mask Type of characters that are permitted in the field. None Prompt
indicates that there is no masking and any characters are
permitted.
The following options are available:
l None

l Alpha-Numeric

l Alpha-Only

l Code 39

l Code 93

l Full ASCII

l Hexadecimal

l Numeric-Only

l GS1

l GS1-128 Alpha-Numeric

l Uppercase Alpha-Numeric

l Uppercase Alpha-Only

Scan Only Whether data for the prompt can only be scanned in. Prompt
: Data can be entered by any means.
: Data for this prompt can be entered only by scanning.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

180 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Fields Where Available


Mask Text If selected, the information entered in the field is Prompt
displayed as asterisks for concealment.
Chars Per Line The maximum number of characters on a line within the Prompt
field.
# Lines The number of text rows in the field. Prompt
Max Chars The greatest number of characters that can appear in the Prompt
field. The value is automatically calculated based on (read-only)
Chars Per Line and # Lines.
Force Max Chars Whether Data Providers are required to enter the number Prompt
of characters specified by the Max Chars property.
: Data Providers may enter any number of characters up
to the number specified by Max Chars.
: Data Providers must enter exactly the number of
characters specified by Max Chars.
Tab Stop Whether focus is set to the field when a Data Provider 1 All fields
uses the Tab key for navigating in a form.
: Focus is set to the field according to the tab order
when a Data Provider uses theTab key for navigating.
: Focus is not set to the field when a Data Provider
uses theTab key for navigating.
Alternatively, you can "Dynamically Manage the Tab
Order of a Control" on page 176, use a "Focus Form
Rule" on page 411, or "Change the Field Tabbing Order"
on page 139.
Arrange

Note: Rotating a field does not change the values of these properties. For
example, regardless of what the value for Rotation is, the Width refers to the
distance from the left edge of the field to the right edge of the field when
Rotation is set to 0.
Property Description Fields Where Available
Left The distance from the left edge of the field to the left All fields
edge of the label. The value is dependent on the unit of
measure for the label template.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 181


Designing Labels

Property Description Fields Where Available


Top The distance from the top edge of the field to the top of All fields
the label. The value is dependent on the unit of measure
for the label template.
Center X The distance from the middle of the field to the left edge All fields
of the label. The value is dependent on the unit of
measure for the label template.
Center Y The distance from the middle of the field to the top of the All fields
label. The value is dependent on the unit of measure for
the label template.
Width The distance from the left edge of the field to the right All fields
edge of the field. The value is dependent on the unit of
measure for the label template. Chars Per Line, Max
Chars, and font formatting also impact this value.
For some properties, this property is automatically
configured and is read-only by default. For Fixed Text,
Variable Text, and Table, this property can be manually
configured if Auto Envelope is cleared.
Height The distance from the top edge of the field to the bottom All fields
edge of the field. The value is dependent on the unit of
measure for the label template. Line Spacing, # Lines,
and font formatting also impact this value.
For some properties, this property is automatically
configured and is read-only by default. For Fixed Text,
Variable Text, and Table, this property can be manually
configured if Auto Envelope is cleared.
Rotation The angle of the text field in relation to the printed label. All fields
The value is in degrees.
Flip Horizontal Whether to display the options in a radio button group as Radio
a vertical list or a horizontal list. Button
: Display a vertical list of options. Group
: Display a horizontal list of options.

182 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Fields Where Available


Lock Field If selected, no changes can be made to the properties of All fields
the field, and the field cannot be moved or deleted. The
order of the field relative to other fields in the label
template can be changed regardless of whether the field is
locked.
Note: This feature can be used to prevent
accidental changes to fields. It does not
prevent other Document Designers from
unlocking a field.
Font

Property Description Fields Where Available


Font Category The type of font to use for text in the field. The All fields
following options are available: except
TrueType Prompt and
DPL1 Text Box
IPL2 Prompt
ZPL II3
If the Font Category is TrueType, the fonts reside on
the server. For other font categories, the fonts reside on
the target device.
Note: The options available may be
limited by the Font Category selected for
the entire label template. In the Label
view, click the label canvas and then
configure the Font Category in the
Properties pane.

1Datamax-O'Neil Programming Language, a printer control language.


2Intermec Printer Language, a printer control language.
3Zebra Programming Language II, a printer control language.

Loftware Spectrum 3.0.1 User Guide 183


Designing Labels

Property Description Fields Where Available


Font The set of type to use for text in the field. All fields
If the Font Category is TrueType, the fonts reside on
the server. For other font categories, the fonts reside on
the target device.
Tip: If you have selected Datamax
Native for Font Category, Datamax
recommends using a native scalable font
rather than the Smooth font.
Font Size The size of type in the field in points. All fields
Note: If Dynamic Font Sizing is enabled,
the size of text displayed or printed in a
Text Box field may differ from the value
specified by Font Size.
Font Style For text that uses a TrueType font, additional formatting All fields
for text in the field. Options include Bold, Italic, and
Underline.
Note: This property is available only if
TrueType is selected for Font Category.
Color

Property Description Fields Where Available


Text Color Color of characters in the field. You can select a color or All fields
enter a hexadecimal RGB color value.
Tip: To swap the Text Color and the Fill
Color, click .

Note: Color printing is possible only if


supported by the device and device driver.
Fill Color The background color if Fill is set to a value other than Prompt
No Fill. You can select a color or enter a hexadecimal Text Box
RGB color value. Prompt
Note: Color printing is possible only if Form
supported by the device and device driver. Prompt

184 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Fields Where Available


Fill Whether the specified Fill Color is used as the Prompt
background for the text. Text Box
No Fill: The field has a transparent background and the Prompt
Fill Color is not used. Form
Solid Fill: The field has a background of the Fill Color. Prompt
Format Sources
In a label template or a form, you can configure format sources, which serve as formatting
specifications that can be applied to text fields. Format sources allow you to configure
formatting once, and then apply it to as many fields in the label template as needed. For more
information, see " Configuring Format Sources" on page 425.
Property Description Fields Where Available
Format Sources A list of format sources that are applied to the field. Form
To apply a format source to the field, expand the Format Prompt
Sources pane in the left column, and drag and drop a
format source onto a field in the Label view.
To remove a format source from a field, click the field,
and in the Format Sources section of the Properties
pane select the name of a format source and click .
Table
In a label template or a form, you can configure data sources and styling for a table. For
additional table properties, see "Columns and Table Rules" on page 189.
Property Description Fields Where Available
SourceData Ref A reference to the location in the datamap from which Table
the table columns obtain data.
Example
/MyData
Style Data Ref A reference to the location in the datamap from which Table
the table columns obtain styling. For more information,
see "Style a Table" on page 165.
Example
/MyData/Styling

Note: Styles defined by a Style Data Ref


override the styles configured on a column.
Show Search If selected, a toolbar is added to the table that allows users Table
in Print to quickly locate rows that contain specific text
or numbers in a column.

Loftware Spectrum 3.0.1 User Guide 185


Designing Labels

Property Description Fields Where Available


Show Row If selected, a column is added that displays the number of Table
Numbers each row when viewing in Print.
Alternating Row
The default fill colors for every other row in the table. Table
Colors You can select a color or enter a hexadecimal RGB color
value.
Key: alternatingItemColors
ColumnCount The number of columns to display in the table. You can Table
set this value to 0 if you want the number of columns to
be determined from the first row of data in the Source
Data Ref.
Auto Envelope If selected, the Height and Width of the envelope are Table
configured automatically based on Row Count, Row
Height and column Width (in the Columns and
TableRules pane). If cleared, Height and Width can be
manually configured. By default, Auto Envelope is
selected.
Row Height The vertical span of each row in pixels. Table
Note: This property is available only if Auto
Envelope is selected.
Row Count The number of rows to display in the table. If a table Table
contains more rows than the Row Count number, a scroll
bar is added to the table envelope.
Note: This property is available only if Auto
Envelope is selected.
Dynamic Properties
You can use the value of a field to manage whether each dynamic property of the control is
turned on or off. For example, you can use a dynamic property to manage whether the control
is enabled or disabled. You can also use a dynamic property to manage whether the control is
displayed or hidden and to manage whether a control field is a tab stop as well as the tab
order.
Note: By default, a control with no dynamic properties is enabled and visible
and is a tab stop.
The following commands are available in the Dynamic Properties pane.
l : Open the Configure Properties dialog box so that a property can be added to
the list.

186 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

l : Delete the property.


l : Edit or configure the selected property.

Configure Properties
The following properties are displayed in the Configure Properties dialog box.
Property Description Values
Property A property of a control Enabled: Whether the control can be used
that can be turned on or by a Data Provider in Print. If a
off, such as whether the comparison between the value associated
control is enabled or with a field and a specified value is
whether the control is evaluated as true, then the control is
displayed to a Data displayed and can be used. If false, the
Provider 1 in Print. control is displayed in a disabled state and
cannot be used.
Visible: Whether the control is displayed
to a Data Provider in Print. If a
comparison between the value associated
with a field and a specified value is
evaluated as true, then the control is
displayed. If false, the control is not
displayed.
Tab Order: The order in which the
control receives focus when a Data
Provider uses the Tab key for navigating in
Print. The control is not a tab stop if the
Tab Order value is -1.
Data Ref The field used to manage The list of fields that exist in the form
whether the specified
property is turned on or
off.
Operator The operator used to Equals
compare the value Not Equal
referred to by the Data Greater Than
Ref to a specified value. Less Than
Is Empty
Is Not Empty

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 187


Designing Labels

Property Description Values


Value The literal value to be A literal value
compared to the Data Tip: The Value property
Ref to manage whether must not include a data ref or
the specified property the name of a data map entry.
should be applied to the If you want to use a variable
control. to manage the control, you
Note: The can accomplish this by using
Value a business rule that includes a
property is conditional business rule
omitted if component. Configure the
the output of the business rule to
Operator be a value in the data map1,
itself and then use that value to
provides the manage the control.
value.
Option Values
For controls such as a Drop-Down List or a Radio Button Group, you provide a list of
options from which a Data Provider 2 can select.
Property Description Fields Where Available
Data Provider Whether the option names displayed to Data Providers Drop-
and the associated values are typed by a Document Down List
Designer 3 or retrieved from the datamap. Radio
Manual Entry: A Document Designer types the option Button
name and value pairs that are displayed to Data Providers. Group
From Data Map: A Document Designer types a data ref
that points to a list of option name and value pairs that
are displayed to Data Providers.

1A repository for the data for use when responding to a print request. Each data map entry is composed of a name (key) and a
value.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
3Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

188 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Fields Where Available


Values The list of options in the Drop-Down List or Radio Drop-
Button Group. Only the option names are displayed to Down List
Data Providers. Radio
Add Value: Open the Option Value dialog box so that Button
an option can be added to the list. Group
: Delete the option.
The following properties and commands are displayed in
the Option Value dialog box.
l Label: The option name displayed to Data

Providers.
l Value: The option value, which is not displayed

to Data Providers.
l Add: Add the option to the list and clear the

information from the Option Value dialog box so


that another option can be entered.
l OK: Add the option to the list and close the

Option Value dialog box.


l Cancel: Close the Option Value dialog box

without adding the current option to the list.


Tip: You can drag and drop an option to
change its position in the list, and you can
double-click an option to edit it.

Note: This property is displayed only if


Manual Entry is selected for the Data
Provider property.
Data Ref A reference to a data map entry from which the list of Drop-
options for the Drop-Down List or Radio Button Group Down List
is obtained. Radio
Note: This property is displayed only if Button
From Data Map is selected for the Data Group
Provider property.

Columns and Table Rules

For a table 1 in a label template or a form, the Column and Table Rules pane allows you to
add or remove columns in a table, configure properties and styles for the table, and add styling

1The view that is displayed to a user on the Print page that allows the user to enter information for a label. A Document Designer
can configure this view in the Form view on the Design page.

Loftware Spectrum 3.0.1 User Guide 189


Designing Labels

rules to the table and to specific columns. Additional table options can be found in
theProperties pane. For more information, see "Table" on page 185.
Note: Styles defined by a Style Data Ref override the styles configured on a
column.
Table Rules
You can use table rules to apply styling to rows that meet the specified criteria. Table rules are
implemented in order beginning with the rule at the top, and the last rule overrides previous
rules if applicable. Use the arrows to change the order in which the rules are
implemented. Table rules are overridden by rules for the column for that cell.
Property Description
Column Name The name of the column which the rule applies to.
Operator The rule operator. Options include Equals, Not Equals, Begins
With, Doesn't Begin With, Contains, Doesn'tContain, Is Empty, Is
Not Empty, Is Null, Is Not Null, Less Than, Less or Equal,
Greater Than, and Greater or Equal.
Value The data criteria. This field is case sensitive.
Set Style Which style to modify. Options include Background Color, Font
Color, Font Size, Font Style, Font Weight, and Text Decoration.
Style Value How the style is modified.
Header Properties
Header properties are overridden by those defined by a StyleData Ref.
Accepted
Property Description Key
Values
Display Name Content for the column String headerText
header. To use the name as
defined in the data source,
leave this field blank.
Header Background The column header #000000 headerBackgroundColor
Color background color. You can to
select a color or enter a #FFFFFF
hexadecimal RGB color value. (Default)
Header Height The vertical span of the 0 to 999 headerHeight
header row in pixels. (Default:
20)

190 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Accepted
Property Description Key
Values
Header Horizontal The horizontal alignment of left headerHorizontalAlign
Align text in the column header cell. center
(Default)
right
Header Font Color Color of characters in the #000000 headerFontColor
column header. You can select (Default)
a color or enter a hexadecimal to
RGB color value. #FFFFFF
Header Font Size The size of type in the column 0 to 999 headerFontSize
header in points. (Default:
12)
Header Font Style Additional formatting for text normal headerFontStyle
in the column header. (Default)
italic
Header Font Weight Additional formatting for text normal headerFontWeight
in the column header. bold
(Default)
Header Opacity The opacity of the column 0 to 1 headerAlpha
header background color, (Default:
where 0 is transparent and 1 is .8)
solid.
Header Text Additional formatting for text none headerTextDecoration
Decoration in the column header. (Default)
underline
Column Properties
Column properties are overridden by those defined by a StyleData Ref.
Accepted
Property Description Key
Values
Column Name The name of the column in the data. String dataField
Editable Whether a Document Designer can true allowEditing
edit the contents of the column cells. false
(Default)

Loftware Spectrum 3.0.1 User Guide 191


Designing Labels

Accepted
Property Description Key
Values
Horizontal Align The horizontal alignment of text in the left horizontalAlign
column cells. (Default)
center
right
Padding Bottom The margin between the text and the 0 paddingBottom
bottom of the column cells. (Default)
to 999
Padding Left The margin between the text and the 0 paddingLeft
left edge of the column cells. (Default)
to 999
Padding Right The margin between the text and the 0 paddingRight
right edge of the column cells. (Default)
to 999
Padding Top The margin between the text and the 0 paddingTop
top of the column cells. (Default)
to 999
Renderer Whether the column cells display text checkbox renderer
or a check box. To allow a check box text
to be selected, Editable must also be (Default)
set to true for the column.
Resizable Whether a Document Designer can true resizable
adjust the column width. (Default)
false
Sortable Whether a DocumentDesigner can true sortable
sort the column cells. (Default)
false
Type The data type of values in the column. String datatype
(Default)
Number
Boolean
Text Decoration Additional formatting for text in the none textDecoration
column cells. (Default)
underline

192 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Accepted
Property Description Key
Values
Vertical Align The vertical alignment of text in the top verticalAlign
column cells. middle
(Default)
bottom
Width The distance from the left edge of the 0 to 999 width
column to the right edge of the column (Default:
in pixels. 100)
Min Width The minimum width of the column in 0 to 999 minWidth
pixels. (Default:
20)
Word Wrap If text in a cell reaches the column true wordWrap
edge, whether to automatically move (Default)
the text to the next line. false
True: Text is moved to the next line if
it reaches the column edge. The Row
Height does not change.
False: Text is not moved to the next
line if it reaches the column edge and
does not display unless the column
width is increased.
Column Rules
You can use column rules to apply styling to cells in the selected column that meet the specified
criteria. Column rules are implemented in order beginning with the rule at the top, and the last
rule overrides previous rules if applicable. Use the arrows to change the order in which
the rules are implemented. Column rules override table rules for the cell. For more information,
see "Add a Table Rule" on page 164.
Property Description
Column Name The name of the column which the rule applies to.
Operator The rule operator. Options include Equals, Not Equals, Begins
With, Doesn't Begin With, Contains, Doesn'tContain, Is
Empty, Is Not Empty, Is Null, and Is Not Null.
Value The data criteria. This field is case sensitive.
Set Style Which style to modify. Options include Background Color, Font
Color, Font Size, Font Style, Font Weight, and Text
Decoration.
Style Value How the style is modified.

Loftware Spectrum 3.0.1 User Guide 193


Designing Labels

Example
The following column rule sets the background color to green for cells containing
January 1 in the Date column.
Colum- Style
Oper- Valu-
n Set Style Valu-
ator e
Name e
Date Equals Januar Backgrou green
y1 nd Color

194 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Using Barcodes
Each barcode symbol has a unique set of properties that are used to define the symbol.

Loftware Spectrum 3.0.1 User Guide 195


Designing Labels

Add a Barcode

To add a basic barcode to a label, use this procedure.


1. In the Library, navigate in the Barcodes list to the type of barcode that you want to
add.
2. Add the barcode to the label.
n No Prompt - Click and drag the barcode to the Label view to add a barcode
symbol to the label without adding a prompt to the form.
n With a Prompt - Press Shift, and click and drag the barcode to the Label view to
add a barcode symbol to the label and a prompt to the form. A Data Entry data
source is created.
3. Configure the properties of the barcode in the Properties pane.
Tip: The option selected for Design Data controls what data is used in
fields when previewed, printed, or displayed in Design. Either default
data1, placeholder data2, or data from a live data set3 can be used. For
more information, see "Select Data to Display in Design" on page 63.
4. If the barcode includes a human readable field, click that text field and configure its
properties in the Properties pane.
Tip: To align a barcode and a human readable text field relative to each
other, select both fields and click one of the Align buttons in the toolbar or
click Position > Align and then click an alignment. For more information,
see "Align Fields with Each Other" in "Resize and Position Fields in a Label
Template" on page 129.

1For each field, the value specified in the Default Value property for that field.
2For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
3A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

196 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Add Healthcare Barcodes

You can configure primary, secondary, and combined barcodes that comply with the UPN
specification for the Health Industry Bar Code (HIBC) Supplier Labeling Standard by using
LoftwareSpectrum. This standard is intended for use with products distributed in the
healthcare industry.
For more information about encoding HIBC barcodes, see the The Health Industry Bar Code
(HIBC) Supplier Labeling Standard listed in "External Links" on page 1645.
To add barcodes that comply with the HIBC standard to a label template, use the following
procedure.
1. Click Design and open a label template or create a new label template.
2. Add either a primary barcode and optionally a secondary barcode, or else a combined
barcode. The HIBC Supplier Labeling Standard considers a secondary barcode to be
optional. If using a 2D symbology, either use only a primary barcode or else use a
combined barcode.
For each barcode, do the following.
a. To create the barcode, in the Barcodes list in the Library, expand either Linear
or 2D.
b. Click one of the following symbologies and drag it to the Label pane: Code 128,
Code 39 (not Full ASCII), Aztec, DataMatrix, MicroPDF417, or QR Code.
c. In the Properties pane, change the Field Name to a meaningful name, such as
PrimaryBarcode, SecondaryBarcode, or CombinedBarcode.
d. Configure the Max Chars to meet or exceed the length of the data. In addition to
the data to be entered, you must allow space for the flag character and the check
character. For a Combined barcode, you must also allow space for a separator
character.
e. If using Code 39 or Code 128, set Check Digit to None so that you can
configure and use it separately.
f. If using Code 39 or Code 128, set Human Readable to None so that you can
configure it separately.
g. If using Code 39, for Ratio select 3.0:1.
h. Configure other fields as appropriate, leaving the Data Ref field blank.

Loftware Spectrum 3.0.1 User Guide 197


Designing Labels

3. Add a Variable Text field for the human readable text for each barcode. For each
barcode, do the following.
a. To create human readable text for the barcode, in the Text list in the Library,
click Variable Text, and drag it to the Label pane.
b. In the Properties pane, change the Field Name to a meaningful name, such as
PrimaryText, SecondaryText, or CombinedText.
c. Configure the Chars Per Line to meet or exceed the length of the data. In
addition to the to be data entered, you must allow space for the flag character,
check character, and two asterisks (denoting the beginning and end of the human
readable text). For a Combined barcode, you must also allow space for a separator
character.
d. Configure other fields as appropriate, leaving the Data Ref field blank.
4. For each input that you want to be entered by the Data Provider, create and configure a
Prompt (which will be automatically associated with a Data Entry data source and a Data
Ref). You do not need to create a Prompt for any component of the barcode data that is
static.
These inputs, defined by the HIBC standard, include some or all of the following.
Input Field Name
Labeler Identification Code LIC
Product or Catalog Number PCN
Unit of Measure Identifier UM
Reference Identifier RefId
Quantity Quantity
Expiration Date ExpDate
Lot/Batch or Serial Number Lot
For each input that you want to include, do the following.
a. To create a Prompt, in the Text list in the Library, click and drag a Prompt to
the Form pane. A Data Entry data source is created.
b. For each field in the Form pane, click the field to select it, and in the Properties
pane change the Field Name to a meaningful name and the Prompt to the text
that should be displayed to Data Providers. Either use the Field Names suggested
in the preceding table, or else change the Formulas in the following steps to
incorporate the Field Names that you chose.
c. Leave the Data Ref field blank.
d. Select an Entry Type and Character Mask for each input as appropriate.
e. Configure Chars Per Line for each input to meet or exceed the length of the data
to be entered.

198 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

5. Create Formula data sources to support each barcode. Leave the Data Ref field for the
Formula data source blank. For any component of the barcode data that is static, you can
replace the Data Ref shown in the formula below (such as {/Body/LIC}) with the
appropriate text enclosed in quotation marks (such as "A123").
Data
Description Source Formula
Name
Primary Pri_Base "+" + {/Body/LIC} + {/Body/PCN} + {/Body/UM}
barcode data
except for
check digit
Primary Pri_Check Mod43({/Pri_Base})
check digit
Secondary Sec_Base "+" + {/Body/RefId} + {/Body/Quantity} +
barcode data {/Body/ExpDate} + {/Body/Lot} + {/Pri_Check}
except for
check digit
Secondary Sec_Check Mod43({/Sec_Base})
check digit
Combined Com_ "+" + {/Body/LIC} + {/Body/PCN} + {/Body/UM}
barcode Base1 + "/"
data, part 1
Combined Com_ {/Body/RefId} + {/Body/Quantity} +
barcode Base2 {/Body/ExpDate} + {/Body/Lot}
data, part 2,
except for
check digit
Combined Com_ Mod43({/Com_Base1} + {/Com_Base2})
check digit Check
6. Create a Formula data source for each barcode. Leave the Data Ref field for the Formula
data source blank.
Data Source
Description Formula
Name
Primary barcode data Pri_Barcode {/Pri_Base} + {/Pri_Check}
Secondary barcode data Sec_Barcode {/Sec_Base} + {/Sec_Check}
Combined barcode data Com_Barcode {/Com_Base1} + {/Com_Base2} +
{/Com_Check}
7. For each barcode, click and drag the formula to be associated with that barcode, and drop
it onto that barcode in the Label pane. This populates the Data Ref field for the barcode.

Loftware Spectrum 3.0.1 User Guide 199


Designing Labels

8. Create a Formula data source for the human readable text for each barcode. These
formulas enclose the data in asterisks and replace any check digit that is a space with an
underscore, as specified by the HIBC standard. Leave the Data Ref field for the Formula
data source blank.
Data Source
Description Formula
Name
Human readable text Pri_Text "*" + {/Pri_Base} + ({/Pri_Check}.rtrim
for Primary barcode (" ")).rpad("_",1) + "*"
Human readable text Sec_Text "*" + {/Sec_Base} + ({/Sec_Check}.rtrim
for Secondary (" ")).rpad("_",1) + "*"
barcode
Human readable text, Com_Text1 "*" + {/Com_Base1}
line 1, for Combined
barcode
Human readable text, Com_Text2 {/Com_Base2} + ({/Com_Check}.rtrim("
line 2, for Combined ")).rpad("_",1) + "*"
barcode
9. For each barcode, click and drag the formula to be associated with the human readable
text, and drop it onto the appropriate Variable Text field in the Label pane. This
populates the Data Ref field for the human readable text.

200 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Add Healthcare Barcodes with Data Identifiers

If you need to configure barcodes for products in the healthcare industry that comply with the
UPN specification for the Health Industry Bar Code (HIBC) Supplier Labeling Standard but
need more flexibility than the basic HIBC barcode formats provide, the HIBC standard allows
you to use an alternative format defined in ISO/IEC 15434 with Data Identifiers (DIs). This
alternative format may be helpful if you want to include data not otherwise covered by the
HIBC standard or need to produce a small label for use on a small package.
For more information about encoding HIBC barcodes with DIs, see the The Health Industry Bar
Code (HIBC) Supplier Labeling Standard listed in "External Links" on page 1645.
To add barcodes that include DIs and comply with the HIBC standard, use the following
procedure. Because using DIs provides the flexibility to include custom inputs, you may use
different inputs than shown in this example. Including human readable text is optional according
to the standard.
1. Click Design and open a label template or create a new label template.
2. Add a barcode.
For each barcode, do the following.
a. To create the barcode, in the Barcodes list in the Library, expand 2D.
b. Click one of the following symbologies and drag it to the Label pane: Aztec,
DataMatrix, MicroPDF417, or QR Code.
c. In the Properties pane, change the Field Name to a meaningful name, such as
HIBC_Barcode.
d. Configure the Max Chars to meet or exceed the length of the data. In addition to
the data to be entered, you must allow space for the seven-character message
header, one-character data delimiters, DIs, and two-character message trailer.
Unlike a typical HIBC barcode, no flag character, check character, or separator
character is used.
e. Configure other fields as appropriate, leaving the Data Ref field blank.
3. If you want to include human readable text for the barcode, add a Variable Text field.
For each barcode, do the following.
a. To create human readable text for the barcode, in the Text list in the Library,
click Variable Text, and drag it to the Label pane.
b. In the Properties pane, change the Field Name to a meaningful name, such as
HumanReadText.
c. Configure the Chars Per Line to meet or exceed the length of the data. In
addition to the data to be entered, you must allow space for parentheses to enclose
each DI. The message header, data delimiters, and message trailer are omitted.
Unlike a typical HIBC barcode, no asterisks are used to enclose the human
readable text.
d. Configure other fields as appropriate, leaving the Data Ref field blank.

Loftware Spectrum 3.0.1 User Guide 201


Designing Labels

4. For each input that you want to be entered by the Data Provider, create and configure a
Prompt (which will be automatically associated with a Data Entry data source and a Data
Ref). You do not need to create a Prompt for any component of the barcode data that is
static.
This format gives you the flexibility to include standard HIBC inputs, custom inputs, or
both. The following inputs are used in this example, but you can include different
standard or custom inputs. If you always use the same Issuing Agency Code (IAC), then
you can incorporate it into your Formulas as a static value instead of creating a Prompt for
it.
Field
Input
Name
DI for the Issuing Agency Code, the Labeler Identification Code, and part PCNDI
number
Issuing Agency Code IAC
Labeler Identification Code for supplier LIC
Part number assigned by supplier PCN
DI for the first custom input Custom1DI
First custom input Custom1
DI for the second custom input Custom2DI
Second custom input Custom2
For each input that you want to include, do the following.
a. To create a Prompt, in the Text list in the Library, click and drag a Prompt to
the Form pane. A Data Entry data source is created.
b. For each field in the Form pane, click the field to select it, and in the Properties
pane change the Field Name to a meaningful name and the Prompt to the text
that should be displayed to Data Providers. Either use the Field Names suggested
in the preceding table, or else change the Formulas in the following steps to
incorporate the Field Names that you chose.
c. Leave the Data Ref field blank.
d. Select an Entry Type and Character Mask for each input as appropriate.
e. Configure Chars Per Line for each input to meet or exceed the length of the data
to be entered.

202 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

5. Create Formula data sources for the barcode. Leave the Data Ref field for the Formula
data source blank. For any component of the barcode data that is static, you can replace
the Data Ref shown in the formula below (such as {/Body/IAC}) with the appropriate
text enclosed in quotation marks (such as "RH"). If you are using different inputs than
shown in this example, you must change the barcode formula accordingly.
Data
Description Source Formula
Name
Message MsgHeader "[)>" + ASCII_RS() + "06" + ASCII_GS()
header
Message MsgTrailer ASCII_RS() + ASCII_EOT()
trailer
Barcode data BarcodeData {/MsgHeader} + {/Body/PCNDI} + {/Body/IAC} +
{/Body/LIC} + {/Body/PCN} + ASCII_GS() +
{/Body/Custom1DI} + {/Body/Custom1} + ASCII_
GS() + {/Body/Custom2DI} + {/Body/Custom2} +
{/MsgTrailer}
6. Click and drag the formula to be associated with the barcode, and drop it onto that
barcode in the Label pane. This populates the Data Ref field for the barcode.
7. If you are including human readable text for the barcode, create a Formula data source for
the human readable text. The message header, data delimiters, and message trailer are
omitted. Each DI is enclosed in parentheses. Leave the Data Ref field for the Formula
data source blank. If you are using different inputs than shown in this example, you must
change the formula accordingly.
Data Source
Description Formula
Name
Human readable text HumanReadData "(" + {/Body/PCNDI} + ")" +
for barcode {/Body/IAC} + {/Body/LIC} +
{/Body/PCN} + "(" +
{/Body/Custom1DI} + ")" +
{/Body/Custom1} + "(" +
{/Body/Custom2DI} + ")" +
{/Body/Custom2}
8. If you are including human readable text for the barcode, click and drag the formula to be
associated with the human readable text, and drop it onto the appropriate Variable Text
field in the Label pane. This populates the Data Ref field for the human readable text.

Loftware Spectrum 3.0.1 User Guide 203


Designing Labels

Barcode Properties and Symbologies

The following are the barcode symbologies supported by LoftwareSpectrum.

Common Properties
Barcode properties common to all symbologies

Symbology-Specific Properties

Note: To create a barcode that adheres to the Health Industry Bar Code (HIBC)
Supplier Labeling Standard, you can use Code 128, Code 39 (not Full ASCII),
Aztec, DataMatrix, MicroPDF417, or QR Code.
Linear
Symbology More Information
Code 39 Commonly used variable length symbology restricted to 43
characters. ISO/IEC 16388.
Code 39 Extended (Full ASCII) Code 39
Full ASCII
Code 93 Enhanced Code 39
Code 93 Extended (Full ASCII) Code 93
Full ASCII
Code 128 High density alphanumeric/numeric symbology. ISO/IEC
15417.
EAN-8 World-wide, GS1 approved symbology. ISO/IEC 15420.
EAN-13 World-wide, GS1 approved symbology. ISO/IEC 15420.
Interleaved Typically non-retail packaging. ISO/IEC 16390.
2 of 5
POSTNET There are no properties unique to a Postal Numeric Encoding
Technique (POSTNET) barcode.
The United States Postal Service (USPS) replaced POSTNET
with USPS Intelligent Mail in January 2013.
UPC-A Universal Product Code. ISO/IEC 15420.
UPC-E Zero-suppressed version of UPC-A
USPS The United States Postal Service (USPS) requires the use of a
Intelligent USPS Intelligent Mail barcode (IMb) to qualify for automation
Mail prices.
2D
Symbology More Information
Aztec ISO/IEC 24778

204 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Symbology More Information


DataMatrix ISO/IEC 16022
MaxiCode Primarily used by United Parcel Service.
MicroPDF417 Smaller version of PDF417
PDF417 Stacked linear barcode. ISO/IEC 15438.
QR Code ISO/IEC 18004
GS1
Refer to the GS1 General Specification for the appropriate usage and encoding of GS1
Symbologies.
Symbology
GS1 DataBar
GS1 DataMatrix
GS1-128
ITF-14

Loftware Spectrum 3.0.1 User Guide 205


Designing Labels

EAN/UPC

Barcodes using these symbologies are typically used on items to be scanned at point-of-sale.
Symbology
EAN-8
EAN-13
UPC-A
UPC-E

206 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Composite

Composite barcodes have a 2D portion followed by a linear portion. In the barcode data, the 2D
portion appears first and is followed by a composite delimiter (|) and then the linear portion.
Within a Formula data source, the composite delimiter can be represented by the COMPDELIM
() function.
In addition to the Max Chars property, Spectrum also displays 2D Max Chars and Linear
Max Chars for composite barcodes. Otherwise, a composite barcode uses the same symbology
as the related type of linear barcode.
Symbology
EAN-8 Composite
EAN-13 Composite
GS1 DataBar Composite
GS1-128 Composite
UPC-A Composite
UPC-E Composite
Common Properties for Barcodes

Barcode fields in a label template all share the following properties. These properties relate to
the position on the label, the source of the data for the barcode, the symbology used, and the
formatting of the barcode. In addition to these common properties, a barcode may also have
properties specific to the symbology selected.

Note: For GS1-128 and GS1-128 Composite barcodes, the first two digits in the
data provided are assumed to be the application identifier, regardless of whether
they are enclosed in parentheses.

Note: Composite barcodes have a 2D portion followed by a linear portion. In the


barcode data, the 2D portion appears first and is followed by a composite delimiter
(|) and then the linear portion.

Note: A Field Name, Data Ref, or Input Data Ref can include letters and
numbers. Additionally, the following characters are permitted but cannot begin the
name: hyphens, underscores, and periods.

Tip: Properties for positioning a barcode relative to the envelope of that field are
listed in the Barcode section, while those for positioning a barcode relative to the
label are listed in the Arrange section.
Name and Data

Loftware Spectrum 3.0.1 User Guide 207


Designing Labels

Property Description Options


Field The identifier of the barcode in the label template, form, or Text
Name reusable object.
Data Ref Data Reference. The data source used to populate the barcode withThe
a value. name of
Tip: By default, Data Ref fields are case sensitive. If a data
source.
the label template is intended for use with an SAP BC-XOM integration
or an SAP RFC integration, use only uppercase text
in the Data Ref field.
Default Default value with which to populate the barcode. If the Data Ref Text
Value returns a null value or does not receive data, this value is used as
the data for the barcode.
Arrange

Property Description Options


Left The distance from the left edge of the field to the left edge Value is
of the label. dependent on
the unit of
measure for the
label template.
Top The distance from the top edge of the field to the top of Value is
the label. dependent on
the unit of
measure for the
label template.
Center X The distance from the middle of the field to the left edge of Value is
the label. dependent on
the unit of
measure for the
label template.
Center Y The distance from the middle of the field to the top of the Value is
label. dependent on
the unit of
measure for the
label template.
Rotation The degrees the barcode is rotated in relation to the label. 0
90
180
270

208 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Options


Printing Whether the barcode appears on the printed label.
Field
Lock If selected, no changes can be made to the properties of the
Field field, and the field cannot be moved or deleted. The order
of the field relative to other fields in the label template can
be changed regardless of whether the field is locked.
Note: This feature can be used to prevent
accidental changes to fields. It does not
prevent other Document Designers from
unlocking a field.
Barcode

Property Description Options


2D Max The maximum number of characters that can Increments of 1.
Chars appear in the 2D portion of a composite
barcode.
Note: This property is available
only in composite barcodes. For
EAN-8 Composite, EAN-13
Composite, GS1 DataBar
Composite, UPC-A Composite,
and UPC-E Composite, the
maximum value that can be used
for this field is 150.
Linear Max The maximum number of characters that can Increments of 1.
Chars appear in the linear portion of a composite
barcode.
Note: This property is available
only in composite barcodes.

Loftware Spectrum 3.0.1 User Guide 209


Designing Labels

Property Description Options


Max Chars The maximum number of characters that can Increments of 1.
appear in the barcode. For a composite
barcode, this is the total of 2D Max Chars
and the Linear Max Chars. If a barcode
includes a check digit or an extension, those
characters are not counted toward this value.
In some types of barcodes, this value is
affected by another property.
l DataMatrix: Limited by Symbol Size.

l MicroPDF417: Limited by Size.

l ITF-14: Affected by Check Digit.

l EAN and UPC: Affected by

Extension.
l GS1 DataBar: Affected by GS1

DataBar Type.
Symbology The type of barcode.
Horizontal Whether the barcode is left aligned, : Align to left edge of
Alignment horizontally centered, or right aligned within envelope
or relative to the envelope. : Align to horizontal
center of envelope
: Align to right edge of
envelope
Vertical Whether the barcode is aligned to the top : Align to top edge of
Alignment edge, vertical center, or bottom edge of the envelope
envelope. : Align to vertical center
of envelope
: Align to bottom edge of
envelope

210 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Options


Print as Whether to print the barcode as an image or : The device encodes the
Image to use the device's native ability to encode barcode. If the device does
the barcode. not support native encoding
Tip: Selecting Print as Image of barcodes, then the
removes any potential device barcode is encoded by
variation when natively Spectrum and printed as an
encoding the barcode data. image.
: Spectrum encodes the
Note: Selecting the Print as barcode and prints it as an
Image property for a Barcode image.
field overrides the option for the
relevant symbology on the
Barcode Imaging tab for both
Label Specific Options
(LSOs)1 and device options,
and the barcode is sent as an
image.

Code 39 and Code 39 Full ASCII Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.
Code 39 Full ASCII is also known as Code 39 Extended (Ext).
Property Description Values
Bar The height of the bars in the barcode. Value is dependent
Height on the unit of
measure for the
label template.

1Device settings that can be sent to a printer or other device when a specific label template is used to print, overriding options
configured for the device in Device Management or in the operating system. LSOs can be configured in Design.

Loftware Spectrum 3.0.1 User Guide 211


Designing Labels

Property Description Values


Check Add an optional check digit to the barcode. None
Digit The listed check digits are optional forms of the selected Mod 43
symbology (For Example: Code 39 or Code 39 with User Mod 43
check).
Special purpose check digits can be added to the barcode
using the Formula data source.
Note: When a form that includes a check
digit is used, the Data Provider 1 is not
alerted if the check digit fails.
Data Data entered in this field will be encoded in the barcode
Identifier but will not print in the human readable text field for the
barcode.
Data Identifiers are used to help the scanner identify the
field.
For Example
For an AIAG label, a barcode with a data
identifier of P contains a part number, a data
identifier of Q signifies a quantity field and a
data identifier of S signifies a serial number
field.
Human Whether a text representation of the barcode is printed. None
Readable The human readable text can be positioned anywhere on Free Floating
the label (free floating).
Line X- The width of the module (narrow bar) of the barcode. Thousandths of an
Dim The range of values available varies with the Document inch (mil) in fixed
DPI of the label template. increments
Line X- Whether to round up, down, or to the nearest dpi when Nearest
Dim printing to a device with a different resolution from the Up
Round resolution specified in the label template. Down

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

212 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Values


Ratio The ratio of the wide bar to the narrow bar. The ratio can 2.0:1 to 3.0:1 in
be used to create intermediate sizes between different X- fixed increments
dimensions.
For Example
For Ratio 3.0:1, the wide bars are three
times the size of the narrow bars.
Show Specifies if the Start/Stop character (*) is to be displayed Yes/No
Start/Stop in the human readable text for the barcode.
Code 93 and Code 93 Full ASCII Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.
Code 93 Full ASCII is also known as Code 93 Extended (Ext).
Property Description Values
Bar The height of the bars in the barcode. Value is dependent
Height on the unit of
measure for the
label template.
Data Data entered in this field will be encoded in the barcode
Identifier but will not print in the human readable text field for the
barcode.
Data Identifiers are used to help the scanner identify the
field.
For Example
For an AIAG label, a barcode with a data
identifier of P contains a part number, a data
identifier of Q signifies a quantity field and a
data identifier of S signifies a serial number
field.
Human Whether a text representation of the barcode is printed. None
Readable The human readable text can be positioned anywhere on Free Floating
the label (free floating).
Line X- The width of the module (narrow bar) of the barcode. Thousandths of an
Dim The range of values available varies with the Document inch (mil) in fixed
DPI of the label template. increments

Loftware Spectrum 3.0.1 User Guide 213


Designing Labels

Property Description Values


Line X- Whether to round up, down, or to the nearest dpi when Nearest
Dim printing to a device with a different resolution from the Up
Round resolution specified in the label template. Down
Show Specifies if the Start/Stop character is to be displayed in Yes/No
Start/Stop the human readable text for the barcode.
Code 128, GS1-128, and Composite Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.
Note: For GS1-128 and GS1-128 Composite barcodes, the first two digits in the
data provided are assumed to be the application identifier, regardless of whether
they are enclosed in parentheses.

Note: Composite barcodes have a 2D portion followed by a linear portion. In the


barcode data, the 2D portion appears first and is followed by a composite delimiter
(|) and then the linear portion.

Property Description Values


Bar Height The height of the bars in the Value is dependent on the
barcode. unit of measure for the
label template.
Check Digit Whether to add an optional check None
digit to the barcode. Mod 10 (Code 128 only)
The listed check digits are optional GS1 Mod 10
forms of the selected symbology Mod 7 (Code 128 only)
(For Example: Code 128 or Code User Mod 10 (Code 128
128 with check). only)
Special purpose check digits can be User GS1 Mod 10 (Code
added to the barcode by using a 128 only)
Formula data source. User Mod 7 (Code 128
Note: When a form only)
that includes a check
digit is used, the
Data Provider 1 is
not alerted if the
check digit fails.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

214 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Values


Data Identifier Data entered in this field will be
encoded in the barcode but will
not print in the human readable
text field for the barcode.
Data Identifiers are used to help
the scanner identify the field.
For Example
For an AIAG label, a
barcode with a data
identifier of P
contains a part
number, a data
identifier of Q
signifies a quantity
field and a data
identifier of S
signifies a serial
number field.
Note: This property
is not available for
GS1-128 Composite
barcodes.
Human Readable Whether a text representation of None
the barcode is printed. Free Floating
The human readable text can be
positioned anywhere on the label
(free floating).
Line X-Dim The width of the module (narrow Thousandths of an inch
bar) of the barcode. The range of (mil) in fixed increments
values available varies with the
Document DPI of the label
template.
Line X-Dim Round Whether to round up, down, or to Nearest
the nearest dpi when printing to a Up
device with a different resolution Down
from the resolution specified in the
label template.

Loftware Spectrum 3.0.1 User Guide 215


Designing Labels

Property Description Values


Start Code Specify the initial subset (code set) n AUTO: The device
selects a subset based
for the barcode data. on the data.
Note: Regardless of n A: ASCII characters 00
to 95 (0-9, A-Z and
the Start Code control codes), special
specified, Spectrum characters, and
Function 1-4 (FNC1-
will switch to a FNC4) symbol
subset that supports characters.
the data if it n B: ASCII characters 32
to 127 (0-9, A-Z, a-z),
encounters data not special characters, and
supported by the FNC1-FNC4.
current subset. n C: 00-99. Code C
produces the highest
density barcode and is
Note: This property the most efficient for
is not available for encoding numeric
GS1-128 barcodes data.
n GS1: Inserts Function
and GS1-128 1 (FNC1) symbol
Composite barcodes. character.
Alphanumeric
characters, special
characters, and
symbols. Leaves
parentheses and
spaces in Human
Readable.

Aztec Code Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.
Property Description Values
Cell The width of the barcode cell (module). The range of Thousandths of
Width values available varies with the Document DPI of the an inch (mil) in
label template. fixed increments
Cell Whether to round up, down, or to the nearest dpi Nearest
Width when printing to a device with a different resolution Up
Round from the resolution specified in the label template. Down

216 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Values


Error The level of error checking and correction used in the Auto: Use the
Correction symbol. default Error
Correction level
(23%)
1-99: Error
Correction level
in percentage.
DataMatrix and GS1 DataMatrix Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.
Property Description Values
Cell The width of the barcode cell (module). The range Thousandths of an inch
Width of values available varies with the Document DPI of (mil) in fixed increments
the label template.
Cell Whether to round up, down, or to the nearest dpi Nearest
Width when printing to a device with a different resolution Up
Round from the resolution specified in the label template. Down
Symbol The number of rows and columns in the symbol. For Auto
Size more information, see the "Symbol Size" section Square Form: 10x10 to
following this table. 144x144
Note: This value limits Max Chars. Rectangular Form: 8x18
to 16x48
Error The level of error checking and correction employed ECC 0
Correction in the symbol. ECC 50
Note: The current DataMatrix standard ECC 80
requires the use of ECC 200. ECC 100
ECC 140
ECC 200 (recommended)

Loftware Spectrum 3.0.1 User Guide 217


Designing Labels

Property Description Values


Format ID Defines the type of data that can be encoded in the 1: Numeric digits 0
symbol. through 9 and the space
Note: If the Error Correction Level is character
set to ECC 200, the Format ID is not 2: Upper case alpha A-Z
used. and the space character
3: Upper case
alphanumeric A-Z, 0-9,
and the space character
4: A-Z, 0-9, space,
minus, period, comma,
and forward slash (/)
5: 7 bit ASCIIall
ASCII characters
between ASCII 0
through ASCII 127
6: 8-bit ASCIIall
ASCII characters
between ASCII 0
through ASCII 255
Symbol Size
The Symbol Size is the number of rows and columns in the symbol. The Symbol Size and
whether the data represented by the symbol is numeric, alphanumeric, or binary, limits the
maximum number of characters that can be represented by the symbol. You can configure the
value of Max Chars to further limit the number of characters allowed.
When you select a Symbol Size other than Auto, the value of Max Chars is changed to the
maximum number of numeric characters that can be represented by the symbol. The value of
Max Chars displayed is not dynamically updated to correspond to the type of data to which the
data ref points, and you cannot explicitly define the data type in Spectrum. If the data can be
alphanumeric or binary, you should reduce the value of Max Chars to the limit shown in the
following table to ensure that data incorporated into the symbol is not unexpectedly truncated.
Note: If you select Auto for the Symbol Size, the value of Max Chars is not
changed automatically. However, with Auto selected, you can configure Max Chars
to any value up to 3116, which is the number of numeric characters that can be
represented when using a Symbol Size of 144x144.

218 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Square Form

Maximum Characters Possible


Symbol Size
Numeric Alphanumeric Binary
10x10 6 3 1
12x12 10 6 3
14x14 16 10 6
16x16 24 16 10
18x18 36 25 16
20x20 44 31 20
22x22 60 43 28
24x24 72 52 34
26x26 88 64 42
32x32 124 91 60
36x36 172 127 84
40x40 228 169 112
44x44 288 214 142
48x48 348 259 172
52x52 408 304 202
64x64 560 418 278
72x72 736 550 366
80x80 912 682 454
88x88 1152 862 574
96x96 1392 1042 694
104x104 1632 1222 814
120x120 2100 1573 1048
132x132 2608 1954 1302
144x144 3116 2335 1556

Loftware Spectrum 3.0.1 User Guide 219


Designing Labels

Rectangular Form

Maximum Characters Possible


Symbol Size
Numeric Alphanumeric Binary
8x18 10 6 3
8x32 20 13 8
12x26 32 22 14
12x36 44 31 20
16x36 64 46 30
16x48 98 72 47
EAN 8, EAN 13, and Composite Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.

Note: Composite barcodes have a 2D portion followed by a linear portion. In the


barcode data, the 2D portion appears first and is followed by a composite delimiter
(|) and then the linear portion.

Property Description Values


Bar The height of the bars in the barcode. Value is dependent
Height on the unit of
measure for the
label template.
Extension Whether a 2 or 5 digit extension is to be used. UPC None
extensions are used to extend the range of available part +2
numbers that can be encoded in EAN 13 and EAN 13 +5
Composite barcodes.
Note: This property affects Max Chars.

Note: This property is not available for EAN


8 and EAN 8 Composite barcodes.
Human Whether a text representation of the barcode is printed. None
Readable The human readable text is in a fixed position below the Fixed Below
barcode.
Line X- The width of the module (narrow bar) of the barcode. The Thousandths of an
Dim range of values available varies with the Document DPI of inch (mil) in fixed
the label template. increments
Line X- Whether to round up, down, or to the nearest dpi when Nearest
Dim printing to a device with a different resolution from the Up
Round resolution specified in the label template. Down

220 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

GS1 DataBar and Composite Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.
Note: Composite barcodes have a 2D portion followed by a linear portion. In the
barcode data, the 2D portion appears first and is followed by a composite delimiter
(|) and then the linear portion.

Property Description Values


Bar The height of the bars in the barcode. Value is dependent on
Height the unit of measure for
the label template.
GS1 Which variation of the GS1 DataBar symbology is used. Omnidirectional
DataBar Note: This property affects Max Chars. Truncated
Type Stacked
Stacked
Omnidirectional
Limited
Expanded
Expanded Stacked
Segments The degree to which the barcode is stacked. 2-22
Note: The Segments property is
available only if the GS1 DataBar Type
is Expanded Stacked.
Human Whether a text representation of the barcode is printed. None
Readable The human readable text can be positioned anywhere Free Floating
on the label (free floating).
Line X- The width of the module (narrow bar) of the barcode. Thousandths of an inch
Dim The range of values available varies with the Document (mil) in fixed
DPI of the label template. increments
Line X- Whether to round up, down, or to the nearest dpi when Nearest
Dim printing to a device with a different resolution from the Up
Round resolution specified in the label template. Down
Interleaved 2 of 5 and ITF-14 Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.

Loftware Spectrum 3.0.1 User Guide 221


Designing Labels

Property Description Values


Bar Height The height of the bars in the barcode. Value is
dependent on the
unit of measure
for the label
template.
Check Digit Add an optional check digit to the barcode. None
The listed check digits are optional forms Mod 10
of the selected symbology. User Mod 10
Special purpose check digits can be added (Interleaved 2 of 5
to the barcode using the Formula data only)
source.
Note: Specifying a value
other than None decreases
Max Chars to allow a
character for the check digit,
which is not counted toward
the value of Max Chars.

Note: When a form that


includes a check digit is used,
the Data Provider 1 is not
alerted if the check digit fails.
Human Readable Whether a text representation of the None
barcode is printed. Free Floating
The human readable text can be positioned
anywhere on the label (free floating).
Bearer Bar Type Bearer bars are used to reduce the chance None
that a non-fixed length symbol is incorrectlyTop/Bottom
read. Rectangle
Line X-Dim The width of the module (narrow bar) of Thousandths of an
the barcode. The range of values available inch (mil) in fixed
varies with the Document DPI of the label increments
template.
Line X-Dim Round Whether to round up, down, or to the Nearest
nearest dpi when printing to a device with a Up
different resolution from the resolution Down
specified in the label template.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

222 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Values


Ratio The ratio of the wide bar to the narrow bar. 2.0:1
The ratio can be used to create intermediate 2.1:1
sizes between different X-dimensions. 2.2:1
For Example 2.25:1
2.3:1
For Ratio 3.0:1, the wide bars 2.4:1
are three times the size of the 2.5:1
narrow bars. 2.6:1
2.7:1
2.8:1
2.9:1
3.0:1
MaxiCode Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.
Property Description Values
Current When used with the structured append format, the position of the 0-8
Symbol symbol in a set.
Mode Modes 0 and 1 are part of the original MaxiCode specification and 0
are now considered obsolete. 1
Mode 2 is used for Domestic U.S. destinations. 2
Mode 3 is used for non U.S. destinations. 3
Mode 4 is free form data entry. 4
Mode 5, if supported by the device, is used for free form data entry 5
with Full Enhanced Error Correction. 6
Mode 6 is used for reader programming only.
Total When used with the structured append format, the total number of 0-8
Symbols the symbols in a set.
UPS Version 1: Implements an ANSI-compliant UPS MaxiCode format None
Compression for compressing data and increasing data storage. Version
None: No compression is performed on the data. The format of the 1
data is governed by original MaxiCode specifications and the
requirements of the printer command language.
MicroPDF417 Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.

Loftware Spectrum 3.0.1 User Guide 223


Designing Labels

Property Description Values


Line X- The width of the barcode cell (module). The range of Thousandths of
Dim values available varies with the Document DPI of the an inch (mil) in
label template. fixed increments
Line X- Whether to round up, down, or to the nearest dpi when Nearest
Dim printing to a device with a different resolution from the Up
Round resolution specified in the label template. Down
Line Y- The height of the barcode cell (module). The range of Thousandths of
Dim values available varies with the Document DPI of the an inch (mil) in
label template. fixed increments
Ratio The ratio of Line Y-Dim to Line X-Dim.
Size The discreet size of the symbol expressed in number of 1-4 columns
columns by number of rows. rows vary
Note: This value limits Max Chars. depending on
columns used.
PDF417 Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.
Tip: If the amount of data in a barcode exceeds the usable space, adjust the
Columns, the Security Level, or both.

Property Description Values


Line X-Dim The width of the barcode cell (module). Thousandths of
The range of values available varies with an inch (mil) in
the Document DPI of the label template. fixed increments
Line X-Dim Round Whether to round up, down, or to the Nearest
nearest dpi when printing to a device with Up
a different resolution from the resolution Down
specified in the label template.
Line Y-Dim The height of the barcode cell (module). Thousandths of
The range of values available varies with an inch (mil) in
the Document DPI of the label template. fixed increments
Ratio The ratio of Line Y-Dim to Line X-Dim.
Columns The number of columns in the symbol.
Each column consists of multiple modules.

224 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Values


Security Level The amount of destruction the symbol can 0-8
withstand.
A greater number increases the amount of
destruction the symbol can withstand,
while also increasing the size of the
symbol.
Truncate Whether to truncate the barcode symbol. No/Yes
A truncated PDF symbol occupies a
smaller printed area than a standard symbol;
however, there is a slight degradation in
decode performance.
QR Code Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.
Property Description Values
Cell Width The width of the barcode cell Thousandths of an inch
(module). The range of values (mil) in fixed increments
available varies with the
Document DPI of the label
template.
Cell Width Round Whether to round up, down, or Nearest
to the nearest dpi when printing Up
to a device with a different Down
resolution from the resolution
specified in the label template.
Encoding Mode The type of information l Byte: 8-bit bytes
encoded in the symbol. (binary).
l Alpha: Uppercase
alphanumeric
characters and the
symbols $, %, *,
+, -, /, :, period,
and space.
l Numeric:
Numeric digits

Loftware Spectrum 3.0.1 User Guide 225


Designing Labels

Property Description Values


Error Correction The level of error checking and l L: Approximately

correction employed in the 7% error


symbol. correction.
l M: Approximately

15% error
correction.
l Q: Approximately

25% error
correction.
l H: Approximately

30% error
correction.
For more information about encoding QR Codes, see the QR Code entry listed in "External
Links" on page 1645.
UPC-A, UPC-E, and Composite Properties

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.
Note: If using UPC-E, provide data on which zero suppression has already been
performed.

Note: Composite barcodes have a 2D portion followed by a linear portion. In the


barcode data, the 2D portion appears first and is followed by a composite delimiter
(|) and then the linear portion.

Property Description Values


Bar The height of the bars in the barcode. Value is dependent
Height on the unit of
measure for the label
template.
Input Establishes whether the input length is a 6 or 12 digit 6 digit
Format value. This property works in conjunction with the 12 digit
Extension property, allowing for input lengths of 6, 8, 11,
12, 14, or 17.
Note: This property affects Max Chars.

Note: This property is NOT only available


for
UPC-A and UPC-A Composite barcodes.

226 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Values


Extension Whether a 2 or 5 digit extension is to be used. UPC None
extensions are used to extend the range of available part +2
numbers that can be encoded. +5
Note: This property affects Max Chars.
Human Whether a text representation of the barcode is printed. None
Readable The human readable text is in a fixed position below the Fixed Below
barcode.
Line X- The width of the module (narrow bar) of the barcode. The Thousandths of an
Dim range of values available varies with the Document DPI inch (mil) in fixed
of the label template. increments
Line X- Whether to round up, down, or to the nearest dpi when Nearest
Dim printing to a device with a different resolution from the Up
Round resolution specified in the label template. Down
USPS Intelligent Mail Properties

United States Postal Service (USPS) Intelligent Mail is a suite of barcode symbologies.
l For Intelligent Mail barcodes (IMb) for mailpieces (letters, cards, and flats), use the
USPS Intelligent Mail symbology.
l For Intelligent Mail Tray barcodes, use either Code 128 symbology with Start Code C or

Interleaved 2 of 5 symbology.
l For Intelligent Mail Container barcodes, use the GS1-128 symbology with Start Code C or

B.
l For Intelligent Mail Package barcodes (IMpb), use the GS1-128 symbology with Start

Code C.
The USPS Intelligent Mail barcode for mailpieces is a 4-state barcode that consists of 65 bars
that can encode up to 31 digits. The following information can be included:
l Barcode Identifier
l Service Type Identifier (STID)

l Mailer Identifier (MID)

l Serial Number

l Routing Code, also referred to as a ZIP Code or a delivery-point code

The USPS Intelligent Mail symbology in Spectrum supports all formats for Intelligent Mail
barcodes for mailpieces. Those formats include using a 6-digit Mailer Identifier, a 9-digit Mailer
Identifier, or the Origin IMb Tracing Intelligent Mail Barcode Format.
For more information about encoding USPS Intelligent Mail barcodes, see the USPS entry listed
in "External Links" on page 1645.

Loftware Spectrum 3.0.1 User Guide 227


Designing Labels

Property Description Values


Symbol Size Changes the relative height and width of all bars in the symbol. Small
Medium
Large

228 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Using Images
Images can be used as background, to add brand information, or to help identify a product
associated with a label template.

Loftware Spectrum 3.0.1 User Guide 229


Designing Labels

Add an Image

To add an image to a label or a form, use this procedure.


1. In the Images list in the Library, expand Stock Images or User Images.
Note: If the image that you want to use is not listed in the Library, see
"Import a New Image" on page 97.
2. Drag an image to either the Label view or the Form view.
Tip: If you want an image to be selected at print time based on data entered
or on data from a database, use a Variable Image field instead.
3. Configure the "Image Properties" on page 233.

230 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Add a Variable Image

You can add a Variable Image field to a label so that a specific image can be selected at print
time. The path to the actual image in Spectrum can be provided by entering data into a prompt,
by retrieving the path from a database, or by generating the path using a formula or script.
To add a placeholder for an image to a label so that the actual image can be selected at print time,
use this procedure.
1. From the Images list in the Library, drag Variable Image to the Label view. A
placeholder envelope appears for the image.
2. Expand the Data Sources pane and configure a data source to determine which of
several images should be displayed. The data source must return the full path to an image
in Library.
Note: If the image that you want to use is not listed in the Library, see
"Import a New Image" on page 97.
3. Drag the data source to the image placeholder in the Label view. In the Properties pane,
the data source name is displayed in the Data Ref property for the image.
4. To specify a default image to appear in case the data source does not return a value, click
next to the Default Value property, and then select an image file.
Note: If the data source returns a value, the Default Value will not be
displayed even if the value returned by the data source is not valid.

Tip: The option selected for Design Data controls what data is used in
fields when previewed, printed, or displayed in Design. Either default
data1, placeholder data2, or data from a live data set3 can be used. For
more information, see "Select Data to Display in Design" on page 63.
5. Configure other "Image Properties" on page 233.
Example: Using a Prompt and a Formula to Select an Image

Create a label template that allows a Data Provider 4 to enter a hazard code into a form and uses
a Formula data source to produce a label displaying an image based on the code entered.
1. In Design, create a label template, and add a Prompt to the Form view.
a. For Field Name, enter Hazard.
b. For Prompt, enter Hazard Classification (C, F, N, O, or T).
c. For Chars Per Line, select 1.

1For each field, the value specified in the Default Value property for that field.
2For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
3A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.
4Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 231


Designing Labels

2. Drag a Variable Image to the Label view.


3. Create a Formula data source named ImagePath that contains the following formula:
"/Default/Images/Stock Images/" + {/Body/Hazard}

4. Drag the Formula data source onto the variable image.


5. Click the variable image. Verify that the Data Ref property is set to /ImagePath.
6. Save the label template.
To test your label template, click Print, enter a letter, and click Preview. If you entered one of
the specified letters, an icon is displayed.

232 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Image Properties

Images in a label template have the following properties.


Note: Spectrum supports images that use an RGB color model and one of the
following file formats: PNG, GIF, JPG, BMP, or PCX.

Note: A Field Name, Data Ref, or Input Data Ref can include letters and
numbers. Additionally, the following characters are permitted but cannot begin the
name: hyphens, underscores, and periods.

Tip: Properties for positioning an image relative to the envelope of that field are
listed in the Image section, while those for positioning an image relative to the
label or the form are listed in the Arrange section.
Name and Data

Property Description
Field The identifier of the image in the label template, form, or reusable object.
Name
Data Ref Data Reference. The data source used to provide a path to an image in
Spectrum.
Tip: By default, Data Ref fields are case sensitive. If the label
template is intended for use with an SAP BC-XOM integration
or an SAP RFC integration, use only uppercase text in the Data
Ref field.
Default Path in Spectrum to a default image for the field. If the field is populated by a
Value Data Ref that returns a null value or has not yet received data, this value is
used.
Tip: For a variable image, browse to select an image.
Image

Property Description
Lock Whether to use the latest version of the image or a specific version of the
Version image.
If cleared, then the latest version of the image is used.
If selected, then the specified version of the image is used.
Note: This property is not available for variable images.
Lock Whether to make the proportions between the height and width of the
Aspect image fixed.
Ratio

Loftware Spectrum 3.0.1 User Guide 233


Designing Labels

Property Description
Resizing Whether the displayed size of the image can be changed. You can use this
Method option to display images used for variable image with consistent dimensions.
None: The displayed size of the image cannot be changed. For a variable
image that is larger than the envelope, the image extends beyond the
envelope when printed.
Fit to Envelope: The image can be resized either by dragging a handle or by
changing the Width and Height. For variable images, each image will be
displayed with the specified dimensions.
Note: This property is displayed only for images in Label
view. Changing the displayed size does not alter the original
image in the library.
Dither What dithering method to apply to the image when printed on a label or
Method displayed in a form. If the image has greater resolution or color depth than
the printer or display supports, dithering may provide a smoother
representation of the image. The original image is not altered.
None: The image is not dithered.
Floyd-Steinberg: Floyd-Steinberg dithering is applied to the image. If this
method is applied to a color image, the image is displayed in gray scale.
Ordered: Ordered dithering is applied to the image. If this method is
applied to a color image, the image is displayed in gray scale.
Horizontal Whether the image is left aligned, horizontally centered, or right aligned
Alignment within the envelope.
: Align to left edge of envelope.
: Align to horizontal center of envelope.
: Align to right edge of envelope.
Note: This property is available only for variable images.
Vertical Whether the image is aligned to the top edge, vertical center, or bottom
Alignment edge of the envelope.
: Align to top edge of envelope.
: Align to vertical center of envelope.
: Align to bottom edge of envelope.
Note: This property is available only for variable images.
Arrange

Property Description
Left The distance from the left edge of the image to the left edge of the label or
form. The value is dependent on the unit of measure for the label template.

234 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description
Top The distance from the top edge of the image to the top of the label or form.
The value is dependent on the unit of measure for the label template.
Center X The distance from the middle of the image to the left edge of the label or
form. The value is dependent on the unit of measure for the label template.
Center Y The distance from the middle of the image to the top of the label or form.
The value is dependent on the unit of measure for the label template.
Width The horizontal span of the image. The value is dependent on the unit of
measure for the label template.
Height The vertical span of the image. The value is dependent on the unit of
measure for the label template.
Rotation The angle of the image in relation to the printed label. The value is in
degrees.
Printing Whether the image appears on the printed label.
Field Note: This property is only displayed for images in Label view.
Lock If selected, no changes can be made to the properties of the field, and the
Field field cannot be moved or deleted. The order of the field relative to other
fields in the label template can be changed regardless of whether the field is
locked.
Note: This feature can be used to prevent accidental changes to
fields. It does not prevent other Document Designers from
unlocking a field.

Loftware Spectrum 3.0.1 User Guide 235


Designing Labels

Using Shapes
Shapes include lines, circles, and rectangles and can be used to separate sections of a label
template, or to emphasize information.

236 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Add Shapes

To add shapes to your Label or Form, use these procedures.


Add a Circle

From the Shapes list in the Library, click and drag Circle to the Label or Form view.
Add a Box

From the Shapes list in the Library, click and drag Box to the Label or Form view.
Add a Line

From the Shapes list in the Library, click and drag Line to the Label or Form view.

Loftware Spectrum 3.0.1 User Guide 237


Designing Labels

Shape Properties

Shapes in label templatessuch as Circles, Boxes, and Lineshave the following properties.
Note: A Field Name, Data Ref, or Input Data Ref can include letters and
numbers. Additionally, the following characters are permitted but cannot begin the
name: hyphens, underscores, and periods.
Name and Data

Shapes Where
Property Description
Available
Field The identifier of the shape in the label template, form, All
Name or reusable object.
Arrange

Shapes
Property Description Where
Available
Left The distance from the left edge of the shape to the left edge of the All
label. The value is dependent on the unit of measure for the label
template.
Top The distance from the top edge of the shape to the top of the All
label. The value is dependent on the unit of measure for the label
template.
Center X The distance from the middle of the shape to the left edge of the All
label. The value is dependent on the unit of measure for the label
template.
Center Y The distance from the middle of the shape to the top of the label. All
The value is dependent on the unit of measure for the label
template.
Width The horizontal span of the shape. The value is dependent on the Circle
unit of measure for the label template. Box
Height The vertical span of the shape. The value is dependent on the unit Circle
of measure for the label template. Box
Length The span of the line. Line
Rotation The angle of the shape in relation to the printed label. The value is All
in degrees.
Printing Whether the object appears on the printed label. All (Label
Field view
only)

238 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Shapes
Property Description Where
Available
Lock If selected, no changes can be made to the properties of the field, All
Field and the field cannot be moved or deleted. The order of the field
relative to other fields in the label template can be changed
regardless of whether the field is locked.
Note: This feature can be used to prevent accidental
changes to fields. It does not prevent other
Document Designers from unlocking a field.
Appearance

Shapes
Property Description Where
Available
Thickness The width of the line. The value is dependent on the unit of Line
measure for the label template.
Border The thickness of the line that forms the shape. The value is Circle
dependent on the unit of measure for the label template. Box
Border The color of the line that forms the shape. You can select a Circle
Color color or enter a hexadecimal RGB color value. Box
Tip: To swap the Border Color and the Fill
Color, click .

Note: Color printing is possible only if supported


by the device and device driver.
Color The color of the line. You can select a color or enter a Line
hexadecimal RGB color value.
Note: Color printing is possible only if supported
by the device and device driver.
Line The border color of a circle or a box and the color of a line. See Group of
Color Border Color and Color for more information. shapes
Fill Color The color within the shape if Fill is set to a value other than Circle
No Fill. You can select a color or enter a hexadecimal RGB Box
color value.
Note: Color printing is possible only if supported
by the device and device driver.

Loftware Spectrum 3.0.1 User Guide 239


Designing Labels

Shapes
Property Description Where
Available
Fill Whether the specified Fill Color is used within the shape. Circle
No Fill: The area within the shape has a transparent Box
background and the Fill Color is not used.
Solid Fill: The area within the shape is the color specified by
Fill Color.

240 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Using Reusable Objects


You can use a reusable object to include components for a form for data entry and components
for a label for printed output that you want to incorporate into label templates. After a reusable
object is added to a label template, a form, or another reusable object, the components that it
contributed to the label template, form, or reusable object can be modified as needed.
Reusable objects that have been saved in the Reusable Objects folder are displayed in the
Library in Design and are available for use in label templates and forms.
Note: If a reusable object is saved in a version-controlled subfolder of the
Reusable Objects folder, that version-controlled reusable object is displayed in
the Library in Design only after the reusable object is published. For more
information, see "Working in a Version-Controlled Environment " on page 79.

Note: If a reusable object is changed, label templates, forms, and reusable objects
to which it was added before the change was made are not affected.

Tip: For information about creating reusable objects, see "Create a Reusable
Object" on page 95.

Loftware Spectrum 3.0.1 User Guide 241


Designing Labels

Add a Reusable Object to a Label Template or a Form

By adding a reusable object to a label template, a form, or another reusable object, you can
include all of the components of a label template that are part of that reusable object.
Tip: For information about creating reusable objects, see "Create a Reusable
Object" on page 95.

Note: If a reusable object is saved in a version-controlled subfolder of the


Reusable Objects folder, that version-controlled reusable object is displayed in
the Library in Design only after the reusable object is published. For more
information, see "Working in a Version-Controlled Environment " on page 79.
To add an existing reusable object to a label template, form, or another reusable object, use this
procedure.
1. In the Library, expand the Reusable Objects list.
2. Drag a reusable object to either the Label view or the Form view.
Note: If the reusable object includes fields in both the Label view and the
Form view, they are copied into the appropriate view regardless of which
view you were pointing to when you dropped in the reusable object. Fields
from the Label view are disregarded if you drop a reusable object onto a
form.
3. Any fields contributed by the reusable object are grouped when added to a label template,
form, or reusable object. You can ungroup, move, and edit the fields.

242 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Using Forms
You can configure a form to accept data entry from a Data Provider 1. A form is included as part
of a label template or a reusable object, but can also be created as a separate object.
You can configure the loading of a data entry form to act as a trigger for a query of a data service
associated with a Database data source or an Alternate data source.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 243


Designing Labels

Configure a Form to Run a Data Source

You can configure the loading of a data entry form to act as a trigger 1 to run a data source. A
Database data source 2 or an Alternate data source 3 associated with the data service must
already exist.
Tip: If you have not yet created the data source for which the loading of this form
should act as a trigger, you can select the trigger when you create the data source
instead. For more information, see "Create a Database Data Source" on page 309 or
"Create an Alternate Data Source" on page 318.
To configure the loading of a form to act as a trigger, use this procedure.
1. For a label template or a reusable object, if both the Label view and the Form view are
displayed, click the Form view.
2. In the Properties pane, expand the Triggers section and click Select a Trigger.
3. In the Data Source Selector dialog box, click the data source for which the loading of
the form should act as a trigger, and then click OK.
4. If the form acts as a trigger for more than one data source and the order in which the data
sources are run relative to each other is important, then you must configure values for
trigger priority 4 for these triggers. To assign trigger priorities, do the following:
a. In the Triggers section of the Properties pane, double-click a data source.
b. In the Database Data Source or Alternate Data Source dialog box, click Next
twice.
c. In the list of triggers, enter a value for Trigger Priority for the form. When these
triggers cause the data services to run, the data source with the lower value for
Trigger Priority is run first.
Tip: Trigger priorities are compared only if the triggers have the
same trigger source, trigger event, and trigger key (if any). For
example, if a data source has both a button and a prompt that act as
triggers, their Trigger Priority values are not compared to each
other.
d. Click OK.
e. Repeat for each data source listed in the Triggers section.

1A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
2A connection to a database that acts as a data source and can serve as the data ref for a document field. A Database data source
is associated with a Database data service.
3A connection to a file external to Spectrum that acts as a data source and can serve as the data ref for a document field. An
Alternate data source is associated with either a File data service or an HTTP data service.
4The order in which data sources, form rules, or business rules that have otherwise identical triggers are run. Trigger values are
compared only if the triggers have the same trigger source, trigger event, and trigger key (if any). The type of data source is
irrelevant. Among data sources, form rules, or business rules with otherwise identical triggers, the data source with the lowest
value for trigger priority is run first.

244 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Search the Tool Library


Enter text in the Search field. The list of tools in the Library pane changes to match your
search.

Figure A.6: Search box with preview pane

Loftware Spectrum 3.0.1 User Guide 245


Designing Labels

Preview and Print a Label in Design


If you have finished creating a label template and want to review a label produced by using it, or
if you want to compare the appearance of a label produced before and after making a change to a
label template, you can preview and print a label in Design.
Tip: The option selected for Design Data controls what data is used in fields
when previewed, printed, or displayed in Design. Either default data1,
placeholder data2, or data from a live data set3 can be used. For more
information, see "Select Data to Display in Design" on page 63.
To preview and print a label in Design, use the following procedure.
1. In Design, review the buttons at the rightmost end of the menu bar.
2. If the name of the device connection that you want to use is not displayed, click and
select the device connection.
Tip: To create a PDF file of a sample label that you can send to others for
review, select a PDF device connection.
3. Open the label template that you want to preview or print.
4. To preview the label, click or File > Design Preview.
Tip: If you want to make a change and compare the results side by side,
leave the preview window open, make changes to the label template, and
click again. You can position the two preview windows side by side for
comparison.

5. To print the test label, click or File > Design Print.


Tip: After you print a label using a label template in Design, you can view
information about the printing by clicking the link for the job number that
is displayed next to View Job Status in the menu bar.

1For each field, the value specified in the Default Value property for that field.
2For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
3A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

246 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Design Page
Click Design at the top of the LoftwareSpectrum window to display options for creating and
configuring a label template, form, layout, reusable object, or application.

Loftware Spectrum 3.0.1 User Guide 247


Designing Labels

Views and Document Information

When a label template 1 or a reusable object is open, you can see both the Label view and
Form view of the label template. When a form that is not associated with a label template is
open, you see only a Form view.
l The Label view of a label template or reusable object shows the design for printed labels
produced from a label template and optionally allows you to associate a layout with the
label template.
Note: The impact of character-level formatting is not displayed in Design.
You can determine whether a Character-Level format source has been
applied to a text field by clicking the text field and viewing the Properties
pane. View the Format Sources section for a list of the format sources
applied to the text field. Also, the impact of character-level formatting is
displayed in Print when previewing a label.
The Form view of a label template, reusable object, or form shows the design for data
l

entry forms produced from a label template. If a user acting as a Data Provider 2 enters
data in Print, they do so by using the data entry form produced by a label template.
A layout3 has only one view, which shows the slots for labels on a page 4.
Document Object Name

The name of each label template or other object currently open in Design appears on a tab
above the label template. An asterisk next to the name indicates that the label template or other
object has unsaved changes. Also, you can move the mouse pointer over the tab to display the
file path of the object.

Figure A.7: Asterisk next to label template name indicating change


Version

If the active label template, form, layout, reusable object, or application is version-controlled,
the version number of the version displayed is shown at the bottom of the editing pane as the
Version. A lock indicates that the label template or other object is version-controlled and that
you are viewing a checked-in version.

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
3An item that defines an organizational structure for printing multiple labels by using the same label template.
4In relation to media, the organization of labels specified by a layout. In relation to the Spectrum user interface, a top-level tab.

248 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

For more information, see "Working in a Version-Controlled Environment " on page 79.
Design Data

The source of data displayed in Design is shown at the bottom of the editing pane when a label
template or a layout is displayed. This option affects what is displayed in the Label view in
Design, as well as what is displayed when you preview or print a label in Design. More
specifically, this option affects what is displayed in text fields, barcode fields, and variable image
fields.
l Default Value: The values specified in the Default Value property for each field are
used.
l Placeholder: The data used for each field is placeholder data1 provided by Spectrum.
l Live Data Set: If configured, a snapshot of live data obtained from a Database data
source, an Alternate data source, or a Date/Time data source is used. You can also add
entries to the data set manually.

For more information, see "Select Data to Display in Design" on page 63.

1For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.

Loftware Spectrum 3.0.1 User Guide 249


Designing Labels

Menu Bar and Toolbar


File Menu Commands

Toolbar
Command Description
Icon
New Label Open the Create Label dialog box, which allows
you to create a label template and configure
properties for a printed label, such as the height
and width.
New Form Create and open a form that is not associated with a
label template.
New Create and open a layout.
Layout
New Image Import a new image into the Spectrum library so
that it can be used in label templates.
Note: An image that will be used
only as part of a Variable Image may
be saved to any folder in Spectrum.
Otherwise, for an image to be
available to add to a label template,
you must save it to the
Images\User Images folder, the
Images\Stock Images folder, or a
subfolder of one of those folders.
New Create and open a reusable object. As with a label
Reusable template, you can add fields to a reusable object
Object and save it. You can add content from a reusable
object to label templates, forms, or reusable
objects.
New Create and open an application in which you can
Application design a flow of work that transitions among
multiple forms.
Open Open the Open dialog box, which lets you select
an existing object to open.
Close Close the active object .

Close All Close all open objects.


Save Save the active object . This command does not
check in a version-controlled object that is
checked out.

250 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Toolbar
Command Description
Icon
Save As Open the Save As dialog box, which lets you save
the active object under a different name and in a
particular folder. The folder can be an existing
folder, or you can create a new folder.
The Add Folder button allows you to create a
subfolder in the selected folder. Clicking this
button displays the Add New Folder dialog box,
allowing you to enter a folder name and description
and to specify whether version control is turned on
or off for any object in the new folder.
Note: You cannot change the
Version Control setting after you
save the folder.
The new object is displayed in the editor.
Export Export an object to a separate file outside of
Spectrum.
Tip: You can use this capability to
transfer a label template from one
instance of Spectrum to another.
Import Import an object that was previously exported to a
separate file outside of Spectrum.
Design Print a sample label using the current label
Print template and the device connection displayed in
the menu bar.
Note: The icon button for this
command is displayed in the menu
bar and is near the rightmost edge of
the window.
Design Display a preview of the label generated by using
Preview the current label template. The preview is
displayed in a separate window.
Note: The icon button for this
command is displayed in the menu
bar and is near the rightmost edge of
the window.

Loftware Spectrum 3.0.1 User Guide 251


Designing Labels

Toolbar
Command Description
Icon
Version Save the current version of the object and make
Control > this the object available for publication or for
Check In others to check out. Checking in creates a version
that can no longer be altered.
Available only for an object that is in a version-
controlled folder and only to the user who checked
out or has taken control of the object .
Version Create a new, editable version of the object ,
Control > increment the minor version number. Other users
Check Out cannot change the object or view the version that
you have created until it is checked in.
Available only for an object that is in a version-
controlled folder and is checked in.
Version Undo any changes made since the object was most
Control > recently checked out, and then check it in. The
Undo checked out version is discarded and the version
Check Out number is decremented to that of the previous
version.
Available only for an object that is in a version-
controlled folder.
Version Check in and create a new published version of the
Control > object, incrementing the major version number and
Publish setting the minor version number to zero.
Available only for an object in a version-controlled
folder. Available only to users with Publish (PB)
permission for Documents.

252 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Toolbar
Command Description
Icon
Version Delete the published version1 with the highest
Control > version number. The next latest version that
Undo remains may be a minor version.
Publish WARNING: If you have already
initiated a print job using the
published version or have used or
link to that version, you may get
unexpected results.
Available only for an object in a version-controlled
folder. Available only to users with Publish (PB)
permission for Documents and only if the current
version of the object is a published version.
Workflow Open the Select a Workflow Template dialog
>Start box, which allows you to select a workflow for
Workflow tracking and managing modifications to the label
template.
Workflow View the details of the current step of the
>View workflow that the label is in.
Current
StepDetails
Edit Menu Commands

Toolbar
Command Description
Icon
Undo Reverse the most recent action on a label template,
form, or reusable object.
Redo Reapply the previously undone action on a label
template, form, or reusable object.
Cut Remove a selected item from a label template,
form, or reusable object and place it into the
clipboard.
Copy Create a duplicate of a selected item and place it
into the clipboard.
Paste Place an item from the clipboard onto a selected
label template, form, or reusable object.

1When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.

Loftware Spectrum 3.0.1 User Guide 253


Designing Labels

Toolbar
Command Description
Icon
Delete Remove a selected element from a label template,
form, or reusable object.
Select All Select all fields in the current view (Label view or
Form view) so that you can cut, copy, paste, or
delete them.
View Menu Commands

Toolbar
Command Description Options
Icon
Label View Display the Label view in the full
window.
Form View Display the Form view in the full
window.
Split Changes the arrangement of the label Horizontally
Screen template, form, or reusable object Vertically
views displayed.
Grid Display an overlay grid on the label
template, form, or reusable object to
assist with aligning objects. The dots
or lines of the grid are not displayed in
printed labels or in the forms
displayed to Data Providers. The type
of grid can be configured under
Options > Grid Settings.
Zoom Change the magnification level at 200%
which the label template, form, or 150%
reusable object is displayed. 125%
100%
75%
50%
Position Menu Commands

Toolbar
Command Description
Icon
Align > Left For a selected object, align its left edge to
the left of the label template.
For two or more selected objects, line up
their left edges.

254 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Toolbar
Command Description
Icon
Align > Center For a selected object, align its horizontal
center to the center of the label template.
For two or more selected objects, line up
their horizontal centers.
Align > Right For a selected object, align its right edge to
the right of the label template.
For two or more selected objects, line up
their right edges.
Align > Top For a selected object, align its top edge to
the top of the label template.
For two or more selected objects, line up
their top edges.
Align > Middle For a selected object, align its vertical
midpoint to the middle of the label template.
For two or more selected objects, line up
their vertical midpoints.
Align > Bottom For a selected object, align its bottom edge
to the bottom of the label template.
For two or more selected objects, line up
their bottom edges.
Distribute >
Horizontally
Distribute >
Vertically
Rotate >
Clockwise
Rotate >
Counterclockwise
Order > Bring
Forward
Order > Bring to
Front
Order > Send
Backward
Order > Send to
Back
Options Menu Commands

Loftware Spectrum 3.0.1 User Guide 255


Designing Labels

Command Description Options


Design What data to show in fields when displaying a Default
Data label template or a reusable object in Design. Value
This option affects what is displayed in the Placeholder
Label view and Form view in Design, as well Live Data
as what is displayed when you preview or print Set
a label in Design. More specifically, this
option affects what is displayed in text fields,
barcode fields, and variable image fields.
l Default Value: The values specified in

the Default Value property for each


field are used.
l Placeholder: The data used for each

field is placeholder data1 provided by


Spectrum.
l Live Data Set: If configured, values

from a live data set2 obtained from a


Database data source, an Alternate data
source, or a Date/Time data source are
used. You can also add entries to the
data set manually.
Tip: If the Default Value field
or the value from a live data set is
empty or contains only a space
and that option is selected, then a
placeholder value is displayed in
the Label view or Form view in
Design. No visible indication of
the field is displayed when you
preview or print in Design.
For more information, see "Select Data to
Display in Design" on page 63.
Align to Force the top left corner of an item to align
Grid with the nearest alignment overlay intersection
or dot. Whether the grid is used can be
configured under View > Grid.

1For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
2A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

256 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Command Description Options


Grid The type of alignment overlay. The dots or Dot
Settings lines of the grid are not displayed in printed Line
labels or in the forms displayed to Data Dotted Line
Providers. Whether the grid is used can be Dashed Line
configured under View > Grid.
Units The measurement standard used to size and inches
position items in a label template. cm
(centimeters)
mm
(millimeters)
Grouping Commands
The following commands are available by using the toolbar or by right-clicking selected
objects or a group.
Toolbar
Command Description
Icon
Group Associate the selected fields so that they can be
moved and configured in unison.
Ungroup Disassociate the selected group of fields so that the
fields can be moved and configured separately.
Tip: When you select a group, you can name the group using the Group Name
field in the Properties pane.
Application Commands
The following command is available by using the toolbar when viewing an application.

Loftware Spectrum 3.0.1 User Guide 257


Designing Labels

ToolbarIcon Command Description


Turn on Turn on Connection Mode so that you can
/ Connection configure transitions between forms. While
Mode / Connection Mode is enabled, you can
Turn off establish a new connection by clicking the
Connection first form, then clicking the second form, and
Mode then configuring the transition.
Turn off Connection Mode so that you can
configure aspects of an application other than
transitions between forms.
Note: This button is displayed
only if you are viewing an
application. The button is blue
when Connection Mode is off,
green when Connection Mode is
on.
Preview and Print Commands

Menu
Bar Command Description
Icon
View Job View information about your recent printing. The job
Status ID and time stamp are displayed in the menu bar as a
link. You can click the link to display additional
information in Status. This option is displayed only
if you recently printed a sample label in Design.
Browse Browse to select the device connection to use for
Devices previewing and printing labels from Design. A
device may be a physical printer, device queue, or
other target for output, such as an image file or a
PDF file.

258 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Menu
Bar Command Description
Icon
Design Print a sample label using the current label template
Print and the device connection displayed in the menu bar.
Note: You must save the label template
before you can print.

Tip: The option selected for Design


Data controls what data is used in
fields when previewed, printed, or
displayed in Design. Either default
data1, placeholder data2, or data from
a live data set3 can be used. For more
information, see "Select Data to Display
in Design" on page 63.
Design Display a preview of the label generated by using the
Preview current label template. The preview is displayed in a
separate window .
Note: You must save the label template
before you can preview.

Tip: The option selected for Design


Data controls what data is used in
fields when previewed, printed, or
displayed in Design. Either default
data4, placeholder data5, or data from
a live data set6 can be used. For more
information, see "Select Data to Display
in Design" on page 63.

1For each field, the value specified in the Default Value property for that field.
2For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
3A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.
4For each field, the value specified in the Default Value property for that field.
5For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
6A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

Loftware Spectrum 3.0.1 User Guide 259


Designing Labels

Library

Types of fields and objects that can be added to a label template or a reusable object are
displayed in the Library pane in the left column. When you click one of these items in the
library, an example of that type item is displayed in the preview box at the bottom of the pane.
Text

Name Description
FixedText Text that does not change for each printed label or each time
a form is displayed.
VariableText Text that may change for each printed label or each time a
form is displayed.
Text Box Text that may change for each printed label.
Controls

Name Description
Button A field in the Form that can allow Data Providers to select
information from a data source. For types of data sources that
accept a trigger 1, a button can be associated with the data source
so that an action is performed when a Data Provider clicks the
button.
Check A field in the Form that can allow Data Providers to select
Box information from a data source. For types of data sources that
accept a trigger 2, a check box can be associated with the data
source so that an action is performed if a Data Provider has
selected the check box.
Drop- A field in the Form that can allow Data Providers to select
Down information from a data source. For types of data sources that
List accept a trigger 3, a drop-down list can be associated with the data
source so that an action is performed if a Data Provider has
selected a particular item in the list.
Device A field in the Form that allows Data Providers to select a device to
Selector be used when printing.

1A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
2A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
3A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.

260 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Name Description
Folder A field in the Form that allows Data Providers to select a folder.
Selector

Label A field in the Form that allows Data Providers to select a label.
Selector
Radio A field in the Form that can allow Data Providers to select
Button information from a data source. For types of data sources that
Group accept a trigger, a radio button group can be associated with the
data source so that an action is performed if a Data Provider has
selected a particular radio button.
Prompt Field in the Form that allows Data Providers to enter data. For
types of data sources that accept a trigger 1, a prompt can be
associated the data source so that an action is performed after a
Data Provider enters text into the prompt.
Tip: For most on-demand data entry, a Prompt field
is recommended. However, a Text Box Prompt field
is appropriate for situations in which Data Providers
are expected to retrieve lengthy data from a database
and then manipulate the data retrieved.
User A field in the Form that allows Data Providers to select a user.
Selector Example

A User Selector control can be added to a form on an


application which is used in a workflow template.
When a label template is being progressed through
the workflow, a user can click the browse button and
choose a user from the dialog box to send the label
template to for review.
Table A field in the Form that systematically displays the results of a data
source query, form rule, or a business rule in columns and rows.

1A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.

Loftware Spectrum 3.0.1 User Guide 261


Designing Labels

Name Description
Text A field in the Form that allows Data Providers to enter data. For
Box types of data sources that accept a trigger 1, a Text Box Prompt
Prompt can be associated the data source so that an action is performed
after a Data Provider enters text into the prompt.
Tip: For most on-demand data entry, a Prompt field
is recommended. However, a Text Box Prompt field
is appropriate for situations in which Data Providers
are expected to retrieve lengthy data from a database
and then manipulate the data retrieved.

Shapes

You can add the following shapes to labels or forms.


l Circle
l Box
l Line
Barcodes

You can add barcodes to labels. A list of the supported barcode symbology is displayed in
Spectrum.
Images

You can add images to labels or forms.


l Stock Images
l User Images
l Variable Images
Reusable Objects

You can add reusable objects2 to label templates or forms.


Search and Preview

You can search the Library and view an example any type of field or object that you select.

1A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
2An item that can contain components of a label and a form so that you can incorporate them into labels and forms efficiently and
consistently.

262 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Figure A.8: Search and Preview

Loftware Spectrum 3.0.1 User Guide 263


Designing Labels

Data Sources

The Data Sources pane is displayed in the left column when a label template, form, or reusable
object is displayed. It is initially collapsed near the bottom of the left column. Click the title bar
for Data Sources to expand the pane.
Use this pane to manage label data sources such as Data Entry, Database, Date/Time, Formula,
Increment/Decrement, and Script data sources. For more information, see "Configuring Label
Data Sources" on page 305.
Buttons in the Data Sources pane

Button Command Description


Add Label Create a new label data source of the selected type.
Data Source
Delete Delete the selected label data source and its
Label Data children.
Source
Edit Label Edit the selected label data source.
Data Source
Query Label Query the selected data source and save the result
Data Source to a live data set1. You can use this command on a
Database data source, an Alternate data source, or a
Date/Time data source. For more information, see
"Select Data to Display in Design" on page 63.

1A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

264 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Format Sources

The Format Sources pane is displayed in the left column when a label template or a reusable
object is displayed. It is initially collapsed at the bottom of the left column. Click the title bar
for Format Sources to expand the pane.
Use this pane to manage Character-Level format sources, which allow you to format spans of
text within a Fixed Text object or a Variable Text object. For more information, see " Character-
Level Format Source Properties" on page 431.
Note: Character-level formatting is supported for TrueType fonts only. Also,
you cannot use a Character-Level format source to format the human readable text
associated with a barcode or to format fields in the data entry form of a label
template.
Buttons in the Format Sources pane

Button Command Description


Add Format Source Create a new format source of the selected
type.
Delete Format Delete the selected format source.
Source
Edit Format Source Edit the selected format source.

Loftware Spectrum 3.0.1 User Guide 265


Designing Labels

Form Rules

The Form Rules pane is displayed in the left column when a form or an application is displayed.
It is initially collapsed near the bottom of the left column. Click the title bar for Form Rules to
expand the pane.
Use this pane to manage form rules such as Electronic Signature, Job Request, Map Operations,
and Static form rules. For more information, see "Form Rules Reference" on page 405.
Buttons in the Form Rules pane

Button Command Description


Add Form Rule Create a new form rule of the selected type.

Delete Form Rule Delete the selected form rule.


Edit Form Rule Edit the selected form rule.

266 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Properties

The Properties pane is displayed in the right column. If the right column is collapsed, click the
arrow button at the top of the column to expand it. If the Properties pane is collapsed, click the
Properties title bar to expand it.
Note: When a label template, form, or reusable object is displayed, the name of the
view (Label or Form) or the field you have selected appears near the top of the
Properties pane. You can select other fields by name from the drop-down list, or
you can click a field in the Label view or Form view to select it. When a layout is
displayed, all properties are always displayed in the Properties pane. When an
application is displayed, initially the application-level properties are displayed.
When you click a form within an application, the form-level properties are
displayed.
Use this pane to view and change the following:
l "Label Template Properties" on page 273
l "Form Properties" on page 284

l "Layout Properties" on page 282

l "Application Properties" on page 300

l " Form Properties in an Application" on page 302

l "Text Properties" on page 140

l "Control Properties" on page 178

l "Shape Properties" on page 238

l "Common Properties for Barcodes" on page 207

l "Image Properties" on page 233

Tip: If you are viewing a label template that was migrated from a Loftware Print
Server (LPS) environment, a flag icon is displayed in the Migrated property for
each field. You can click the icon to display information about any migration issues
related to that field. To display a report of all migration issues for the label
template, click the Label view and then click the icon in the Migrated property.
You can remove the icons by clicking the Clear All Flags button in the Migrated
property. Also, if LPS-Style Font Rendering was turned on when the label template
was migrated, then a notice to that effect is displayed in the Properties pane. For
more information, see "Work with a Migrated Label Template" on page 119.

Loftware Spectrum 3.0.1 User Guide 267


Designing Labels

Field Tabbing Order

The Field Tabbing Order pane is displayed in the right column when viewing a label template,
form, or reusable object. If the pane is collapsed, click the Field Tabbing Order title bar to
expand the pane.
Use this pane to rearrange the order of input fields for users printing labels on demand. For more
information, see "Change the Field Tabbing Order" on page 139.

268 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Label Specific Options or Layout Specific Options

The Label Specific Options pane or Layout Specific Options pane is displayed in the right
column when viewing a label template or a layout. If the pane is collapsed, click the Label
Specific Options title bar or Layout Specific Options title bar to expand the pane.
Use this pane to customize device-specific options for an individual label template or layout. For
situations in which a label may be printed to more than one family or model of device, you can
create multiple configurations of Label Specific Options.
Tip: To configure baseline device-specific options for all label templates, use Device
Management.

Note: Label Specific Options cannot be included in a reusable object, and the
Label Specific Options pane is not displayed when editing a reusable object.

Loftware Spectrum 3.0.1 User Guide 269


Designing Labels

Tags

The Tags pane is displayed in the right column when viewing an application, business rule, data
service, device group, facility, form, image, integration, label template, layout, process, remote
site, reusable object, user, or workflow template. If the pane is collapsed, click the Tags title
bar to expand the pane.
You can categorize an application, business rule, data service, device group, facility, form, image,
integration, label template, layout, process, remote site, reusable object, user, or workflow
template by assigning tags to it. Each tag has a category and a value. For a version-controlled
object, tags cannot be changed in a previously checked-in version.
Buttons in the Tags pane

Button Command Description


Assign Tag Assign a tag to an object. The tag category must
already exist.
Delete Tag Remove a tag that was assigned to an object.
Edit Tag Change the value specified for a tag that has been
assigned to an object.
For more information, see "Categorize a Label Template or Other Object" on page 105.

270 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Data Sets

The Data Sets pane is displayed in the right column when viewing a label template. If the pane
is collapsed, click the Data Sets title bar to expand the pane.
You can use a data set to store a snapshot of live data retrieved from a Database data source. You
can use this data to produce a more realistic view when designing a label template. You can also
manually alter data map entries in a data set.
Buttons in the Data Sets pane

Button Command Description


Add Data Map Create a new data map entry 1 in a data set.
Entry
Delete Data Delete the selected data map entry and its
Map Entry children from the data set.
Edit Data Map Edit the selected data map entry.
Entry
Import Data Import data from an XML file or a CSV file into
the data set.
For more information, see "Select Data to Display in Design" on page 63.

1A name (key) and value pair in the data map for a job.

Loftware Spectrum 3.0.1 User Guide 271


Designing Labels

Top Bar

Name Description
Username Displays the user name with which you are logged on.
Help Open the SpectrumUserGuide.
About View the version of Spectrum that you are using.
Logout Close Spectrum and sign out.

272 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Label Template Properties

The following are properties that describe a label template 1. They include the Label2
properties and the Form 3 properties. The Label properties and the Form properties for a label
template are configured independently. The Trigger properties are part of the Form properties.
Tip: If you are viewing a label template that was migrated from a Loftware Print
Server (LPS) environment, a flag icon is displayed in the Migrated property for
each field. You can click the icon to display information about any migration issues
related to that field. To display a report of all migration issues for the label
template, click the Label view and then click the icon in the Migrated property.
You can remove the icons by clicking the Clear All Flags button in the Migrated
property. Also, if LPS-Style Font Rendering was turned on when the label template
was migrated, then a notice to that effect is displayed in the Properties pane. For
more information, see "Work with a Migrated Label Template" on page 119.
Label Properties
Label properties affect printed labels produced by using the label template. These properties
can be configured in the Create Label dialog box when you create the label template. In an
existing label template, these properties can be displayed by clicking the Label tab at the
bottom of the window or clicking the label background to select the Label view, and can be
configured in the Properties pane.
Property Description Options Notes
Font The type of fonts to be used on the label. TrueType
Category DPL4
IPL5
ZPL II6

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2The output or part of the output from a job, either printed on physical media or stored in a digital file.
3The interface for data entry by a data provider. A form is a separate object in Spectrum, but it can be combined with a label
template so that the form serves as the Form view for the label template.
4Datamax-O'Neil Programming Language, a printer control language.
5Intermec Printer Language, a printer control language.
6Zebra Programming Language II, a printer control language.

Loftware Spectrum 3.0.1 User Guide 273


Designing Labels

Property Description Options Notes


Document The resolution in dots per inch that 200 Set to the DPI
DPI objects on the label should be printed. 203 of your device.
Important: The value 300
selected affects the size at 400
which bit mapped fonts are 406
displayed. For example, a 600
bit mapped font appears 1200
larger at 203dpi than at
400dpi because a 400dpi
device produces smaller
pixels.

Note: The value selected


affects the values available
for the Line X-Dim and
Line Y-Dim properties in
any barcode symbology in
which they exist.
Size The dimensions of the label or stock Letter
used for printed labels. Legal
A4
2x2
4x4
4x6
Custom
Width The horizontal span of the printed label. Millimeters (up To view or
If the Size is set to Custom, you can to 914.4mm) configure the
manually configure this value. Centimeters (up unit of
to 91.44cm) measurement,
Inches (up to in the menu
36in) bar select
Options >
Units.

274 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Options Notes


Height The vertical span of the printed label. If Millimeters (up To view or
the Size is set to Custom, you can to 3810mm) configure the
manually configure this value. Centimeters (up unit of
to 381cm) measurement,
Inches (up to in the menu
150in) bar select
Options >
Units.
Shape The appearance of the outside edge of Rectangle
the printed label. Rounded
Rectangle
Orientation The direction objects are aligned in the Portrait: This property
printed label. Objects are is ignored on
aligned on the PCL 5
narrowest span devices.
of the label, like Orientation is
the pages of a controlled by
book. the Device
Landscape: Specific
Objects are Options
aligned on the Orientation
widest span of property.
the label, as on a
typical video
display.
Print The orientation of the printed label 0 Ignored on
Rotation relative to the print stock. 90 PCL 5
180 devices. See
270 note above.
Fill Color The background color of the label. This RGB color
color is displayed on-screen only if Fill is values
set to a value other than No Fill. This
color is printed only if Fill is set to a
value other than No Fill and if Print Fill
is selected.
Note: Color printing is
possible only if supported
by the device and device
driver.

Loftware Spectrum 3.0.1 User Guide 275


Designing Labels

Property Description Options Notes


Fill Whether the Fill Color is displayed on- No Fill: The
screen and may be printed. label is displayed
Note: Color printing is on-screen and
possible only if supported printed with no
by the device and device background
driver. color.
Solid Fill: The
label is displayed
on screen with a
background of
the Fill Color
and may be
printed with a
background of
the Fill Color.
Print Fill Whether the Fill Color is printed. If Fill : Do not print
is set to No Fill, this option is ignored. Fill Color
Note: When printing on : Print Fill
color stock, it is Color
recommended that you
specify the color of the
stock as the Fill Color and
for Fill select Solid Fill to
approximate the stock color
on-screen while designing a
label. Because color stock
rather than printing
provides the background
color, you would clear
Print Fill in that situation.

276 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Options Notes


Layout The layout to be associated with the label You cannot
template. If Layout Enabled is attach the
selected, this layout is used to specify layout if the
the organizational structure in which Width and
labels are printed on a sheet of stock or a Height of this
row of roll stock. label exceed
Note: A version-controlled the Label Size
layout must be published specified in the
before it can be attached to layout.
a label template.
Layout Whether the specified layout is used : Do not use a You can
Enabled when the label is printed. layout temporarily
: Use the turn off the
specified layout layout without
disassociating
it from the
label template
by clearing this
check box.
Migration Whether issues occurred when a label Successfully If the value is
template was migrated from a Loftware migrated Migrated with
Print Server (LPS) environment to a Migrated with issues, click
Spectrum environment. issues the icon in
Note: This property is the Migrated
displayed only if the label property for
template was migrated from more
an LPS environment. information.

Loftware Spectrum 3.0.1 User Guide 277


Designing Labels

Property Description Options Notes


Migrated If changes were necessary or if issues
occurred when a label template was Clear Flag
migrated from a Loftware Print Server Clear All Flags
(LPS) environment into Spectrum, then a
flag icon is displayed.
If you are viewing the properties for a
field and Migrated with issues is
displayed, clicking the icon displays a
tool tip that lists any migration issues for
that field. You can remove this icon by
clicking the Clear Flag button.
If you are viewing the properties for the
Label view and Migrated with issues
is displayed, then clicking the icon
displays a report that includes the
migration issues for all properties of the
label template. You can remove the icons
for all fields in the label template by
clicking the Clear All Flags button.
Note: This property is
displayed only if the label
template was migrated from
an LPS environment.
Form Properties
Form properties affect the on-screen data entry form (if any) produced by using the label
template. These properties can be displayed by clicking the Form tab at the bottom of the
window or clicking the Form background to select the Form view, and can be configured in
the Properties pane.
Property Description Options Notes
Font The type of fonts to be used in the data TrueType This field is
Category entry form. read-only.

278 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Options Notes


Size The dimensions of the data entry form in Letter This property
Design. Legal does not limit
A4 the dimensions
2x2 of the data
4x4 entry form
4x6 display area in
Custom Print.
Width The horizontal span of the form. If the Millimeters (up To view or
Size is set to Custom, you can manually to 356mm) configure the
configure this value. Centimeters (up unit of
to 36cm) measurement,
Inches (up to in the menu bar
14in) select Options
> Units.
Height The vertical span of the form. If the Size Millimeters (up To view or
is set to Custom, you can manually to 3810mm) configure the
configure this value. Centimeters (up unit of
to 381cm) measurement,
Inches (up to in the menu bar
150in) select Options
> Units.
Orientation The direction objects are aligned in the Portrait:
data entry form. Objects are
aligned on the
narrowest span
of the form, like
the pages of a
book.
Landscape:
Objects are
aligned on the
widest span of
the form, as on a
typical video
display.
Fill Color The background color of the form if Fill RGB color
is set to a value other than No Fill. values

Loftware Spectrum 3.0.1 User Guide 279


Designing Labels

Property Description Options Notes


Fill Whether the Fill Color is displayed in No Fill: The
the data entry form. data entry form
is displayed with
no background
color.
Solid Fill: The
data entry form
is displayed on
screen with a
background of
the Fill Color.
Hide Whether to display the Quantity field : Display the
Quantity when this form is viewed in Print. Quantity field
: Do not
display the
Quantity field
Hide Whether to display the Duplicates field : Display the
Duplicates when this form is viewed in Print. Duplicates
field
: Do not
display the
Duplicates
field
Hide Whether to display the Device field : Display the
Device when this form is viewed in Print. Device field
: Do not
display the
Device field
Hide Label For a form, whether to display the Label : Display the
field when the form is displayed in Label field
Print. The Label field allows a Data : Do not
Provider 1 to select a label template and display the
use the Label view of that label template Label field
in conjunction with the form.
For a label template, this property has no
effect.
Triggers

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

280 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

An event such as the clicking of a button or the submission of text input via a prompt can
serve as a trigger 1 to run a label data source, form rule, or business rule. The loading of a
form or an application can also serve as a trigger to run a rule.
When you configure a form, you can add or remove triggers that use the loading of that form
as a trigger source. Because triggers do not have names, in the Properties pane for a form, a
trigger is identified by the name of the data source for which the loading of the form acts as a
trigger.
Note: The Triggers section is displayed when the Form properties are
displayed.
Property Description Options
Data Sources A list of label data sources for which the loading of this form Select a
acts as a trigger to run the data source. This list can include Trigger
Alternate data sources and Database data sources.
To select a trigger, click Select a Trigger, select the data
source to be run when the form is loaded, and click OK.
To remove a trigger, select the data source that the trigger
runs, and click .
To edit the properties of a data source acting as a trigger,
double-click the name of the data source.
Important! If the form acts as a trigger for more
than one data source and the order in which the
data sources are queried relative to each other is
important, then you must configure priorities for
these triggers. For more information, see
"Configure a Form to Run a Data Source" on
page 244.

Tip: For information about creating data sources


or configuring triggers by editing a data source,
see "Configuring Label Data Sources" on page
305 and "Triggers in Design" on page 419.

1A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.

Loftware Spectrum 3.0.1 User Guide 281


Designing Labels

Layout Properties

The following are properties that describe a layout1 and affect how any label template 2 to
which the layout is attached is printed. These properties can be configured on the Properties
pane when the layout is opened for editing.
Note: A version-controlled layout must be published before it can be attached to a
label template.

Property Description Options Notes


Stock Size The size of stock on 2x2 Values in the Stock Size selection box
which to print labels 4x4 are in inches.
that use this layout. 4x6 The unit of measure for Width and
If Custom is selected, 8.5x11 Height depend on the unit of
then you can manually Custom measure for the layout. To view or
configure the Width configure the unit of measurement, in
and Height of the the menu bar select Options > Units.
layout.
Margins Top: The distance Millimeters To view or configure the unit of
from the upper edge of Centimeters measurement, in the menu bar select
labels in the top row to Inches Options > Units.
the upper edge of the
sheet or row of stock.
Left: The distance
from the left edge of
the leftmost column of
labels to the left edge
of the sheet or stock.
Label Size The size of labels to be 2x2 Values in the Label Size selection
used in this layout. All 4x4 box are in inches.
labels in a layout must 4x6 The unit of measure for Width and
be the same size. Custom Height depend on the unit of
If Custom is selected, measure for the layout. To view or
then you can manually configure the unit of measurement, in
configure the Width the menu bar select Options > Units.
and Height for a label.
Horizontal The horizontal distance Millimeters To view or configure the unit of
Gap between labels within Centimeters measurement, in the menu bar select
the layout. Inches Options > Units.

1An item that defines an organizational structure for printing multiple labels by using the same label template.
2A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.

282 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Options Notes


Vertical The vertical distance Millimeters To view or configure the unit of
Gap between labels within Centimeters measurement, in the menu bar select
the layout. Inches Options > Units.
Labels The number of labels in You should configure this value to
Across one row of the layout. match the number of labels across one
row of stock.
Labels The number of labels in You should configure this value to
Down one column of the match the number of labels down one
layout. column of stock.
Fill The order in which Vertical: Fill This property controls the direction of
Direction incoming form data is all labels in a fill of whole labels within the layout,
used to fill labels in the column before not the fill of content within each
layout. moving to the label.
The starting label next column.
position from which Horizontal:
the Fill Direction Fill all labels
proceeds is specified by in a row
Start Origin. before moving
to the next
row.
Start Label position from Top Left This property controls the starting
Origin which to begin using Top Right point within the layout, not within
incoming form data to Bottom Left each label.
fill labels in the layout. Bottom Right
The direction in which
fill proceeds from this
position is specified by
Fill Direction.

Loftware Spectrum 3.0.1 User Guide 283


Designing Labels

Form Properties

The following are properties that describe an on-screen data entry form. Unlike the properties
for a complete label template, they include only the Form 1 properties, of which the Trigger
properties are a subset. The properties of a form can be displayed by clicking the Form canvas
when editing a form or by clicking the icon for a form in an application, and they can be
configured in the Properties pane.
Note: For information about the properties of a form that are displayed when
editing an application, see " Form Properties in an Application" on page 302.
Form Properties
The following properties are displayed when editing a form but not when editing an
application.
Property Description Options Notes
Font The type of fonts to be used in the data TrueType This field is
Category entry form. read-only.
Size The dimensions of the data entry form inLetter This property
Design. Legal does not limit
A4 the dimensions
2x2 of the data
4x4 entry form
4x6 display area in
Custom Print.
Width The horizontal span of the form. If the Millimeters (up To view or
Size is set to Custom, you can manually to 356mm) configure the
configure this value. Centimeters (up unit of
to 36cm) measurement,
Inches (up to in the menu bar
14in) select Options
> Units.
Height The vertical span of the form. If the Size Millimeters (up To view or
is set to Custom, you can manually to 3810mm) configure the
configure this value. Centimeters (up unit of
to 381cm) measurement,
Inches (up to in the menu bar
150in) select Options
> Units.

1The interface for data entry by a data provider. A form is a separate object in Spectrum, but it can be combined with a label
template so that the form serves as the Form view for the label template.

284 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Options Notes


Orientation The direction objects are aligned in thePortrait:
data entry form. Objects are
aligned on the
narrowest span
of the form, like
the pages of a
book.
Landscape:
Objects are
aligned on the
widest span of
the form, as on a
typical video
display.
Fill Color The background color of the form if Fill RGB color
is set to a value other than No Fill. values
Fill Whether the Fill Color is displayed in No Fill: The
the data entry form. data entry form
is displayed with
no background
color.
Solid Fill: The
data entry form
is displayed on
screen with a
background of
the Fill Color.
Hide Whether to display the Quantity field : Display the
Quantity when this form is viewed in Print. Quantity field
: Do not
display the
Quantity field
Hide Whether to display the Duplicates field : Display the
Duplicates when this form is viewed in Print. Duplicates
field
: Do not
display the
Duplicates
field

Loftware Spectrum 3.0.1 User Guide 285


Designing Labels

Property Description Options Notes


Hide Whether to display the Device field : Display the
Device when this form is viewed in Print. Device field
: Do not
display the
Device field
Hide Label For a form, whether to display the Label : Display the
field when the form is displayed in Label field
Print. The Label field allows a Data : Do not
Provider 1 to select a label template and display the
use the Label view of that label template Label field
in conjunction with the form.
For a label template, this property has no
effect.
Triggers
An event such as the clicking of a button or the submission of text input via a prompt can
serve as a trigger 2 to run a label data source, form rule, or business rule. The loading of a
form or an application can also serve as a trigger to run a rule.
When you configure a form, you can add or remove triggers that use the loading of that form
as a trigger source. Because triggers do not have names, in the Properties pane for a form, a
trigger is identified by the name of the data source or rule for which the loading of the form
acts as a trigger.

Note: The Triggers section is displayed when the Form properties are
displayed.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
2A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.

286 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Property Description Options


Data A list of label data sources for which the loading of this form acts as Select a
Sources a trigger to run the data source. This list can include Alternate data Trigger
sources and Database data sources.
To select a trigger, click Select a Trigger, select the data source to
be run when the form is loaded, and click OK.
To remove a trigger, select the data source that the trigger runs, and
click .
To edit the properties of a data source acting as a trigger, double-
click the name of the data source.
Important! If the form acts as a trigger for more than
one data source and the order in which the data
sources are run relative to each other is important,
then you must configure priorities for these triggers.
For more information, see "Configure a Form to Run a
Data Source" on page 244.

Tip: For information about creating data sources or


configuring triggers by editing a data source, see
"Configuring Label Data Sources" on page 305 and
"Triggers in Design" on page 419.

Note: The Data Sources property is not displayed


when viewing Form properties within an application.

Loftware Spectrum 3.0.1 User Guide 287


Designing Labels

Property Description Options


Form A list of form rules and business rules for which the loading of this Select a
Rules form acts as a trigger to run each form rule 1 or business rule 2. Trigger
To select a trigger, click Select a Trigger and for Trigger Type
select whether to run a Form Rule or a Business Rule when the
form is loaded. If running a form rule, select the name of the form
rule. If running a business rule, select the business rule and enter an
event name that is specified by the business rule. Click OK.
To remove a trigger, select the rule that the trigger runs, and click
.
To edit the properties of a rule acting as a trigger, double-click the
name of the rule.
Important! If the form acts as a trigger for more than
one rule and the order in which the rules are run
relative to each other is important, then you must
configure priorities for these triggers. For more
information, see "Configure a Form to Run a Data
Source" on page 244.

Note: When viewing Form properties within an


application, only form rules that were created within
the application are displayed. Although not displayed,
form rules that were created in the form are run when
the form is used by an application. All rules
configured for a form at the application level are run
before rules configured for that form at the form level.

1An entry or a collection of entries that provides a form or an application with enhanced functionality. A form rule can add or change
data or print parameters, submit a print request, validate user credentials, open a label template, form, layout, image, reusable
object, or application in Design, open a URL in a web browser, or close an application. Form rules are similar to business rules, but
simpler to create. Form rules are created on the Design page and are specific to a particular application or form. Some form rules
are available only in applications.
2A collection of component sets or business rule components that can be used to incorporate logic or to add, change, or remove
data or print parameters after a print request is submitted but before printing occurs. Business rules are similar to form rules, but
provide more robust functionality. Business rules are created on the Process Design page and can be designed using the
Configurator or programmed using XML.

288 Loftware Spectrum 3.0.1 User Guide


Add a Column Rule

Stock Layouts

Although you can create your own layouts, the following stock layouts are provided in the
Document Templates\Stock Layouts folder in Spectrum. You can use a stock layout as is, or
if you are creating a custom layout you can use a stock layout as a starting point by opening the
stock layout in Design and clicking File > Save As.
Layout Stock Labels Labels
Label Size Notes
Name Size Across Down
4x4-2x2 4"4" 2"2" 2 labels 2 labels 4 labels per page.
4x4-3x3 4"4" 1"1" 3 labels 3 labels 9 labels per page.
8x11-1x2 8"11" 4-3/4"7- 1 label 2 labels 2 labels per page.
3/4" Compatible with Avery
#6876.
8x11-2x2 8"11" 3-3/4"4- 2 labels 2 labels 4 labels per page.
3/4" Compatible with Avery
#6878.
8x11-2x3 8"11" 3"3-3/4" 2 labels 3 labels 6 labels per page.
Compatible with Avery
#6874.
8x11-2x5 8"11" 2"4" 2 labels 5 labels 10 labels per page.
Compatible with Avery
#15563.
8x11-2x6 8"11" 1-1/4"3- 2 labels 6 labels 12 labels per page.
3/4" Compatible with Avery
#6879.
8x11-2x10 8"11" 1"4" 2 labels 10 labels 20 labels per page.
Compatible with Avery
#5161.
8x11-3x10 8"11" 1"2-5/8" 3 labels 10 labels 30 labels per page.
Compatible with Avery
#8860.
8x11-4x20 8"11" 0.5"1.75" 4 labels 20 labels 80 labels per page.
Compatible with Avery
#18167.

Loftware Spectrum 3.0.1 User Guide 289


Designing Labels

Building with Application Architect


Loftware Spectrum's Application Architect1 allows you to do the following:
lDesign complex, intelligent data entry form experiences for users in Design.
l Link individual forms together and provide a dynamic path through them that varies

based on data values or information entered by an end user.


l Link forms together to create a data set for use by a process .
2
l Perform complex validation of data in data entry forms.

You can use Application Architect to create custom front-end interfaces that empower end users
to make the decisions necessary to print what they need without deviating from a standard
procedure. For example, you could provide a flow of interactive forms that allows a Data
Provider 3 working in Print to select whether to print a kitting list, a production label, or a
shipping label, and then provide the information necessary to print the specified type of
document.
When using Application Architect, you create an application that connects individual forms by
using transitions. In an application, a trigger 4 can be used to run a form rule 5 or a business
rule 6. In a form, a trigger can also be used to run a data source. For data in a form, you can
manually enter a value, or you can use a data map entry 7.

1A framework that allows you to use Design to create custom applications that interface with Spectrum.
2An object in Spectrum that binds together all of the components to be used when responding to a print request. Among other
items, those components may include a label template, layout, device, and a business rule to be used when processing a print
request. Processes are created in the Process Design page.
3Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
4A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
5An entry or a collection of entries that provides a form or an application with enhanced functionality. A form rule can add or change
data or print parameters, submit a print request, validate user credentials, open a label template, form, layout, image, reusable
object, or application in Design, open a URL in a web browser, or close an application. Form rules are similar to business rules, but
simpler to create. Form rules are created on the Design page and are specific to a particular application or form. Some form rules
are available only in applications.
6A collection of component sets or business rule components that can be used to incorporate logic or to add, change, or remove
data or print parameters after a print request is submitted but before printing occurs. Business rules are similar to form rules, but
provide more robust functionality. Business rules are created on the Process Design page and can be designed using the
Configurator or programmed using XML.
7A name (key) and value pair in the data map for a job.

290 Loftware Spectrum 3.0.1 User Guide


Building with Application Architect

Loftware Spectrum 3.0.1 User Guide 291


Designing Labels

Create an Application
Loftware Spectrum's Application Architect1 allows you to design complex, intelligent data
entry form experiences for Data Providers2. You can link individual forms together and
configure transitions that guide users from one form to another in response to their input or
other conditions.
Before You Begin: You should create the forms, business rules, and processes
that you intend to use with an application before you create the application. For
more information, see "Create a Form" on page 94 and "Designing Business Rules
with the Configurator" on page 437.
To create a new application, use this procedure.

1. In Design, click File > New > Application or click the New Application button
in the toolbar.
2. In the Forms pane, click the form that you want to be displayed to a Data Provider 3
when the application is initially loaded in Print, and then drag and drop the form into the
application.
3. Drag and drop additional forms into the application.
Note: You should not add more than one instance of a specific form to the
application.
4. Click the application canvas4 to display the properties of the application.
5. In the Properties pane, review the selection for Start Form and ensure that it is the
form that should initially be displayed when the application is loaded.
Best Practice
Save your application immediately after creation.

1A framework that allows you to use Design to create custom applications that interface with Spectrum.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
3Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
4The background of an application on which you can add forms and transitions. Clicking the application canvas displays the
properties of the application.

292 Loftware Spectrum 3.0.1 User Guide


Building with Application Architect

Next Steps

If the application includes more than one form, you should create transitions to allow Data
Providers to navigate from one form to the next by performing an action. For more information,
see "Create a Transition Between Forms" on page 295.
If you want to cause a form rule or a business rule to run when an application or a particular form
is loaded, when a Data Provider performs an action, or when other circumstances occur, see
"Create a Trigger to Run a Rule" on page 297.

Loftware Spectrum 3.0.1 User Guide 293


Designing Labels

Save the Application

1. Click File > Save or click the Save button.


2. In the Save dialog box, click a folder in the left column and enter a Name.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Tip: You can add a new folder within the folder selected in the left pane by
clicking the Add Folder button.
3. Click OK.
Note: The first time you save an application to a version controlled folder, the
application is automatically checked out. When you are finished editing it, be sure
to click File > Check In to save and check in your version and make it available
for others to check out.

294 Loftware Spectrum 3.0.1 User Guide


Building with Application Architect

Create a Transition Between Forms


When you use Loftware Spectrum's Application Architect1 to design data entry form
experiences for end users, you can configure transitions that guide users from one form to
another in response to their input or other conditions.
Before You Begin: You should create the forms, business rules, and processes
that you intend to use with an application before you create the application. For
more information, see "Create a Form" on page 94 and "Designing Business Rules
with the Configurator" on page 437.
To configure a transition between forms in an application, use this procedure.
1. In Design, open an application.
2. To configure transitions between forms in the application, click Connect . The
Connect button changes color to indicate that you are in Connection Mode.
3. Click the current form from which the transition should begin, and then click the form
that the transition should lead to next.
4. In the Transition dialog box, select a control in the form to act as a trigger source and
select an event associated with that control. When the trigger event occurs to the trigger
source (for example, when a particular button is clicked), the application transitions from
the current form to the next form.
5. Optionally, you can further restrict whether the transition will occur by requiring that a
particular data map entry 2 have a specified value. To do so, select Enable Conditional
Trigger.
a. For Name, enter the name of a fully-qualified data map entry.
b. For Operator, specify whether the data map entry must be equal to, not equal to,
greater than, or less than a particular value, or whether it must be empty or not
empty.
c. If the data map entry is being compared to a specified value, for Value enter that
value.
6. Click OK. The transition is displayed in the list of Events in the Properties pane when
you click the form from which the transition begins.
7. Click File > Save or click the Save button to save the application.
If you want to cause a form rule or a business rule to run when an application or a particular form
is loaded, when a Data Provider performs an action, or when other circumstances occur, see
"Create a Trigger to Run a Rule" on page 297.

1A framework that allows you to use Design to create custom applications that interface with Spectrum.
2A name (key) and value pair in the data map for a job.

Loftware Spectrum 3.0.1 User Guide 295


Designing Labels

Create a Form Rule


You can create a form rule 1 for use in a form or an application. For information about types of
form rules, see "Form Rules Reference" on page 405.
Before You Begin: You should create the forms, business rules, and processes
that you intend to use with an application before you create the application. For
more information, see "Create a Form" on page 94 and "Designing Business Rules
with the Configurator" on page 437.
To create a form rule, use this procedure.
1. In Design, open an application.
2. In the left column, click the Form Rules title bar to expand the pane.
3. Click the type of form rule that you want to create.
4. Click .
5. Configure the form rule. For more information, see "Form Rules Reference" on page 405.
6. Click OK. The form rule is displayed in the Form Rules pane.
7. Click File > Save or click the Save button to save the application.
For information about how to configure an application to run a form rule or a business rule when
an application or a particular form is loaded, when a Data Provider 2 performs an action, or
when other circumstances occur, see "Create a Trigger to Run a Rule" on page 297.

1An entry or a collection of entries that provides a form or an application with enhanced functionality. A form rule can add or change
data or print parameters, submit a print request, validate user credentials, open a label template, form, layout, image, reusable
object, or application in Design, open a URL in a web browser, or close an application. Form rules are similar to business rules, but
simpler to create. Form rules are created on the Design page and are specific to a particular application or form. Some form rules
are available only in applications.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

296 Loftware Spectrum 3.0.1 User Guide


Building with Application Architect

Create a Trigger to Run a Rule


If you want a form rule 1 or a business rule 2 to run when a Data Provider 3 performs one of
the following actions in Print, you can configure a trigger 4 for the rule in the application.
Initially load an application
l

l Initially load a particular form

l Click or change a control in a form

l Commit text to a prompt in a form

Whenever the trigger event occurs, the form rule or business rule is run.
Tip: For more information about triggers, see "Triggers in Design" on page 419.

Before You Begin: You should create the forms, business rules, and processes
that you intend to use with an application before you create the application. For
more information, see "Create a Form" on page 94 and "Designing Business Rules
with the Configurator" on page 437.
To configure a trigger in an application to run a rule, use this procedure.
1. In Design, open an application.
2. Configure the rule to run either when the application is loaded, when a specific form is
loaded, or when a control in a form is clicked, changed, or used to commit text in a
prompt.
n If you want a rule to run when the application is initially loaded, click the
application canvas5, and then in the Triggers section click Select a Trigger.
n If you want a rule to run when a specific form is initially loaded, click the form,
and then in the Properties pane click Select a Trigger. In the Select a Trigger
dialog box, the form is selected as the Trigger Source by default.
n If you want a rule to run when a control in a form is clicked or changed or when
text is committed to a prompt, click the form, and then in the Properties pane
click Select a Trigger. In the Select a Trigger dialog box, for Trigger Source
select a control to associate with the trigger.

1An entry or a collection of entries that provides a form or an application with enhanced functionality. A form rule can add or change
data or print parameters, submit a print request, validate user credentials, open a label template, form, layout, image, reusable
object, or application in Design, open a URL in a web browser, or close an application. Form rules are similar to business rules, but
simpler to create. Form rules are created on the Design page and are specific to a particular application or form. Some form rules
are available only in applications.
2A collection of component sets or business rule components that can be used to incorporate logic or to add, change, or remove
data or print parameters after a print request is submitted but before printing occurs. Business rules are similar to form rules, but
provide more robust functionality. Business rules are created on the Process Design page and can be designed using the
Configurator or programmed using XML.
3Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
4A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
5The background of an application on which you can add forms and transitions. Clicking the application canvas displays the
properties of the application.

Loftware Spectrum 3.0.1 User Guide 297


Designing Labels

3. In the Select a Trigger dialog box, use the Trigger Type to specify whether you want
to run a form rule or a business rule.
n If you have selected Form Rule as the trigger type, select a form rule to be run
when the trigger event occurs.
n If you have selected Business Rule as the trigger type, click the browse button
and select a business rule to be run when the trigger event occurs. For Event
Name, enter the name of an event as specified in the XML of the business rule.
When the trigger event occurs, the business rule is run as if this event has
occurred.
4. Click OK.
n If the rule is configured to run when the application is loaded, then the trigger is
displayed in the Triggers list in the Properties pane if you click the application
canvas.
n If the rule is configured to run when a form is loaded, then the trigger is displayed
in the Triggers list in the Properties pane if you click the form.
n If the rule is configured to run when a control in a form is clicked, is changed, or
is used to commit text, then the trigger is displayed in the Triggers list in the
Properties pane if you click the form.
5. Click File > Save or click the Save button to save the application.

298 Loftware Spectrum 3.0.1 User Guide


Building with Application Architect

Application Properties
The following topics describe the properties of applications and forms when configuring an
application by using Loftware Spectrum's Application Architect1.
l "Application Properties" on page 300
l " Form Properties in an Application" on page 302

Note: For information about the properties of a form that are displayed when
editing a form, see "Form Properties" on page 284.

1A framework that allows you to use Design to create custom applications that interface with Spectrum.

Loftware Spectrum 3.0.1 User Guide 299


Designing Labels

Application Properties

The following are properties of an application created by using Loftware Spectrum's Application
Architect1.

Settings
Property Description Options
Start The form that is initially A list of forms that have been associated
Form displayed when the application with the application.
is run. Note: An application should
not include more than one
instance of a specific form.

Triggers
An event such as the clicking of a button or the submission of text input via a prompt can
serve as a trigger 2 to run a label data source, form rule, or business rule. The loading of a
form or an application can also serve as a trigger to run a rule.
When you configure an application, you can add or remove triggers that use the loading of
that application as a trigger source. Because triggers do not have names, in the Properties
pane for an application, a trigger is identified by the name of the rule for which the loading of
the application acts as a trigger.

1A framework that allows you to use Design to create custom applications that interface with Spectrum.
2A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.

300 Loftware Spectrum 3.0.1 User Guide


Building with Application Architect

Property Description Options


Form A list of form rules and business rules for which the loading of Select a
Rules this application acts as a trigger to run each form rule 1 or Trigger:
business rule 2. For information about configuring a trigger, Display a
see "Create a Trigger to Run a Rule" on page 297. dialog box
Important! If the application acts as a trigger for that allows
more than one rule and the order in which the you to create
rules are run relative to each other is important, a trigger.
then you must configure priorities for these : Remove
triggers. For more information, see "Triggers in the trigger
Design" on page 419. associated
with the
selected
rule.
Double-
click a
trigger:
Display a
dialog box
that allows
you to
configure
the selected
trigger.

1An entry or a collection of entries that provides a form or an application with enhanced functionality. A form rule can add or change
data or print parameters, submit a print request, validate user credentials, open a label template, form, layout, image, reusable
object, or application in Design, open a URL in a web browser, or close an application. Form rules are similar to business rules, but
simpler to create. Form rules are created on the Design page and are specific to a particular application or form. Some form rules
are available only in applications.
2A collection of component sets or business rule components that can be used to incorporate logic or to add, change, or remove
data or print parameters after a print request is submitted but before printing occurs. Business rules are similar to form rules, but
provide more robust functionality. Business rules are created on the Process Design page and can be designed using the
Configurator or programmed using XML.

Loftware Spectrum 3.0.1 User Guide 301


Designing Labels

Form Properties in an Application

The following are properties that describe an on-screen data entry form. Unlike the properties
for a complete label template, they include only the Form 1 properties, of which the Trigger
properties are a subset. The properties of a form can be displayed by clicking the Form canvas
when editing a form or by clicking the icon for a form in an application, and they can be
configured in the Properties pane.
The following are the properties of a form that are displayed when viewing a form within an
application.
Note: For information about the properties of a form that are displayed when
editing a form, see "Form Properties" on page 284.

Triggers
An event such as the clicking of a button or the submission of text input via a prompt can
serve as a trigger 2 to run a label data source, form rule, or business rule. The loading of a
form or an application can also serve as a trigger to run a rule.
When you configure a form, you can add or remove triggers that use the loading of that form
as a trigger source. Because triggers do not have names, in the Properties pane for a form, a
trigger is identified by the name of the rule for which the loading of the form acts as a trigger.

1The interface for data entry by a data provider. A form is a separate object in Spectrum, but it can be combined with a label
template so that the form serves as the Form view for the label template.
2A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.

302 Loftware Spectrum 3.0.1 User Guide


Building with Application Architect

Property Description Options


Form Rules A list of form rules and business rules for which the loading Select a
of this form acts as a trigger to run each form rule 1 or Trigger:
business rule 2. For information about configuring a trigger, Display a
see "Create a Trigger to Run a Rule" on page 297. dialog
Important! If the form acts as a trigger for box that
more than one rule and the order in which the allows
rules are run relative to each other is important, you to
then you must configure priorities for these create a
triggers. For more information, see "Triggers in trigger.
Design" on page 419. :
Delete
Note: When viewing Form properties within an the
application, only form rules that were created trigger
within the application are displayed. Although associated
not displayed, form rules that were created in with the
the form are run when the form is used by an selected
application. All rules configured for a form at rule.
the application level are run before rules Double-
configured for that form at the form level. click a
trigger:
Display a
dialog
box that
allows
you to
configure
the
selected
trigger.

1An entry or a collection of entries that provides a form or an application with enhanced functionality. A form rule can add or change
data or print parameters, submit a print request, validate user credentials, open a label template, form, layout, image, reusable
object, or application in Design, open a URL in a web browser, or close an application. Form rules are similar to business rules, but
simpler to create. Form rules are created on the Design page and are specific to a particular application or form. Some form rules
are available only in applications.
2A collection of component sets or business rule components that can be used to incorporate logic or to add, change, or remove
data or print parameters after a print request is submitted but before printing occurs. Business rules are similar to form rules, but
provide more robust functionality. Business rules are created on the Process Design page and can be designed using the
Configurator or programmed using XML.

Loftware Spectrum 3.0.1 User Guide 303


Designing Labels

Events
Property Description Options
Events A list of events that cause the application to transition from :
the selected form to another form if one of the events Connect
occurs. If the trigger event occurs to the control serving as a Mode is
trigger source, then the application transitions to the next disabled,
form. so you
Note: Only controls that exist in the form are cannot add
included in the list of available trigger sources. transitions.
Only events appropriate to the selected trigger Click to
source are included in the list of available enable
trigger events. Connect
Mode.
Tip: If is displayed in the toolbar, then :
you are in Connect Mode and you can add a Connect
transition by clicking the form from which a Mode is
transition should begin and then the form to enabled,
which the transition should lead. so you can
For more information, see "Create a Transition Between add
Forms" on page 295. transitions.
Click to
disable
Connect
Mode.
:
Delete the
selected
transition.
Double-
click a
transition:
Configure
the
selected
transition.

304 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Configuring Label Data Sources


In Spectrum, label data sources can be created independently of fields in the label template. This
allows multiple fields to be filled from the same label data source.
Spectrum supports the following types of label data sources:
Data Entry
The label data source provides data input by a user into a form when preparing to print a
label. A Data Entry data source is created when you drag a Prompt into the Form view. To
use the data provided, you can associate a Data Entry data source with a Variable Text,
Barcode, or Image field in the Label view, or incorporate it into a Formula data source.
Database
The label data source provides data from a row or rows of a database. A Database data source
is connected to a database via a data service in Spectrum.
Date/Time
The label data source provides the date and time on the SpectrumApplicationServer when
this label data source is processed.
Formula
The label data source provides the result of a mathematical operation or physical operation
(copy, combine, trim) on data from other label data sources, data service parameters, or static
values using mathematical and logical operations and functions. You can use Formula data
sources to do the following:
l Perform mathematical operations
l Copy data from one field to another
l Combine data from multiple fields
l Manipulate string data
l Combine the results other Formula data sources
Increment/Decrement (Inc/Dec)
The label data source provides the value of a counter that is increased or decreased for each
printed label in a print run. The starting value for each print run is entered by the user at print
time or is configured as part of the label data source.
Alternate
The label data source provides data from a file external to Spectrum. An Alternate data source
is connected to a file via a File data service or an HTTP data service in Spectrum.
Script
The label data source provides the result of a mathematical operation or physical
manipulation (copy, combine, trim) of other label data or metadata using JavaScript.

Loftware Spectrum 3.0.1 User Guide 305


Designing Labels

About Data Refs


All variable fields have a Data Ref property. Data Refs link the source of data to fields in the
label template.
Important: Data Refs are not dynamic. If a data source name changes, the
associated Data Refs are not updated.

306 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Create a Data Entry Data Source


Data Entry data sources are automatically generated when you create a Prompt field. You cannot
manually create a Data Entry data source.
To create a Prompt field and a Data Entry data source, use this procedure.
1. Drag a Prompt from the Library to the Form view.
2. Click the Properties pane, and enter a Field Name by which to identify the Prompt
field and the Data Entry data source.
Note: The name of a label data source can include letters and numbers.
Additionally, the following characters are permitted but cannot begin or end
the name: hyphens, underscores, and periods.
3. For Prompt, enter the text to display to the user who acts as a Data Provider 1.
4. Expand the Data Sources pane, and expand Data Entry to display the list of Data Entry
data sources that you can use as data refs in other fields or in Formula data sources.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 307


Designing Labels

Associate a Data Entry Data Source with Variable Text Field

To use the data provided via a Data Entry data source, you can use that Data Entry data source
as a data ref in another field such as a Variable Text, Barcode, or Image field, or you can use it as
a data ref in a Formula data source.
To associate a Data Entry data source with a Variable Text field, use the following procedure.
1. Drag Variable Text from the Library to the Label view to create a Variable Text
field.
2. Expand the Data Sources pane, and expand the list of Data Entry data sources.
3. Drag a Data Entry data source to the Variable Text field. A green plus icon
appears when your pointer is over a field that can accept the data source. Alternatively,
you can enter the name of the Data Entry data source as the Data Ref property of a
Variable Text field. When the label is printed, that Variable Text field will display the data
received from the Data Entry data source.

308 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Create a Database Data Source


To create a Database data source, a Document Designer 1 should use this procedure.
Before You Begin: A Data Service Administrator 2 must create the data service
with which you intend to associate the Database data source. (If you are a Data
Service Administrator, see " Configure a JDBC Data Service" on page 990 for more
information.)
1. In Design, open an existing label template or create a new label template.
2. Expand the Data Sources pane.
3. Click Database, and click . The Database Data Source dialog box is displayed.
4. In the General Data box, enter a Data source name by which to refer to this label data
source.
Note: The name of a label data source can include letters and numbers.
Additionally, the following characters are permitted but cannot begin or end
the name: hyphens, underscores, and periods.
5. In the Data Service box, select the data service to use, and then click Next.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.

Loftware Spectrum 3.0.1 User Guide 309


Designing Labels

6. Edit the data service configuration. Depending on how the data service is configured, you
may be able to edit some of the configuration information or data service parameters that
were provided by the Data Service Administrator.
a. If text boxes are displayed, you can enter either static values or data refs using the
format ${<DataRef>}. After you begin typing in the field, a message may be
displayed about the type of data required until you finish entering a value or data
ref. For information about default parameters, see " Configuration Parameters for
JDBC Data Services" on page 1020.
b. If a Result Map is displayed, you can configure which columns are displayed to a
Data Provider 1. For more information, see " Configuration Parameters for JDBC
Data Services" on page 1020.
c. For Auto Select Single Row, specify how the data service should respond if only
a single row is returned by the SQL Query.
n If this option is selected, the Data Source Results dialog box is not
displayed and the data from the row is inserted into the form automatically.
n If this option is not selected, the Data Source Results dialog box is
displayed and the Data Provider must manually click the row to select it.
Note: If you select this option, it is recommended that you
include at least one Prompt field in the Form that is
populated by the results to provide confirmation to the Data
Provider that the query was executed.
d. When you have finished configuring the data service parameters, click Next.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

310 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

7. If the label template must support on-demand printing, click Add Trigger and configure
at least one trigger 1 that a Data Provider 2 can use to run the SQL Query on the
database. Repeat for additional triggers if needed.
Tip: If you have not yet created the field that should serve as the Trigger
Source 3, you can skip this step and select the trigger when you create the
field.
nTo query the data source when a button is clicked, for Trigger Source select the
name of a Button field and for Trigger Event select onClick.
n To query the data source after submitting data at a prompt, for Trigger Source
select the name of a Prompt field and for Trigger Event select onCommit.
n To query the data source when the form is loaded, for Trigger Source select
/Body and for Trigger Event select onLoad.
8. If the label template must support both on-demand printing and integrations, click Add
Trigger again.
Note: If the label template is not required to support on-demand printing,
then no trigger is needed.
a. For Trigger Source, select Do Not Run.
b. For Trigger Event, select Enqueue.
c. For Trigger Key, enter the name of a data map entry 4 that will manage whether
the data source should be run. It is recommended that this data map entry not be
used for any other purpose. The value of this data map entry does not affect how
it functions as a trigger key.
n When the trigger key exists in the datamap, the data source will not run.
This is appropriate when using the label template with an integration. This
is also appropriate if you need to prevent the data source from running in
some situations when using on-demand printing.
n When the trigger key does not exist in the datamap, the data source is run.
This is appropriate when using the label template for on-demand printing.
Important! For a File Drop integration, if the data map entry
specified for Trigger Key does not exist in the drop file, then the
data source is queried and the first row of data is automatically
returned. This occurs regardless of whether Auto Select First Row
and Auto Select Single Row Result are selected.

1A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
3A field that is used in conjunction with a trigger event to interactively run a data source, form rule, or business rule. For example, a
button that runs a query when clicked, a prompt that runs a query when submitted, or a form that runs a query when loaded.
4A name (key) and value pair in the data map for a job.

Loftware Spectrum 3.0.1 User Guide 311


Designing Labels

9. Assigning values for Trigger Priority 1 is necessary only if more than one data source in a
label template includes a trigger with the same trigger source, trigger event, and trigger
key (if any). In that situation, you can assign different values for Trigger Priority for
these otherwise identical triggers, and the data source with the lower value for Trigger
Priority is run first.
10. Click OK.
In the Data Sources pane, the Database section now lists the Database data source that you
created. Expand the Database data source to display the names of columns from the database
that you can use as data sources. You can drag a column data source onto a field in the Label
view such as a Variable Text or Barcode field to assign the data source as the data ref for that
field, or you can enter a data ref manually. You can create a formula and select the data refs for
the database columns for use in the formula.
Note: The format by which to refer to a database column data source is
/<DatabaseDataSourceName>/<ColumnName>.

Important! If you have not yet created at least one trigger for the data source, you
can do so by using the Triggers section in the Properties pane when you
configure a control, a form, or the Form view of a label template that will serve as
the Trigger Source 2. For more information, see "Adding Controls" on page 153,
"Label Template Properties" on page 273, or "Form Properties" on page 284.

1The order in which data sources, form rules, or business rules that have otherwise identical triggers are run. Trigger values are
compared only if the triggers have the same trigger source, trigger event, and trigger key (if any). The type of data source is
irrelevant. Among data sources, form rules, or business rules with otherwise identical triggers, the data source with the lowest
value for trigger priority is run first.
2A field that is used in conjunction with a trigger event to interactively run a data source, form rule, or business rule. For example, a
button that runs a query when clicked, a prompt that runs a query when submitted, or a form that runs a query when loaded.

312 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Create a Date/Time Data Source


To create a Date/Time data source, a Document Designer 1 can use this procedure.
1. In Design, open an existing label template or create a new label template.
2. Expand the Data Sources pane.
3. Click DateTime, and click . The Date/Time Data Source dialog box is displayed.
4. For Data Source Name, enter a name for the label data source.
Note: The name of a label data source can include letters and numbers.
Additionally, the following characters are permitted but cannot begin or end
the name: hyphens, underscores, and periods.
5. Select a Format.
6. Click OK.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

Loftware Spectrum 3.0.1 User Guide 313


Designing Labels

Create a Formula Data Source

314 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Create and Verify a Formula Data Source

To create a Formula data source, a Document Designer 1 can use the following procedure.
1. In Design, open an existing label template or create a new label template.
2. Expand the Data Sources pane.
3. Click Formula, and click . The Formula Data Source dialog box is displayed.
4. For Data Source Name, enter a name for the label data source.
Note: The name of a label data source can include letters and numbers.
Additionally, the following characters are permitted but cannot begin or end
the name: hyphens, underscores, and periods.
5. Create the formula in the Formula section using the available "Formula Data Source
Operations and Functions" on page 394.
Verify the Formula Syntax

Click Verify Formula to check the syntax of your formula. The results of the check appear in
the Verify Results field.
Note: The Verify Formula function only checks the syntax of your formula. It
does not check the validity of references or data.

Clear the Formula

Click the Clear Formula button to remove the text from the Formula field.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

Loftware Spectrum 3.0.1 User Guide 315


Designing Labels

Use a Formula with a Variable Text or Barcode Field

You can create a Formula data source to manipulate data obtained via a Prompt in the Form view
and then display the result of the formula in a Variable Text field or a Barcode field in the Label
view. When creating the Formula data source, you select the Data Entry data source associated
with the Prompt as a data ref that you incorporate into the formula. After you have created the
Formula data source, you drag it onto the Variable Text field or Barcode field so that the
Formula data source serves as the data ref for that field. You can use the same Formula data
source as the data ref for multiple fields, such as a barcode and human readable text.
Best Practice

Giving your fields meaningful names makes it easier to work with formulas.

316 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Create an Inc/Dec Data Source


To create an Inc/Dec data source, a Document Designer 1 can use the following procedure.
1. In Design, open an existing label template or create a new label template.
2. Expand the Data Sources pane.
3. Click IncDec, and click . The Inc/Dec Data Source dialog box is displayed.
4. Enter a name for the label data source in the Data Source Name property.
Note: The name of a label data source can include letters and numbers.
Additionally, the following characters are permitted but cannot begin or end
the name: hyphens, underscores, and periods.
5. Define the label data source in the Definitions section.
a. Select Increment or Decrement in the Type property.
b. Select a Mode. For more information, see "Inc/Dec Data Source Properties" on
page 402.
c. Enter a value by which to increment or decrement the count in the By Value
property.
6. Enter behavior information for the label data source in the Parameters section.
a. Select Fixed Start or From Data Source in the Start property.
b. Enter a Minimum Value and Maximum Value.
Note: To optimize performance, ensure that the Minimum Value
and Maximum Value include the same number of digits. The
Minimum Value can be padded with leading zeros.
c. Enter a Minimum Length and Maximum Length.
Important! If the label data source is populated from a Prompt, you
should ensure that the Max Length property of the label data
source and the Max Chars property of the Prompt contain the same
value. The Max Chars property is automatically calculated based on
the Chars Per Line and # Lines properties.
d. Select Reset Count or Update Count in the After Print property.
7. Add the data source to a field. For more information, see "Add a Data Source to a Field"
on page 128.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

Loftware Spectrum 3.0.1 User Guide 317


Designing Labels

Create an Alternate Data Source


To create an Alternate data source so that you can incorporate data from a file external to
Spectrum into a label, a Document Designer 1 can use this procedure.
Before You Begin: A Data Service Administrator 2 must create the File data
service or HTTP data service with which you intend to associate the Alternate data
source. (If you are a Data Service Administrator, see " Managing Data Services" on
page 979 for more information.)
1. In Design, open an existing label template or create a new label template.
2. Expand the Data Sources pane.
3. Click Alternate, and click . The Alternate Data Source dialog box is displayed.
4. In the General Data box, enter a Data source name by which to refer to this label data
source.
Note: The name of a label data source can include letters and numbers.
Additionally, the following characters are permitted but cannot begin or end
the name: hyphens, underscores, and periods.
5. In the Data Service box, select the data service to use, and then click Next.
6. Edit the data service configuration. Depending on how the data service is configured, you
may be able to edit some of the configuration information or data service parameters that
were provided by the Data Service Administrator.
a. If text boxes are displayed, you can enter either static values or data refs using the
format ${<DataRef>}. After you begin typing in the field, a message may be
displayed about the type of data required until you finish entering a value or data
ref. For information about parameters, see " Configuration Parameters for File
Data Services" on page 1028 or " Configuration Parameters for HTTP Data
Services" on page 1032.
b. When you have finished configuring the data service parameters, click Next.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.

318 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

7. If the label template must support on-demand printing, click Add Trigger and configure
at least one trigger 1 that a Data Provider 2 can use to run the data source. Repeat for
additional triggers if needed.
Tip: If you have not yet created the field that should serve as the Trigger
Source 3, you can skip this step and select the trigger when you create the
field.
nTo run the data source when a button is clicked, for Trigger Source select the
name of a Button field and for Trigger Event select onClick.
n To run the data source after submitting data at a prompt, for Trigger Source
select the name of a Prompt field and for Trigger Event select onCommit.
n To run the data source when the form is loaded, for Trigger Source select
/Body and for Trigger Event select onLoad.
8. If the label template must support both on-demand printing and integrations, click Add
Trigger again.
Note: If the label template is not required to support on-demand printing,
then no trigger is needed.
a. For Trigger Source, select Do Not Run.
b. For Trigger Event, select Enqueue.
c. For Trigger Key, enter the name of a data map entry 4 that will manage whether
the data source should be run. It is recommended that this data map entry not be
used for any other purpose. The value of this data map entry does not affect how
it functions as a trigger key.
n When the trigger key exists in the datamap, the data source will not run.
This is appropriate when using the label template with an integration. This
is also appropriate if you need to prevent the data source from running in
some situations when using on-demand printing.
n When the trigger key does not exist in the datamap, the data source is run.
This is appropriate when using the label template for on-demand printing.
Important! For a File Drop integration, if the data map entry
specified for Trigger Key does not exist in the drop file, then the
data source is queried and the first row of data is automatically
returned. This occurs regardless of whether Auto Select First Row
and Auto Select Single Row Result are selected.

1A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
3A field that is used in conjunction with a trigger event to interactively run a data source, form rule, or business rule. For example, a
button that runs a query when clicked, a prompt that runs a query when submitted, or a form that runs a query when loaded.
4A name (key) and value pair in the data map for a job.

Loftware Spectrum 3.0.1 User Guide 319


Designing Labels

9.
Assigning values for Trigger Priority 1 is necessary only if more than one data source in a
label template includes a trigger with the same trigger source, trigger event, and trigger
key (if any). In that situation, you can assign different values for Trigger Priority for
these otherwise identical triggers, and the data source with the lower value for Trigger
Priority is run first.
10. Click OK.
In the Data Sources pane, the Alternate section now lists the Alternate data source that you
created. You can drag an Alternate data source onto a field in the Label view such as a Variable
Text field to assign the data source as the data ref for that field, or you can enter a data ref
manually. You can create a formula and select the data refs for the Alternate data source for use
in the formula.
Important! If you have not yet created at least one trigger for the data source, you
can do so by using the Triggers section in the Properties pane when you
configure a control, a form, or the Form view of a label template that will serve as
the Trigger Source 2. For more information, see "Adding Controls" on page 153,
"Label Template Properties" on page 273, or "Form Properties" on page 284.

1The order in which data sources, form rules, or business rules that have otherwise identical triggers are run. Trigger values are
compared only if the triggers have the same trigger source, trigger event, and trigger key (if any). The type of data source is
irrelevant. Among data sources, form rules, or business rules with otherwise identical triggers, the data source with the lowest
value for trigger priority is run first.
2A field that is used in conjunction with a trigger event to interactively run a data source, form rule, or business rule. For example, a
button that runs a query when clicked, a prompt that runs a query when submitted, or a form that runs a query when loaded.

320 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Creating Script Data Sources


By using a Script data source, you can specify the data value or alter the visual properties of a
field based on the result of a JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine for Script data sources. Rhino is an open
source JavaScript engine maintained by the Mozilla Corporation. It enables you to parse,
compile, and execute JavaScript statements, and it supports JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later conform to the ECMAScript-262
specification (Standard ECMA-262).

Using Scripts
A Script data source can be used to provide data for Variable Text, Text Box, Barcode, and
Variable Image fields.
Field Properties
You can change a field's characteristics such as font type, boldness, size, rotation, and visibility
based upon data included in the data stream, database fields on the label, or other data sources.
Example

A script can cause the font size of a field to change based on the number of
characters supplied for the field.
Math and Logic
A script can be used to perform if-then-else, mathematical, and Boolean logic on data elements
included in the data stream, database fields on the label, or other data sources.
Formula Functions
Use fields, operations, and functions also supported by the Formula data source.
Note: While the JavaScript environment provides some functionality similar to the
Formula data source, the syntax is different.

Considerations
l Because the value of a scripted field can depend on the values of other fields on the label,
you must first resolve the values of the script's dependencies.
l While Design allows different units of measure, Script data sources only support field
positions configured in inches.
l As a safeguard to protect against infinite looping, a script that has not finished running
after 10 seconds is terminated.
l Business rules can be used to perform the same tasks as Script data sources. Also, you
can incorporate scripts into business rules. For more information, see "Implementing
Business Logic" on page 1181.

Loftware Spectrum 3.0.1 User Guide 321


Designing Labels

Built-in Variables
A script includes contains the following standard variables.
l FORMAT: The label template containing all the fields that can be added to a canvas in
Design.
l MAP: The datamap, a repository for all data for use when responding to a print request.
l LOG: A class for logging information to the server log file.
Names to Avoid
There are a few functions and methods that are provided by default in scripts. Therefore, when
creating a script, these names should not be defined in the script.
l FORMAT
l MAP
l LOG
l context (A scripting engine object for internal use.)
l getField

Built-in Helper Method


There is a built-in method available to users for accessing components.
l getField("/Body/Text0001"): This method returns the field with the specified fully-
qualified name.
Note: Take care when creating local functions, methods, and variables. If a local
method, function, or variable is created with the same name as the built-in
function, then the function will be overloaded with the local setting.

Built-in Classes
The following classes are provided to all scripts. These classes allow you to manipulate the label
template fields and the data map entries, as well as to log information to the main Spectrum log
file.
l FORMAT
l MAP
l LOG

Accessing and Modifying Data


To specify or change the value or properties of a label template field, you must be able to access
the field. The structure of a label template has a few parts, and each part controls certain aspects
of the field. Each part has a number of methods that can be called on to access information.
FORMAT
The top-level label template object that contains all the fields for the label template.
l Field: An area holds several fields that describe the text, barcode, shapes, and image
objects that are displayed on the label.

322 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

l FieldFormat: The standard field has a single format object that defines the location and
other details of the field on the label. A barcode field can have two formats, one for the
barcode and one for the human readable text.
MAP
The datamap is a repository for all data for use when responding to a print request. Each data
map entry is composed of a name (key) and a value. The datamap is referenced and
updated by all data sources. The datamap is then provided to the script for additional
modification.
The data in the datamap can be provided to the script in two ways.
l Method 1: A variable is added to the script and converted when the script is run. This
method provides the data as read only, and the method is resolved before the script runs.
This is the same method used with the Formula data source.
l Method 2: Retrieve the data from the datamap during the runtime of the script. The
datamap is able to be read and be written to at runtime, so you can change, add, or
remove any data map entry in the datamap.
LOG
The LOG variable is used to log messages to the Spectrum log. By default, the Spectrum log is
located in <SPECTRUM_HOME>\product\logs. This log is managed by using the same
mechanisms that are used for all logging on the SpectrumApplicationServer. The tag for the
logger is scriptLogger.

Loftware Spectrum 3.0.1 User Guide 323


Designing Labels

Script Example
LOG.debug("found key for value 1");
LOG.error(" an error occurred");
LOG.info("applying value");
LOG.warn(" an unexpected value was detected.");

324 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Create a Script Data Source

To create a Script data source, a Document Designer 1 can use the following procedure.
1. In Design, open an existing label template or create a new label template.
2. Expand the Data Sources pane.
3. Click Script, and click . The Script Data Source dialog box is displayed.
4. Enter a name for the label data source in the Data Source Name field.
Note: The name of a label data source can include letters and numbers.
Additionally, the following characters are permitted but cannot begin or end
the name: hyphens, underscores, and periods.
5. Enter or paste your script in the Script field.
Enter Fields, Data References, and Database Columns
Use the Fields, Data Ref List, and Database Columns to enter fields and data references in a
script. Using these fields enters each reference with the proper syntax.
Verify the Script
To check the syntax of your script, click Verify Script.
If the syntax is correct, the Verify Results field displays Script verification completed
successfully.
If there are errors in the syntax, the Verify Results field displays the first error encountered.
For example, "Line 2: ReferenceError: x is not defined."
Clear the Script
To remove the current script from the Script field so that you can enter a different script, click
Clear Script.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

Loftware Spectrum 3.0.1 User Guide 325


Designing Labels

Script Reference

There are script methods for accessing and managing label templates, fields, and datamap.
l "Script Methods for Label Templates (Formats)" on page 326
l "Script Methods for Fields" on page 327
l "Script Methods for Field Formats" on page 329
l "Script Methods for Shapes" on page 333
l "Script Methods for Images" on page 334
l "Script Methods for Text Fields" on page 335
l "Script Methods for Character-Level Formatting" on page 337
l "Script Methods for Barcodes" on page 347
l "Script Methods for Accessing the DataMap at Runtime" on page 343
Script Methods for Label Templates (Formats)

The following table describes the methods provided for label templates (formats).
Method Value Description
findField(String) Field Retrieve a field by using its fully-qualified name.
object Example
var field = FORMAT.findField
("/Body/Text0001");
field.setVisible=false;
findFields(String) A list Find a list of fields by using a set of criteria.
of field Operation Description
objects && Logical AND
|| Logical OR
!= Not equal
== Equal
~= Equal, ignoring case
Example
var fields = FORMAT.findFields
(type=='text');
var count = fields.size;

Example Criteria
(name=='t1' || type=='label') &&
visible!='false')

326 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Method Value Description


getCategoryValue String Retrieve the value of a tag that is applied to an application, business
(String, String) rule, data service, device group, facility, form, image, integration,
label template, layout, process, remote site, reusable object, user, or
workflow template.
The first argument is the full path of the object to which the tag is
assigned.
The second argument is the name of the tag category.
Note: This method returns the value of a tag, not the
name of the tag category.
Example
var tagValue =
DOCUMENTLOADER.getCategoryValue
("/Company/LabelTemplates/Label0001", "Life
Cycle");

Script Methods for Fields

The following are the basic methods provided for all fields. Each type of field may have
additional methods provided.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set or move configure a
value for the property.

Method Value Description


getName() String The name of the area. "Body" is the main area.
Example
var name = Field.getName();
getType() String The type of the field.
Example
var type = Field.getType();
getDataRef() String The alias of the field. This is not the fully qualified key.
setDataRef(String) Examples
var alias = Field.getDataRef();
Field.setDataRef("/myref");

Loftware Spectrum 3.0.1 User Guide 327


Designing Labels

Method Value Description


getFullyQualifiedKey String The fully qualified key for the field.
() Namespace Name Data Ref Value
body nm -- /body/nm
body nm dr /body/dr
body nm /dr /dr
Example
var fqn = getFullyQualifiedKey();
isVisible() boolean Whether the field is visible.
setVisible(boolean) Example
var visible = Field.isVisible();
Field.setVisible(true);
getFormatProxy() Field The field format object from the field.
format Example
object var format = Field.getFormatProxy();
getDefaultData() String The value of the default data.
setDefaultData Examples
(String) var default = Field.getDefaultData();
Field.setDefaultData("newvalue");
getPrintingValue String The value that will be used at print time for this field. The map
(MAP) must be passed to the method because the value may come
from the map.
Example
var value = Field.getPrintingValue(MAP);
getData() String The value of the current static data for the field. By default, the
setData(String) return value is null.
setData() overrides the default data and the MAP values and
sets the isDataSet flag to true.
Examples
Field.setData("myvalue");
Field.getData();
clearData() Clear the static data from the field and reset the isDataSet flag
to false.
Example
clearData();

328 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Method Value Description


isDataSet() boolean Whether the data has been statically set on the field.
Example
var set = Field.isDataSet();

Script Methods for Field Formats

The following are basic methods provided for all field formats. Some field formats may have
additional methods.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set or move configure a
value for the property.
Method Value Description
getFormatType() String The type of the format.
Example
var type = fieldFormat.getFormatType
();
getTop() Int in The location of the top coordinate in 1/1000 of an inch at
1/1000 0 degrees rotation.
inch Example
var top = fieldFormat.getTop();

Note: To change this location and move the


object, use a method with a name beginning
with move.
getBottom() Int in The location of the bottom coordinate in 1/1000 of an inch
1/1000 at 0 degrees rotation.
inch Example
var bottom = fieldFormat.getBottom();

Note: To change this location and move the


object, use a method with a name beginning
with move.

Loftware Spectrum 3.0.1 User Guide 329


Designing Labels

Method Value Description


getLeft() Int in The location of the left coordinate in 1/1000 of an inch at
1/1000 0 degrees rotation.
inch Example
var left = fieldFormat.getLeft();

Note: To change this location and move the


object, use a method with a name beginning
with move.
getRight() Int in The location of the right coordinate in 1/1000 of an inch at
1/1000 0 degrees rotation.
inch Example
var right = fieldFormat.getRight();

Note: To change this location and move the


object, use a method with a name beginning
with move.
getHeight() Int in The height in 1/1000 of an inch.
1/1000 Example
inch var height = fieldFormat.getHeight();
getWidth() Int in The width in 1/1000 of an inch.
1/1000 Example
inch var width = fieldFormat.getWidth();
getRotation() Int The rotation in single degree increments from 0 to 359.
setRotation() degrees Example
var rotation =
fieldFormat.getRotation();
fieldFormat.setRotation(90);
getRotatedTop() Int The top coordinate at the rotated angle. This point may not
1/1000 reside on the object if the angle is something other than 0,
inch 90, 180, or 270 degrees.
getRotatedLeft() Int The left coordinate at the rotated angle. This point may not
1/1000 reside on the object if the angle is something other than 0,
inch 90, 180, or 270 degrees.
getCenterX() Int The horizontal center of the object.
1/1000
inch

330 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Method Value Description


getCenterY() Int The vertical center of the object.
1/1000
inch
isVisible() boolean Whether the field format is visible.
setVisible(boolean) Example
var visible = fieldFormat.isVisible
();
fieldFormat.setVisible(true);
isFlipHorizontal() boolean Whether the format is flipped horizontally.
setFlipHorizontal() Example
var flipped =
fieldFormat.isFlipHorizontal();
fieldFormat.setFlipHorizontal();
getForegroundColor () Color The color object for the foreground color. This object
object cannot be replaced, but can be modified.
Example
var color = Field.getForegroundColor
();
getBackgroundColor () Color The color object for the background color. This object
object cannot be replaced, but can be modified.
Example
var color = Field.getBackgroundColor
();
getFormatter() Formatter The formatter object. This object cannot be replaced, but
object can be modified.
Example
var fmt = fieldFormat.getFormatter();

Loftware Spectrum 3.0.1 User Guide 331


Designing Labels

Method Value Description


moveFromTopLeft Reposition the object based on the top and left coordinates.
(top,left) The rotation passed in is the final rotation expected for the
object.
Units are in 1/1000 of an inch.
Example
Field.moveFromTopLeft(200,300);

Note: For barcodes this moves the barcode


and human readable text together. Use field
format move if each should move
independently.
moveFromCenter Reposition the object based on the center coordinates.
(centerx,centery) The rotation passed in is the final rotation expected for the
object.
Units are in 1/1000 of an inch.
Example
Field.moveFromCenter(200,300);
moveGroupFromCenter Reposition a barcode and human readable text object based
(centerx,centery) on the center coordinates.
The rotation is based on the rotation of the barcode only.
The human readable text rotation is changed relative to this
rotation.
Example
Field.moveGroupFromCenter(3000,3000);

Note: For barcodes this moves the barcode


and human readable text together. Use field
format move if each should move
independently.
moveFromCenter Reposition the field based on the center coordinates. The
(centerx,centery,rotation) rotation passed in is the final rotation expected for the
object.
Units are in 1/1000 of an inch.
Example
Field.moveFromCenter(200,300,0);

332 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Method Value Description


moveGroupFromCenter Reposition a barcode and human readable text object based
(centerx,centery,rotation) on the center coordinates.
The rotation is based on the rotation of the barcode only.
The human readable text rotation is changed relative to this
rotation.
Example
Field.moveGroupFromCenter(3000,
3000,90);

Note: For barcodes this moves the barcode


and human readable text together. Use field
format move if each should move
independently.

Script Methods for Shapes


Box Field
Method Return value Description Example
getType() or type "box" The type of field var type = Box.type;
Box FieldFormat
Return
Method Description Example
value
getFormatType() or "boxFormat" The type of field var type = Box.type;
formatType
getThickness() or 1/1000 inch Retrieves the thickness of var t = Box.thickness;
thickness the line
setThickness(int) or n/a Sets the thickness of the Box.thickness = 500;
thickness line in 1/1000 th of an
inch increments.
isApplyBackgroundColor Boolean Retrieves the value var bc =
() specifying whether the box.applyBackgroundColor;
or applyBackgroundColor background color is
applied or not.
setApplyBackgroundColor n/a Sets whether the Box.applyBackgroundColor
(boolean) background color should = true;
or applyBackgroundColor be applied or not.
Line Field
Method Return value Description Example
getType() or type "line" The type of field var type = Line.type;
Line FieldFormat

Loftware Spectrum 3.0.1 User Guide 333


Designing Labels

Return
Method Description Example
value
getFormatType() or "lineFormat" The type of field var type =
formatType line.type;
getThickness() or 1/1000 inch Retrieves the thickness of the line var t =
thickness line.thickness ;
setThickness(int) or n/a Sets the thickness of the line in 1/1000 of line.thickness
thickness an inch increments. = 500;
Circle Field
Method Return value Description Example
getType() or type "circle" The type of field var type = Circle.type;
Circle FieldFormat
Method Return value Description Example
getFormatType() or "circleFormat" The type of field var type = circle.type;
formatType
getThickness() or 1/1000 inch Retrieves the var t = circle.thickness ;
thickness thickness of the line
setThickness(int) or n/a Sets the thickness of circle.thickness = 500;
thickness the line in 1/1000 of
an inch increments.
isApplyBackgroundColor Boolean Retrieves the value var bc =
() specifying whether circle.applyBackgroundColor;
or applyBackgroundColor the background color
is applied or not.
setApplyBackgroundColor n/a Sets whether the circle.applyBackgroundColor
(boolean) background color = true;
or applyBackgroundColor should be applied or
not.
Script Methods for Images
Image Field
Return
Method Description Example
value
getType() or type "image" The type of the field var type = Image.type;
isMaintainAspectRatio() Boolean Retrieves the value for var ar =
or maintainAspectRatio specifying whether the image Image.maintainAspectRatio;
should maintain the aspect ratio
setMaintainAspectRatio none Sets whether to maintain aspect Image.maintainAspectRatio
(boolean) ratio or not. = false;

334 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Script Methods for Text Fields

The following tables describe methods provided for text fields.


Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set or move configure a
value for the property.
Fixed Text Fields
Method Value Description
getType() "text" The type of field.
getPadding() String The padding style. Accepted values are:
setPadding(String) n Leading zeros
n Leading spaces
n Trailing spaces
n Center with spaces
Variable Text Fields
Method Value Description
getType() "text" The type of field.
getMaxLength() int The max number of characters.
setMaxLength(int)
getPadding() String The padding style. Accepted values are:
setPadding(String) n Leading zeros
n Leading spaces
n Trailing spaces
n Center with spaces
Text Format
Method Value Description
getFormatType() "textFormat" The type of format.
getLines() int The number of lines supported by the format.
setLines(int)
getLinespacing() float The spacing between lines.
setLinespacing(float)
getJustify() String The justification for the line.
setJustify(String) Acceptable values are:
n left
n right
n center
getCharsPerLine() int The number of characters allowed per line.
setCharsPerLine(int)
getFont() Font object The font object.
See the following "Font" section.
Font

Loftware Spectrum 3.0.1 User Guide 335


Designing Labels

Method Value Description


getName() String The name of the font.
setName(String)
getCategory() String The name of the font category.
Note: This method is not related to
tag categories.
getBold() Boolean Whether the font is bold.
setBold(Boolean)
isItalic() Boolean Whether the font is italicized.
setItalic(boolean)
isInverse() Boolean Whether the font is inverse.
setInverse(boolean)
isStrikeout() Boolean Whether the strikeout effect is applied to the font.
setStrikeout(boolean)
isUnderline() Boolean Whether the font is underlined.
setUnderline(boolean)
getPointSize() Int The point size of the font.
setPointSize(int)
getScaleHeight() float The font height percentage divided by 100.
getScaleWidth() float The font width percentage divided by 100.
DotFont
Method Value Description
getXmagnification Int The magnification factor (1 to 10).
setXmagnification(int)
getYmagnification Int The magnification factor (1 to 10).
setYmagnification(int)
FlexiFont
Method Value Description
getCharHeight() float The character height in thousandths of an inch (mils).
setCharHeight(float)
getCharWidth() float The character width in thousandths of an inch (mils).
setCharWidth(float)
TrueTypeFont
Method Value Description
getCharHeight() float The character height in thousandths of an inch (mils).
setCharHeight(float)

336 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Method Value Description


getCharWidth() float The character width in thousandths of an inch (mils).
setCharWidth(float)
Script Methods for Character-Level Formatting

The following methods are provided for performing character-level formatting in fixed text and
variable text fields when using Script data sources. These methods are not supported in business
rules.
Note: Character-level formatting is supported for TrueType fonts only. Also,
you cannot use a Character-Level format source to format the human readable text
associated with a barcode or to format fields in the data entry form of a label
template.

Tip: You can use a Character-Level format source to configure character-level


formatting instead. Script data sources override Character-Level format sources and
field-level formatting that is configured in the Properties pane. For more
information, see " Configuring Format Sources" on page 425.
Example

Except where noted otherwise, each method returns a reference to the text field
being modified. This allows you to use a chaining approach. In this example, the
first eight characters are formatted with a strikethrough effect, an italic effect, and
gray text color.
var myField = getField("/Body/Text0001");
myField.addEffect("STRIKETHROUGH",0,7).addEffect("ITALIC",0,7)
.addStyle("FOREGROUND","#CCCCCC",0,7);

Tip: For more examples, see "Script Examples: Individually Format Characters
within a Field" on page 388.
Character Selection by Pattern
You can use literal text or use a regular expression as a pattern to specify text to which a style or
effect should be applied.
Important! Patterns for character-level formatting and for values returned from
data map entries are governed by the Java syntax for regular expressions.
Escape sequences are required for the following characters. Precede the character
with a backslash.
<>()[]{}|^-=+*$!?.\

Loftware Spectrum 3.0.1 User Guide 337


Designing Labels

By default, literal text within a pattern is case sensitive. You can make a pattern
case insensitive by beginning it with the special construct (?i). If you configure
both patterns and ranges in a Character-Level format source, ranges are resolved
before patterns.
For more information about Java syntax for regular expressions, see The Java
Tutorials: Regular Expressions on the Oracle website.
Methods Description
addEffect Apply the specified effect to characters in the text field that are specified
(effect, pattern) by the pattern.
Example
var field1=getField("/Body/Text0001");
field1.addEffect("BOLD","(?i)(Peanuts)");
field1.addEffect("BOLD","Warning");
field1.addEffect("ITALIC","Warning");
addStyle(style, Apply the specified style and value to characters in the text field that are
value, pattern) specified by the pattern.
Example
var field1=getField("/Body/Text0001");
field1.addStyle("FONT","Arial","Note");
getEffectsList Create a list of effects to be applied. You can add and remove items from
() the list by using add and delete methods for lists. Apply all effects in the
add(effect) list to characters in the text field specified by the pattern.
delete(effect) Example
addEffectMulti var field1=getField("/Body/Text0001");
(effects_list, var myList=field1.getEffectsList();
pattern)
myList.add("BOLD");
myList.add("ITALIC");
field1.addEffectMulti(myList,"Note");

338 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Methods Description
getStyleMap() Create a map of effects and of styles and associated values. You can add
add(style,value) and remove items from the map by using add and delete methods for
delete(style) maps. For effects, specify an empty string as the value. Apply all of the
addStyleMulti styles and effects in the map to characters in the text field specified by the
(style_map, pattern.
pattern) Example
var field1=getField("/Body/Text0001");
var myStyleMap=field1.getStyleMap();
myStyleMap.add("FONT","Arial");
myStyleMap.add("SIZE","14");
myStyleMap.add("BOLD","");
field1.addStyleMulti(myStyleMap,"Note");
Character Selection by Range
You can use a numeric range of character positions within a text field to specify text to which a
style or effect should be applied.
Methods Description
addEffect Apply the specified effect to the text field beginning at the position
(effect, start, end) specified by start through the position specified by end.
Example
var field1=getField("/Body/Text0001");
field1.addEffect("BOLD",0,7);
addStyle(style, Apply the specified style and value to the text field beginning at the
value, start, end) position specified by start through the position specified by end.
Example
var field1=getField("/Body/Text0001");
field1.addStyle("SIZE","14",0,7);
getEffectsList Create a list of effects to be applied. You can add and remove items from
() the list by using add and delete methods for lists. Apply all effects in the
add(effect) list to the text field beginning at the position specified by start through the
delete(effect) position specified by end.
addEffectMulti Example
(effects_list, var field1=getField("/Body/Text0001");
start, end) var myList=field1.getEffectsList();
myList.add("ITALIC");
myList.add("STRIKETHROUGH");
field1.addEffectMulti(myList,0,7);

Loftware Spectrum 3.0.1 User Guide 339


Designing Labels

Methods Description
getStyleMap() Create a map of effects and of styles and associated values. You can add
add(style,value) and remove items from the map by using add and delete methods for
delete(style) maps. For effects, specify an empty string as the value. Apply all of the
addStyleMulti styles and effects to the text field beginning at the position specified by
(style_map, start, start through the position specified by end.
end) Example
var field1=getField("/Body/Text0001");
var myStyleMap=field1.getStyleMap();
myStyleMap.add("FONT","Arial");
myStyleMap.add("SIZE","14");
myStyleMap.add("BOLD","");
field1.addStyleMulti(myStyleMap,0,7);
Clearing Character-Level Formatting
You can remove character-level formatting from a text field.
Tip: To remove a style or an effect from a style map or an effects list, use delete
(style) or delete(effect).
Methods Description
clearStyles() Remove all styles and effects from the text field.
Example
var field1=getField("/Body/Text0001");
...
field1.clearStyles();
removeEffect(effect) Remove all occurrences of the specified effect from the text field.
Example
var field1=getField("/Body/Text0001");
field1.addEffect("ITALIC","Note");
...
field1.removeEffect("ITALIC");
removeStyle(style) Remove all occurrences of the specified style from the text field.
Example
var field1=getField("/Body/Text0001");
field1.addStyle("SIZE","14","Note");
...
field1.removeStyle("SIZE");
Arguments

340 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

The arguments used in the preceding methods include effects, styles, and other arguments.
Effects
Effects are string values and are not case sensitive.
Note: If multiple effects (such as BOLD and ITALIC) are applied to a the same
character, all of the effects are used.
Effect Description
BOLD Apply a bold, italic, strikethrough, subscript, superscript, or
ITALIC underline formatting effect to the text.
STRIKETHROUGH
SUBSCRIPT
SUPERSCRIPT
UNDERLINE
Styles and Values
Styles and values are string values. Styles are not case sensitive.
Note: If more than one value for a style (such as 12 and 14 for SIZE) is applied to
the same character, the last value applied is used.

Loftware Spectrum 3.0.1 User Guide 341


Designing Labels

Style Description Value


BACKGROUND Apply the specified fill The RGB color in hexadecimal format, or any
color. of the following color names:
BLACK
BLUE
CYAN
GRAY
DARK_GRAY
LIGHT_GRAY
GREEN
MAGENTA
ORANGE
FOREGROUND Apply the specified text PINK
color. RED
WHITE
YELLOW
Note: Color names are not case
sensitive.
Examples

"GRAY"
"#CCCCCC"
FONT Apply the specified font The name of the font.
to the text. Example

"Arial"
SIZE Apply the specified font The font size in points. Note that this is a
size to the text. string value.
Example

"12"

Other Arguments
The following is additional detail about the other arguments described in the methods for
character-level formatting. The argument names shown here are merely placeholders for
whatever variables you define.

342 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Argument Type Description


start int The position of the first character to which the style or effect
should be applied.
Important! In a Script data source that performs
character-level formatting, the first position in a text
field is 0. However, in a Character-Level format
source, the first position in a text field is 1. In
languages that are read left to right, this is the
leftmost position. In languages that are read right to
left, this is the rightmost position.
end int The position of the last character to which the style or effect
should be applied.
effects_list EffectsList The name of a list of effects, which behaves as a List<String>. You
can add effects to the list by using the add() method, and remove
effects by using the delete() method.
style_map StyleMap The name of a map of styles and effects, which behaves as a
Map<String,String>. You can add styles and effects to the map by
using the add() method, and remove styles and effects by using
the delete() method. Each map item has a name and a value. For
an effect, the value is an empty string.
pattern String A regular expression or literal text that specifies characters to
search for in the text field.
Script Methods for Accessing the DataMap at Runtime

The data available or generated when LoftwareSpectrum responds to a print request is stored
in a datamap. Each data map entry consists of a name (also called a key) and a value. You can use
a Script data source to access and alter data in the datamap after a print request is submitted but
before printing occurs. By using a Script data source to access the datamap, you can check for
the existence of a data map entry by using its fully-qualified name, retrieve the value of a data
map entry, change the value of a data map entry, and add new data map entries.
Note: The datamap can also be accessed and modified by using a business rule. If
a business rule and a Script data source both modify the datamap, the Script data
source is evaluated last.
You can access and modify data in the datamap by using the following methods:
Note: In the following methods, Name must be the fully-qualified name of a data
map entry, such as the name of a field or a data source. NewValue must be a text
string.
About the syntax documentation

Loftware Spectrum 3.0.1 User Guide 343


Designing Labels

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

Return
Method Description
Value
keyExists(Name) Boolean Determines whether the datamap contains is an entry for the
specified name.
l true: A data map entry with this name exists.

l false: No data map entry with this name exists.

Example
var dataMapEntryExists = MAP.keyExists
("/Body/Text0001");
putValue(Name, NewValue)Adds a data map entry or updates the data map entry associated
with the specified name by changing the value of that data map
entry to the new value.
Example
MAP.putValue("/Body/Text0001", "New Field
Value");
getValue(Name) Node Retrieves the value of the specified data map entry interpreted
as a node value. Null is returned if the name does not exist.
Example
var nodeVal = MAP.getValue
("/Body/Text0001");
getNodeType() String If a data map entry has been retrieved by using getValue, this
method retrieves the data type of the data map entry.
Example
var nodeVal = MAP.getValue
("/Body/Text0001");
nodeVal.getNodeType();
getStringValue String Retrieves the value of the specified data map entry interpreted
(Name) as a string value. Null is returned if the name does not exist.
Example
var stringVal = MAP.getStringValue
("/Body/Text0001");

344 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Return
Method Description
Value
getIntegerValue Integer Retrieves the value of the specified data map entry interpreted
(Name) as an integer value. Null is returned if the name does not exist.
Example
var integerVal = MAP.getIntegerValue
("/Body/Text0001");
getDoubleValue Double Retrieves the value of the specified data map entry interpreted
(Name) as a double-length integer value. Null is returned if the name
does not exist.
Example
var doubleVal = MAP.getDoubleValue
("/Body/Text0001");
getDateValue Date Retrieves the value of the specified data map entry interpreted
(Name) as a date value. Null is returned if the name does not exist.
This method is useful for taking a binary Date value from a
Database data source, and converting it to a human readable
date value. This method should only be called using a data
source name parameter that has the Date data type and has data
values that are binary.
By default, the returned date is in the following format:
EEE MMM dd hh:mm:ss z yyyy
The following is an example of a date using this format:
Mon Mar 26 00:00:00 EDT 2012
For more information, see "Date/Time Data Source Formats"
on page 391.
Example
var dateVal = MAP.getDateValue
("/Body/Text0001");
getBinaryValue Byte Retrieves the value of the specified data map entry interpreted
(Name) array as a byte array value. Null is returned if the name does not exist.
Example
var binaryVal = MAP.getBinaryValue
("/Body/Text0001");

Loftware Spectrum 3.0.1 User Guide 345


Designing Labels

Return
Method Description
Value
getBooleanValue Boolean Retrieves the value of the specified data map entry interpreted
(Name) as a Boolean value. Null is returned if the name does not exist.
Example
var booleanVal = MAP.getBooleanValue
("/Body/Text0001");
setValue If a data map entry has been retrieved by using getValue, this
(NewValue) method changes the value of the data map entry to the specified
value.
Example
var nodeVal = MAP.getValue
("/Body/Text0001");
nodeVal.setValue("New Field Value");

346 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Script Methods for Barcodes

The following are the barcode symbologies supported by LoftwareSpectrum, linked to the
script methods available for each symbology.
Common Methods

Script methods common to all symbologies


Symbology-Specific Methods
Linear
Symbology More Information
Code 39 Commonly used variable length symbology restricted to 43
characters. ISO/IEC 16388.
Code 39 Extended (Full ASCII) Code 39
Full ASCII
Code 93 Enhanced Code 39
Code 93 Extended (Full ASCII) Code 93
Full ASCII
Code 128 High density alphanumeric/numeric symbology. ISO/IEC
15417.
EAN-8 World-wide, GS1 approved symbology. ISO/IEC 15420.
EAN-13 World-wide, GS1 approved symbology. ISO/IEC 15420.
Interleaved Typically non-retail packaging. ISO/IEC 16390.
2 of 5
POSTNET There are no methods unique to a Postal Numeric Encoding
Technique (POSTNET) barcode.
The United States Postal Service (USPS) replaced POSTNET
with USPS Intelligent Mail in January 2013.
UPC-A Universal Product Code. ISO/IEC 15420.
UPC-E Zero-suppressed version of UPC-A
USPS The United States Postal Service (USPS) requires the use of a
Intelligent USPS Intelligent Mail barcode (IMb) to qualify for automation
Mail prices.
2D
Symbology More Information
Aztec ISO/IEC 24778
DataMatrix ISO/IEC 16022
MaxiCode Primarily used by United Parcel Service.
MicroPDF417 Smaller version of PDF417
PDF417 Stacked linear barcode. ISO/IEC 15438.

Loftware Spectrum 3.0.1 User Guide 347


Designing Labels

Symbology More Information


QR Code ISO/IEC 18004
GS1
Refer to the GS1 General Specification for the appropriate usage and encoding of GS1
Symbologies.
Symbology
GS1 DataBar
GS1 DataMatrix
GS1-128
ITF-14

348 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

EAN/UPC

Barcodes using these symbologies are typically used on items to be scanned at point-of-sale.
Symbology
EAN-8
EAN-13
UPC-A
UPC-E

Loftware Spectrum 3.0.1 User Guide 349


Designing Labels

Composite

Composite barcodes have a 2D portion followed by a linear portion. In the barcode data, the 2D
portion appears first and is followed by a composite delimiter (|) and then the linear portion.
Within a Formula data source, the composite delimiter can be represented by the COMPDELIM
() function.
In addition to the Max Chars property, Spectrum also displays 2D Max Chars and Linear
Max Chars for composite barcodes objects in Design. Otherwise, a composite barcode uses
the same symbology as the related type of linear barcode.
Symbology
EAN-8 Composite
EAN-13 Composite
GS1 DataBar Composite
GS1-128 Composite
UPC-A Composite
UPC-E Composite
Common Script Methods for Barcodes

The following methods are common to all barcode symbologies. For symbology-specific
methods, see "Script Methods for Barcodes" on page 347.
Barcode Field
Method Return value or type Description
getType() "barcode" Retrieve the type of field.
getBarcodeFormatProxy()FieldFormat Retrieve the barcode field format.
getFormatProxy() FieldFormat Retrieve the human readable field format.
getMaxLength() int Retrieve the maximum number of characters.
setMaxLength(int) Set the maximum number of characters.
getPadding() String Retrieve the padding style.
setPadding(String) Set the padding style to use. The following
values are accepted:
n Leading zeros
n Leading spaces
n Trailing spaces
n Center with spaces

350 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Method Return value or type Description


getFormatType() code128Format Retrieve the type of barcode.
code39Format
code93Format
azteccodeFormat
dataMatrixFormat
ean13Format
ean8Format
gs1CompositeFormat
gs1Format
interleaved2of5Format
maxicodeFormat
microPDF417Format
pdf417Format
postnetFormat
qrcodeFormat
upcaFormat
upce6Format
uspsIntelMailFormat
Barcode Format

Loftware Spectrum 3.0.1 User Guide 351


Designing Labels

Method Return value or type Description


getSymbology() code39 Retrieve the type of barcode.
extCode39
code93
extCode93
code128
dataMatrix
ean13
ean8
gs1Composite (for
GS1 DataBar
Composite)
gs1 (for GS1 DataBar)
gs1DataMatrix
interleaved2of5
maxicode
itf14
micropdf417
pdf417
postnet
qrcode
gs1128Gen
upca
upce6
gs1128Composite
upcaComposite
ean8Composite
ean13Composite
uspsIntelMail
azteccode
isShowStartStop boolean Returns whether the Start/Stop character is to be
() displayed in the human readable text for the barcode.
setShowStartStop Sets whether the Start/Stop character is to be
(boolean) displayed in the human readable text for the barcode.
Code 39 and Code 39 Full ASCII Script Methods

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.

352 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.
Code 39 Full ASCII is also known as Code 39 Extended (Ext).
Methods Description Values
getBarHeight() The height of the bars in the barcode. Thousandths
setBarHeight(long) of an inch
(mil)
getCheckDigit() Add an optional check digit to the barcode. None
setCheckDigit(String) The listed check digits are optional forms of Mod 43
getUserGeneratedCheckDigit the selected symbology (For Example: Code User Mod
() 39 or Code 39 with check). 43
Special purpose check digits can be added to
the barcode using the Formula data source.
Note: When a form that includes
a check digit is used, the Data
Provider 1 is not alerted if the
check digit fails.
getDataIdentifier() Data entered in this field will be encoded in
setDataIdentifier(String) the barcode but will not print in the human
readable text field for the barcode.
Data Identifiers are used to help the scanner
identify the field.
For Example
For an AIAG label, a barcode
with a data identifier of P
contains a part number, a data
identifier of Q signifies a
quantity field and a data
identifier of S signifies a serial
number field.
getHumanReadable() Whether a text representation of the barcode None
setHumanReadable(String) is printed. freeFloating
The human readable text can be positioned
anywhere on the label (free floating).

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 353


Designing Labels

Methods Description Values


getXdim() The width of the module (narrow bar) of the Thousandths
setXdim(float) barcode. The range of values available varies of an inch
with the Document DPI of the label template. (mil)
setRatio(String) The ratio of the wide bar to the narrow bar. 2.0:1 to
The ratio can be used to create intermediate 3.0:1 in
sizes between different X-dimensions. fixed
For Example increments

For Ratio 3.0:1, the wide bars


are three times the size of the
narrow bars.

Code 93 and Code 93 Full ASCII Script Methods

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.
Code 93 Full ASCII is also known as Code 93 Extended (Ext).
Methods Description Values
getBarHeight() The height of the bars in the barcode. Thousandths
setBarHeight(long) of an inch
(mil)
getDataIdentifier() Data entered in this field will be encoded in the barcode
setDataIdentifier but will not print in the human readable text field for the
(String) barcode.
Data Identifiers are used to help the scanner identify the
field.
For Example
For an AIAG label, a barcode with a data
identifier of P contains a part number, a
data identifier of Q signifies a quantity field
and a data identifier of S signifies a serial
number field.

354 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Methods Description Values


getHumanReadable Whether a text representation of the barcode is printed. None
() The human readable text can be positioned anywhere on freeFloating
setHumanReadable the label (free floating).
(String)
getXdim() The width of the module (narrow bar) of the barcode. Thousandths
setXdim(float) The range of values available varies with the Document of an inch
DPI of the label template. (mil)
Code 128, GS1-128, and Composite Script Methods

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.

Note: For GS1-128 and GS1-128 Composite barcodes, the first two digits in the
data provided are assumed to be the application identifier. Optionally, these digits
may be enclosed in parentheses.

Note: Composite barcodes have a 2D portion followed by a linear portion. In the


barcode data, the 2D portion appears first and is followed by a composite delimiter
(|) and then the linear portion.

Methods Description Values


getBarHeight() The height of the bars in the Thousandths of an
setBarHeight(long) barcode. inch (mil)

Loftware Spectrum 3.0.1 User Guide 355


Designing Labels

Methods Description Values


getCheckDigit() Whether to add an optional None
setCheckDigit(String) check digit to the barcode. Mod 10 (Code 128
getUserGeneratedCheckDigit The listed check digits are only)
() optional forms of the selected GS1 Mod 10
symbology (For Example: Code Mod 7 (Code 128
128 or Code 128 with check). only)
Special purpose check digits User Mod 10 (Code
can be added to the barcode by 128 only)
using a Formula data source. User GS1 Mod 10
Note: When a (Code 128 only)
form that includes User Mod 7 (Code
a check digit is 128 only)
used, the Data
Provider 1 is not
alerted if the
check digit fails.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

356 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Methods Description Values


getDataIdentifier() Data entered in this field will be
setDataIdentifier(String) encoded in the barcode but will
not print in the human readable
text field for the barcode.
Data Identifiers are used to help
the scanner identify the field.
For Example
For an AIAG
label, a barcode
with a data
identifier of P
contains a part
number, a data
identifier of Q
signifies a quantity
field and a data
identifier of S
signifies a serial
number field.
Note: This
property is not
available for GS1-
128 Composite
barcodes.
getHumanReadable() Whether a text representation None
setHumanReadable(String) of the barcode is printed. freeFloating
The human readable text can be
positioned anywhere on the
label (free floating).
getXdim() The width of the module Thousandths of an
setXdim(float) (narrow bar) of the barcode. inch (mil)
The range of values available
varies with the Document DPI
of the label template.

Loftware Spectrum 3.0.1 User Guide 357


Designing Labels

Methods Description Values


getStartCode() Specify the initial subset (code n AUTO: The device
selects a subset
setStartCode(String) set) for the barcode data. based on the data.
Note: Regardless
n A: ASCII
of the Start Code characters 00 to
specified, 95 (0-9, A-Z and
control codes),
Spectrum will special characters,
switch to a subset and Function 1-4
that supports the (FNC1-FNC4)
symbol
data if it characters.
encounters data n B: ASCII
not supported by characters 32 to
127 (0-9, A-Z, a-
the current subset. z), special
characters, and
Note: This FNC1-FNC4.
property is not n C: 00-99. Code C
produces the
available for GS1- highest density
128 barcodes and barcode and is the
GS1-128 most efficient for
encoding numeric
Composite data.
barcodes. n GS1: Inserts
Function 1 (FNC1)
symbol character.
Alphanumeric
characters, special
characters, and
symbols. Leaves
parentheses and
spaces in Human
Readable.

Aztec Code Script Methods

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.
Methods Description Values
getXdim() The width of the barcode cell (module). The Thousandths of an
setXdim(float) range of values available varies with the inch (mil)
Document DPI of the label template.

358 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Methods Description Values


getErrorCorrection The level of error checking and correction Auto: Use the
() used in the symbol. default Error
setErrorCorrection Correction level
(String) (23%)
1-99: Error
Correction level in
percentage.
DataMatrix and GS1 DataMatrix Script Methods

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.
Methods Description Values
getCellWidth() The width of the barcode cell (module). Thousandths of an inch
setCellWidth(int) The range of values available varies with (mil)
the Document DPI of the label template.
getSymbolSize() The number of rows and columns in the Auto
setSymbolSize symbol. For more information, see the Square Form: 10x10 to
(String) "Symbol Size" section following this table. 144x144
Note: This value limits Max Rectangular Form: 8x18 to
Chars. 16x48

getErrorCorrection The level of error checking and correction ECC 0


() employed in the symbol. ECC 50
setErrorCorrection Note: The current ECC 80
(String) DataMatrix standard requires ECC 100
the use of ECC 200. ECC 140
ECC 200 (recommended)

Loftware Spectrum 3.0.1 User Guide 359


Designing Labels

Methods Description Values


getFormatID() Defines the type of data that can be 1: Numeric digits 0
setFormatID(int) encoded in the symbol. through 9 and the space
Note: If the Error Correction character
Level is set to ECC 200, the 2: Upper case alpha A-Z
Format ID is not used. and the space character
3: Upper case
alphanumeric A-Z, 0-9,
and the space character
4: A-Z, 0-9, space, minus,
period, comma, and
forward slash (/)
5: 7 bit ASCIIall ASCII
characters between ASCII
0 through ASCII 127
6: 8-bit ASCIIall ASCII
characters between ASCII
0 through ASCII 255
Additional Methods
The following methods do not have corresponding controls for barcode objects in the Spectrum
user interface.
Methods Description Values
getRows() The number of rows in the symbol. For more information, see the
setRows(int) "Symbol Size" section following this table.
getColumns() The number of columns in the symbol. For more information, see
setColumns the "Symbol Size" section following this table.
(int)
getCellHeight The height of the barcode cell (module). The range of values
() available varies with the Document DPI of the label template.
setCellHeight
(int)
Symbol Size
The Symbol Size is the number of rows and columns in the symbol. The Symbol Size and
whether the data represented by the symbol is numeric, alphanumeric, or binary, limits the
maximum number of characters that can be represented by the symbol. You can configure the
value of Max Chars to further limit the number of characters allowed.
When you select a Symbol Size other than Auto, the value of Max Chars is changed to the
maximum number of numeric characters that can be represented by the symbol. The value of
Max Chars displayed is not dynamically updated to correspond to the type of data to which the

360 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

data ref points, and you cannot explicitly define the data type in Spectrum. If the data can be
alphanumeric or binary, you should reduce the value of Max Chars to the limit shown in the
following table to ensure that data incorporated into the symbol is not unexpectedly truncated.
Note: If you select Auto for the Symbol Size, the value of Max Chars is not
changed automatically. However, with Auto selected, you can configure Max Chars
to any value up to 3116, which is the number of numeric characters that can be
represented when using a Symbol Size of 144x144.

Loftware Spectrum 3.0.1 User Guide 361


Designing Labels

Square Form

Maximum Characters Possible


Symbol Size
Numeric Alphanumeric Binary
10x10 6 3 1
12x12 10 6 3
14x14 16 10 6
16x16 24 16 10
18x18 36 25 16
20x20 44 31 20
22x22 60 43 28
24x24 72 52 34
26x26 88 64 42
32x32 124 91 60
36x36 172 127 84
40x40 228 169 112
44x44 288 214 142
48x48 348 259 172
52x52 408 304 202
64x64 560 418 278
72x72 736 550 366
80x80 912 682 454
88x88 1152 862 574
96x96 1392 1042 694
104x104 1632 1222 814
120x120 2100 1573 1048
132x132 2608 1954 1302
144x144 3116 2335 1556

362 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Rectangular Form

Maximum Characters Possible


Symbol Size
Numeric Alphanumeric Binary
8x18 10 6 3
8x32 20 13 8
12x26 32 22 14
12x36 44 31 20
16x36 64 46 30
16x48 98 72 47
EAN 8, EAN 13, and Composite Script Methods

The following properties are specific to this barcode symbology. Additionally, barcode fields
using this symbology have properties that are common to all barcode fields.

Note: Composite barcodes have a 2D portion followed by a linear portion. In the


barcode data, the 2D portion appears first and is followed by a composite delimiter
(|) and then the linear portion.

Methods Description Values


getBarHeight() The height of the bars in the barcode. Thousandths
setBarHeight(long) of an inch
(mil)
getExtension() Whether a 2 or 5 digit extension is to be used. UPC none or None
setExtension extensions are used to extend the range of available plus2
(String) part numbers that can be encoded in EAN 13 and plus5
EAN 13 Composite barcodes.
Note: This property affects Max Chars.

Note: This property is not available for


EAN 8 and EAN 8 Composite barcodes.
getHumanReadable Whether a text representation of the barcode is None
() printed. The human readable text is in a fixed position Fixed Below
setHumanReadable below the barcode.
(String)
getXdim() The width of the module (narrow bar) of the barcode. Thousandths
setXdim(float) The range of values available varies with the of an inch
Document DPI of the label template. (mil)
GS1 DataBar and Composite Script Methods

Loftware Spectrum 3.0.1 User Guide 363


Designing Labels

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.

Note: Composite barcodes have a 2D portion followed by a linear portion. In the


barcode data, the 2D portion appears first and is followed by a composite delimiter
(|) and then the linear portion.

Methods Description Values


getBarHeight() The height of the bars in the barcode. Thousandths of
setBarHeight(long) an inch (mil)
getType() Which variation of the GS1 DataBar symbology is Omnidirectional
setType(String) used.
Note: This property affects Max Truncated
Chars. Stacked
Stacked
Omnidirectional
Limited
Expanded
Expanded
Stacked
The degree to which the barcode is stacked. 2-22
Note: The Segments property is
available only if the GS1 DataBar
Type is Expanded Stacked.
getHumanReadable Whether a text representation of the barcode is None
() printed. freeFloating
setHumanReadable The human readable text can be positioned anywhere
(String) on the label (free floating).
getXdim() The width of the module (narrow bar) of the barcode. Thousandths of
setXdim(float) The range of values available varies with the an inch (mil)
Document DPI of the label template.
Interleaved 2 of 5 and ITF-14 Script Methods

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.

364 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.
Methods Description Values
getBarHeight() The height of the bars in the barcode. Thousandths of
setBarHeight(long) an inch (mil)
getCheckDigit() Add an optional check digit to the None
setCheckDigit(String) barcode. Mod 10
getUserGeneratedCheckDigit The listed check digits are optional User Mod 10
() forms of the selected symbology. (Interleaved 2
Special purpose check digits can be of 5 only)
added to the barcode using the
Formula data source.
Note: Specifying a value
other than None
decreases Max Chars to
allow a character for the
check digit, which is not
counted toward the value
of Max Chars.

Note: When a form that


includes a check digit is
used, the Data
Provider 1 is not alerted
if the check digit fails.
getHumanReadable() Whether a text representation of the None
setHumanReadable(String) barcode is printed. freeFloating
The human readable text can be
positioned anywhere on the label (free
floating).
Bearer bars are used to reduce the None
chance that a non-fixed length symbol Top/Bottom
is incorrectly read. Rectangle

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 365


Designing Labels

Methods Description Values


getXdim() The width of the module (narrow bar) Thousandths of
setXdim(float) of the barcode. The range of values an inch (mil)
available varies with the Document
DPI of the label template.
getRatio() The ratio of the wide bar to the narrow 2.0:1
setRatio(String) bar. The ratio can be used to create 2.1:1
intermediate sizes between different 2.2:1
X-dimensions. 2.25:1
For Example 2.3:1
2.4:1
For Ratio 3.0:1, the wide 2.5:1
bars are three times the 2.6:1
size of the narrow bars.
2.7:1
2.8:1
2.9:1
3.0:1
Additional Methods
The following methods do not have corresponding controls for barcode objects in the Spectrum
user interface.
Methods Description Values
getHrzBearerWidth()
setHrzBearerWidth(double)
getVrtBearerWidth()
setVrtBearerWidth(double)
MaxiCode Script Methods

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.
Methods Description Values
getCurrentSymbol When used with the structured append format, the position of 0-8
() the symbol in a set.
setCurrentSymbol
(int)

366 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Methods Description Values


getMode() Modes 0 and 1 are part of the original MaxiCode specification 0
setMode(int) and are now considered obsolete. 1
Mode 2 is used for Domestic U.S. destinations. 2
Mode 3 is used for non U.S. destinations. 3
Mode 4 is free form data entry. 4
Mode 5, if supported by the device, is used for free form data 5
entry with Full Enhanced Error Correction. 6
Mode 6 is used for reader programming only.
getTotalSymbols When used with the structured append format, the total 0-8
() number of the symbols in a set.
setTotalSymbols
(int)
Additional Methods
The following methods do not have corresponding controls for barcode objects in the Spectrum
user interface.
Methods Description Values
getRows() The number of rows in the symbol. For more information, see the
setRows(int) "Symbol Size" section following this table.
getColumns() The number of columns in the symbol. For more information, see
setColumns the "Symbol Size" section following this table.
(int)
getCellHeight The height of the barcode cell (module). The range of values
() available varies with the Document DPI of the label template.
setCellHeight
(int)
getCellWidth The width of the barcode cell (module). The range of values
() available varies with the Document DPI of the label template.
setCellWidth
(int)
MicroPDF417 Script Methods

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.

Loftware Spectrum 3.0.1 User Guide 367


Designing Labels

Methods Description Values


getXdim() The width of the barcode cell (module). The range of Thousandths of
setXdim(float) values available varies with the Document DPI of an inch (mil)
the label template.
getYdim() The height of the barcode cell (module). The range Thousandths of
setYdim(float) of values available varies with the Document DPI of an inch (mil)
the label template.
getxToYRatio The ratio of Line Y-Dim to Line X-Dim.
()
setxToYRatio
(double)
getSymbolSize The discreet size of the symbol expressed in number 1-4 columns
() of columns by number of rows. rows vary
setSymbolSize Note: This value limits Max Chars. depending on
(String) columns used.
Additional Methods
The following methods do not have corresponding controls for barcode objects in the Spectrum
user interface.
Methods Description Values
getRows() The number of rows in the symbol.
setRows(int)
getColumns() The number of columns in the symbol.
setColumns
(int)
getCellHeight The height of the barcode cell (module). The range of values
() available varies with the Document DPI of the label template.
setCellHeight
(int)
getCellWidth The width of the barcode cell (module). The range of values
() available varies with the Document DPI of the label template.
setCellWidth
(int)
PDF417 Script Methods

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.

368 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.

Tip: If the amount of data in a barcode exceeds the usable space, adjust the
Columns, the Security Level, or both.

Methods Description Values


getXdim() The width of the barcode cell (module). The Thousandths of
setXdim(float) range of values available varies with the an inch (mil)
Document DPI of the label template.
getYdim() The height of the barcode cell (module). The Thousandths of
setYdim(float) range of values available varies with the an inch (mil)
Document DPI of the label template.
getxToYRatio() The ratio of Line Y-Dim to Line X-Dim.
setxToYRatio(double)
getColumns() The number of columns in the symbol. Each
setColumns(int) column consists of multiple modules.
getSecurity() The amount of destruction the symbol can 0-8
setSecurity(int) withstand.
A greater number increases the amount of
destruction the symbol can withstand, while
also increasing the size of the symbol.
isTruncate() Whether to truncate the barcode symbol. No/Yes
setTruncate(boolean) A truncated PDF symbol occupies a smaller
printed area than a standard symbol;
however, there is a slight degradation in
decode performance.
Additional Methods
The following methods do not have corresponding controls for barcode objects in the Spectrum
user interface.
Methods Description Values
getRows() The number of rows in the symbol.
setRows(int)
getCellHeight The height of the barcode cell (module). The range of values
() available varies with the Document DPI of the label template.
setCellHeight
(int)

Loftware Spectrum 3.0.1 User Guide 369


Designing Labels

Methods Description Values


getCellWidth The width of the barcode cell (module). The range of values
() available varies with the Document DPI of the label template.
setCellWidth
(int)
QR Code Script Methods

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.
Methods Description Values
getCellWidth() The width of the barcode cell Thousandths of an inch
setCellWidth(int) (module). The range of values (mil)
available varies with the
Document DPI of the label
template.
getDataEncodingMode() The type of information l Byte: 8-bit bytes

setDataEncodingMode encoded in the symbol. (binary).


(String) l Alpha:

Alphanumeric
characters and the
symbols $, %, *, +,
-, /, :, period,
comma, and space.
l Numeric: Numeric

digits
getErrorCorrection() The level of error checking l L: Approximately

setErrorCorrection(String) and correction employed in 7% error correction.


the symbol. l M: Approximately

15% error
correction.
l Q: Approximately

25% error
correction.
l H: Approximately

30% error
correction.

370 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

For more information about encoding QR Codes, see the QR Code entry listed in "External
Links" on page 1645.
UPC-A, UPC-E, and Composite Script Methods

The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.

Note: If using UPC-E, provide data on which zero suppression has already been
performed.

Note: Composite barcodes have a 2D portion followed by a linear portion. In the


barcode data, the 2D portion appears first and is followed by a composite delimiter
(|) and then the linear portion.

Methods Description Values


getBarHeight() The height of the bars in the barcode. Thousandths
setBarHeight(long) of an inch
(mil)
getExtension() Whether a 2 or 5 digit extension is to be used. UPC None
getExtension extensions are used to extend the range of available part +2
(String) numbers that can be encoded. +5
Note: This property affects Max Chars.
getHumanReadable Whether a text representation of the barcode is printed. None
() The human readable text is in a fixed position below the Fixed Below
setHumanReadable barcode.
(String)

getXdim() The width of the module (narrow bar) of the barcode. Thousandths
setXdim(float) The range of values available varies with the Document of an inch
DPI of the label template. (mil)
USPS Intelligent Mail Methods

United States Postal Service (USPS) Intelligent Mail is a suite of barcode symbologies.
l For Intelligent Mail barcodes (IMb) for mailpieces (letters, cards, and flats), use the
USPS Intelligent Mail symbology.
l For Intelligent Mail Tray barcodes, use either Code 128 symbology with Start Code C or
Interleaved 2 of 5 symbology.

Loftware Spectrum 3.0.1 User Guide 371


Designing Labels

l For Intelligent Mail Container barcodes, use the GS1-128 symbology with Start Code C or
B.
l For Intelligent Mail Package barcodes (IMpb), use the GS1-128 symbology with Start

Code C.
The USPS Intelligent Mail barcode for mailpieces is a 4-state barcode that consists of 65 bars
that can encode up to 31 digits. The following information can be included:
l Barcode Identifier
l Service Type Identifier (STID)
l Mailer Identifier (MID)

l Serial Number

l Routing Code, also referred to as a ZIP Code or a delivery-point code

The USPS Intelligent Mail symbology in Spectrum supports all formats for Intelligent Mail
barcodes for mailpieces. Those formats include using a 6-digit Mailer Identifier, a 9-digit Mailer
Identifier, or the Origin IMb Tracing Intelligent Mail Barcode Format.
For more information about encoding USPS Intelligent Mail barcodes, see the USPS entry listed
in "External Links" on page 1645.
The following script methods are specific to this barcode symbology. Additionally, you can use
the "Common Script Methods for Barcodes" on page 350.
Tip: Script methods with names beginning with get or is retrieve the current value
for a property. Script methods with names beginning with set configure a value for
the property.

Methods Description Values


getSymbolSize() Changes the relative height and width of all bars in the Small
setSymbolSize symbol. Medium
(String) Large

372 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

ASCII Characters in Scripts

You can insert Lower ASCII characters into a script by using an escape sequence around the
hexadecimal value of the ASCII character. In this context, lower ASCII is the first 31 characters
of the ASCII character set.
Note: Loftware converts Upper ASCII characters, so they can be included in a
script without the escape sequence.
l Begin the escape sequence: #x
l End the escape sequence: ;

For example, this sequence would send the Backspace character:


#x08;

Lower ASCII Character Set

Character Description Decimal Hexadecimal


NUL Null Character 0 0
SOH Start of Header 1 1
STX Start of Text 2 2
ETX End of Text 3 3
EOT End of Transmission 4 4
ENQ Enquiry 5 5
ACK Acknowledgement 6 6
BEL Bell 7 7
BS Backspace 8 8
HT Horizontal Tab 9 9
LF Line Feed 10 A
VT Vertical Tab 11 B
FF Form Feed 12 C
CR Carriage Return 13 D
SO Shift Out 14 E
SI Shift In 15 F
DLE Data Link Escape 16 10
DC1 Device Control 1 (XON) 17 11
DC2 Device Control 2 18 12
DC3 Device Control 3 (XOFF) 19 13
DC4 Device Control 4 20 14

Loftware Spectrum 3.0.1 User Guide 373


Designing Labels

Character Description Decimal Hexadecimal


NAK Negative Acknowledgement 21 15
SYN Synchronous Idle 22 16
ETB End of Transmission Block 23 17
CAN Cancel 24 18
EM End of Medium 25 19
SUB Substitute 26 1A
ESC Escape 27 1B
FS File Separator 28 1C
GS Group Separator 29 1D
RS Record Separator 30 1E
US Unit Separator 31 1F

374 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Script Examples

The following are examples of ways that you can use Script data sources.
l "Script Examples: Examine and Modify Data to be Used at Print Time" on page 375
l "Script Examples: Move Objects" on page 380
l "Script Examples: Search for Fields" on page 383
l "Script Examples: Change Rotation" on page 385
l "Script Examples: Turn Printing of Fields On or Off" on page 386
l "Script Examples: Calculate the Check Digit" on page 386
l "Script Examples: Change the Format of a Date" on page 387
l "Script Examples: Individually Format Characters within a Field" on page 388
Script Examples: Examine and Modify Data to be Used at Print Time

At print time, the data used for a field is usually pulled from the datamap (MAP). This is done
by getting the name (key) for the data map entry from the field (getFullyQualifiedKey) and then
doing a lookup in the datamap with this key to get the value. If the key does not exist, then the
default value is used. If you configure the data for the field explicitly by calling setData, then
what is configured will be used and the datamap and default data will not be checked.
Refer to the following sample fields and data for the examples that follow.
FORMAT
Field Name FQN Default data
Field1 Text0001 /Body/Text0001 Unset
Field2 Text0002 /Body/Text0002 "text2DefaultData"
Field3 Text0003 /groupedField Unset
Field4 Text0004 /groupedField Unset
Field5 Text0005 /groupedField Unset
MAP
Name (Key) Value
/Body/Text0001 "value1"
/groupedField" "value2"
Examine the Field Data Value to Print
The value to be used at print time for a field is based on conditions.
Field data has not been set and there is an entry in the datamap with the fully-qualified name of
the field will result in the value for the entry in the map to be used.
var field1 = getField("/Body/Text0001");
var dataToBePrintedForField1 =
field1.getPrintingValue(MAP);

dataToBePrintedForField1 will have the value "value1"

Loftware Spectrum 3.0.1 User Guide 375


Designing Labels

Field data has not been set and no entry exists in the map for the fully-qualified name will result
in the default value for the field to be used.
var field1 = getField("/Body/Text0002");
var dataToBePrintedForField2 =
field1.getPrintingValue(MAP);

dataToBePrintedForField2 will have the value "text2DefaultData"


Field data that has been set explicitly will take precedence over a data map entry and the default
data.
var field1 = getField("/Body/Text0001");
field1.setData("explicitValue");
var dataToBePrintedForField1 =
field1.getPrintingValue(MAP);

dataToBePrintedForField1 will have the value "explicitValue"

376 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Override the field data for a single field


The field's data can be explicitly set by setting it directly on the field.
var field1 = getField("/Body/Text0001");
field1.setData("mystaticdata");
var dataToBePrintedForField1 =
field1.getPrintingValue(MAP);

dataToBePrintedForField1 will have the value "mystaticdata"

Loftware Spectrum 3.0.1 User Guide 377


Designing Labels

Checking whether a fields data has been explicitly set


var field1 = getField("/Body/Text0001");
var isSet = field1.isDataSet(); -- isSet will return false,
because the script has not set the data on the field.

field1.setData("explicitValue");
var isSetNow = field1.isDataSet(); -- isSetNow will
return true, because the script data has been set.

field1.clearData()
var isSetAfterClear = field1.isDataSet(); --
isSetAfterClear will return false, because the script
data has been cleared.

field1.setData(null);
var isSetWithNull = field1.isDataSet(); -- isSetWithNull
will return true, because the script data has been set.

378 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Override the field data for multiple fields with the same data reference
This example expects that there are a few fields on the label that have the same fully qualified
name. Refer to Text0003, Text0004, Text0005 in the example data above.
var field3 = getField("/Body/Text0003");
var fqn = field3.getFullyQualifiedName(); -- the FQN in
this case will be "/groupedField"
MAP.setValueForKey(fqn,"myglobalvalue");

var field4 = getField("/Body/Text0004");


var field5 = getField("/Body/Text0005");

var dataToBePrintedForField3 =
field3.getPrintingValue(MAP);
var dataToBePrintedForField4 =
field4.getPrintingValue(MAP);
var dataToBePrintedForField5 =
field5.getPrintingValue(MAP);

dataToBePrintedForField3, dataToBePrintedForField4, and dataToBePrintedForField5 will all


have the same value of "myglobalvalue"

Loftware Spectrum 3.0.1 User Guide 379


Designing Labels

Change the default value of a field


var field2 = getField("/Body/Text0002");
field2.setDefaultData("mynewDefaultData");

var dataToBePrintedForField2 =
field2.getPrintingValue(MAP);

dataToBePrintedForField2 will be set to the value "mynewDefaultData"


Script Examples: Move Objects
Moving Fields Around on the Label
You can move a field on the label based on its center position or its top-left coordinates. When
you rotate a field, it is always based on its center position, and the value you provide is the final
rotation that you would like the field to be rotated, not the product of the intended rotation
minus its current rotation.
The values passed to these methods are in 1/1000 of an inch, so a value of 3000 is 3 inches.

380 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Barcode Rotation Considerations


All fields with the exception of barcodes have a single object associated with them. Barcodes
can have either just a barcode or a barcode and human readable pair.
There are some special calls that are available for rotating barcodes as a group. These calls have
the word Group in them.
lmoveGroupFromCenter
l rotateGroup

l moveGroupFromTopLeft

Take care when using these calls where the human readable is not in close proximity to the
barcode as the call may have unintended consequences.
The standard move and rotate commands shown in the first examples will only move and rotate
the barcode itself.
Barcodes can only be rotated at 0, 90, 180, and 270 degrees. A barcode's human readable fields
can be rotated all 360 degrees.
Move a Field by its Center Position
The following example moves a box from its current position to centered at 3 inch by 3 inch on
the label.
var box = getField("/Body/Box0001");
box.moveFromCenter(3000,3000);

To move the box relative to its current position by some distance use the following:
var box = getField("/Body/Box0001");
box.moveFromCenter
(box.centerX+500,box.centerY+250);

This moves the box .5 inch to the right and .25 inch lower on the label from its current position.
Move and Rotate a Field by its Center Position
The following example moves a box from its current position to centered at 3 inch by 3 inch on
the label, and then rotates it to the 90 degree position. If it is already at 90 degrees then no
rotation will be applied.
var box = getField("/Body/Box0001");
box.moveFromCenter(3000,3000,90);

Move a Field by its Top/Left Corner Position


The following example moves a box from its current position to a position where its top left
coordinate will be at 3 inch by 3 inch on the label.
var box = getField("/Body/Box0001");
box.moveFromTopLeft(3000,3000);

Loftware Spectrum 3.0.1 User Guide 381


Designing Labels

If you want to move it relative to its current position by some delta then do the following:
var box = getField("/Body/Box0001");
box.moveFromTopLeft
(box.rotatedTop+250,box.rotatedLeft+500);

This moves the box a half an inch to the right and a inch down the label from its current
position.
Note: The top/left coordinates are based on the bounding rectangle of the field.
This means that if the field is rotated at an "off-axis position (NOT one of 0, 90,
180 or 270) then the top/left position will be a point that is not on the object, but
a projection of the topmost and leftmost points of the object. For example,
consider an object rotated at 30 degrees where the leftmost corner is the
bottom/left corner and the topmost corner is the top/left corner.
Move and Rotate a Field by its Top/Left Corner Position
The following example moves a box from its current position to a position where its top left
coordinate will be at 3 by 3 on the label before rotation, and then it is rotated 90 degrees.
Unless the box is a square, the final top/left will not be at 3 by 3.
var bar1 = getField("/Body/Box0001");
bar1.moveFromTopLeft(3000,3000);
bar1.rotation=90;

To make the final top/left position of the box be 3 x 3, apply the rotation first.
var bar1 = getField("/Body/Box0001");
bar1.rotation=90;
bar1.moveFromTopLeft(3000,3000);

Move a Barcode with a Human Readable as a Group by its center position


The following example will find the center of the smallest bounding rectangle that encompasses
the barcode and human readable and move both together to where this center is at 3 x 3
var bc = getField("/Body/Barcode0000")
bc.moveGroupFromCenter(3000,3000);

If you want to move it relative to its current position by some delta then do the following:
var bc = getField("/Body/Barcode0000")
bc.moveGroupFromCenter
(bc.groupCenterX+250,bc.groupCenterY+500);

Move a Barcode with a Human Readable as a Group by its Top/Left Position


The following example will find the top/left of the smallest bounding rectangle that
encompasses the barcode and human readable and move both together to where this top/left
coordinate is at 3 x 3

382 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

var bc = getField("/Body/Barcode0000")
bc.moveGroupFromTopLeft(3000,3000);

If you want to move it relative to its current position by some delta then do the following:
var bc = getField("/Body/Barcode0000")
bc.moveGroupFromTopLeft
(bc.groupTop+250,bc.groupLeft+500);

Rotate a Barcode with a Human Readable as a Group


Rotating the barcode group can be done by either rotating it with the moveGroupFromCenter
method or by rotating it with the rotateGroup method. The rotation is based on the rotation of
the barcode only. The human readable rotation will be changed relative to this rotation. That is,
if the initial barcode rotation is 0 and the human readable is 90, and the rotation is set to 90,
then the final rotation will be 90 for the barcode and 180 for the human readable.
var bc = getField("/Body/Barcode0000")
bc.moveGroupFromCenter(3000,3000,90);

or
bc.rotateGroup(90);

Move and Rotate a Barcode Human Readable Only


To single out the barcode human readable for movement, rotation, or any other changes you
must retrieve it from the field and make calls on it.
var bc = getField("/Body/Barcode0000");
var hr = bc.formatProxy;
hr.moveFromCenter(3000,3000);

Script Examples: Search for Fields


Find fields of a specific Type
Fields can be searched by type. The type names are all lowercase, so searching with the equality
operator (==) should be followed with the lowercase value of the field name (it is case
sensitive).
The type name can also be searched with the equals ignore case operator(~=) which can be
followed with the type name in any case format. See the following examples.

Loftware Spectrum 3.0.1 User Guide 383


Designing Labels

Case Sensitive
var barcode = FORMAT.findFields("type=='barcode'");
println("*** Barcode is "+barcode[0].name);

384 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Case Insensitive
var barcode = FORMAT.findFields("type~='Barcode'");
println("***2 Barcode is "+barcode[0].name);
barcode = FORMAT.findFields("type~='BARCODE'");
println("***3 Barcode is "+barcode[0].name);
barcode = FORMAT.findFields("type~='BaRcOdE'");
println("***3 Barcode is "+barcode[0].name);

Search for fields of a specific type and name and make them invisible
var fields = FORMAT.findFields("(type=='label' ||
name=='text3') && visible=='true');
for(i=0;i<fields.length;i++){
var f = fields[i];
f.visible=false;
}";

Find all fields that are visible


var flist = FORMAT.findFields("visible=='true');
println("field count is "+flist.length);
for(var i=0; i < flist.length;i++){
println("Field name "+flist[i].name);
}

Find all fields


var flist = FORMAT.findFields("");
println("field count is "+flist.length);
for(var i=0; i < flist.length;i++){
println("Field name "+flist[i].name);
}

Find all fields where the data has been set by calling setData()
var setFields = FORMAT.findFields("dataSet == 'true'");
var notSetFields = FORMAT.findFields("dataSet !=
'true'");

Script Examples: Change Rotation

The variable FORMAT is available in the script. This is the top level object containing all the
fields in the label template. There is a field called rotation that allows you to change the rotation
of the label.
Note: The rotation needs to be set in 90-degree increments.

Loftware Spectrum 3.0.1 User Guide 385


Designing Labels

Script Example
var rotation=MAP.getStringValue
("/Body/Prompt0001");

if (rotation%90 == 0)
{
FORMAT.rotation=rotation;
}

Script Examples: Turn Printing of Fields On or Off


var mapvalue = ${/Body/Text0002};
if(mapvalue == "false"){
var f = getField("/Body/Box0001");
LOG.debug("**** The format is "+f);
if(f != null){
f.visible = false;
}
};

Script Examples: Calculate the Check Digit

This can be done either as a Formula or as a Label script. The example below shows it done as a
Label script. Map values are pulled to perform the calculation and then the field data member is
set at the end. This assumes that no other data source will be setting the data on this field at run
time.
Note: When a form that includes a check digit is used, the Data Provider 1 is not
alerted if the check digit fails.
To write this as a formula, remove the "var result" from the top, as it is already provided, and
return result at the bottom instead of modifying the field.
var result;
var input = new String;
var cf = ${/Body/Collection_Facility};
var cy = ${/Body/Collection_Year};
var sn = ${/Body/Seq_No};
input = cf +cy + sn;
println("cf ="+cf+" cy = "+cy+" sn = "+sn+" input =
"+input);
var ch,sum=0,charValue, isDigit, isUpperAlpha, count;
var
CharTable="0123456789ABCDEFGHIJKLMNOPQRS
TUVWXYZ*";

var inputLength = input.length;


for (count = 0; count < inputLength; count++){
ch = input.charAt(count);

isDigit = ((ch >= "0) && (ch <="9));

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

386 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

isUpperAlpha = ((ch >= "A) && (ch <="Z));


println(ch+" digit "+isDigit+" uppercase
"+isUpperAlpha);
if(isDigit || isUpperAlpha){
if(isDigit){

charValue = ch.charCodeAt(0) - "0.charCodeAt(0);


}else{
charValue = ch.charCodeAt(0) - "A.charCodeAt(0) +
10;
}
}
sum = ((sum + charValue) * 2) % 37;
}
charValue = (38 - sum) % 37;

result = CharTable[charValue];
MAP. setValueForKey ("/Body/Check_
Character,result);

Script Examples: Change the Format of a Date

You can use a Script data source to convert a date value obtained from a database and processed
by LoftwareSpectrum into a human readable format suitable for printing.
For example, an Oracle database table can have a column of data type DATE. In Oracle SQLPlus
or SQL Developer, the values in this table column are displayed in a format of dd-MMM-yy.
However, when the table is used as a Database data source in LoftwareSpectrum, Spectrum
receives the date value in a special milliseconds format. By default, the Database data source
would return a value such as 13849236000000 at print time instead of a human readable date.
You can use a Script data source with MAP functions to convert the date from milliseconds
format to a human readable format appropriate for printing. In this example, the Database data
source column /DS_0001/DATE_COL is passed as a parameter to the MAP.getDateValue()
method. This method converts the milliseconds date value, such as 13849236000000, obtained
from the Database data source to a human readable format, such as Wed Nov 20 00:00:00 EST
2408.

Loftware Spectrum 3.0.1 User Guide 387


Designing Labels

Script Example
// Use the MAP function to change the date value from
milliseconds format to a human readable date format.
var dateVal = MAP.getDateValue("/DS_0001/DATE_
COL");

// Create an instance of the Variable Text field to which


you want to assign the human readable date value.
var text1 = getField("/Body/Text0003");

// Assign the human readable date value to the field


you want to print.
text1.setData(dateVal);

Script Examples: Individually Format Characters within a Field

The following are some examples of configuring character-level formatting by using a Script data
source. Character-level formatting methods are not supported in business rules.

Important! Patterns for character-level formatting and for values returned from
data map entries are governed by the Java syntax for regular expressions.
Escape sequences are required for the following characters. Precede the character
with a backslash.
<>()[]{}|^-=+*$!?.\
By default, literal text within a pattern is case sensitive. You can make a pattern
case insensitive by beginning it with the special construct (?i). If you configure
both patterns and ranges in a Character-Level format source, ranges are resolved
before patterns.
For more information about Java syntax for regular expressions, see The Java
Tutorials: Regular Expressions on the Oracle website.
Example 1: Make all instances of an allergen name bold (case sensitivity)

You want all instances of the allergen name Peanuts within a text field to be bold,
regardless of case. You can accomplish this by using the following script in a Script
data source:
var field1=getField("/Body/Text0001");
field1.addEffect("BOLD","(?i)(peanuts)");

Example 2: Apply special formatting to the first character (matching by


range)

You want to format the first character in a field as bold, 16-point Letter Gothic
text. You can accomplish this by using the following script in a Script data source:
var field1=getField("/Body/Text0001");
var myStyleMap=field1.getStyleMap();

388 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

myStyleMap.add("FONT","Letter Gothic");
myStyleMap.add("SIZE","16");
myStyleMap.add("BOLD","");
field1.addStyleMulti(myStyleMap,0,0);

Tip: You can use a Character-Level format source to configure character-level


formatting instead. For more information, see " Configuring Format Sources" on
page 425.

Loftware Spectrum 3.0.1 User Guide 389


Designing Labels

Label Data Sources Properties


The following topics provide information about the properties of various types of label data
sources.
l "Date/Time Data Source Formats" on page 391
l "Formula Data Source Operations and Functions" on page 394
l "Inc/Dec Data Source Properties" on page 402
l "Triggers in Design" on page 419

390 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Date/Time Data Source Formats

Tip: If you are associating a Date/Time data source with a variable text field,
ensure that the value of Max Chars (controlled by Chars Per Line and # Lines)
for the variable text field is great enough to accommodate the length of the
resulting data.

Format Description Example


ddMMyy Date, month number, year 080512
d-MMM Date and month name 8-May
d-MMM-yy Date, month name, year 8-May-12
h:mm Hour and minutes 9:56
h:mm Hour and minutes with AM or PM suffix 9:56 AM
AM/PM
h:mm:ss Hours, minutes, seconds 9:56:04
h:mm:ss Hour, minutes, seconds with AM or PM suffix 9:56:04 PM
AM/PM
hhmm Hour and minutes in 24-hour format 0956
hhmmss Hour, minutes, seconds in 24-hour format 095604
M/d/yy Month number, date, two-digit year 5/8/12
M/d/yy Month number, date, two-digit year, hour, minutes 5/8/12 9:56
h:mm
MMddyy Month number, two-digit date, two-digit year with no 050812
separators
MM/dd/yy h:mm
Month number, two-digit date, two-digit year, hour, minutes 05/08/12
9:56
MM/dd/yyyy Month number, two-digit date, year 05/08/2012
MMddyyyy Month number, two-digit date, year with no separators 05082012
MMM-yy Month name, two-digit year May-12
WWyy Week of the month and two-digit year with no separator 0415
Custom Use the date and time symbols to create a custom data format.
Tip: After entering a custom format in the
Format field, click another field to refresh the
Date/Time Sample.

Placeholder Characters in Custom Date/Time Formats

You can also include static text by enclosing it in single quotation marks. You can include
symbols such as a colon, slash, or hyphen without quotation marks.

Loftware Spectrum 3.0.1 User Guide 391


Designing Labels

In general, entering a single placeholder character produces a value including the minimum
number of characters required. Using repeated placeholder characters typically specifies the
minimum number of characters to use and may produce leading zeros in numeric values.
Tip: If you require a placeholder for the Julian day, Julian date, or ordinal date, use
D, which produces the day number of the year.

Number of
Placeholder Description placeholders
to use
a Period of day, such as AM or PM 1 or 2
D Day of year 1 or 3
d Day of month 1 or 2
E Day of week 1, 3, or 4
Note: Use one or three characters to produce a
three-character day abbreviation, or four
characters to produce the full name of the day.
F Day of week in month. For example, if referring to the second 1
Thursday in a month, the F placeholder would produce a
value of 2.
G Era, such as A.D. or B.C. 1
H Hour of day using 24-hour format (0-23) 1 or 2
h Hour of day using 12-hour format (1-12) 1 or 2
K Hour of day using 12-hour format(0-11) 1 or 2
k Hour of day using 24-hour format (1-24) 1 or 2
M Month of year 1, 2, 3, or 4
Note: Use one or two characters to produce the
month number, three characters to produce a
three-character abbreviation, or four characters
to produce the full name of the month.
m Minute of hour 1 or 2
S Millisecond of second 1 or 3
s Second of minute 1 or 2
u Day of week using numeric format (1-7), such as 1 1
(representing Monday).
W Week of month 1
w Week of year 1 or 2

392 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Number of
Placeholder Description placeholders
to use
X ISO 8601 time zone, such as -04, -0400, or -04:00. 1, 2, or 3
Note: Use one character to produce a two-digit
time (hours only), two characters to produce a
four-digit time with no colon, or three
characters to produce a four-digit time including
a colon.
y Year 1, 2, or 4
Note: For a two-digit year, use two characters.
Otherwise, a four-digit year is displayed.
Z RFC 822 time zone, such as -0400. 1 or 5
z General time zone, such as Eastern Standard Time or EST. 1, 3, or 4
Note: Use one or three characters to produce a
three-character abbreviation, or four characters
to produce the full name of the time zone.

Loftware Spectrum 3.0.1 User Guide 393


Designing Labels

Formula Data Source Operations and Functions

The following tables describe the operations and functions that you can use when creating
formulas.
In this table, input refers to a field name, data source, or data service parameter.
Tip: For string concatenation, use the + operator. Note that & is not a valid
concatenation operator.

Formula Data Source Operations

Operation Description Syntax Example


+ Adds numeric values or <input1> {/Body/Text1} +
concatenates string + {/Body/Text2}
values. If the values <input2>
provided are numbers, If Text1=1 and Text2=2,
then the values are then the result is 12.
added. If the values
provided are strings, then num({/Body/Text1}) +
num({/Body/Text2})
the values are
concatenated. If Text1=1 and Text2=2,
(1 * {/Body/Text1}) + then the result is 3.
(1 * {/Body/Text2})
results in numeric
addition.
{/Body/Text1} +
{/Body/Text2} results
in string concatenation.
1 + {/Body/Text1}
results in numeric
addition.
{/Body/Text1} + 2
results in string
concatenation.
num({/Body/Text1}) +
num({/Body/Text2})
results in numeric
addition.
"" + 1 + 2 results in
string concatenation.
- Subtracts numeric values. <input1> - {/Body/Text01} -
<input2> {/Body/Text02}

394 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Operation Description Syntax Example


* Multiplies numeric <input1> {/Body/Text01} *
values. * {/Body/Text02}
<input2>
/ Divides numeric values. <input1> {/Body/Text01} /
/ {/Body/Text02}
<input2>
% Returns the remainder of <input1> {/Body/Text01} %
the division of two % {/Body/Text02}
numeric values <input2>
(modulus).
Parentheses Group values resulting ()
from one or more
operations.
Fixed Enclose a fixed string "<fixed_
String value. string>"
Trim Removes the character < {/Body/Text3}.trim
specified in parentheses input ("0")
and quotation marks from >.trim
both the left and the right ("<trim_ Removes all consecutive
of the input. If no char>") occurrences of the
character is supplied .trim character 0 from both
removes spaces from the sides of the input. If
left side and right side of Text3=010100, then the
the input. result is 101.
Left-Trim Removes the character < {/Body/Text3}.ltrim
specified in parentheses input ("0")
and quotation marks from >.ltrim
the left of the input. If ("<trim_ Removes all consecutive
no character is supplied, char>") occurrences of the
.ltrim will strip spaces character 0 from the
from the left side of the leftmost side of the input.
input. If Text3=010100, then
the result is 10100.

Loftware Spectrum 3.0.1 User Guide 395


Designing Labels

Operation Description Syntax Example


Right-Trim Removes the character < {/Body/Text3}.rtrim
specified in parentheses input ("0")
and quotation marks from >.rtrim
the right side of the ("<trim_ Removes all consecutive
input. If no character is char>") occurrences of the
supplied, .rtrim will strip character 0 from the
spaces from the right side leftmost side of the input.
of the input. If Text3=010100, then
the result is 0101.
Left-Pad Adds the character < {/DS_0000}.lpad
specified in parentheses input ("0",10)
and quotation marks onto >.lpad
the left side of the of the ("<pad_ Adds zeros to the left side
input until the result has char of the input until the total
the length specified after >",< length is 10 characters. If
the comma. length>) DS_0000=12345678,
then the result is
0012345678.

Right-Pad Adds the character < {/DS_0000}.rpad


specified in parentheses input ("0",10)
and quotation marks onto >.rpad
the right side of the input ("<pad_ Adds zeros to the right
string until the result has char side of the input until the
the length specified after >",< total length is 10
the comma. length>) characters. If DS_
0000=12345678, then
the result is 1234567800.
Left-String Returns the number of < {/DS_0001}.lstr(3)
characters specified in input>.lstr
parentheses from the left (<length>) Returns the first three
side of the input string. characters from the left
side of the input. If DS_
0001=12345, then the
result is 123.

396 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Operation Description Syntax Example


Right- Returns the number of < {/DS_0001}.rstr(3)
String characters specified in input>.rstr
parentheses from the (<length>) Returns the first three
right side of the input characters from the right
string. side of the input. If DS_
0001=12345, then the
result is 345.
Mid-String Returns a substring, < {/DS_0004}.midstr
starting at <position>, input (2,2)
with the length of >.midstr
<number_of_chars>. The (< Returns the second and
index count for position third characters. If DS_
<position> begins at 1. >,< 0004=ABCDE, then the
number_of_ result is BC.
chars>)
Spaces Returns a string, repeated spaces spaces(3,
a specified number of (<number_ {/Body/Text4})
times. If the input string of_
is not specified, the strings Returns three of the string
default value of a single >,< specified in the Text4
space is used and the input>) prompt. If Text4=0, then
specified number of the result is 000.
spaces is returned.

Loftware Spectrum 3.0.1 User Guide 397


Designing Labels

Operation Description Syntax Example


inString Returns the index of the {/Body/Text5}.inStr
specified occurrence of < ing("AB",4,2,0)
the specified substring input
within the input string, or >.inString Searches the string named
-1 if the substring is not (< Text5 from left to right,
found. The search begins substring_ beginning with the fourth
at the position of the to_find>, character. Returns the
start index and moves in <start_ numerical position of the
the direction specified. index>, second occurrence of the
The index count begins < substring AB. If
at 1, representing the occurrence>, Text5=ABCDEFGABCA
position of the character < B, then the result is 11.
at beginning of the string, direction>)
regardless of the start
index for the search. The
direction determines at
which end of the string
the index count begins.
For the direction, 0
indicates left to right, and
any number greater than
zero indicates right to
left.
The start index,
occurrence, and direction
values are optional. If
they are omitted, the
following default values
are used:
l Start index: 1

l Occurrence: 1

l Direction: 0 (left

to right)
Length Returns the number of < {/Body/Text6}.length
characters in the string. input
>.length If Text6=A1BC2, then
the result is 5.

398 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Operation Description Syntax Example


Num Forces a string containing num num({/Body/Text1}) +
only numeric characters (<input>) num({/Body/Text2})
to be interpreted as a
number. To produce If Text1=1 and Text2=2,
expected results, the then the result is 3.
string should include
only numeric data.
Formula Data Source Functions

Function Description Syntax


Duplicates The formula uses the number of duplicate labels to be printed, COPIES()
entered at print time, as its data.
Quantity The formula uses the number of labels to be printed, entered at QTY()
of Labels print time, as its data.
Example

In conjunction with an incrementing field, you


can use this feature to build a label counter (For
example, 1 of 5, 2 of 5) where the "of" count
automatically matches the number of labels
printed.
ASCII Inserts the ASCII character for the decimal value specified. ASCII_CHAR
Character (<input>)
ASCII Inserts an audible alert (bell) character. ASCII_BEL()
BEL
ASCII CR Inserts a carriage return. ASCII_CR()
ASCII Inserts a carriage return line feed. ASCII_CRLF
CRLF ()
ASCII Inserts an end of transmission. ASCII_EOT()
EOT
ASCII FF Inserts a form feed. ASCII_FF()
ASCII FS Inserts a file separator character, common in Maxi-Code. ASCII_FS()
ASCII GS Inserts a group separator character, common in Maxi-Code. ASCII_GS()
ASCII HT Inserts a tab character. ASCII_HT()
ASCII LF Inserts a line feed. ASCII_LF()
ASCII RS Inserts a record separator character. ASCII_RS()

Loftware Spectrum 3.0.1 User Guide 399


Designing Labels

Function Description Syntax


ASCII SO Inserts a Shift Out character to extend the graphic character ASCII_SO()
set.
ASCII US Inserts a unit separator character. ASCII_US()
FNC1 Inserts a Function 1 symbol character into the barcode. FNC1()
FNC2 Inserts a Function 2 symbol character into the barcode. FNC2()
FNC3 Inserts a Function 3 symbol character into the barcode. FNC3()
FNC4 Inserts a Function 4 symbol character into the barcode. FNC4()
Code Inserts a Code 128 Shift character for switching subsets. SHIFT()
128:Shift
Code Changes to Code A for processing the portion of the barcode CODEA()
128:Code that follows. Code A can include upper case alphabetic
A characters, numeric characters, and ASCII function calls.
Code Changes to Code B for processing the portion of the barcode CODEB()
128:Code that follows. Code B can include upper and lower case
B alphanumeric characters.
Code Changes to Code C for processing the portion of the barcode CODEC()
128:Code that follows. Code C can include numeric characters only.
C
Code Makes a standard Code 128 barcode and inserts a Function 1 CODEGS1()
128:Code symbol character.
GS1
Composite Inserts a vertical bar character that should be used to separate COMPDELIM
Delimiter the 2D portion and the linear portion in the data for a ()
composite barcode.
Mod 10 Inserts a Modulus 10 check character based on numeric input Mod10
enclosed in parentheses. (<
Note: The length parameter is optional. length
>,<input>)
Mod 43 Inserts a Modulus 43 check character based on the input Mod43
enclosed in parentheses. (<
Note: The length parameter is optional. length
>,<input>)
Mod 7 Inserts a Modulus 7 check character based on numeric input Mod7
enclosed in parentheses. (<
Note: The length parameter is optional. length
>,<input>)

400 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Function Description Syntax


GS1 Mod Inserts a Modulus 10 check character based on numeric input GS1Mod10
10 enclosed in parentheses. The result is the same regardless of (<
whether the Application Identifier is included in the input. length
Note: The length parameter is optional. >,<input>)

Loftware Spectrum 3.0.1 User Guide 401


Designing Labels

Inc/Dec Data Source Properties

An Inc/Dec data source alters a starting value by adding (incrementing) or subtracting


(decrementing) a consistent value. The following are the definitions and parameters that describe
an Inc/Dec data source. For information about creating an Inc/Dec data source, see "Create an
Inc/Dec Data Source" on page 317.
General Data

Property Description
Data Source Name The identifier assigned to the Inc/Dec data source.
Data Ref The data source used to populate a field with a value.
Definitions

Tip: When incrementing an alphanumeric series, by default the series begins


with zero, progresses through the numerical digits, and then progresses through
letters.
Property Description Values
Type Whether the count is Increment
increasing or decreasing. Decrement
Mode The type of characters in the CUSTOM: Characters
count. defined by the Custom
Sequence property
NUMERIC: Numeric
digits
UPPERCASE_
ALPHA: Uppercase
alphabetic characters
UPPERCASE_
ALPHANUM:
Uppercase alphanumeric
characters

402 Loftware Spectrum 3.0.1 User Guide


Configuring Label Data Sources

Property Description Values


Custom Sequence The order of succession for a Numeric digits,
character in the count. alphabetic characters,
For example, and symbols.
0123456789ABCDEF for a
hexadecimal digit.
Note: This
property is read-
only unless
CUSTOM is
selected for
Mode.
By Value The value by which to 0 to 9999
increment or decrement the
count.
Parameters

Important: If the data source is populated from a Prompt, you should ensure
that the Max Length field of the data source and the Max Chars field of the
Prompt contain the same value. The Max Chars field is automatically
calculated based on the Chars Per Line and # Lines fields.

Property Description Values


Start The source of the Fixed Start: The specified value
start value of the is used as the start value. The
count. default value is 1.
From Data Source: The value
of the selected data source is
used as the start value.
Min Value The lowest value of a 0 to 999999999
decrementing count. Default: 1
Max Value The highest value of 1 to 999999999
an incrementing
count.
Min Length The minimum 1 to 9
number of characters Default: 1
in the count.
Max Length The maximum 1 to 9
number of characters
in the count.

Loftware Spectrum 3.0.1 User Guide 403


Designing Labels

Property Description Values


After Print How the count is Reset Count: The count is
changed after a print returned to its start value.
command is issued. Update Count: The count is
incremented or decremented
unless the user manually changes
the start value.

404 Loftware Spectrum 3.0.1 User Guide


Form Rules Reference

Form Rules Reference


A form rule is an entry or a collection of entries that provides a form or an application with
enhanced functionality. You can use a form rule to add or change data or print parameters,
submit a print request, validate user credentials, open a label template, form, layout, image,
reusable object, application, business rule, or process in Design, open a URL in a web browser,
or close an application. Form rules are similar to business rules, but simpler to create. Form rules
are created on the Design page and are specific to a particular application or form. Some form
rules are available only in applications. The following tables summarize the purpose of each type
of form rule that you can use in LoftwareSpectrum.

Adding and Changing Data

Tip: For these types of form rules, within each form rule you can create multiple
form rule entries. Each form rule entry allows you to configure one data map
entry 1 or data ref2.

Rule Type Purpose Properties


File Selector Open a browser dialog box from which you can File Selector
select a file. Depending on the operation, the
contents of the selected file are imported to
the datamap or the contents of a data ref3 are
exported to the selected file.
Note: This type of form rule is
available only in applications.
Map Operations Add, remove, or change data map entries. Map Operations
Static Add default data to the datamap. Static

Submitting Jobs
Rule Type Purpose Properties
Job Request Submit a job4 request or job preview request Job Request
to the SpectrumApplicationServer.
Note: This type of form rule is
available only in applications.

1A name (key) and value pair in the data map for a job.
2Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
3Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
4What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.

Loftware Spectrum 3.0.1 User Guide 405


Designing Labels

Other Form Rules


Rule Type Purpose Properties
Close Application Close an application by submitting or Close Application
canceling.
Note: This type of form rule is
available only in applications.
Electronic Signature Validate user credentials. Electronic
Note: This type of form rule is Signature
available only in applications.
Focus Using a field name, set the focus to a particular Focus
field based on data entered or retrieved from
the datamap.
Note: This type of form rule is
available only in applications.
Hyperlink Open a label template, form, layout, image, Hyperlink
reusable object, application, business rule, or
process in Design, or open a URL in a new
browser window.
Note: This type of form rule is
available only in applications.
Message Open a pop-up dialog displaying text as entered Message
or retrieved from the datamap.
Note: This type of form rule is
available only in applications.

406 Loftware Spectrum 3.0.1 User Guide


Form Rules Reference

Close Application Form Rule


A Close Application form rule allows you to close an application by submitting or canceling.
Note: This type of form rule is available only in applications. Also, Close
Application form rules do not have form rule entries.

Note: Each form rule must have a name by which it is identified, and this name
must be unique within the form in which it appears. This name can be modified in
the Data Ref field of the form rule and is displayed in the Form Rules pane after
the rule has been created. For form rules that have form rule entries, this name is
for the entire rule.
The following are the properties for a Close Application form rule.
Value Description
Submit The application submits the workflow progression to the server.
Cancel The application cancels the current progression and remains in the
current step.

Loftware Spectrum 3.0.1 User Guide 407


Designing Labels

Electronic Signature Form Rule


An Electronic Signature form rule allows you to provide validation of credentials on a form in an
application.
Note: This type of form rule is available only in applications.

Note: Each form rule must have a name by which it is identified, and this name
must be unique within the form in which it appears. This name can be modified in
the Data Ref field of the form rule and is displayed in the Form Rules pane after
the rule has been created. For form rules that have form rule entries, this name is
for the entire rule.
The following are the properties for an Electronic Signature form rule entry.
Important! Content in a form rule is case sensitive.

Value Description
Username Data Ref The username of the user.
Password Data Ref The password of the user generating the signature.
Domain Data Ref The domain of the user.
Action Data Ref The action being performed for this signature.
Entity Data Ref The fully qualified name to the object1 being signed.
Entity Type Data Ref The type of object being signed.
Workflow Instance Data The workflow instance ID.
Ref
Comments Data Ref The comments to attach to the signature.
Submit Status Whether the signature will have a Sign or Reject status.
Target Token Data Ref Where the token from a successful signature will be added to the
data map.

1An item in Spectrum such as a role, group, user, business rule, application, workflow template, data service, form, image,
integration, job, label template, layout, device, device group, process, reusable object, facility, Remote Site, Spectrum Application
Server, or server process.

408 Loftware Spectrum 3.0.1 User Guide


Form Rules Reference

File Selector Form Rule


A File Selector form rule allows you to open a browser dialog box from which you can select a
file. Depending on the operation, the contents of the selected file are imported to the datamap
or the contents of a data ref1 are exported to the selected file.
Note: This type of form rule is available only in applications.

Note: Each form rule must have a name by which it is identified, and this name
must be unique within the form in which it appears. This name can be modified in
the Data Ref field of the form rule and is displayed in the Form Rules pane after
the rule has been created. For form rules that have form rule entries, this name is
for the entire rule.
The following are the properties for a FileSelector form rule.

Important! Content in a form rule is case sensitive.


Operation
The operation to perform on the Data Ref.
Value Description
Import Import the contents of the selected file to the following data map
entries:
l <DataRef>/data: The contents of the file.

l <DataRef>/filename: The name of the file.

l <DataRef>/filetype: The type of file.

Export Export the contents of the Data Ref to the selected file.
Data Ref
A reference to the location in the datamap to import data to or to export data from.
File Filter
The type or types of files permitted to display in the dialog box for selection. If allowing
multiple file types, use a semicolon as a delimiter. If a file type is not specified, all file types are
permitted.
Example
*.xml;*.csv;*.txt;

Note: This property is displayed only if Import is selected forOperation.


Type
The type of file being imported to or exported from the Data Ref.

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.

Loftware Spectrum 3.0.1 User Guide 409


Designing Labels

Value Description
Text The file is XML,CSV, or TXT format.
Other The file is a PDF or an image such as PNG, GIF, JPG, BMP, or
PCX.
Character Encoding
The type of encoding to use when converting the file to text. The default character encoding is
UTF-8.
Note: This property is displayed only if Import is selected forOperation and
Text is selected for Type.
Post Selection Rule or Pre Selection Rule
If selected, you can configure a trigger to run a form rule 1 or a business rule 2 after (for
import) or before(for export) a Data Provider 3 selects a file to import or export.
For Trigger Type, select whether to run a Form Rule or a Business Rule after a file is
selected. If running a form rule, select the name of the form rule. If running a business rule,
select the business rule and enter an event name that is specified by the business rule.

1An entry or a collection of entries that provides a form or an application with enhanced functionality. A form rule can add or change
data or print parameters, submit a print request, validate user credentials, open a label template, form, layout, image, reusable
object, or application in Design, open a URL in a web browser, or close an application. Form rules are similar to business rules, but
simpler to create. Form rules are created on the Design page and are specific to a particular application or form. Some form rules
are available only in applications.
2A collection of component sets or business rule components that can be used to incorporate logic or to add, change, or remove
data or print parameters after a print request is submitted but before printing occurs. Business rules are similar to form rules, but
provide more robust functionality. Business rules are created on the Process Design page and can be designed using the
Configurator or programmed using XML.
3Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

410 Loftware Spectrum 3.0.1 User Guide


Form Rules Reference

Focus Form Rule


A Focus form rule allows you to set the focus to a particular field (using the name of the field)
based on the data entered or retrieved from the datamap. For example, if a user enters invalid
data in a field and then performs an action to validate the data, the focus can be set to that field
for correction by the user.
Note: This type of form rule is available only in applications.

Note: Each form rule must have a name by which it is identified, and this name
must be unique within the form in which it appears. This name can be modified in
the Data Ref field of the form rule and is displayed in the Form Rules pane after
the rule has been created. For form rules that have form rule entries, this name is
for the entire rule.
The following are the properties for a Focus form rule.

Important! Content in a form rule is case sensitive.


Field Name Source
Whether the value in Field is literal or the reference to a data map entry.
Value Description
Literal The value in Field should be treated as a literal value and used in
its current form.
From Data Map The value in Field should be resolved to values in the datamap.
Field
The name of the field to set focus to, or the reference to a data map entry that contains the name
of the field to set focus to.

Loftware Spectrum 3.0.1 User Guide 411


Designing Labels

Hyperlink Form Rule


A Hyperlink form rule allows you to open a specific label template, form, layout, image, reusable
object, application, business rule, or process in Design or open a URL in a new browser
window from an application. The hyperlink is displayed in the application in Print.
Note: This type of form rule is available only in applications.

Note: Each form rule must have a name by which it is identified, and this name
must be unique within the form in which it appears. This name can be modified in
the Data Ref field of the form rule and is displayed in the Form Rules pane after
the rule has been created. For form rules that have form rule entries, this name is
for the entire rule.
The following are the properties for a Hyperlink form rule.

Important! Content in a form rule is case sensitive.


Target Source
Whether the value in the Target field is literal or the reference to a data map entry.
Value Description
Literal The value in the Target field should be treated as a literal value
and used in its current form.
From Data Map The value in the Target field should be resolved to values in the
datamap.
Target
The link to the document or location, or the reference to a data map entry that contains the link.
Important: URL targets must include the full web address. For example,
http://www.loftware.com/ or https://www.google.com/.

412 Loftware Spectrum 3.0.1 User Guide


Form Rules Reference

Job Request Form Rule


A Job Request form rule allows you to submit a print request or a preview request for a job1 to
the SpectrumApplicationServer. You can specify the process2 to use for the job request and
whether the request is only for a preview. You can specify whether a Print button is displayed in
a preview to a Data Provider 3.
Note: This type of form rule is available only in applications. Also, Job Request
form rules do not have form rule entries.

Note: Each form rule must have a name by which it is identified, and this name
must be unique within the form in which it appears. This name can be modified in
the Data Ref field of the form rule and is displayed in the Form Rules pane after
the rule has been created. For form rules that have form rule entries, this name is
for the entire rule.
The following are the properties for a Job Request form rule.
Important! Content in a form rule is case sensitive.
Job Request Options
Whether to allow preview requests, print requests, or both.
Process
The name of the process4 to use for a job request.
Target Folder Data Ref
The name of the job target folder to add to the data map5. If a target folder is not specified, the
default job target folder is added.
JobID Data Ref
The name of the job ID to add to the data map.

1What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
2An object in Spectrum that binds together all of the components to be used when responding to a print request. Among other
items, those components may include a label template, layout, device, and a business rule to be used when processing a print
request. Processes are created in the Process Design page.
3Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
4An object in Spectrum that binds together all of the components to be used when responding to a print request. Among other
items, those components may include a label template, layout, device, and a business rule to be used when processing a print
request. Processes are created in the Process Design page.
5A repository for the data for use when responding to a print request. Each data map entry is composed of a name (key) and a
value.

Loftware Spectrum 3.0.1 User Guide 413


Designing Labels

Map Operations Form Rule


A DataMap Operations form rule allows you to add, remove, or change a data map entry 1. It
does not return a value.
Note: Each form rule must have a name by which it is identified, and this name
must be unique within the form in which it appears. This name can be modified in
the Data Ref field of the form rule and is displayed in the Form Rules pane after
the rule has been created. For form rules that have form rule entries, this name is
for the entire rule.
The following are the properties for a DataMap Operations form rule entry.
Important! Content in a form rule is case sensitive.
Name (Data Ref)
The name of the data map entry to be added, removed, or changed in the datamap.
Value
The value of the data map entry to be added, removed, or changed in the datamap.
Operation
The operation to perform on the data map entry.
Value Description
PUT Add or change the specified data map entry.
DELETE If the specified data map entry exists, delete it. After deletion, requests for
that name return NULL or notExists.
Literal Value
The Literal Value attribute is a required Boolean value that indicates whether the value in
the data map entry specified by the operation should be treated as a literal value and used in
its current form, or whether the names of data map entries in the value should be resolved to
values in the datamap.
Value Description
false Resolve any names of data map entries within the value. That is, replace them
with their associated values from the datamap.
true Do not resolve any names of data map entries within the value. That is, use the
literal text.
Data Type
A description of the data returned by or referred to by the data map entry 2. The default

1A name (key) and value pair in the data map for a job.
2A name (key) and value pair in the data map for a job.

414 Loftware Spectrum 3.0.1 User Guide


Form Rules Reference

value is STRING.
Value Description
STRING The value is a text string. Any number included is treated as text.
INTEGER The value is a signed integer value.
NUMBER The value has a signed decimal value.
BOOLEAN The value has a value of true or false.
BINARY The value is an array of bytes.
DATE The value is a time value expressed in Epoch time 1.
Merge Policy
For a form rule entry, always select the default value, mergeAll.
Action
For a form rule entry that can return a value, this property determines whether that value
remains in the datamap when the form rule entry finishes running and returns control to its
parent form rule. The default value is override.
Note: The impact of a form rule entry returning control to its parent is also
affected by Merge Policy.

Value Description
override When control is returned to the parent, the value produced by the form rule
entry is retained for the data map entry, replacing any previous value for the
data map entry.
notExists When control is returned to the parent, the value produced by the form rule
entry is retained for the data map entry only if a data map entry with that
name did not exist prior to the execution of this form rule entry. Otherwise,
the previous value for the data map entry is reinstated.
delete When control is returned to the parent, the data map entry is deleted from
the datamap.
append If the data map entry existed before the form rule entry was run, then when
control is returned to the parent the new value for the data map entry is
concatenated onto the end of the old value.
prepend If the data map entry existed before the form rule entry was run, then when
control is returned to the parent the new value for the data map entry is
concatenated onto the beginning of the old value.

1The number of seconds since 00:00:00 UTC on 1 January 1970, not including leap seconds.

Loftware Spectrum 3.0.1 User Guide 415


Designing Labels

Tip: If you require more complex behavior than is available using a Map
Operations form rule, consider using a business rule that includes a mapOperations
business rule component. For more information about business rules, see
"Implementing Business Logic" on page 1181.

416 Loftware Spectrum 3.0.1 User Guide


Form Rules Reference

Message Form Rule


A Message form rule allows you to open a pop-up dialog displaying text as entered or retrieved
from the datamap.
Note: This type of form rule is available only in applications.

Note: Each form rule must have a name by which it is identified, and this name
must be unique within the form in which it appears. This name can be modified in
the Data Ref field of the form rule and is displayed in the Form Rules pane after
the rule has been created. For form rules that have form rule entries, this name is
for the entire rule.
The following are the properties for a Message form rule.
Important! Content in a form rule is case sensitive.
Title Source
Whether the value in Title is literal or the reference to a data map entry.
Value Description
Literal The value in Title should be treated as a literal value and used in
its current form.
From Data Map The value in Title should be resolved to values in the datamap.
Title
The title for the pop-up dialog, or the reference to a data map entry that contains the title for the
pop-up dialog.
Message Source
Whether the value in Message is literal or the reference to a data map entry.
Value Description
Literal The value in Message should be treated as a literal value and used
in its current form.
From Data Map The value in Message should be resolved to values in the
datamap.
Message
The text for the pop-up dialog, or the reference to a data map entry that contains the text for the
pop-up dialog.

Loftware Spectrum 3.0.1 User Guide 417


Designing Labels

Static Form Rule


A Static form rule allows you to add default data to the datamap as a data map entry 1.
Note: Each form rule must have a name by which it is identified, and this name
must be unique within the form in which it appears. This name can be modified in
the Data Ref field of the form rule and is displayed in the Form Rules pane after
the rule has been created. For form rules that have form rule entries, this name is
for the entire rule.
The following are the properties for a Static form rule entry.
Important! Content in a form rule is case sensitive.
Data Ref
A reference to a data map entry to be added to the datamap. A data ref is the data source
used to populate a field with a value.
Value
The value of the data map entry to be added to the datamap.
Data Type
A description of the data returned by or referred to by the data map entry 2. The default
value is STRING.
Value Description
STRING The value is a text string. Any number included is treated as text.
INTEGER The value is a signed integer value.
NUMBER The value has a signed decimal value.
BOOLEAN The value has a value of true or false.
BINARY The value is an array of bytes.
DATE The value is a time value expressed in Epoch time 3.
Merge Policy
For a form rule entry, always select the default value, mergeAll.
Tip: If you require more complex behavior than is available using a Static form
rule, consider using a business rule that includes a Static business rule component.
For more information about business rules, see "Implementing Business Logic" on
page 1181.

1A name (key) and value pair in the data map for a job.
2A name (key) and value pair in the data map for a job.
3The number of seconds since 00:00:00 UTC on 1 January 1970, not including leap seconds.

418 Loftware Spectrum 3.0.1 User Guide


Triggers in Design

Triggers in Design
Loading a form, clicking a button, selecting an option from a drop-down list, or submitting text
via a prompt is an event that can serve as a trigger 1 to run a label data source 2, a form rule 3,
or a business rule 4.
In Design, you can configure triggers for Database data sources and Alternate data sources. You
can use either of the following approaches to select a trigger for a data source.
lWhile you are configuring a data source, you can configure triggers that can be used to
run the data source. This approach is convenient if you want to use an existing Button5
field, an existing Prompt6 field, a form 7, or the Form view8 of the label template as a
trigger source 9.
l While you are configuring a Button field, a Prompt field, a form, or the Form view of a

label template, you can configure that item to be a trigger source for a data source. This
approach is convenient if the data source was created before the trigger source existed, or
if you are not familiar with the name of the trigger source.
You can also configure triggers for form rules and business rules. You can use any of the
following approaches to select a trigger for a rule.
l While you are configuring an application, you can configure triggers that can be used to
run a rule. You can associate a trigger with the loading of the application or with the
loading of a specific form. This approach is convenient if you want to use an existing
form or the Form view of a label template as a trigger source.

1A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
2An item that specifies the origin of data used to fill variable fields in a label template. Types of label data sources are displayed in
the Data Sources pane in Design.
3An entry or a collection of entries that provides a form or an application with enhanced functionality. A form rule can add or change
data or print parameters, submit a print request, validate user credentials, open a label template, form, layout, image, reusable
object, or application in Design, open a URL in a web browser, or close an application. Form rules are similar to business rules, but
simpler to create. Form rules are created on the Design page and are specific to a particular application or form. Some form rules
are available only in applications.
4A collection of component sets or business rule components that can be used to incorporate logic or to add, change, or remove
data or print parameters after a print request is submitted but before printing occurs. Business rules are similar to form rules, but
provide more robust functionality. Business rules are created on the Process Design page and can be designed using the
Configurator or programmed using XML.
5A type of control or document field in the data entry view of a label template or in a form that can be used to run a data source
query, a form rule, or a business rule when clicked by a Data Provider.
6A type of control or document field used to collect information from a Data Provider in the data entry view of a label template or in
a form. When a Data Provider submits data via a prompt, a data source query, a form rule, or a business rule may be run.
7The interface for data entry by a data provider. A form is a separate object in Spectrum, but it can be combined with a label
template so that the form serves as the Form view for the label template.
8The portion of a label template that includes any interface for data entry by a data provider. It can be configured in the Form view
in Design.
9A field that is used in conjunction with a trigger event to interactively run a data source, form rule, or business rule. For example, a
button that runs a query when clicked, a prompt that runs a query when submitted, or a form that runs a query when loaded.

Loftware Spectrum 3.0.1 User Guide 419


Designing Labels

l While you are configuring a form, you can configure triggers that can be used to run a rule
or data source. This approach is convenient if you want to use an existing form or the
Form view of a label template as a trigger source. You can also use controls in the form,
such as Button fields and Prompt fields, as trigger sources.
l While you are configuring a control field in a form, you can configure triggers that can be

used to run a rule or data source. This approach is convenient if you want the click of a
button, the selection of an option, or the submission of text to act as the trigger to run a
form rule, business rule, or data source.
l If you design business rules by using the Configurator in Process Design, while you are

configuring a business rule you can configure triggers that can be used to run specific
component sets. For more information, see "Triggers in Configurator" on page 460.
l If you program business rules by using XML in Process Design, while you are

configuring a business rule you can configure triggers that can be used to run specific
business rule components. For more information, see "Triggers and Events" on page
1346.
In addition to being associated with a data source, form rule, or business rule, each trigger in
Design also has trigger source 1, trigger event2, trigger priority 3, and in some cases a
trigger type 4 or a trigger key 5. Triggers do not have names, so when viewing a list of triggers
associated with a particular data source, form rule, or business rule, they are differentiated by
trigger source. When viewing a list of triggers associated with a particular trigger source, they are
differentiated by data source or rule.

Trigger Sources and Trigger Events


The following trigger sources and trigger events can be used if a label template is intended to
support on-demand printing.
Trigger
Trigger
Source Description
Event
Type
Button onClick The onClick event occurs when the Button field specified as
field the Trigger Source is clicked by an interactive user in Print.

1A field that is used in conjunction with a trigger event to interactively run a data source, form rule, or business rule. For example, a
button that runs a query when clicked, a prompt that runs a query when submitted, or a form that runs a query when loaded.
2An event that is used in conjunction with a trigger source to run a data source, form rule, or business rule. For example, clicking a
button, entering text at a prompt, loading a form, or submitting a job.
3The order in which data sources, form rules, or business rules that have otherwise identical triggers are run. Trigger values are
compared only if the triggers have the same trigger source, trigger event, and trigger key (if any). The type of data source is
irrelevant. Among data sources, form rules, or business rules with otherwise identical triggers, the data source with the lowest
value for trigger priority is run first.
4Whether the trigger is for a form rule, business rule, or a data source.
5The name of a data map entry used as part of a data source trigger that has a Do Not Run trigger source. If the trigger key exists
in the data map, then no trigger is permitted to run the data source. If the trigger key does not exist, then other triggers can run
the data source. In either case, the value of the data map entry is not relevant.

420 Loftware Spectrum 3.0.1 User Guide


Triggers in Design

Trigger
Trigger
Source Description
Event
Type
Check Box onChange The onChange event occurs when the Check Box field
field specified as the Trigger Source is selected or cleared by an
interactive user in Print.
Drop- onChange The onChange event occurs when an interactive user in
Down List Print changes which option is selected in the Drop-Down
field List field that is specified as the Trigger Source.
Device onChange The onChange event occurs when an interactive user in
Selector Print selects a device by using the Device Selector field
field specified as the Trigger Source.
Folder onChange The onChange event occurs when an interactive user selects
Selector a folder by using the Folder Selector field specified as the
field Trigger Source.
Label onChange The onChange event occurs when an interactive user selects
Selector a label by using the Label Selector field specified as the
field Trigger Source.
Radio onChange The onChange event occurs when an interactive user in
Button Print changes which option is selected in the Radio Button
Group field Group field that is specified as the Trigger Source.
Prompt onCommit The onCommit event occurs when text entered in the
field Prompt field specified as the Trigger Source is submitted to
Spectrum by an interactive user in Print.
Note: After an interactive user has typed text
into the field, clicking to another field, tabbing
to another field, or pressing the Enter key
submits the text in the Prompt field to
Spectrum.
User onChange The onChange event occurs when an interactive user selects
Selector a user by using the User Selector field specified as the
field Trigger Source.

Loftware Spectrum 3.0.1 User Guide 421


Designing Labels

Trigger
Trigger
Source Description
Event
Type
Text Box onCommit The onCommit event occurs when text entered in the Text
Prompt Box Prompt field specified as the Trigger Source is
field submitted to Spectrum by an interactive user in Print.
Note: After an interactive user has typed text
into the field, clicking to another field, tabbing
to another field, or pressing the Enter key
submits the text in the Text Box Prompt field to
Spectrum.
Table field onDoubleClick The onDoubleClick event occurs when an interactive user in
Print double-clicks the Table field specified as the Trigger
Source.
Application onLoad The onLoad event occurs when the application specified as
the Trigger Source is loaded in Print for an interactive user.
Note: The onLoad event occurs when an
interactive user initially displays an application,
refreshes an application, or clears an application.
Form onLoad The onLoad event occurs when the form or Form view
(typically named /Body) specified as the Trigger Source is
loaded in Print for an interactive user.
Note: You cannot add form rules to the Form
view of a label template.

Note: The onLoad event occurs when an


interactive user initially displays a form,
refreshes a form, or clears a form.
The following trigger source and trigger event are used only if a label template must support
both on-demand printing and integrations.

422 Loftware Spectrum 3.0.1 User Guide


Triggers in Design

Trigger Trigger
Description
Source Event
Do Not Run
Label This type of trigger allows you to prevent a data source from being run
by any trigger if the data map entry 1 with the name specified as the
Trigger Key exists. If the trigger key does not exist, then other triggers
can be used to run the data source. The value of the data map entry does
not affect this behavior.
You should ensure that the trigger key exists when the data source is
run by an integration, and does not exist when the data source is run by
an interactive user. If the label template is not required to support both
on-demand printing and integrations, then this type of trigger source is
not necessary.
Important! For an integration, if the data map entry
specified for Trigger Key does not exist in the print
request, then the data source is queried and the first row
of data is automatically returned. This occurs regardless of
whether Auto Select First Row and Auto Select Single
Row Result are selected.

Trigger Priority
Assigning values for Trigger Priority is necessary only if more than one data source or rule
associated with a label template or a form includes a trigger with the same trigger source, trigger
event, and trigger key (if any). In that situation, you can assign different values for Trigger
Priority for these otherwise identical triggers, and the data source or rule with the lower value
for Trigger Priority is run first. For data sources, whether the type of data source differs has no
effect.
Trigger Priority values for data sources are not compared with Trigger Priority values for
form rules and business rules. Regardless of their Trigger Priority values, all data sources are
run before any rules are run.
For a form that is used in an application, Trigger Priority values of rules created at the
application level are not compared with Trigger Priority values of rules created at the form
level. All rules configured for the form at the application level are run before rules configured at
the form level.
Note: When viewing Form properties within an application, only form rules that
were created within the application are displayed. Although not displayed, form
rules that were created in the form are run when the form is used by an application.

1A name (key) and value pair in the data map for a job.

Loftware Spectrum 3.0.1 User Guide 423


Designing Labels

Trigger Priority values are only compared if trigger source, trigger event, and trigger key (if
any) are the same.
Tip: Trigger priorities can be set only while configuring data sources or rules, and
are not required to be unique.
Example

A label template includes a Database data source (DS_DB01) and an Alternate data
source (DS_Alt01). Each data source includes a trigger with a Trigger Source of
/Body and a Trigger Event of onLoad. Because you want the Database data
source to be queried before the Alternate data source, you set the Trigger
Priority for DS_DB01 to 10, and for DS_Alt01 to 20. Although each data source
may also have other triggers, their priorities are not compared with these triggers.
Best Practices

When assigning values for Trigger Priority, it is recommended that you avoid
using adjacent integers so that it is easier to add intermediate values if necessary. In
the preceding example, if you later discover that you need to add a third data
source and need to cause it to run after DS_DB01 but before DS_Alt01, you can
do so without having to change the existing trigger priorities. Also, for a particular
form or label template, it is recommended that you use unique integers for
Trigger Priority values that can be compared.

424 Loftware Spectrum 3.0.1 User Guide


Configuring Format Sources

Configuring Format Sources


In a label template in LoftwareSpectrum, you can configure format sources, which serve as
formatting specifications that can be applied to text fields. Format sources allow you to
configure formatting once, and then apply it to as many fields in the label template as needed.
By using a Character-Level format source, you can format some characters within a Variable Text
field or a Fixed Text field differently from other characters within the field. Each format source
can include formatting for multiple styles and effects.
You can apply the following effects:
l Bold
l Italic

l Strikethrough

l Subscript

l Superscript

l Underline

Also, you can apply the following styles:


l Background color (fill color)
l Foreground color (text color)

l Font

l Font size

Note: Character-level formatting is supported for TrueType fonts only. Also,


you cannot use a Character-Level format source to format the human readable text
associated with a barcode or to format fields in the data entry form of a label
template.

Tip: You can use a Script data source to configure character-level formatting
instead. For more information, see "Creating Script Data Sources" on page 321.

Loftware Spectrum 3.0.1 User Guide 425


Designing Labels

Create a Character-Level Format Source


In a label template in LoftwareSpectrum, you can format spans of text within a Variable Text
field or a Fixed Text field separately by using format sources. Character-level formatting that you
configure will override field-level formatting for text fields.
Note: Character-level formatting is supported for TrueType fonts only. Also,
you cannot use a Character-Level format source to format the human readable text
associated with a barcode or to format fields in the data entry form of a label
template.
1. In Design, open an existing label template or create a new label template.
2. Expand the Format Sources pane.
3. Click Character-Level, and click Add Format Source . The Character-Level
Format Source dialog box is displayed.
4. For Format Name, enter a descriptive name by which the format source can be
identified. This name will be displayed in a list in the Format Sources pane.
Note: The name of a format source can include letters and numbers.
Additionally, the following characters are permitted but cannot begin or end
the name: hyphens, underscores, and periods.

426 Loftware Spectrum 3.0.1 User Guide


Configuring Format Sources

5. Use one of the following approaches to specify characters to be formatted.


n To specify a span of literal text or to use a regular expression to indicate the
characters to be formatted, click the Patterns tab and then click Add. For
Pattern/Regular Expression, enter the literal text to be formatted or a regular
expression that indicates the characters to be formatted.
Important! Patterns for character-level formatting and for values
returned from data map entries are governed by the Java syntax for
regular expressions.
Escape sequences are required for the following characters. Precede
the character with a backslash.
<>()[]{}|^-=+*$!?.\
By default, literal text within a pattern is case sensitive. You can
make a pattern case insensitive by beginning it with the special
construct (?i). If you configure both patterns and ranges in a
Character-Level format source, ranges are resolved before patterns.
For more information about Java syntax for regular expressions, see
The Java Tutorials: Regular Expressions on the Oracle website.
nTo specify a range of text by using a numeric range of character positions within
the text field, click the Ranges tab and then click Add. For Start, enter the
position of the first character to format. For End, enter the position of the last
character to format.
6. Click the cell in the Style/Effect column and select a style or effect to apply. If you
have selected a style, you must also specify a value. For more information, see "
Character-Level Format Source Properties" on page 431.
7. Configure additional patterns and ranges as needed.
Tip: You can include multiple styles and effects in each format source, and
you can apply multiple format sources to each text field. Also, you can apply
a format source to multiple text fields.

Loftware Spectrum 3.0.1 User Guide 427


Designing Labels

8. If you have included multiple patterns or multiple ranges and if the order of
implementation matters, arrange the items so that they are in the intended order of
implementation. The top item is implemented first. To change the order of
implementation, drag and drop an item within the list, or click a list heading to sort the
list.
Important! The order in which patterns or ranges are displayed determines
the order in which they are implemented. Sorting the list of patterns or
ranges changes the implementation order. If you configure both patterns
and ranges in a Character-Level format source, ranges are resolved before
patterns.

Note: If more than one value for a style (such as 12 and 14 for Font Size) is
applied to the same character, the last value applied is used. If multiple
effects (such as Bold and Italic) are applied to a the same character, all of
the effects are used.

Note: Character-Level format sources override field-level formatting, which


is configured in the Properties pane. Script data sources override
Character-Level format sources and field-level formatting.
9. Click OK.
In the Format Sources pane, expand the Character-Level section to display the Character-
Level format sources that you created. To apply a Character-Level format source to a text field,
you can drag the format source onto a Variable Text field or a Fixed Text field in the Label
view.
Note: The impact of character-level formatting is not displayed in Design. You
can determine whether a Character-Level format source has been applied to a text
field by clicking the text field and viewing the Properties pane. View the Format
Sources section for a list of the format sources applied to the text field. Also, the
impact of character-level formatting is displayed in Print when previewing a label.

428 Loftware Spectrum 3.0.1 User Guide


Configuring Format Sources

Examples of Character-Level Formatting


The following are some examples of configuring character-level formatting.
Important! Patterns for character-level formatting and for values returned from
data map entries are governed by the Java syntax for regular expressions.
Escape sequences are required for the following characters. Precede the character
with a backslash.
<>()[]{}|^-=+*$!?.\
By default, literal text within a pattern is case sensitive. You can make a pattern
case insensitive by beginning it with the special construct (?i). If you configure
both patterns and ranges in a Character-Level format source, ranges are resolved
before patterns.
For more information about Java syntax for regular expressions, see The Java
Tutorials: Regular Expressions on the Oracle website.

Tip: You can include multiple styles and effects in each format source, and you can
apply multiple format sources to each text field. Also, you can apply a format
source to multiple text fields.

Example 1: Make all instances of an allergen name bold (case sensitivity)


You want to all instances of the allergen name Peanuts to be bold, regardless of case. You can
accomplish this by using a Character-Level format source that you create in Design.
1. When configuring the format source, on the Patterns tab click Add.
2. For Pattern/Regular Expression, enter (?i)(peanuts).
3. Click the cell in the Style/Effect column and select Bold.
4. Click OK.
5. In the Format Sources pane, click Character-Level to expand the list.
6. Drag and drop the format source (identified by the name that you entered as the Format
Name) onto each a Fixed Text or Variable Text field in the Label view in which the
product name may appear.

Example 2: Apply special formatting to the first character (matching by range)


You want to format the first character in a text field as bold, 16-point Letter Gothic text. You
can accomplish this by using a Character-Level format source that you create in Design.
1. When configuring the format source, on the Ranges tab click Add.
2. For Start, enter 1, and for End enter 1.
3. Click the cell in the Style/Effect column and select Bold.
4. Add another item with the same range, but for Style/Effect select Font and for Value
enter Letter Gothic.

Loftware Spectrum 3.0.1 User Guide 429


Designing Labels

5. Add another item with the same range, but for Style/Effect select Font Size and enter
16.
6. Click OK.
7. In the Format Sources pane, click Character-Level to expand the list.
8. Drag and drop the format source (identified by the name that you entered as the Format
Name) onto each a Fixed Text or Variable Text field in the Label view to which you
want to apply this formatting.

430 Loftware Spectrum 3.0.1 User Guide


Configuring Format Sources

Character-Level Format Source Properties


You can configure the following properties of a Character-Level format source to format text
within Variable Text or Fixed Text fields.
Note: Character-level formatting is supported for TrueType fonts only. Also,
you cannot use a Character-Level format source to format the human readable text
associated with a barcode or to format fields in the data entry form of a label
template.

Note: The impact of character-level formatting is not displayed in Design. You


can determine whether a Character-Level format source has been applied to a text
field by clicking the text field and viewing the Properties pane. View the Format
Sources section for a list of the format sources applied to the text field. Also, the
impact of character-level formatting is displayed in Print when previewing a label.

Note: If you configure both patterns and ranges in a Character-Level format


source, ranges are resolved before patterns.

Tip: You can use a Script data source to configure character-level formatting
instead. For more information, see "Creating Script Data Sources" on page 321.

Loftware Spectrum 3.0.1 User Guide 431


Designing Labels

General Data

Property Description
Format A name by which to identify the format source. The name that you enter is used
Name to identify the format source in the Format Sources pane and in the
Properties pane for text fields to which it is applied.
Note: The name of a format source can include letters and
numbers. Additionally, the following characters are permitted but
cannot begin or end the name: hyphens, underscores, and periods.

432 Loftware Spectrum 3.0.1 User Guide


Configuring Format Sources

Patterns

You can use alphanumeric text without punctuation or use a regular expression (which can
include punctuation) to specify text to which a style or effect should be applied. For examples,
see " Examples of Character-Level Formatting" on page 429.
Property Description
Pattern/Regular A pattern that identifies the text to which a style or effect should be
Expression applied.
Important! Patterns for character-level formatting and for
values returned from data map entries are governed by the
Java syntax for regular expressions.
Escape sequences are required for the following characters.
Precede the character with a backslash.
<>()[]{}|^-=+*$!?.\
By default, literal text within a pattern is case sensitive. You
can make a pattern case insensitive by beginning it with the
special construct (?i). If you configure both patterns and
ranges in a Character-Level format source, ranges are
resolved before patterns.
For more information about Java syntax for regular
expressions, see The Java Tutorials: Regular Expressions on
the Oracle website.

Loftware Spectrum 3.0.1 User Guide 433


Designing Labels

Ranges

You can use a numeric range of character positions within a text field to specify text to which a
style or effect should be applied. For examples, see " Examples of Character-Level Formatting"
on page 429.
Property Description
Start The position of the first character to which the style or effect should be applied.
Important! The first position in a text field is 1. In languages that
are read left to right, this is the leftmost position. In languages that
are read right to left, this is the rightmost position.
End The position of the last character to which the style or effect should be applied.
Tip: To apply formatting from the start of the range to the end of
the text field, enter a number that is greater than or equal to the
value of Max Chars for the text field.

434 Loftware Spectrum 3.0.1 User Guide


Configuring Format Sources

Style/Effect and Value

For the text specified by a pattern, regular expression, or range, you can configure a style or an
effect to be applied. For styles, you must provide the value to be implemented.
Style/Effect Description Value
Bold Apply a bold, italic, strikethrough, Not used.
Italic subscript, superscript, or underline
Strikethrough formatting effect to the text.
Subscript
Superscript
Underline
Background Apply the specified fill color. The RGB color in hexadecimal
Color format, or any of the following
color names:
BLACK
BLUE
CYAN
GRAY
DARK_GRAY
LIGHT_GRAY
GREEN
MAGENTA
ORANGE
Foreground Apply the specified text color. PINK
Color RED
WHITE
YELLOW
Note: Color
names are not case
sensitive.
Examples

GRAY
#CCCCCC
Font Apply the specified font to the text. The name of the font.
Example

Arial

Loftware Spectrum 3.0.1 User Guide 435


Designing Labels

Style/Effect Description Value


Font Size Apply the specified font size to the text. The font size in points.
Example

12

436 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Designing Business Rules with the Configurator


You can use the Business Rule Configurator to design business logic to perform tasks in
Spectrum beyond what can easily be incorporated into data sources in a label template. For
example, you can create business rules to dynamically select devices and label templates, to
populate label data, or to apply conditional formatting to labels. You can also create a business
rule to generate related labels from one label template, such as producing a bill of lading for a
shipment and a label for each item in the shipment.

What Processes and Business Rules Are


A process is an object in Spectrum that binds together all of the components to be used when
responding to a print request. Among other items, those components may include a label
template, layout, device, and a business rule to be used when processing a print request.
A business rule is a collection of component sets or business rule components that can be used
to incorporate logic or to add, change, or remove data or print parameters after a print request is
submitted but before printing occurs. Business rules are similar to form rules, but provide more
robust functionality. Business rules can be designed using the Configurator or programmed using
XML.
Note: If you require that a business rule have additional capabilities or flexibility
beyond what is possible by using Configurator, a programmer can use XML to
develop a business rule. This is also the approach that must be used for editing any
business rules created prior to Spectrum 3.0. For more information, see
"Implementing Business Logic" on page 1181.

Note: To create or edit business rules, you must have the permissions necessary to
view Process Design. Contact an administrator to request access if necessary. If
you are an administrator, see "Configuring Access for Processes and Business
Rules" on page 1186.

Loftware Spectrum 3.0.1 User Guide 437


Designing Labels

Getting Started with Business Rules in Configurator


Before you begin, you must research the decision points, constraints, and sources of data that
impact labels and printing in your scenario. Based on your research, determine what approach to
use and what components you need.
If you have identified a need for business logic beyond what can easily be incorporated into data
sources in a label template, then you should consider using processes and business rules to fulfill
that need.

Create a Business Rule


If you have identified a need for business logic beyond what can be incorporated into data
sources, create a business rule to provide what you need. It is recommended that you design a
business rule by using the Configurator. However, if you have programming experience, you can
create a business rule in a text editor intended for use with extensible markup language (XML),
and then copy and paste the business rule into Spectrum.

Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.
You can use the examples of business rules provided in this guide as a starting point for creating
a business rule to meet your needs. For more information, see "Examples of BusinessRules
Using Configurator" on page 450.
If you need to incorporate different functionality than what is shown in the examples, refer to
the Configurator Reference for information about creating and configuring component sets. For
more information, see "Business Rule Configurator Reference" on page 459.
When you are ready to create a business rule in Spectrum, see "Create a Business Rule in
Configurator" on page 440.

Use a Process
If you have created a business rule or if you want to override the label template, layout, or
device to be used when processing a print request, a Spectrum administrator can create a process
to run the business rule or to specify overriding values.
Note: If the process is intended to be run by a Data Provider in Print rather than
by using an integration, then either an administrator must ensure that the process
specifies a label template to be used or else you must ensure that the business rule
run by the process specifies a label template to be used.

438 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Use an Integration
Unless the process that runs your business rule is intended to be run only by a Data Provider 1
in Print, a Spectrum administrator must use an integration to route print requests initiated by
users in Oracle, SAP applications, or other applications so that they are processed and printed
using Spectrum.

Test the Business Rule


After you have completed any configuration that includes a business rule, you should test the
result to ensure that the output produced contains the expected data, is formatted correctly, and
is routed to the intended device.
A Spectrum administrator must ensure that users who are expected to run or to view the status
of a business rule are granted the role-based permissions and the object access permissions they
require. This includes not only permissions to access processes and business rules, but also
permissions to access objects with which those processes and business rules interact.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 439


Designing Labels

Create a Business Rule in Configurator


Before you begin creating a business rule 1 for use with LoftwareSpectrum, you should
identify the decision points, constraints, and sources of data that impact labels and printing. If
you identify a need for business logic beyond what can easily be incorporated into data sources
in a label template, then you may need a business rule. You can use the information that you
have collected about your organization's procedures for printing labels to create business rules to
support those procedures.

1A collection of component sets or business rule components that can be used to incorporate logic or to add, change, or remove
data or print parameters after a print request is submitted but before printing occurs. Business rules are similar to form rules, but
provide more robust functionality. Business rules are created on the Process Design page and can be designed using the
Configurator or programmed using XML.

440 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

A Component Set: A Trigger and Component Blocks

Each business rule created in the Configurator view is composed of one or more component
sets. Each component set consists of a trigger 1 and one or more component blocks. When a
process2 runs a business rule, a particular component set within it is run when the event that
serves as its trigger occurs. For example, if the trigger for a component set is Job Submission,
then that component set is run if and when a job is submitted.
Each component set can contain component blocks, each of which performs an action. For
example, a Get First Row block can retrieve a row from the result of a query of a JDBC data
service and save it to the data map3.
You can use a reusable rule 4 to add a commonly-used component set to a business rule. For
information about creating reusable rules, see "Create a Reusable Rule" on page 446.

1A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
2An object in Spectrum that binds together all of the components to be used when responding to a print request. Among other
items, those components may include a label template, layout, device, and a business rule to be used when processing a print
request. Processes are created in the Process Design page.
3A repository for the data for use when responding to a print request. Each data map entry is composed of a name (key) and a
value.
4A special type of business rule from which a component set can be copied into a business rule. After a component set is added to a
business rule in this manner, it can be edited as a normal part of the business rule. Editing a reusable rule does not alter business
rules into which a component set from the reusable rule has already been added.

Loftware Spectrum 3.0.1 User Guide 441


Designing Labels

Component Block Order

Within each component set, the component blocks are run in the order in which they are
displayed in Configurator. You can drag and drop component blocks to rearrange their order.
Note: If you require that a business rule have additional capabilities or flexibility
beyond what is possible by using Configurator, a programmer can use XML to
develop a business rule. For more information, see "Implementing Business Logic"
on page 1181.

442 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Create a Business Rule

To use the Configurator to add a business rule to Spectrum, do the following.


1. Click Process Design.
2. Click File > New > Business Rule or click the New Business Rule button in the
toolbar to create a new business rule.
3. In the Properties pane, enter a Description of the business rule, including its purpose.
4. Name the business rule by performing the following steps.
a. Click File > Save or click the button in the toolbar to save the business rule.
b. In the left pane of the Save Business Rule dialog box, click the folder in which
you want to save the business rule. You can double-click a folder to display
subfolders.
c. Enter a name for the business rule in the Business Rule Name box.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses,
square brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-
colons, and tildes. Additionally, the following characters are permitted but cannot
begin or end the name: spaces, double quotes, single quotes, hyphens,
underscores, periods, and grave accents. For letters, the case that you specify is
displayed, but case is ignored when Spectrum interprets a name.
5. Create component sets by performing the following steps.
a. In the Triggers list in the Library pane, click the event that causes the
component set to run, and drag the event to the Business Rule Summary in the
Configurator section. A box representing the component set, named for the
event that serves as the trigger for it, is displayed in the Business Rule
Summary.
Tip: For information about each type of event that can serve as a
trigger, see "Triggers in Configurator" on page 460.
b. Repeat for each event that you want to trigger a component set in this business
rule. The name of each event must be unique within the Business Rule
Summary.
Tip: To delete a component set (including its trigger and any
component blocks), select the trigger of the component set that you
want to delete, and then click the button in the toolbar.

Loftware Spectrum 3.0.1 User Guide 443


Designing Labels

6. Rename the trigger of any component set that is triggered by a Custom event by
performing the following steps.
Tip: The name of a Custom trigger must match the name of a Custom event
so that an occurrence of the event can cause the component set to run.
Alternatively, you can run a Custom component set without an occurrence
of the Custom event by using a Run Another Component Set or Run
Another Business Rule block.
a. Double-click the component set (identified by trigger name) to display the Block
Details view.
b. In the Block Details view, click the name of the trigger, enter an appropriate
event, and press Enter to update the name of the trigger.
c. Click to return to the Business Rule Summary.
d. Repeat for each component set that is triggered by a Custom event.

444 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

7. Create component blocks that perform actions within a component set by performing the
following steps.
a. Select a component set and click in the toolbar, or double-click a component
set, to display the BlockDetails view.
b. If you want to add the component blocks from a reusable rule, expand Reusable
Rules in the Library pane and drag a reusable rule onto the canvas. If the reusable
rule contains more than one component set, you are prompted to select one.
Tip: You can modify the copy of the reusable rule in your business
rule as needed.
c. If you want to add a new component block, from the Library pane, drag a
component block representing an action to perform to the Block Details view.
Tip: For information about each type of component block and its
properties, see "Component Blocks" on page 463.
d. In the Block Details view, configure the properties of the new component block.
Best Practice: It is suggested that you click File > Save or click the
button in the toolbar to save the business rule after adding each
component block.
e. Drag and configure any additional component blocks needed to perform actions
for the component set. The component blocks within a component set run in
order beginning with the one at the top. You can drag and drop the component
blocks in Block Details view to change the order in which they run.
Tip: To delete a component block, select the component block, and
then click the button in the toolbar.

f. Click to return to the Business Rule Summary.


g. Repeat for each component set.
8. Click File > Save or click the button in the toolbar.
Next, a process must be created to run the business rule and receive data from it.
l If you are not responsible for creating processes, contact an administrator, provide the
fully-qualified name of the business rule that you created, and request the creation of a
process to run the business rule.
l If you are responsible for creating processes, create a process and configure it to run the
business rule. For more information, see "Create a Simple Process" on page 1192, "Create
a Generator Process" on page 1194, or "Create a Reprint Process" on page 1196.

Loftware Spectrum 3.0.1 User Guide 445


Designing Labels

Create a Reusable Rule


You can create a reusable rule to allow Document Designers who create business rules in
Configurator to add a commonly-needed component set1 to business rules. After you create
and save a reusable rule, it is displayed in the Library in Process Design so that it is available
for use in business rules.
Note: Changes made to a reusable rule are not reflected in copies already
incorporated into business rules. Also, after a reusable rule is incorporated into a
business rule, the copy of the reusable rule in the business rule can be modified.

1In a business rule designed in Configurator, an ordered collection of component blocks that is run when a particular trigger event
occurs.

446 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Create a Reusable Rule

To create a new reusable rule, use the following procedure.


1. In Process Design, click File > New > Business Rule or click .
2. Add component sets by using the following steps.
a. Drag a trigger from the Library onto the canvas to create a component set.
Tip: Because the trigger will be replaced when a component set from
the reusable rule is added to a business rule, it is suggested that you
select the type of trigger for which the rule is typically intended

b. Click in the toolbar, or double-click the component set, to display the


BlockDetails view of the component set.
c. Drag one or more component blocks onto the Block Details canvas, and configure
each component block.
d. Click to return to the Business Rule Summary.
e. Repeat to add any additional component sets to be included in the reusable rule.
Important! When a Document Designer adds content from a
reusable rule to a component set in a business rule, he can select
content from only one trigger at a time from the reusable rule.
3. Save the business rule to the Reusable Rules folder or one of its subfolders, giving the
rule a name that will be meaningful to Document Designers who will use the rule.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
4. In the Library pane, expand Reusable Rules to confirm that the new reusable rule is
displayed in the list.
For information about how to add a component set from a reusable rule to a business rule, see
"Create a Business Rule in Configurator" on page 440.

Loftware Spectrum 3.0.1 User Guide 447


Designing Labels

Delete Blocks and Triggers in Configurator


In a business rule that you can edit in Configurator, you can delete an individual component
block1 or an entire component set2, including its trigger and any associated component blocks.
Important! A component set is identified by its trigger. When you delete a
component set, its trigger and any component blocks associated with it are deleted.

Delete a Component Block


To delete a component block, perform the following steps.
1. In Process Design, open the business rule that you want to edit.
2. In the Business Rule Summary, select the component set containing the component
block that you want to delete. Either click in the toolbar or double-click the
component set to display the BlockDetails view.
3. In the Block Details view, select the component block that you want to delete, and then
click the button in the toolbar.
The component block is deleted from the business rule. You must save the business rule to
make this change permanent.

Delete a Component Set


To delete a component set, including its trigger and any associated component blocks, perform
the following steps.
1. In Process Design, open the business rule that you want to edit.
2. In the Business Rule Summary, select the component set that you want to delete, and
then click the button in the toolbar.
The component set is deleted from the business rule. You must save the business rule to make
this change permanent.

1In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.
2In a business rule designed in Configurator, an ordered collection of component blocks that is run when a particular trigger event
occurs.

448 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Delete a Business Rule


You can delete a business rule in Spectrum.
1. Click Process Design.
2. Click File > Open or click the Open button in the toolbar.
3. In the Open dialog box, select a business rule and click OK.
4. Click File > Delete.
The business rule is removed from your Spectrum environment.
Tip: You can also delete a business rule from within an Open dialog box or from
within the Navigation pane by right-clicking the object and selecting Delete.

Loftware Spectrum 3.0.1 User Guide 449


Designing Labels

Examples of BusinessRules Using Configurator


The following are examples of business rules created by using the Configurator.

450 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Replace the Label Template

You can use a business rule to determine which label template to use when processing a print
request. The business rule can create a request for a particular label template based on data in the
print request. For example, you can convert a request for a generic shipping label to a region-
specific shipping label. This approach is sometimes referred to as label template substitution or
label substitution.
Important! Content in a business rule is case sensitive.

Tip: If you always want to use the same label template when a particular simple
process is run, you can specify the path to that label template in the Document
field for the process. You do not need to use a business rule unless you also want
to implement business logic.
The following is the block detail view of a component set in a business rule that changes the
shipping label template selected based on the region specified for the job. The label templates
are in the /Example/Label Templates/ folder. The label template named Shipping001 is
intended for use in the Americas region, Shipping002 is for use in Europe, and Shipping003 is
for use in Asia Pacific. The region name must be specified as part of the print request. This
business rule can be run by a simple process.
Note: The value for the data ref named Region must be provided either by a
JDBC data service that establishes a connection to a database, by an integration, or
by another business rule.

Loftware Spectrum 3.0.1 User Guide 451


Designing Labels

452 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Change Print Attributes

You can use a business rule to perform print attribute substitution, changing values for print
attributes such as the device name, job name, Quantity, and Duplicates based on business logic
or on an existing request-level attribute. A request-level attribute is a default attribute for a label
template in the print request. If the label template does not define an attribute and there is no
lookup, then the request attribute is used.
Important! Content in a business rule is case sensitive.

Tip: If you always want to use the same value for a print attribute when a particular
simple process is run, you can specify the value for that print attribute in the field
for it in the process. You do not need to use a business rule unless you also want
to implement business logic.
The following is the block detail view of a component set in a business rule that changes the
label quantity (number of times to print a label using the same data) to 2 for a specific shipping
label template. This business rule can be run by a simple process.
Note: The value for the Label Template data ref must be provided either by a
JDBC data service that establishes a connection to a database, by an integration, or
by another business rule.

Loftware Spectrum 3.0.1 User Guide 453


Designing Labels

454 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Retrieve Data from a Database

You can use a business rule to perform data lookup, retrieving and incorporating information
that was not available in the original print request. For example, you could compute a product
number based on a serial number or retrieve an origin and other values based on a lot number.
Important! Content in a business rule is case sensitive.
The following example queries a database table and selects a label template based on a Customer
ID. In this example, the following query is used:
SELECT SHIPPING_LABEL FROM LW_INFO.SHIPPING_XREF WHERE CUSTOMER_
ID=${/Body/CUST_ID}

Note: This business rule requires the existence of a JDBC data service that
establishes a connection to a database. In the data service, Is Parameter is
selected for the SQL Query. For more information, see " Managing Data Services"
on page 979.

Loftware Spectrum 3.0.1 User Guide 455


Designing Labels

456 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Generate Related Labels Using Multiple Label Templates

You can use a business rule to cause one print request to generate additional print requests that
use the same label template or other label templates. This can be useful for situations in which a
set of related printed labels is required for each job, such as a bill of lading for a shipment and a
label for each item in the shipment.
Important! Content in a business rule is case sensitive.

Important! The following example is a special type of business rule called a Job
Source. This business rule must be run by using a generator process in which the
path to this business rule is entered in the Job Source field.
The following is the block detail view of a component set in a business rule that generates four
labels from a single print request. The path to the label template is /Example/Shipping001
and the path to the device used is /Example/Printer009.

Note: This business rule requires the existence of a JDBC data service that
establishes a connection to a database.

Loftware Spectrum 3.0.1 User Guide 457


Designing Labels

458 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Business Rule Configurator Reference


The following reference provides information about the properties of each type of trigger and
component block that can be used when creating a business rule in the Business Rule
Configurator.

Note: If you require that a business rule have additional capabilities or flexibility
beyond what is possible by using Configurator, a programmer can use XML to
develop a business rule. For more information, see "Implementing Business Logic"
on page 1181.

Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

Loftware Spectrum 3.0.1 User Guide 459


Designing Labels

Triggers in Configurator

In a business rule created in Configurator 1, a trigger 2 is the part of a component set that
controls if and when the component blocks in that component set are run. Each trigger is
associated with an event, and the component blocks in a component set are run only when the
event specified by the trigger occurs.
Note: In the Business Rule Summary for a particular business rule, the name of
each trigger must be unique.
Trigger Event or
Purpose
Type
Job Submission A Job Submission trigger causes the component set to run during
the job submission phase, before the job is queued for printing.
This event occurs for each job in a stacked job. As a best practice,
it is recommended that you use this type of event to run database
or other process intensive component sets.
Job Printing A Job Printing trigger causes the component set to run when a job
is removed from the queue to be printed.
Label Printing A Label Printing trigger causes either the component set or the
data sources defined in Design to run before each label is printed.
Which of those approaches is used is controlled by the process
that runs this business rule. The former approach is effective only
if the print job detail3 is not processed by the device.
Best Practice
In most cases, it is recommended that you use the
Label Printing trigger to run Format Date/Time
component blocks.
Error An Error trigger causes the component set to run when an error
occurs during the processing of any component set in the business
rule.

1In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
2A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
3A single request to use a label template to print to a specific destination. Depending on the values for Quantity, Duplicates, and
Pages, a print job detail may generate multiple labels.

460 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Trigger Event or
Purpose
Type
Custom A Custom trigger causes the component set to run when the
Custom event specified by the trigger occurs.
Custom events typically occur due to the action of a component
block or a business rule component. Some examples of Custom
events include when a condition is true, when a condition is false,
when a row of data from a database is processed, when an iteration
of a repeating action occurs, or when an error occurs.
Important! Before a Custom trigger can function,
either a component block or a programmer must
define the associated Custom event in the business
rule. The exception to this approach is that you can
use a Run Another Component Set block or a Run
Another Business Rule block to run a component set
that has a Custom trigger even if no associated
Custom event exists.
The following types of component blocks define Custom events.
If you use one of these event names as the name of a Custom
trigger, then the component set associated with the Custom trigger
runs when the event occurs.
Component
Event
Block
Conditional trueConditionEvent: An event that occurs if
True/False the component block is evaluated as true.
falseConditionEvent: An event that occurs if
the component block is evaluated as false.
Repeat for dsChild: An event that occurs when a row of
All Rows data from a database is processed.
Fixed dsChild: An event that occurs once per
Repeat iteration.
All ErrorHandler: An event that occurs when an
error occurs during the processing of a
component set in a business rule that includes
an Error trigger.
Note: If you require that a business rule have additional capabilities or flexibility
beyond what is possible by using Configurator, a programmer can use XML to
develop a business rule. For more information, see "Implementing Business Logic"
on page 1181.

Loftware Spectrum 3.0.1 User Guide 461


Designing Labels

Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

462 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Component Blocks

You can use a component block to add or change data in the datamap, to incorporate
conditional logic, or to implement branching. The following tables summarize the purpose of
each type of component block that you can use when creating a business rule in the
Configurator view in LoftwareSpectrum.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.

Data Map Blocks


Block Type Purpose
Update Set the value of a print job property or a data map entry 1 to a
static value or a dynamic value.
Prepend/Append Concatenate text onto the beginning or the end of the value of a
data map entry.
Delete Remove a print job property or a data map entry from the
datamap.
Conditional If the result of a logical expression combining multiple conditions
is true, set the value of a print job property or a data map entry.
You can combine conditions using logical operations such as AND
or OR.
Conditional List If the value of a print job property or a data map entry is equal to
one of a list of values, set the value of a print job property or a data
map entry.

Data Service Blocks


Block Type Purpose
Get First Row Retrieve the first row in the result of a query of a JDBC data
service and add the data to the datamap.
Repeat for All Rows Run specified component blocks for each row in the result of a
query of a JDBC data service.

Print Blocks
Block Type Purpose
Print Generate a print job using the specified process.

1A name (key) and value pair in the data map for a job.

Loftware Spectrum 3.0.1 User Guide 463


Designing Labels

Other Blocks
Block Type Purpose
Format Date/Time Format the value of a data map entry as a date or time.
Run Data Map Script Make changes to the datamap by using JavaScript.
Run Another Component Run another component set in this business rule, regardless of
Set whether the associated event has occurred.
Run Another Business Run a component set from another business rule, regardless of
Rule whether the associated event has occurred.
Configure Test Data Add sample data to the datamap for use when designing and
testing the business rule.
Log Data Write a message to the User Event Log.

Advanced Blocks
Block Type Purpose
Conditional True/False Run different component blocks depending on whether the
value of a print job property or a data map entry is equivalent to
a specified value.
Fixed Repeat Run selected component blocks a specified number of times.
Note: If you require that a business rule have additional capabilities or flexibility
beyond what is possible by using Configurator, a programmer can use XML to
develop a business rule. For more information, see "Implementing Business Logic"
on page 1181.

Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

Data Map Block: Conditional

In a business rule designed in the Configurator, you can add a Conditional component block to
only perform an action if the result of a logical expression combining multiple conditions is true.
Each condition is a comparison of the value of a data map entry 1 to a specified value or is an
evaluation of the state of a data map entry. The result of each condition is true or false.
The results of the conditions are combined using either logical AND or OR operations. If AND
operations are used, then the rule action is performed only if all of the conditions are true. If OR
operations are used, then the rule action is performed if any of the conditions are true.

1A name (key) and value pair in the data map for a job.

464 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.

Rule Criteria
The rule criteria determine whether the rule action is performed.

Tip: You can add or remove conditions from the logical expression by clicking
or .

Property Description
Logical If the rule criteria include more than one condition, how to combine the results
Operator of the conditions to produce a result of true or false.
l AND: Combine the results of the conditions using logical AND

operations. The rule action is performed only if all of the conditions are
true.
l OR: Combine the results of the conditions using logical OR operations.

The rule action is performed if any of the conditions are true.

Loftware Spectrum 3.0.1 User Guide 465


Designing Labels

Property Description
Data Ref A print job property or the name of a data map entry to be evaluated or
to Test compared to a value. If the data map entry does not already exist, it is created.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9
Operator The operator to use when evaluating or comparing the data ref and the value for
a condition.
l Equals

l Not Equal

l Less Than

l Greater Than

l Is Missing

l Is Not Missing

l Is Empty

l Is Not Empty

Value to The literal value to compare to the value of a print job property or data map
Test entry.
Note: For some operators, no box is displayed for the Value
property because it is not necessary to specify a value.

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.

466 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Rule Action
The rule action is performed only if the conditions specified by the rule criteria produce a result
of true.
Property Description
Data Ref A print job property or the name of a data map entry to be assigned a value if the
to Set conditions produce a result of true. If the data map entry does not already exist,
it is created.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9
Value to The new value of the print job property or data map entry.
Set
Data Map Block: Conditional List

In a business rule designed in the Configurator, you can add a Conditional List component block
to perform an action only if the value of a print job property or a data map entry 10 is equal to
one of a list of specified values. The action to be performed is to set a property of the print job
or the name of a data map entry to a specified value.

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.
10A name (key) and value pair in the data map for a job.

Loftware Spectrum 3.0.1 User Guide 467


Designing Labels

Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.

Rule Criteria
The rule criteria determine whether the rule action is performed.
Property Description
Data Ref to Test A property of the print job or the name of a data map entry to be
compared to a value. If the data map entry does not already exist, it is
created.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9

Values
If the Data Ref to Test has a value equivalent to any Value to Test in the Conditional List
component block, then the Data Ref to Set is set to the Value to Set when the business rule is
run.

Tip: You can add or remove values from the list by clicking or .

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.

468 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Property Description
Value to Test The literal value to compare to the print job property or data map entry
specified as the Data Ref to Test.
Value to Set The new value of the print job property or data map entry specified as
the Data Ref to Set.

Rule Action
The rule action is performed only if the Data Ref to Test has a value equivalent to a Value to
Test.
Property Description
Data Ref to Set A print job property or the name of a data map entry to be assigned a
value if the conditions produce a result of true. If the data map entry
does not already exist, it is created.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9

Advanced Block: Conditional True/False

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.

Loftware Spectrum 3.0.1 User Guide 469


Designing Labels

In a business rule designed in the Configurator, you can add a Conditional True/False
component block to run different component blocks depending on whether the value of a print
job property or a data map entry is equivalent to a specified value.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.

Rule Criteria
Property Description
Data Ref to Test A print job property or the name of a data map entry to be compared
to the Value to Test. If the data map entry does not already exist, it is
created.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9
Value to Test A value to be compared to the Data Ref to Test.

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.

470 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Rule Actions
Property Description
Rule Action if The list of component blocks to be run if it is true that the Data Ref
True to Test and the Value to Test are equivalent.
Rule Action if The list of component blocks to be run if the Data Ref to Test and
False the Value to Test are not equivalent.
Other Block: Configure Test Data

In a business rule designed in the Configurator, you can add a Configure Test Data component
block to add sample data to the datamap for use when designing and testing the business rule.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.
The following commands are available for adding and modifying test data.
Command Description
Add a data map entry 1 to the test data as a child of the data map entry or
namespace selected.
Delete the selected data map entry or namespace from the test data.
Change a data map entry or namespace in the test data.
Import test data from a CSV file or an XML file.

Data Map Block: Delete

In a business rule designed in the Configurator, you can add a Delete component block to
remove a print job property or a data map entry 2 from the data map3.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.

1A name (key) and value pair in the data map for a job.
2A name (key) and value pair in the data map for a job.
3A repository for the data for use when responding to a print request. Each data map entry is composed of a name (key) and a
value.

Loftware Spectrum 3.0.1 User Guide 471


Designing Labels

Property Description
Data Ref A print job property or the name of a data map entry to be removed from the
datamap.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9

Advanced Block: Fixed Repeat

In a business rule designed in the Configurator, you can add a Fixed Repeat component block to
run selected component blocks a specified number of times.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.
Property Description
Direction Whether to increment or decrement the value of the counter.
Start Value The initial value of the counter.
End Value The value at which to cease incrementing or decrementing the counter.
Step The value by which to increment or decrement the counter.

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.

472 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Property Description
Rule Action The list of component blocks to be run when each time the counter is
incremented or decremented.
Other Block: Format Date/Time

In a business rule designed in the Configurator, you can add a Format Date/Time component
block to format the value of a data map entry as a date or time.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.
Property Description
Data Ref The name of a data map entry containing the data to be formatted as a date
or time. If the data map entry does not already exist, it is created.
It is recommended that you select Manually Entered1 and specify a data
map entry.
Format The date/time format to apply to the data. You can select one of the
formats listed, or select Custom and enter placeholder characters to
specify a format.
For a description of the formats and the placeholders for use in custom
formats, see "Date/Time Data Source Formats" on page 391.
Days to Add Number of days by which to increment the value specified by the data.
Data Service Block: Get First Row

In a business rule designed in the Configurator, you can add a Get First Row component block
to retrieve the first row in the result of a query of a JDBC data service and add the data to the
data map2.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.
Property Description
Data Service The fully-qualified path to an existing data service in Spectrum.

1A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.
2A repository for the data for use when responding to a print request. Each data map entry is composed of a name (key) and a
value.

Loftware Spectrum 3.0.1 User Guide 473


Designing Labels

Property Description
Use Parameters? Whether to add parameters for use in the data service.
Note: This functionality is comparable to editing the data
service in Data Services and adding parameters.
However, the parameters exist only when this business
rule is used to run the data service.

Tip: You can use a parameter to define the query to be


run by the data service.

Tip: You can add or remove parameters by clicking or


.
Parameter Name The name (key) of a parameter that can be used in the data service
defined in Data Services. For a list of built-in parameters, see the
section about "Built-in Parameters" following this table.

474 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Property Description
Parameter Value A print job property or the name of a data map entry to be used in the
data service. Also, whether to interpret it as a literal value or as a data
map entry. If the data map entry does not already exist, it is created.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.

Loftware Spectrum 3.0.1 User Guide 475


Designing Labels

Property Description
Data Ref A property of the print job or the name of a data map entry where the
row of data will be saved to the datamap. If the data map entry does
not already exist, it is created.
Tip: Unless the query is designed to retrieve a value
appropriate for one of the items in the following list, it is
recommended that you select Manually Entered and
enter the name of a data map entry where the row of data
can be saved.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9

Built-in Parameters
The following built-in parameters exist for JDBC data services.
Parameter Description
batchSize Batch Size. The maximum number of rows returned by the query. You can
specify up to 1000 rows.

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.

476 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Parameter Description
password Database Password. The password associated with the user name used when
establishing a connection to the database.
query SQL Query. The SQL query that the data service runs on the database. The
query can be entered as part of the data service or can be passed as a parameter
from a Database data source used in the label.
url JDBC Connection URL. The connection string for the database used for this
data service. For information about the format, see " JDBC Connection URL
Formats" on page 1026.
username Database Username. The user name used when establishing a connection to
the database.
Other Block: Log Data

In a business rule designed in the Configurator, you can add a Log Data component block to
write a message to the User Event Log.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.
Property Description
Comment A message to be written to the User Event Log.
Tip: If the comment includes the name of the data map entry
selected for Data Ref, then the current value of the data map
entry is included in the message when it is written to the log.

Loftware Spectrum 3.0.1 User Guide 477


Designing Labels

Property Description
Data Ref A property of the print job or the name of a data map entry for which the
current value is included in the comment. If the data map entry does not already
exist, it is created.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9

Data Map Block: Prepend/Append

In a business rule designed in the Configurator, you can add a Prepend/Append component
block to concatenate text onto the beginning or the end of the value of a data map entry 10.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.
10A name (key) and value pair in the data map for a job.

478 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Property Description
Data Ref A print job property or the name of a data map entry to be altered. If the data
map entry does not already exist, it is created.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9
Operation Whether to concatenate text onto the beginning or the end of the data map
entry referred to by Data Ref. If a print job property is selected for Data Ref,
then the text is concatenated onto the data map entry for that print job
property. If the data map entry does not exist, it is set to the value specified.
l Prepend: The text specified is concatenated onto the beginning of the

existing value of the data map entry.


l Append: The text specified is concatenated onto the end of the existing

value of the data map entry.


Value The text to be concatenated onto the data map entry specified by Data Ref. If a
print job property is selected for Data Ref, then the text is concatenated onto
the data map entry for that print job property.
Print Block: Print

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.

Loftware Spectrum 3.0.1 User Guide 479


Designing Labels

In a business rule designed in the Configurator, you can add a Print component block to
generate a print job using the specified process. You can provide data to the process.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.
Property Description
Process The fully-qualified path to a process in Spectrum.

Commands
The following commands are available for adding and modifying the data set to provide to the
process.
Tip: You can use a live data set1 to store a snapshot of live data retrieved from a
Database data source. You can use this data to produce a more realistic view when
designing a label template or a business rule. You can also manually alter data map
entries in a data set.
Button Command Description
Add Data Create a new data map entry 2 in the data set as a child of
Map Entry the selected data map entry or namespace.
Delete Data Delete the selected data map entry or namespace from the
Map Entry data set.
Edit Data Change the selected data map entry or namespace in the data
Map Entry set.
Import Data Import data from an XML file or a CSV file into the data set.

Data Service Block: Repeat for All Rows

In a business rule designed in the Configurator, you can add a Repeat for All Rows component
block to perform actions in relation to each row in the result of a query of a JDBC data service.
You can specify a list of component blocks to be run each time a row is processed.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.

1A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.
2A name (key) and value pair in the data map for a job.

480 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Property Description
Data Service The fully-qualified path to an existing data service in Spectrum.
Use Parameters? Whether to add parameters for use in the data service.
Note: This functionality is comparable to editing the data
service in Data Services and adding parameters.
However, the parameters exist only when this business
rule is used to run the data service.

Tip: You can use a parameter to define the query to be


run by the data service.

Tip: You can add or remove parameters by clicking or


.
Parameter Name The name (key) of a parameter that can be used in the data service
defined in Data Services. For a list of built-in parameters, see the
section about "Built-in Parameters" following this table.

Loftware Spectrum 3.0.1 User Guide 481


Designing Labels

Property Description
Parameter Value A print job property or the name of a data map entry to be used in the
data service. Also, whether to interpret it as a literal value or as a data
map entry. If the data map entry does not already exist, it is created.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9
Rule Action The list of component blocks to be run when a row returned by the
data service is processed.

Built-in Parameters
The following built-in parameters exist for JDBC data services.
Parameter Description
batchSize Batch Size. The maximum number of rows returned by the query. You can
specify up to 1000 rows.
password Database Password. The password associated with the user name used when
establishing a connection to the database.

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.

482 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Parameter Description
query SQL Query. The SQL query that the data service runs on the database. The
query can be entered as part of the data service or can be passed as a parameter
from a Database data source used in the label.
url JDBC Connection URL. The connection string for the database used for this
data service. For information about the format, see " JDBC Connection URL
Formats" on page 1026.
username Database Username. The user name used when establishing a connection to
the database.
Other Block: Run Another Business Rule

In a business rule designed in the Configurator, you can add a Run Another Business Rule
component block to load content from one component set in another business rule into the this
business rule.

Important! Unlike a reusable rule, a Run Another Business Rule component block
provides a reference to a component set in another business rule. If the source
component set in the other business rule is changed, that change impacts the
business rule that contains the Run Another Business Rule component block.

Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.

Property Description
Business Rule The fully-qualified path to the business rule from which to load content.
Trigger The case-sensitive XML name of a Custom event in the business rule from
which to load content. The component set associated with this trigger is
run after the Run Another Business Rule component block is processed.
Note: The Run Another Business Rule component block
allows you to load content from only one component set in
the other business rule. You must select the component set
by specifying the XML name of its trigger event.

Important! The trigger event must be a Custom event.

Other Block: Run Another Component Set

In a business rule designed in the Configurator, you can add a Run Another Component Set
component block to load content from another component set in this business rule into this
component set.

Loftware Spectrum 3.0.1 User Guide 483


Designing Labels

Important! Unlike a reusable rule, a Run Another Component Set component


block provides a reference to another component set. If the source component set
is changed, that change impacts the component set that contains the Run Another
Component Set component block.

Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.
Property Description
Trigger The name of the trigger for the component set from which to load
content. The trigger must already exist in this business rule.
Other Block: Run Data Map Script

In a business rule designed in the Configurator, you can add a Run Data Map Script component
block to make changes to the datamap by using JavaScript. A Data Map Script can alter values in
the datamap or add a value to the datamap, but it does not return a value.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.
Property Description
Data Map Script A script written in JavaScript that can alter values in the datamap or
add a value to the datamap.
Tip: For information about script methods for accessing
the datamap, see "Script Methods for Accessing the
DataMap at Runtime" on page 343. For script methods
for retrieving or configuring barcode properties, see
"Barcode Properties and Script Methods" on page 1486.

Data Map Block: Update

In a business rule designed in the Configurator, you can add an Update component block to set
the value of a print job property or a data map entry 1 to a static value or to a dynamic value
(another data map entry), creating the data map entry if it does not already exist.
Tip: Before you can add a component block to a business rule, you must create a
component set by specifying a trigger that controls when component blocks in the
component set are run.

1A name (key) and value pair in the data map for a job.

484 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Property Description
Data Ref A property of the print job or the name of a data map entry to be assigned a
value. If the data map entry does not already exist, it is created.
You can select from the following for a data ref.
l Label Template
1
l Printer
2
l Quantity of Labels
3
l Number of Duplicates
4
l PrinterTray
5
l Pages of Labels
6
l Job Name
7
l Job Detail Name
8
l Manually Entered
9
Value The new value of the property or data map entry and whether to interpret it as a
literal value or as a data map entry.

1A digital representation of a label that can be combined with variable data and used by print jobs to generate print job details.
2A physical printer, print queue, or other target for output, such as an image file or a PDF file.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
6The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
7What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
8A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.
9A property that allows a Document Designer or administrator to type in the value for a property rather than select it from a list.
For a data ref, value must be the fully-qualified name of a data map entry.

Loftware Spectrum 3.0.1 User Guide 485


Designing Labels

Reusable Rules

Reusable rules that have been saved to the Reusable Rules folder or one of its subfolders are
displayed in the Library under Reusable Rules. Document Designers who create business
rules in the Configurator 1 can use a reusable rule to add a commonly-needed component set to
business rules.
Note: Changes made to a reusable rule are not reflected in copies already
incorporated into business rules. Also, after a reusable rule is incorporated into a
business rule, the copy of the reusable rule in the business rule can be modified.
For information about incorporating a component set from a reusable rule into a business rule,
see "Create a Business Rule in Configurator" on page 440.
For information about creating a reusable rule, see "Create a Reusable Rule" on page 446.

1In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.

486 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Process Design with the Configurator


Click Process Design at the top of the LoftwareSpectrum window to display options for
managing business rules, processes, and workflow templates.
Note: To create or edit business rules, you must have the permissions necessary to
view Process Design. Contact an administrator to request access if necessary. If
you are an administrator, see "Configuring Access for Processes and Business
Rules" on page 1186.
A process is an object in Spectrum that binds together all of the components to be used when
responding to a print request. Among other items, those components may include a label
template, layout, device, and a business rule to be used when processing a print request.
A business rule is a collection of component sets or business rule components that can be used
to incorporate logic or to add, change, or remove data or print parameters after a print request is
submitted but before printing occurs. Business rules are similar to form rules, but provide more
robust functionality. Business rules can be designed using the Configurator or programmed using
XML.
Important! It is recommended that you do not alter the Generic Document
Process. This process is used when a Data Provider 1 selects a label template in
Print and uses it to print labels. You can also associate it with integrations if you
do not want to apply a business rule.
For information if you are responsible for creating and managing processes or workflow
templates, see "Implementing Business Logic" on page 1181.

Menu Bar and Toolbar


The following commands are available from the toolbar or the menus in Process Design.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name: spaces,
double quotes, single quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum interprets a name.
File Menu Commands
Toolbar
Command Description
Icon
New Process Create a new process.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 487


Designing Labels

Toolbar
Command Description
Icon
New Business Create a new business rule.
Rule
New Workflow Create a new workflow template.
Template
Open Open an existing process, business rule, or workflow template.
Close Close the current process, business rule, or workflow template.

Close All Close all processes, business rules, and workflow templates that
you have open in Process Design.
Save Save the displayed process, business rule, or workflow template.
Save As Save a copy of the displayed process, business rule, or workflow
template under a different name.
Refresh Update the displayed data.

Delete Delete the displayed process, business rule, or workflow template.


Edit Menu Commands
Toolbar
Command Description
Icon
Cancel/Undo Undo the most recent change to the current process or workflow
Edits template.
Note: This command is not available when editing
a business rule.

Other Commands
The following commands are available from the toolbar in Process Design.
Toolbar
Command Description
Icon
Delete Trigger or Delete the selected component set (identified by
Delete Block its trigger) or the selected component block.
Tip: This command is available only
if you are editing a business rule in
the Configurator view and have
selected a component set or a
component block.

488 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Toolbar
Command Description
Icon
View Details Display the Block Details view of the selected
component set.
Tip: This command is available only
if you are editing a business rule in
the Configurator view and have
selected a component set in the
Business Rule Summary.

Loftware Spectrum 3.0.1 User Guide 489


Designing Labels

Navigation Tree

By default, the Navigation tree is hidden. You can display it by clicking the arrow button along
the left edge of the Process Design page. You can double-click an existing process, business
rule, or workflow template to open it. You can right-click a process, business rule, or workflow
template to move or delete it.
Tip: You can move an object from one folder to another by dragging the object
from one folder and dropping it into another. Alternatively, you can right-click an
object, select Move to, and select a folder to which to move it.

490 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

Business Rule Properties

A business rule is a collection of component sets or business rule components that can be used
to incorporate logic or to add, change, or remove data or print parameters after a print request is
submitted but before printing occurs. Business rules are similar to form rules, but provide more
robust functionality. Business rules can be designed using the Configurator or programmed using
XML.
The following sections and panes are displayed when a business rule is created or opened in
Process Design.

Library
When editing a business rule in the Configurator, a list of triggers, component blocks, and
reusable rules that can be dragged and dropped into the business rule is displayed.
For more information about the different types of triggers and component blocks and about
reusable rules, see "Business Rule Configurator Reference" on page 459.

Configurator
The Configurator is a graphical interface for configuring a business rule by creating component
sets, each containing component blocks that are run when a particular trigger event occurs.
Business Rule Summary
The Business Rule Summary is a canvas onto which you can drag triggers for component sets.
For information about each type of event that can serve as a trigger, see "Triggers in
Configurator" on page 460.

Tip: The name of a Custom trigger must match the name of a Custom event.
Block Details
The Block Details view is a canvas onto which you can drag component blocks or reusable rules
to be included in a component set. You can drag and drop component blocks to indicate the
order in which they should run.

XML
The XML section allows you to view and edit the XML of business rule components, including
the triggers that govern when they run.
Example
You could create a business rule that includes logic to route print requests to
specific devices depending on the data associated with the print request. For
example, if some print requests include a color version of a logo and some include
only a black and white version of a logo, then a business rule could route the print
request that included the color logo to a color device.

Loftware Spectrum 3.0.1 User Guide 491


Designing Labels

Commands
Command Description
Enable XML Editor By default, the XML Editor is disabled when you create a business
rule, and you can configure the business rule by using the
Configurator. If you enable the XML Editor, the Configurator can
no longer be used to modify the business rule, and you must use
the XML Editor instead.
Note: This command is displayed only if the
business rule was created by using Configurator and
the XML Editor has not been enabled.
Format XML Neaten the indentation and spacing of the XML of the business
rule.
Note: This command is displayed only if the XML
Editor has been enabled for the business rule or if
the business rule was created prior to Spectrum 3.0.
Validate Business Rule Perform validation of the business rule syntax and formatting.
Note: This command is displayed only if the XML
Editor has been enabled for the business rule or if
the business rule was created prior to Spectrum 3.0.
Test Business Rule Specify trigger events and run the business rule to test it. No
process is used.
Important! When you test a business rule, that
business rule is run and can affect the Spectrum
environment. For example, testing a business rule
that is designed to alter a label template, to change a
value in a database, to submit a job, or to cancel a job
actually performs those actions.

Note: This command is displayed only if the XML


Editor has been enabled for the business rule or if
the business rule was created prior to Spectrum 3.0.

Properties Pane
The Properties pane allows you to name and describe the business rule. You can also view
information about when and by whom the business rule was created and most recently modified.

Tags Pane
Add or change the tags assigned to the business rule.

492 Loftware Spectrum 3.0.1 User Guide


Designing Business Rules with the Configurator

In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
For more information, see "Categorize a Process, Business Rule, or Workflow Template" on
page 1200.

Loftware Spectrum 3.0.1 User Guide 493


Printing Labels and Viewing Status

Printing Labels and Viewing Status

The topics in this section describe how to use LoftwareSpectrum to perform the following
tasks.
l Configure your printing preferences by using User Preferences.
l Print labels on-demand by using Print. You can also print labels by using File Drop,
Oracle, SAP ERP, or other applications.
l View and manage the status of print jobs, device queues, and devices1 by using Status.

1A physical printer, print queue, or other target for output, such as an image file or a PDF file.

494 Loftware Spectrum 3.0.1 User Guide


Configuring User Preferences for Printing

Configuring User Preferences for Printing


By configuring your User Preferences you can customize which page is initially displayed
when you log into Spectrum and which device is your default device 1.

1A physical printer, print queue, or other target for output, such as an image file or a PDF file.

Loftware Spectrum 3.0.1 User Guide 495


Printing Labels and Viewing Status

Set User Preferences (Printing)


User preferences in Spectrum may allow you to customize which page is initially displayed when
you log into Spectrum and to specify a default device 1 for yourself. The preferences available to
you depend on the user profile applied to you.
To configure the default behavior for when you are logged in to Spectrum, use this procedure.
1. Click User Preferences.
2. In the Preferences pane, click your user profile.
3. Configure preferences to suit your needs. See " User Preferences Page (Printing)" on page
497 for more information.
4. Click Save.

1A physical printer, print queue, or other target for output, such as an image file or a PDF file.

496 Loftware Spectrum 3.0.1 User Guide


Configuring User Preferences for Printing

User Preferences Page (Printing)


The following are options related to printing that may be included in your user profile on User
Preferences and may be configurable in the Preferences pane.
Note: Even if Spectrum is configured so that you cannot change a preference that
controls what is initially displayed when you log in, you can still change what is
displayed while working in a session of Spectrum.

Loftware Spectrum 3.0.1 User Guide 497


Printing Labels and Viewing Status

General Preferences

Preference Description
Display The language used in the user interface of Spectrum. Options include the
Language following:
l English

l German

l French

l Spanish

l Simplified Chinese

l Traditional Chinese

l Portuguese (Brazilian)

l Japanese

Landing Page The page (top-level tab) that is displayed when you log in to Spectrum.
Home Folder Folder in Spectrum initially selected and expanded in the tree when
opening or printing.
Initial Label The label template or process that is initially loaded when you click Print.
Default Process The process used if users to whom this profile is applied do not select a
process when printing a label template from Print.
ReprintProcess The Reprint process used when users to whom this profile is applied click
Reprint in Status.
Change Display a dialog box that allows you to change your password for
Password Spectrum.

498 Loftware Spectrum 3.0.1 User Guide


Configuring User Preferences for Printing

Print Preferences

These preferences control the default options when printing from Print. However, even if these
options are locked down, you can change printing options for the current session on Print.
Preference Description
Default The device 1 used unless you select a different device at print time.
Device
Clear fields Whether to automatically reset all values entered in the form for on-demand
after print after printing occurs.
successful
print
Navigation Whether the Documents Tree is displayed in Print.
Panel Show: The tree is displayed, but you can click a control to hide it.
Hide: The tree is hidden, but you can click a control to display it.
Hide and Lock: The tree is hidden and you cannot display it.
Allow Print Whether the Preview button is displayed in Print.
Preview Note: To use Print Preview, a user should have a role with
Print permission for Documents, have Print permission for
Documents for folders containing label templates and images to
be previewed, and have Allow Print Preview selected in User
Preferences.
View Data Whether to allow a user to click the object title in Print and display the data
Map on map entries in a dialog box. For more information, see " View the Print Data"
PrintPage on page 505.

1A physical printer, print queue, or other target for output, such as an image file or a PDF file.

Loftware Spectrum 3.0.1 User Guide 499


Printing Labels and Viewing Status

Buttons

Button Effect
Save Save any changes that you have made to your preferences.
Cancel/Undo Discard any changes that you have made to your preferences.
Edits
Restore Reset all of your preferences to the default values specified in the user
Defaults profile applied to you. These default values can be changed in the user
profile by an administrator.

500 Loftware Spectrum 3.0.1 User Guide


Printing Labels

Printing Labels
You can use LoftwareSpectrum to print labels on demand or to print labels by using SAP
integration, Oracle integration, or File Drop integration. You can print to local or remote devices
configured in Spectrum. You can also print a label to multiple destinations using processes and
business rules.
When printing on demand, you open a label template to be printed or select a process, and then
enter data for the label. You specify the number of labels to print (Quantity 1), the number of
times to reprint each label (Duplicates2), and the number of copies of each layout to print
(Pages3).
When you preview or print a label, you must specify a device. Depending on your user profile,
you may be able to configure your user preferences to specify a Default Device so that you can
bypass device selection at the time of printing.

1The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
2The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
3The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.

Loftware Spectrum 3.0.1 User Guide 501


Printing Labels and Viewing Status

Printing Copies of a Label


You can print copies of a label that are identical except for an incrementing or decrementing
field, or identical copies of a label, identical copies of all of the labels on a particular sheet or
row, or multiple labels with the same design but different data.
Example 1: Numbered Labels Using Quantity and an Inc/Dec Data
Source
You want to label a set of three items. You want to print three labels using the
same design and input data, but you want each printed label to include a counter
that shows 1 of 3, 2 of 3, or 3 of 3. This requires only one label template, which
includes an Inc/Dec data source. When printing select Quantity: 3, Duplicates: 0,
Pages: 1.

Example 2: Adjacent Copies of a Label Using Duplicates


You want to label a set of three items, but each item must be labeled on two sides.
As in Example 1, the label template includes a counter. However, you want a
duplicate label to be printed immediately after each unique label. That is, two
labels showing 1 of 3, two labels showing 2 of 3, and two labels showing 3 of 3. To
achieve this, when printing select Quantity: 3, Duplicates: 1, Pages: 1.

Example 3: Collated Copies of a Label Using Pages


You want to have people in two stock rooms label an identical set of three items in
each stock room. You are using roll stock for which each row includes three label
slots. As in Example 1, the label template includes a counter. However, rather than
having each duplicate label immediately follow the original, you want the labels to
print as a collated set so that you can hand one set of three labels to each person.
To achieve this, you must associate a 1 row by 3 column layout with the label
template and when printing select Quantity: 3, Duplicates: 0, Pages: 2.

Example 4: Labels with Unique Input Data Using Quantity and a Layout
You want to print name labels. You have 18 names for which you want to print
one label each, and you have stock on which you can print 12 labels per sheet. This
requires only one label template that is associated with a layout. When printing the
labels, select Quantity: 18, Duplicates: 0, Pages: 1. Enter a name in the input field,
and then click Print. The Current Label number and the number of labels queued
are incremented. Repeat for each name. After you have entered all 18 names into
the queue, click Eject to eject the last page after printing because it is only
partially filled.

502 Loftware Spectrum 3.0.1 User Guide


Printing Labels

Print a Label Using On-Demand Print


To print labels on demand, use this procedure. To view and manage the status of print jobs and
device queues or to print a specific print job in a queue, see " Managing Job and Device Status"
on page 515.
1. Click Print.
2. In the Documents tree, select the label template or process that you want to use. Any
input fields for the label are displayed.
3. If no device is displayed in the Device field, click the browse button and select a device.

Tip: You can set a default device in User Preferences under Print
Preferences. For more information, see " Set User Preferences" on page
62.
4. Enter the Quantity 1 of labels and any Duplicates2 to print.
5. If the Pages3 field is displayed, enter the number times to print the content for each
layout.
6. If the label template is version-controlled, by default the most recent version to which
you have access is displayed. If you have the necessary permissions, you can enter a
specific Document Version that you want to print and click Load Version to display it.
7. Enter data as required for the label template in the input fields.
Tip: You can click Preview to see an approximation of what the label will
look like. The percentage displayed is the zoom level for the preview image.
You can adjust the zoom level by clicking the arrows or the Fit to Window
button.
8. Click Print. If a layout is associated with the label template, repeat for each printed label.
Tip: Instead of clicking Print, you can press the F9 key to print the label to
the default device if one is configured.
The View PDF button allows you to see the PDF file, if the selected job was printed to
a PDF device and if the PDF file is stored in the default location.
The Recent Job Requests field allows you to view the status of the print job and to
reprint recent job requests.

1The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
2The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
3The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.

Loftware Spectrum 3.0.1 User Guide 503


Printing Labels and Viewing Status

Reprint Labels

You can reprint a recently printed job or range of labels within the job. You can specify the range
of labels within the job, the quantity, and the device to use.
To reprint a job or a portion of a recently printed job, use the following procedure.
1. In Print, for Recent Job Requests select the job to be reprinted.
2. Click View Job Status.
3. In the Jobs section of Status, click the listing for the job in the table.
4. Click Reprint.
5. In the Reprint dialog box, select an option for Reprint Scope to indicate whether to
reprint all labels in the job or only a range of labels and the quantity.
6. For Device, select the device to be used for reprinting the labels. This can be a different
device than was used to print the original job.
7. Click Print.
Note: The Reprint button is displayed only when you print a job in Print and
then click View Status to view the status of the job in Status. To use this
command, you must have Reprint permission for the relevant objects.

504 Loftware Spectrum 3.0.1 User Guide


Printing Labels

View the Print Data

To view the data map entries for an object during on-demand printing, use this procedure.
1. Click Print.
2. In the Documents tree, select the label template, application or process. Any input
fields for the label are displayed.
3. At the top of the Print page, click the icon or title. The Print Data dialog box is
displayed containing the keys and values of the data map entries.
Note: If the icon is not displayed, click User Preferences and under
Print Preferences, select the check box for View Data Map on Print
Page. For more information, see " User Preferences Page (Printing)" on
page 497.
4. To copy the data map entries, right-click in the Print Data dialog box and select Copy
For Data Set.
Note: The keys and values in the Print Data dialog box will refresh
automatically.

Loftware Spectrum 3.0.1 User Guide 505


Printing Labels and Viewing Status

Print a Label to Multiple Destinations


In Spectrum, you can use processes and business rules to print to multiple destinations from a
single print request. For example, you can use one print request to print and email a label
template, or to print and archive a label template.
To support printing to multiple destinations, the following templates are provided in the
Document Templates folder in Spectrum. You can configure one of these processes to be the
default process used when printing. For more information, see " User Preferences Page
(Printing)" on page 497.
Templates Description
Fixed Multi A process generator that prints to a primary destination and a fixed set of
Destination secondary destinations.
Business Rule
Multi A process generator that prints to a primary destination and a set of secondary
Destination destinations.
Business Rule Important: This template must be configured before using.
Fixed Multi A process that uses the Fixed Multi Destination Business Rule to print an
Destination exact replica of the successfully printed document to any number of predefined
Process secondary destinations, as configured in the business rule.
Multi A process that uses the Multi Destination Business Rule to print an exact
Destination replica of the successfully printed document to any number of secondary
Process destinations, as configured in the business rule.
Important: This template must be configured before using.

506 Loftware Spectrum 3.0.1 User Guide


Printing Labels

Print by Using File Drop


File Drop integration allows you to print labels by copying print job files to a folder that an
administrator has configured to receive print jobs for LoftwareSpectrum.
Note: To perform this procedure, you must have a path to a Scan Folder that an
administrator has configured to accept print jobs, and you must have access to save
files to that folder.
To initiate one or more print jobs by using File Drop integration, in Windows Explorer or
another file browser, select the print jobs that you want to submit to Spectrum and copy them to
a Scan Folder specified by your administrator. Print jobs are automatically removed from the
Scan Folder after they have been processed by Spectrum.
WARNING: Do not edit files in the Scan Folder. Editing a file in this folder may
strand the associated print job.

Loftware Spectrum 3.0.1 User Guide 507


Printing Labels and Viewing Status

Print by Using Oracle


Oracle integration allows you to print labels from Oracle Warehouse Management Solution
(WMS), Oracle Mobile Supply Chain, and other Oracle applications. Print requests that you
initiate in Oracle applications can be processed and printed by Spectrum, and Spectrum reports
the status of each request to the originating application. Oracle integrations must be configured
by an administrator.

508 Loftware Spectrum 3.0.1 User Guide


Printing Labels

Print by Using SAP ERP


LoftwareSpectrum Integration for use with SAP Applications allows you to print labels
from SAP applications. Print requests that you initiate in SAP applications are processed and
printed by Spectrum, and Spectrum reports the status of each request to the originating
application. Integrations must be configured by an administrator.

Loftware Spectrum 3.0.1 User Guide 509


Printing Labels and Viewing Status

Print Page
Click Print at the top of the LoftwareSpectrum window to display options for on-demand
printing of labels.

510 Loftware Spectrum 3.0.1 User Guide


Printing Labels

Documents Tree

Select label templates or processes from which to print labels.


Tip: You can move an object from one folder to another by dragging the object
from one folder and dropping it into another. Alternatively, you can right-click an
object, select Move to, and select a folder to which to move it.

Loftware Spectrum 3.0.1 User Guide 511


Printing Labels and Viewing Status

Data Entry View

The following options may be displayed.


Option Description
Title View the data map entries in a dialog box.
Device View or select the device connection to use to print the label. This may refer
to a physical printer,device queue, or other target for output, such as an image
file or a PDF file. Click the browse button to select a device connection. Click
the Preview button to show what the label will look like when printed to the
device selected.
Quantity Configure the number of times to print a label by using the same data. Each
printed label printed is identical except for any incrementing or decrementing
field.
Duplicates Configure the number of times to print a label by using the same data and
without changing the value in any incrementing or decrementing field. Each
printed label printed is identical.
Pages Configure the number of times to print the content for each layout (typically
for each sheet or each row of roll stock). Each page is identical, including the
value in any incrementing or decrementing field. This option is displayed only
if a layout is associated with the label template.
Document View the version number of the label template version being displayed. To
Version view a different version of the label template, enter another version number
and click Load Version. This option is displayed only if the label template is
version-controlled and if you have the necessary permissions.
Input Enter data for variable fields in the form.
Fields
Layout Bar

The following options are displayed only if a layout is associated with the label template.
Option Description
Layout View the name of the layout attached to the label template. You cannot change
which layout is attached on Print.
Disable Whether the layout that is attached to the label template is used during printing.
Layout : The layout is used during printing.
: The layout is not used during printing.

512 Loftware Spectrum 3.0.1 User Guide


Printing Labels

Option Description
Start The label for which form data is displayed.
Label
or
Current
Label
Queued The number of labels for which data has been entered out of the total number of
labels on one page. The number of labels on a page is specified by the layout.
Auto Whether to automatically eject the page from the device after printing. After the
Eject page is ejected, printing of any queued labels continues.
: The current page is not ejected until the Eject button is clicked.
: The current page is automatically ejected after being printed.
Eject Manually eject the page from the device.
Clear Delete any queued labels without printing them.
Other Buttons

Command Description
Print Send the data currently in the form to the device or the queue. If entering data
for a series of labels managed by a layout, the form is reset to receive input for
the next label.
Clear Remove the data entered into a form.
Refresh Reload the selected label and clear any data in the input fields.
Preview Display a preview of the label in a separate window. The following controls
are displayed in the Print Preview for Loftware Spectrum window.
l Print: Send the data currently in the form to the device or the queue,

adhering to the values for Quantity and Duplicates specified in the


main Spectrum window. If entering data for a series of labels managed
by a layout, the form is reset to receive input for the next label.
l Close: Close the Loftware Spectrum Print Preview window.

l Fit to Window: Scale the preview image to fit within the Loftware

Spectrum Print Preview window.


l Zoom Level: The percentage displayed is the zoom level for the

preview image. You can adjust the zoom level by clicking the arrows
for the field or the Fit to Window button.
Job Status

Loftware Spectrum 3.0.1 User Guide 513


Printing Labels and Viewing Status

Option Description
Recent Displays the job ID and time stamp for recent print requests.
Job
Requests
View For the job selected, display the status in Status.
Job
Status
View For the job selected, display the PDF file in a new window or in a new tab of the
PDF web browser.
Note: This option is available only if the selected job was printed
to a PDF device. The PDF file is displayed only if it is stored in
the default location. For more information, see " Create a Print-to-
PDF Device Connection" on page 799.

514 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Managing Job and Device Status


In Loftware Spectrum, you can use Status to view and manage the status of print jobs, device
queues, devices, and facilities. You can also:
l Search for print jobs, print job details, device queues, and devices with specific
characteristics
l Start, stop, or pause a device queue

l Cancel, move, or release a specific print job or jobs in a device queue

l Manage devices configured in Spectrum

Important: A user must have Read and Queue permissions for Device Groups to
view and perform actions on the device queue.

Tip: If you require more complex behavior than is available in Status, you can use
business rules and processes to perform actions on print jobs in a device queue.
For more information, see "Implementing Business Logic" on page 1181.

Loftware Spectrum 3.0.1 User Guide 515


Printing Labels and Viewing Status

View Status Summary


To view a high-level summary of the statuses of print jobs, device queues, devices, and
facilities, use the Dashboard section of Status. For more information, see " Dashboard" on
page 540.

516 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

View the Status of Device Queues


You can use the Queues section in Status to:
lSearch for a specific device queue or print job in a queue
l View, pause, stop, or start device queues

l Cancel, error, move, or release a specific print job or jobs in a device queue

l Add or remove a marker in a device queue

Currently, there is a one-to-one relationship between a device queue and a logical device.
Important: A user must have Read and Queue permissions for Device Groups to
view and perform actions on the device queue.
You can use the Queue Status component in the Dashboard section of Status to see the
number of queues in each status. To see the status of a specific device queue, use the following
procedure.
1. Click Status.
2. Click Queues. The Queues Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Queues Summary
page. For more information, see " Search Device Queues" on page 527. The status of a
device queue is displayed in the Status column.
Note: The data in Status is not dynamically updated. To update the data,

click Refresh .

Loftware Spectrum 3.0.1 User Guide 517


Printing Labels and Viewing Status

View Jobs in a Device Queue

To see the details of a device queue, including the sequence of print jobs in the queue, use the
following procedure.
1. Click Status.
2. Click Queues. The Queues Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Queues Summary
page.
4. Double-click a device name, or click a device name to select the row and then click View
Details . The Queue Detail page is displayed for the device.

518 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Start, Stop, or Pause aDevice Queue

To start, stop, or pause a device queue, you must first lock and control the device queue to
prevent other users from modifying the queue simultaneously. You can lock and start, stop, or
pause a device queue from the Queues Summary page or the Queue Detail page. To start,
stop, or pause a device queue, use the following procedure.
1. Click Status.
2. Click Queues. The Queues Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Queues Summary
page.

4. Click a device name to select the row, and then click Lock.
Note: If you have administrative permissions and the device queue is
locked by another user, see " Take Control of a Device Queue" on page
528.
5. To view the sequence of print jobs in the queue, double-click a device name, or click a
device name to select the row and then click View Details . The Queue Detail page
is displayed for the device.

6. Click Start , Stop , or Pause . For more information, see " Queues" on page
542.

Loftware Spectrum 3.0.1 User Guide 519


Printing Labels and Viewing Status

Find a Print Job in a Queue

You can use the Find field to quickly locate each print job detail on the Queue Detail page that
contains specific text or numbers in the Job ID, Job Name, Submitter, or Submitted Date
columns. To find a print job detail in a device queue, use the following procedure.
1. Click Status.
2. Click Queues. The Queues Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Queues Summary
page.
4. Double-click a device name, or click a device name to select the row and then click View
Details . The Queue Detail page is displayed for the device.
5. In the Find field, type all or part of a word or number to locate, and then click the
Next button. The first row that contains the text or number is highlighted.
6. Click the Previous or Next button to highlight the previous or next job detail in
the queue that contains the text.

520 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Cancel a Print Job

You can cancel and remove a specific print job or jobs in a device queue. Alternatively, you can
set a print job or jobs to an error status and enter a reason for the error. For more information,
see " Set a Print Job to an Error Status" on page 522. If you want to cancel the job currently
running on a particular device, see " Cancel the Current Job on a Device" on page 536.
Important: To cancel a print job in a device queue, a user must have Read and
Queue permissions for Device Groups and Read and Delete permissions for Jobs.
To cancel a specific job or jobs in a queue, use the following procedure.
1. Click Status.
2. Click Queues. The Queues Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Queues Summary
page.

4. Click a device name to select the row, and then click Lock .

5. Click Stop or Pause to stop or pause the device queue.


6. Double-click a device name, or click a device name to select the row and then click View
Details . The Queue Detail page is displayed for the device.
7. Select the check box in the row or rows of the print job or jobs you want to cancel.
Tip: You can use the Find field to locate a specific job detail in the queue.
For more information, see " Find a Print Job in a Queue" on page 520.

8. In the Job Actions toolbar, click Cancel .


9. Click Yes to confirm. The status of the print job or jobs is changed to Canceled. The

print job or jobs will be removed from the device queue when you click Refresh.

Loftware Spectrum 3.0.1 User Guide 521


Printing Labels and Viewing Status

Set a Print Job to an Error Status

You can set a specific print job or jobs in a device queue to an error status, enter a reason for the
error if desired, and remove the job or jobs from the queue. This is useful if you want remove a
print job from a device queue but you want to be able to search for the print job in the future
and see a record of why it was not printed. Alternatively, you can cancel a specific print job or
jobs in a device queue without adding an error reason. For more information, see " Cancel a
Print Job" on page 521.
To set a print job or jobs to an error status, use the following procedure.
1. Click Status.
2. Click Queues. The Queues Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Queues Summary
page.

4. Click a device name to select the row, and then click Lock .

5. Click Stop or Pause to stop or pause the device queue.


6. Double-click a device name, or click a device name to select the row and then click View
Details . The Queue Detail page is displayed for the device.
7. Select the check box in the row or rows of the print job or jobs that you want to mark as
Errored.
Tip: You can use the Find field to locate a specific job detail in the queue.
For more information, see " Find a Print Job in a Queue" on page 520.

8. In theJob Actions toolbar, click Error .


9. In the Error Job dialog box, enter text describing the reason for the error if desired, and
then click OK. The status of the print job or jobs is changed to Error. The print job or

jobs will be removed from the device queue when you click Refresh .
Tip: The Error Reason is displayed in the Information pane of the Jobs
section. For more information, see " View an Error Reason" on page 523.

522 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

View an Error Reason

For a manually errored print job in Spectrum, you can view the reason for the error if one was
entered by the user. To change the status of a print to errored, see " Set a Print Job to an Error
Status" on page 522. To view an error reason, use the following procedure.
1. Click Status.
2. Click Jobs. The Job Search page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter print job records.
4. Click the View By drop-down list and select Job Details, and then click Search .A
list of print job details is displayed, filtered by the criteria that you entered.
Note: Search results are not dynamically updated. To refresh the search

results, click Refresh .


5. In the Job Details Search page, click a job detail to select the row.

6. If the Information pane in the right column is collapsed, click the arrow to expand the
pane. The Job and Job Detail information for the selected job detail is displayed.
7. The Error Reason is displayed in the Job Detail information. If an ellipsis is displayed,
point to the icon to display the full text.

Loftware Spectrum 3.0.1 User Guide 523


Printing Labels and Viewing Status

Move a Print Job to a Different Queue

You can move a print job or jobs from one device queue to another specified device queue. The
print job or jobs will be added to the end of the specified device queue.
Important: To move a print job in a device queue to another device queue, a user
must have Read and Queue permissions for both Device Groups and Read and
Write permissions for Jobs.
To move a print job or jobs, use the following procedure.
1. Click Status.
2. Click Queues. The Queues Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Queues Summary
page.

4. Click a device name to select the row, and then click Lock .

5. Click Stop or Pause to stop or pause the device queue.


6. Double-click a device name, or click a device name to select the row and then click View
Details . The Queue Detail page is displayed for the device.
7. Select the check box in the row or rows of the print job or jobs that you want to move.
Tip: You can use the Find field to locate a specific job detail in the queue.
For more information, see " Find a Print Job in a Queue" on page 520.

8. In the Job Actions toolbar, click Move .


9. In the Select Destination Device for Print Job Move dialog box, navigate to the device
you want to move the print job or jobs to, and then click OK. The status of the print job
or jobs is changed to Moved. The print job or jobs will be removed from the device

queue when you click Refresh .

524 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Release a Print Job

In a stopped or paused device queue, you can use Release to immediately print a specific
print job or multiple specific print jobs in the queue. Alternatively, you can add a marker to a
device queue to release many sequential print jobs from the beginning of the device queue to a
specified point in the queue. For more information, see " Add a Marker to a Queue" on page
526.
To release a specific print job or multiple specific print jobs in a device queue, use the following
procedure.
1. Click Status.
2. Click Queues. The Queues Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Queues Summary
page.

4. Click a device name to select the row, and then click Lock.

5. Click Stop or Pause to stop or pause the device queue.


6. Double-click a device name, or click a device name to select the row and then click View
Details . The Queue Detail page is displayed for the device.
7. Select the check box in the row or rows of the print job or jobs that you want to
immediately print.
Tip: You can use the Find field to locate a specific job detail in the queue.
For more information, see " Find a Print Job in a Queue" on page 520.

8. In the Job Actions toolbar, click Release .


9. Click Yes to confirm. The status of the print job or jobs is changed to Released. The

print job or jobs will be removed from the device queue when you click Refresh .
Note: Multiple print jobs that are released at the same time will be
processed in the order they are received.

Loftware Spectrum 3.0.1 User Guide 525


Printing Labels and Viewing Status

Add a Marker to a Queue

In a stopped or paused device queue, you can add a marker to a device queue to release many
sequential print jobs from the beginning of the device queue to a specified point (the marker) in

the queue. Alternatively, you can use Release to immediately print a selected print job or
multiple selected print jobs in the queue. For more information, see " Release a Print Job" on
page 525.
To add a marker to a device queue, use the following procedure.
1. Click Status.
2. Click Queues. The Queues Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Queues Summary
page.

4. Click a device name to select the row, and then click Lock.

5. Click Stop or Pause to stop or pause the device queue.


6. Double-click a device name, or click a device name to select the row and then click View
Details . The Queue Detail page is displayed for the device.
7. Starting at the top of the device queue (the print job with order number 1), locate the row
of the last print job that you want to release and select the check box in that row.
Tip: You can use the Find field to locate a specific job detail in the queue.
For more information, see " Find a Print Job in a Queue" on page 520.

8. In the Job Actions toolbar, click Add Marker . A marker row is added below the
selected row.
Note: A device queue can only have one marker at a time.

9. To immediately print the print jobs above the marker row, click Run to Marker . The
status of the print job or jobs is changed to Released. The print job or jobs will be

removed from the device queue when you click Refresh .

10. To remove a marker, click Remove Marker .


Note: A marker is automatically removed from a device queue when the
user who added the marker has logged out.

526 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Search Device Queues

You can search for device queues with specific characteristics. To search for device queues, use
the following procedure.
1. Click Status.
2. Click Queues.
3. In the Search Criteria pane, enter criteria by which to filter the device queues:
n To search for by full or partial device name, enter text in the Name field and then

click Search .
n To filter the list by Status, Lock Status, or Device Status, select the criteria
from the drop-down list.
A list of device queues is displayed, filtered by the criteria that you entered.

Loftware Spectrum 3.0.1 User Guide 527


Printing Labels and Viewing Status

Take Control of a Device Queue

If you have administrative permissions and a device queue is locked by another user, you may
take control of the device queue in order to start, stop, or pause the queue or manage the print
jobs in the queue. You can see which user has locked a device queue at the top of the Queue
Detail page. To take control of a device queue, use the following procedure.
1. Click Status.
2. Click Queues. The Queues Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Queues Summary
page.
4. To see which user has locked the device queue, double-click a device name, or click a
device name to select the row and then click View Details . The Queue Detail page
is displayed for the device with a user name in the Locked by field.
5. Do one of the following:

n On the Queue Detail page, click Take Control in the QueueActions


toolbar
n On the Queues Summary page, click a device name to select the row, and then

click Take Control


The Locked by field displays your user name.

528 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

View the Status of Print Jobs


You can view the status of Spectrum print jobs. You can use the Dashboard section of Status
to see a status summary of recent print jobs. To see the status of a specific print job, use the
following procedure.
1. Click Status.
2. ClickJobs.

3. Above theSearch Criteria pane, click New Search .


4. In the Search Criteria pane, enter criteria by which to filter the database of print job
records, and then click Search . For more information, see " Search Print Jobs" on
page 530 and " Jobs" on page 547. The status of a print job is displayed in the Status
column.
Note: The data in Status is not dynamically updated. To update the data,

click Refresh .

5. To see basic information about a job, click the job and then click the arrow to expand
the Information pane in the right column.
6. To see additional information about a job, double-click the job or click the job and then
click Inspect. The Job Inspector is displayed.

Loftware Spectrum 3.0.1 User Guide 529


Printing Labels and Viewing Status

Search Print Jobs

To search the database of print job records for print jobs with specific characteristics, use this
procedure.
1. Click Status.
2. ClickJobs.

3. Above theSearch Criteria pane, click New Search .

530 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

4. In the Search Criteria pane, enter criteria by which to filter the database of print job
records. For more information, see " Jobs" on page 547.
Tip: Filtering by Successes and Failures
You can limit the jobs displayed to include only those that included successes, did not
include successes, included failures, or did not include failures. To filter the list of jobs
based on whether successes and failures did or did not occur, configure the three-
position check boxes.
Successes/
Description
Failures
Show jobs regardless of the value of this property.
Show jobs for which the value is true.
For Successes, this indicates that the job included successes.
For Failures, this indicates that the job included failures.
Show jobs for which the value is false.
For Successes, this indicates that the job did not include successes.
For Failures, this indicates that the job did not include failures.
Tip: Filtering by Status
You can search for jobs with a particular status. You must select each status that you want
to include in your search.
n To select adjacent statuses in the list, click the first status that you want to select,
press the Shift key, and click the last status that you want to select.
n To select non-adjacent statuses, press the Ctrl key and click each status that you
want to include.
n To de-select a status, press the Ctrl key and click the status.
Tip: Filtering by Date and Time
You can limit the jobs displayed to include only those that were last modified within a
specific time range, before a specific time, or after a specific time.
n To view all jobs that were last modified within a time range, enter that range in the
From and To fields.
n To view all jobs that were last modified after a specific time, enter the time in the
From field. Leave the To field blank.
n To view all jobs that were last modified before a specific time, enter the time in
the To field. Leave the From field blank.

Loftware Spectrum 3.0.1 User Guide 531


Printing Labels and Viewing Status

Important! When creating a search, a job target folder 1 must be selected


in the Folders field. Searching a job target folder provides you only with
status information for jobs associated with that specific job target folder and
does not include information from any of its subfolders.
5. At the top of the pane, select Jobs or Job Details from the View By drop-down list.
6. Click Search . A list of print jobs is displayed, filtered by the criteria that you entered.
Note: The data in Status is not dynamically updated. To update the data,

click Refresh .
7. To save these search criteria for future use, in the text box above theSearch Criteria
pane, enter a name for this search and then click to save the configuration.
8. To download these search results to a comma-delimited text file that can be viewed in

most spreadsheet applications, click , specify a file name and location, and then click
Save.

1A folder in Spectrum that contains status information about print jobs. For print jobs performed via an integration, you can specify
the job target folder. For on-demand print jobs, the default Job Target folder is used.

532 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

View the Status of Devices


For each device connection configured in Spectrum, you can view whether the device 1 is
online, unreachable, or errored. You can use theDevice Status component in the Dashboard
section of Status to see the number of devices in each status. To see the status of a specific
device, use the following procedure.
1. Click Status.
2. Click Devices. The Devices Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Devices Summary
page. For more information, see " Search Devices" on page 534. The status of a device is
displayed in the Status column.
Note: The data in Status is not dynamically updated. To update the data,

click Refresh .
4. To view on-demand status information, click a device name and then click
DetailedStatus .
5. To send a command to a device, click a device name and then click the Select a
Command for theDevice drop-down list. The available commands are displayed for the

selected device. Select a command and then click Send Command to Device.

1A physical printer, print queue, or other target for output, such as an image file or a PDF file.

Loftware Spectrum 3.0.1 User Guide 533


Printing Labels and Viewing Status

Search Devices

To search for devices with specific characteristics, use the following procedure.
1. Click Status.
2. Click Devices.
3. In the Search Criteria pane, enter criteria by which to filter the devices:
n To search by full or partial device name, enter text in the Name field and then

click Search .
n To filter the list by Device Status, Family, or Model, select the criteria from the
drop-down list.
A list of devices is displayed, filtered by the criteria that you entered.
4. To download these search results to a comma-delimited text file that can be viewed in

most spreadsheet applications, click , specify a file name and location, and then click
Save.

534 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

View a Device Web Page

For each TCP/IP device configured in Spectrum, you can easily go to the device's web interface
from the Devices section of Status , if supported by the device.
To view a device web page, use the following procedure.
1. Click Status.
2. Click Devices. The Devices Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Devices Summary
page. For more information, see " Search Devices" on page 534.

4. Click a device name, and then click View DeviceWebPage . The device's web
interface is displayed in a new browser tab.

Loftware Spectrum 3.0.1 User Guide 535


Printing Labels and Viewing Status

Cancel the Current Job on a Device

You can cancel the job currently running on a particular device. If you want to cancel a specific
print job or jobs in a device queue, see " Cancel a Print Job" on page 521. To cancel the job
currently running on a device, use the following procedure.
1. Click Status.
2. Click Devices. The Devices Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Devices Summary
page. For more information, see " Search Devices" on page 534.

4. Click a device name, and then click Cancel Current Job .


5. Click Yes to confirm.
6. Click OK.
Note: You can also cancel the job currently running on a particular device from the
Jobs section in Status.

536 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Send a Command to a Device

If supported by a device, you can send a command to the device to be run by the device from
the Devices section of Status. This allows direct control of the device from theSpectrum
interface. For example, a Zebra device may support the following list of commands:Reset,
Pause, Resume, Cancel, Cancel All, Offline, and Print Configuration Label.
To send a command to a device, use the following procedure.
1. Click Status.
2. Click Devices. The Devices Summary page is displayed.
3. In the Search Criteria pane, enter criteria by which to filter the Devices Summary
page. For more information, see " Search Devices" on page 534.
4. Click a device name.
5. Click the Select a Command for theDevice drop-down list and select a command.

6. Click Send Command toDevice .

Loftware Spectrum 3.0.1 User Guide 537


Printing Labels and Viewing Status

View the Status of Facilities


In a Spectrum instance that has a multi-site license, you can use the Facilities section in Status
to view the status of the connection between headquarters and facilities.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.
To see the connection status of facilities, use the following procedure.
1. Click Status.
2. Click Facilities. The Facilities Summary page is displayed. For more information, see "
Facilities" on page 558.

538 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Status Page
Click Status at the top of the Spectrum window to view and manage the status of device
queues, print jobs, devices, and facilities in the following sections:
l " Dashboard" on page 540
l " Queues" on page 542

l " Jobs" on page 547

l " Devices" on page 556

l " Facilities" on page 558

Note: The data in Status is not dynamically updated. To update the data, click

Refresh .

Note: Facilities and other functionality related to multi-site deployment are


available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Loftware Spectrum 3.0.1 User Guide 539


Printing Labels and Viewing Status

Dashboard

You can use the Dashboard section in Status to view a summary of the status of devices,
queues, and recent print jobs.
Note: The data in Status is not dynamically updated. To update the data, click

Refresh .

Device Status

The Device Status component displays the number of devices in each status. You can double-
click a status in the chart to view the Devices section filtered to the selected status. For more
information, see " Devices" on page 556.
Device Status Description
UP The device is online.
DOWN The device is unreachable and possibly offline.
UNKNOWN The status of the device is unknown.
ERRORED A failure has occurred.
Queue Status

The Queue Status component displays the number of queues in each status. You can double-
click a status in the chart to view the Queues section filtered to the selected status. For more
information, see " Queues" on page 542.
Queue Status Description
Started The device is accepting new jobs and sending jobs to the printer.
Stopped The device is not accepting new jobs and not sending jobs to the printer.
Paused The device is accepting new jobs but not sending jobs to the printer.
Print Job Statistics

The Statistics component displays the quantity of print jobs with a status of Success, Failure,
or Success withError for the last hour and last day. For more information, see " Jobs" on page
547.
Last 10 Failed Jobs

The Last 10 Failed Jobs component displays the job ID, State, and Name of the last ten print
jobs with an Errored status. You can double-click a job in the table to view the Jobs section
filtered to the selected JobID. For more information, see " Jobs" on page 547.
Last 10 Jobs

540 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

The Last 10 Jobs component displays the job ID, State, and Name of the last ten print jobs.
You can double-click a job in the table to view the Jobs section filtered to the selected Job ID.
For more information, see " Jobs" on page 547.

Loftware Spectrum 3.0.1 User Guide 541


Printing Labels and Viewing Status

Queues

You can use the Queues section in Status to control a device queue and manage print jobs in
the device queue. Currently, there is a one-to-one relationship between a device queue and a
logical device.
Search Criteria

You can enter search criteria to filter the list of device queues displayed by:
l Name, including partial word matching
l Status
l Lockstatus
l Device status
Queues Summary

The Queues Summary page displays device queues and statuses in Spectrum.

Note: The data in Status is not dynamically updated. To update the data, click

Refresh .

Toolbar
The following commands are available from the toolbar on the Queues Summary page.
Note: A command may be unavailable depending on your permissions, the device
permissions, or the device queue status.

Toolbar
Command Description
Icon
View Details Open the Queue Detail page for the selected device queue.

Start Start the selected device queue. New jobs are accepted and sent
to the device. If a marker is in the queue, it is removed.
Available only if the queue is locked and the status of the queue
is stopped or paused.
Stop Stop the selected device queue. New jobs are not accepted or
sent to the device.
Available only if the queue is locked and the status of the queue
is started or paused.
Pause Pause the selected device queue. New jobs are accepted but not
sent to the device.
Available only if the queue is locked and the status of the queue
is started or stopped.

542 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Toolbar
Command Description
Icon
Lock Lock the selected device queue to start, stop, or pause the queue
and prevent other users from modifying the queue.
Available only if the selected queue is not locked.
Unlock Unlock the selected device queue.
Available only if the queue is locked by the current user.
Take Control Take control of the selected device queue.
Available only if you have administrative permissions and the
queue is locked by another user.
Open Job Open a new Job Details Search tab in the Jobs section filtered
Search for to the device.
Queue
Properties
The following properties of device queues can be viewed on the Queues Summary page.
Tip: You can click a table header to sort the table by that column. You can also
click, drag, and drop a table header within the table to change the order in which
the columns are displayed.
Property Description
Name The device connection used to print the print jobs in this queue. This may refer
to a physical printer or other target for output, such as an image file or a PDF
file.
Status Whether the device queue is started, stopped, or paused.
Started: The device is accepting new jobs and sending jobs to the device.
Stopped: The device is not accepting new jobs and not sending jobs to the
device.
Paused: The device is accepting new jobs, but not sending jobs to the device.
Last The date and time when the device queue was most recently changed.
Updated
Device Whether the device associated with this queue is online or unreachable.
Status Up: The device is online.
Down: The device is unreachable and possibly offline.
Unknown: The status of the device is unknown.
Errored: A failure has occurred.
Queue Detail

The Queue Detail page displays the print jobs in a specific device queue.

Loftware Spectrum 3.0.1 User Guide 543


Printing Labels and Viewing Status

Queue Properties
The following properties of a device queue can be viewed on the Queue Detail page.
Property Description
Name The device connection used to print the print jobs in this queue. This may refer
to a physical printer or other target for output, such as an image file or a PDF
file.
Status Whether the device queue is started, stopped, or paused.
Started: The device is accepting new jobs and sending jobs to the device.
Stopped: The device is not accepting new jobs and not sending jobs to the
device.
Paused: The device is accepting new jobs, but not sending jobs to the device.
Device Whether the device associated with this queue is online or unreachable.
Status Up: The device is online.
Down: The device is unreachable and possibly offline.
Unknown: The status of the device is unknown.
Errored: A failure has occurred.
Job The total number of unique print jobs currently assigned to the device queue.
Count
Locked The user name of the person who locked the device queue, if applicable.
by
Queue Actions Toolbar
The following commands are available from the Queue Actions toolbar on the Queue Detail
page.
Toolbar
Command Description
Icon
Start Start the device queue. New jobs are accepted and sent
to the device. If a marker is in the queue, it is removed.
Available only if the queue is locked and the status of
the queue is stopped or paused.
Stop Stop the device queue. New jobs are not accepted or
sent to the device.
Available only if the queue is locked and the status of
the queue is started or paused.
Pause Pause the device queue. New jobs are accepted but not
sent to the device.
Available only if the queue is locked and the status of
the queue is started or stopped.

544 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Toolbar
Command Description
Icon
Lock Lock the device queue to start, stop, or pause the queue
and prevent other users from modifying the queue.
Available only if the selected queue is not locked.
Unlock Unlock the device queue.
Available only if the queue is locked by the current user.
Take Control Take control of the device queue.
Available only if you have administrative permissions
and the queue is locked by another user.
Open Job Search for Open a new Job Details Search tab in the Jobs section
Queue filtered to the device.
Job Actions Toolbar
The following commands are available from the Job Actions toolbar on the Queue Detail page.
Note: The Job Actions commands are available only if the device queue is locked
by the current user and the status of queue is stopped or paused.
Toolbar
Command Description
Icon
Cancel Cancel and remove the selected job or jobs from the device queue.

Error Set the selected job or jobs to an error status, add a reason if desired,
and remove the job or jobs from the queue. This is useful if you
want remove a print job from a device queue but you want to be able
to search for the print job in the future and see a record of why it
was not printed.
Move Move the selected job or jobs to a different specified device queue.
The job or jobs are added to the end of the specified device queue.
Release Release the selected job or jobs to the device for immediate printing.

Add Add a marker in the device queue after the selected job. This is
Marker useful if you want to release many sequential print jobs from the
beginning of a device queue to a specified point in the queue. A
queue can only have one marker at a time. A marker is automatically
removed from a queue when the user who added the marker has
logged out.
Run to Release the jobs in the device queue from the beginning of the
Marker queue to the marker.

Loftware Spectrum 3.0.1 User Guide 545


Printing Labels and Viewing Status

Toolbar
Command Description
Icon
Remove Remove the marker in the device queue.
Marker
Find
You can use the Find field to quickly locate a print job detail on the Queue Detail page that
contains specific text or numbers in the Job ID, Job Name, Submitter, or Submitted Date
columns.

In the Find field, type all or part of a word or number to locate, and then click the Previous
or Next button to highlight the first or last row that contains the text. Click Previous or
Next again to highlight the previous or next row that contains the text.
Queue Detail Properties
The following are the properties of print jobs1 in the device queue.
Property Description
Select the check box to perform a job action on the print job. To select
all the print jobs in the queue, select the check box in the header row.
Status The status of the print job. See Status When Viewing by Jobs.
Order The order the job is processed in the device queue.
Job ID A unique identifier for the print job. Click a job ID to view the
JobDetails Search page of the Jobs section.
Job Name An identifier for a print job provided by the integration that initiated the
job. On-demand print jobs and previews do not have job names.
Job Detail The number of print job details in this device queue for the print job.
Count
Submitter The user name of the person who submitted the print job or the user
account used to submit the job. For a print job submitted via an
integration, this is the Run As user for the integration.
SubmittedDate The date and time when the print job was submitted to the device
queue.

1What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.

546 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Jobs

You can use the Jobs section in Status to view the status of print jobs and search for print jobs
with specific characteristics.
Note: The data in Status is not dynamically updated. To update the data, click

Refresh .

Search Criteria

Toolbar
The following commands are available above the SearchCriteria pane.
Toolbar
Command Description
Icon
New Search Open a new job search tab.

Save Search Save the search that is currently displayed and for which the name
appears in the text box adjacent to this button. You can change the
name of this search by typing a different name in the text box.
Delete the Close and delete the current search.
Currently
Selected
Search
Search Criteria Tips
You can enter search criteria to filter the list of jobs1 or job details2 displayed. You can limit
the jobs or job details displayed to only those with specific IDs, names, or statuses, submitted
by a particular user, for a particular label template, or assigned to a particular target device. You
can also limit the jobs or job details based on when they were last modified, whether they
included successes, or whether they included failures.

Click Search to display the list of jobs or job details filtered by the entered criteria.

1What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.
2A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.

Loftware Spectrum 3.0.1 User Guide 547


Printing Labels and Viewing Status

Successes and Failures

You can limit the jobs displayed to include only those that included successes, did not include
successes, included failures, or did not include failures. To filter the list of jobs based on
whether successes and failures did or did not occur, configure the three-position check boxes.
Successes/
Description
Failures
Show jobs regardless of the value of this property.
Show jobs for which the value is true.
For Successes, this indicates that the job included successes.
For Failures, this indicates that the job included failures.
Show jobs for which the value is false.
For Successes, this indicates that the job did not include successes.
For Failures, this indicates that the job did not include failures.

548 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Status

You can search for jobs with a particular status. You must select each status that you want to
include in your search.
l To select adjacent statuses in the list, click the first status that you want to select, press
the Shift key, and click the last status that you want to select.
l To select non-adjacent statuses, press the Ctrl key and click each status that you want to
include.
l To de-select a status, press the Ctrl key and click the status.

Loftware Spectrum 3.0.1 User Guide 549


Printing Labels and Viewing Status

Date Range

You can limit the jobs displayed to include only those that were last modified within a specific
time range, before a specific time, or after a specific time.
l To view all jobs that were last modified within a time range, enter that range in the From
and To fields.
l To view all jobs that were last modified after a specific time, enter the time in the From
field. Leave the To field blank.
l To view all jobs that were last modified before a specific time, enter the time in the To
field. Leave the From field blank.
Job Search

Toolbar
The following commands are available from the toolbar on the Job Search page.
Command Effect
Open Job Open a new Job Details Search tab filtered to the selected Job ID.
Search
Reprint Reprint a recently printed job or range of labels within the job. A dialog box
allows you specify the range of labels within the job, the quantity, and the
device to use.
Note: To use this command, you must have Reprint permission
for the relevant objects. Object-based and role-based Reprint
permissions are required.
Inspect If a job is selected, display Job Inspector information about any errors and
about the data processed.
Download the search results for the current search to a comma-delimited text
file (CSV). You can view this file in a spreadsheet application such as
Microsoft Excel.
Cancel Cancel the job currently running on the device.
Job
Properties
The following are the properties of print jobs1 . These properties are displayed in the results of
searches, and you can search for specific jobs based on most of these criteria.
Tip: You can click a table header to sort the table by that column. You can also
click, drag, and drop a table header within the table to change the order in which
the columns are displayed.

1What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.

550 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Property Description
Status Indicates the current state of a job:

Job contains successes and no failures.

Job contains successes and failures.

Job contains failures and no successes.


ID A unique identifier for a print job.
Name An identifier for a print job provided by the integration that initiated the
job. On-demand print jobs and previews do not have job names.
Status The current state of a print job. See Status When Viewing by Jobs.
Location The name of the facility from which the print job was submitted. The
value is local if the print job was submitted by headquarters.
Note: This property is displayed only if you have a multi-
site license for Spectrum and you are logged on to the
headquarters site.
Submitter The user name of the person who submitted a print job or the user
account used to submit the job. For a print job submitted via an
integration, this is the Run As user for the integration.
SubmittedDate The date and time when a print job was submitted to the device queue.
Modified Date The date and time when a print job was most recently changed.
Status When Viewing by Jobs
The following are the possible values for Job Status that can be displayed for a job when you
view search results by Jobs or when you view jobs in a feed. In the Search Criteria, these are
also the available values for Status when viewing by Jobs.
Job Status Description
Running The print job is being prepared for processing.
Processing The print job is being processed, which includes being printed.
Errored An error occurred during processing.
Done The print job has finished processing.
Paused The print job has been halted but may be continued.
Suspended The print job has been halted but may be continued.
Canceled The print job has been halted and cannot be continued.
Job Details Search

Toolbar
The following commands are available from the toolbar on the Job DetailsSearch page.

Loftware Spectrum 3.0.1 User Guide 551


Printing Labels and Viewing Status

Command Effect
Open Job Open a new Job Details Search tab filtered to the selected Job ID.
Search This command is available only when a row is selected.
Inspect If a job is selected, display Job Inspector information about any errors and
about the data processed.
Download the search results for the current search to a comma-delimited text
file (CSV). You can view this file in a spreadsheet application such as
Microsoft Excel.
Properties
The following are the properties of print job details1. These properties are displayed in the
results of searches, and you can search for specific job details based on most of these criteria.
Tip: You can click a table header to sort the table by that column. You can also
click, drag, and drop a table header within the table to change the order in which
the columns are displayed.
Property Description
Status Indicates the current state of a job detail:

Job detail completed printing.

Job detail failed.


Job ID A unique identifier for a print job.
Job Name An identifier for a print job provided by the integration that initiated the
job. On-demand print jobs and previews do not have job names.
Job Detail An identifier for a print job detail provided by the integration that
Name initiated the job. On-demand print jobs and previews do not have job
detail names.
Document The path and name of the label template being used to print a label or
labels, followed by the version number if applicable.
!INLINE_DOCUMENT! is displayed for a pass through file.
Device The device that received and processed a print job.
Status The current state of a job detail. See Status When Viewing by Job
Details.

1A digital representation of a label generated by a print job. Job details can be altered during the print job by using Formula data
sources, Script data sources, and business rules.

552 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Property Description
Location The name of the facility from which the print job was submitted. The
value is local if the print job was submitted by headquarters.
Note: This property is displayed only if you have a multi-
site license for Spectrum and you are logged on to the
headquarters site.
Submitter The user name of the person who submitted a print job or the user
account used to submit the job. For a print job submitted via an
integration, this is the Run As user for the integration.
SubmittedDate The date and time when a print job was submitted to the device queue.
Modified Date The date and time when a print job was most recently changed.
Status When Viewing by Job Details
The following are the possible values for Status that can be displayed for a job detail when you
view search results by Job Details. In the Search Criteria, these are the available values for
Status when viewing by Job Details.
Job Detail Status Description
Submitted The print job has been posted, but is not yet in the device queue.
Queued The print job is in the device queue.
Paused The print job has been halted but may be continued.
Printing The print job is being printed.
Completed The print job finished successfully.
Errored An error occurred.
Canceled The print job has been halted and cannot be continued.
Completed Errored An error occurred after this job detail was completed, but before the
entire job was completed.
Errored Completed An error occurred before this job detail was sent to the device. The
job may or may not have been printed.
Printing Errored The print job is being printed, but an error has occurred. After the
print job is complete, its status changes to Errored Completed.
Web Printing The print job has been submitted to SpectrumRemotePrint. The
SpectrumRemotePrint client must be connected for the job to be
forwarded to the local device.
WebPrintRequested The print job has been submitted to SpectrumRemotePrint. The
SpectrumRemotePrint client accepted the job, but has not printed
to the local device.
Information

Loftware Spectrum 3.0.1 User Guide 553


Printing Labels and Viewing Status

The Information pane is displayed in the right column. If the right column is collapsed, click
the arrow button in the middle of the page to expand it.
Job Properties
When a print job is selected, the following Job properties display in the Information pane.
Property Description
ID A unique identifier for the print job.
Job DetailID A unique identifier for the print job detail provided by the integration
that initiated the job. On-demand print jobs and previews do not have
job detail IDs.
Name An identifier for the print job provided by the integration that initiated
the job. On-demand print jobs and previews do not have job names.
Action Whether the print job is a test print.
RUN: The print job is not a test print.
TEST RUN: The print job is a test print.
Status The current state of the print job. See Status When Viewing by Jobs.
Target Folder The folder that contains status information about the print job.
BatchCount The number of batches of print jobs created for the job.
Process Count The number of processes created for the job.
Audit Level The Audit Mask set on the print job during the printing process. The
Audit Mask is whether to save data from the label, the print stream, an
image of the label, a PDF of the label, or the data from the label in XML
format to an audit table in Spectrum.
Note: The Audit Level of the print job can be defined
during the printing process and may be different from the
Audit Mask on the job process.
ClientCode A unique identifier for the print job provided by the client that generated
the job.
Created By The user name of the person who submitted the print job or the user
account used to submit the job. For a print job submitted via an
integration, this is the Run As user for the integration.
Created On The date and time when the print job was submitted to the device queue.
Modified By The user name of the user who most recently made changes to the print
job.
Modified On The date and time when the print job was most recently changed.
Successes Whether successes have occurred during processing.
Failures Whether failures have occurred during processing.

554 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Property Description
Error Code The error code value for the reason the job failed. This is an internal
identifier, but may help with problem resolution.
Data Click View to display the Job Data dialog box.
ProcessingTime The job processing time in milliseconds. One second is equivalent to
(ms) 1000ms.
Job Detail Properties
In addition to the Job properties, the following properties display in the Information pane
when a print job detail is selected.
Property Description
Status The current state of the job detail. See Status When Viewing by Job Details.
Name An identifier for a job detail provided by the integration that initiated the job.
On-demand print jobs and previews do not have job detail names.
Device The device that received and processed the print job.
Group
Batch The unique identifier of the print job batch that the print job detail belongs to.
Priority The number of the job detail in the device queue.
The number of the order the job detail is processed in the device queue.
Quantity The number of labels printed by the job detail.
Copies The number of copies printed by the job detail.
Created The user name of the person who submitted the job detail or the user account
By used to submit the job detail. For a print job submitted via an integration, this is
the Run As user for the integration.
Created The date and time when a print job was submitted to the device queue.
On
Modified The user name of the user who most recently made changes to the job detail.
By
Modified The date and time when the print job detail was most recently changed.
On
Data Click View to display the Process Data dialog box.
Error The reason provided by a user for changing the status of the print job to
Reason Errored, if applicable. Point to the icon to display the full text.

Loftware Spectrum 3.0.1 User Guide 555


Printing Labels and Viewing Status

Devices

You can use the Devices section in Status to view and manage the status of devices and search
for a specific device.
Note: The data in Status is not dynamically updated. To update the data, click

Refresh .

Search Criteria

You can enter search criteria to filter the list of devices displayed by:
l Name, including partial word matching
l Device Status
l Family
l Model
Devices Summary

The Devices Summary page displays a list of devices and statuses in Spectrum.
Toolbar
The following commands are available from the toolbar on the Devices Summary page.
Note: A command may be unavailable depending on your permissions, the device
permissions, or the device queue status.

Toolbar
Command Description
Icon
Detailed View details of the status for the selected device and populate the
Status Detailed Status column for the selected device.
View Device Open the selected device in Device Management.
Configuration Available only if you have the appropriate permissions.
View Device If supported by the TCP/IP device, open a new browser tab with
Web Page the device's web interface.
Cancel Cancel the job currently running on the device.
Current Job
Download Download the search results for the current search to a comma-
Results delimited text file (CSV). You can view this file in a spreadsheet
application such as Microsoft Excel.
Select a Command Select a command from the available actions returned from the
for theDevice device driver, if supported by the device.

556 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Toolbar
Command Description
Icon
Send Send the selected command to the device.
Command
toDevice
Properties
The following properties of devices can be viewed on the Devices Summary page.
Tip: You can click a table header to sort the table by that column. You can also
click, drag, and drop a table header within the table to change the order in which
the columns are displayed.
Property Description
Status Indicates the current status of the device:

The device is online.

The status of the device is unknown.

The device is unreachable and possibly offline.


Name The name of the device including its location.
Status Whether the device is online or unreachable.
Up: The device is online.
Down: The device is unreachable and possibly offline.
Unknown: The status of the device is unknown.
Errored: A failure has occurred.
DetailedStatus If supported by the TCP/IP or USB device, the detailed status of the
device.
Note: This property is displayed only after Detailed
Status has been viewed.
Status Last The date and time when the device status was most recently updated.
Updated
Family The family of the device.
Model The model of the device.
Description The user-defined description of this device.

Loftware Spectrum 3.0.1 User Guide 557


Printing Labels and Viewing Status

Facilities

If your Spectrum license and your permissions permit, you can use the Facilities section in
Status to view the status of the connection between headquarters and facilities.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Note: The data in Status is not dynamically updated. To update the data, click

Refresh .

Facilities Summary

The following properties of facilities can be viewed on the Facilities Summary page.

Tip: You can click a table header to sort the table by that column. You can also
click, drag, and drop a table header within the table to change the order in which
the columns are displayed.
Property Description
Name The unique ID of the facility.
Facility Whether the facility is connected to headquarters.
Connected
Facility The date and time when the connected status of the facility most recently
Last changed.
Updated
HQ Whether headquarters is connected to the facility.
Connected
HQ Last The date and time when the connected status of the headquarters most
Updated recently changed.
Status Last The date and time when this data was most recently synced. For more
Updated information, see "Configuring and Managing a Multi-Site Deployment" on page
624.

558 Loftware Spectrum 3.0.1 User Guide


Managing Job and Device Status

Configuring and Administering

The topics in this section describe how to perform the following tasks.
l Configure and administer user access by using Access Control.
l Manage a version-controlled environment, allowing users to retain multiple versions of
objects and to roll back to a previous version if necessary.
l Administer options for high availability using distributed services, multi-site deployment,
authentication, font management, tag management, and other system-wide settings by
using System Management.
l Configure user profiles by using User Preferences.
l Manage device connections by using Device Management.
l Configure data services such as database connections by using Data Services.
l Integrate Spectrum with Oracle, SAP ERP, and other applications by using Integration
Management.
l Design processes to implement business logic by using Process Design.
l Access and manage customer-specific cross reference tables from within Spectrum.

Loftware Spectrum 3.0.1 User Guide 559


Configuring and Administering

Controlling Access in Spectrum


LoftwareSpectrum uses a combination of role-based access control (RBAC) and object-based
Access Control Lists (ACLs) to provide security. Administrators can specify what objects a user
has access to and what actions a user can perform on a given type of object.
Important: For a user to be able to perform an action on an object, the user must
have both role-based permission to perform the action on that type of object and
object-based permission to perform that action on the object.

560 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Authenticating Users
Spectrum has the concept of local and domain users. Local users are assigned a password by the
administrator within the Spectrum system. Domain users are configured in Spectrum, but their
passwords are stored in an LDAP or Federated Single Sign-On system.
If you use an LDAP or Single Sign-On system, Spectrum can use that system to authenticate the
user. In both cases a user must be created in Spectrum, and the user names must be an exact
match. For more information, see "Configuring Authentication" on page 743.

Loftware Spectrum 3.0.1 User Guide 561


Configuring and Administering

Configuring Access
At a basic level you perform the following tasks when configuring security in Spectrum.
l Create a folder structure that makes sense for your organization. When creating each
folder, decide whether you want to have version control1 for objects in that folder.
l Review the built-in roles and the permissions for role-based access control that they
provide. If necessary, alter the permissions for the built-in roles or create additional roles.
l Create groups.
l Create users.
l Assign roles to groups or users.
l Assign group membership to users.
l Configure ACLs for folders. Ensure that the objects on which a role must act allow the
action to be performed. For example, this can include allowing access to a folder, label
template, device, data service, integration, or process.

1The ability to maintain distinct versions of a label template or other item. An item is checked out to be modified, and checked in to
save a new version. After a version is checked in, that version cannot be changed.

562 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Restrictive versus Permissive Security


In a restrictive security configuration, you block access to most or all objects (also called
entities) by default and then selectively grant access to specific users or groups. This approach is
also known as whitelisting. By default LoftwareSpectrum has restrictive security. All
permissions except List permission for Folders are denied.
In a permissive security configuration, you allow access to most or all objects by default and
then selectively block access by specific users or groups. This approach is also known as
blacklisting.

Loftware Spectrum 3.0.1 User Guide 563


Configuring and Administering

Access Concepts in Spectrum


LoftwareSpectrum provides a powerful and flexible security model for access control.
Depending on your background, this security model may include dimensions that are new to
you.
A permission can be granted or denied
A permission is the potential for a user to be able to perform an action. A permission can be
granted or denied. Permissions can be granted or denied directly, or they can be inherited.
Permissions are specific to object type
In Spectrum, permissions are specific to the type of object. For example, instead of a generic
Create permission, there is a separate Create permission for each type of object, such as
Create permission for Folders, Create permission for Users, Create permission for
Documents, and Create permission for Data Services. A user may be granted Create
permission for Documents, but denied Create permission for Integrations.
Both object access permission and role-based permission are required
There are two categories of permissions in Spectrum, and to perform an action on an object a
user must have both categories of the permission to perform that action. Role-based
permissions1 grant or deny a user the potential to perform actions on types of objects.
Object access permissions2 grant or deny a user the potential to perform actions on a
particular object or on all objects within a particular folder.
A user can perform an action on an object only if that user has role-based permission to
perform the action on that type of object and has object access permission to perform the
action on that particular object or on all objects in the folder containing the object. An
exception is List permission for Folders, which cannot be explicitly granted as a role-based
permission.
Tip: If you have a small organization and do not want to limit access for any
users, you can assign all users the Local Admin role and grant all object access
permissions for all types of objects to the root folder.
Permissions can be inherited
Although permissions can sometimes be granted or denied directly, often they are inherited.
A user may inherit the role-based permissions and object access permissions of any group in
which that user has membership. Objects may inherit the permissions of the folder in which
they are contained, and each folder may inherit permissions from the folder in which it is

1Permissions in Spectrum that are assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned. A user must have both a role-based permission and the corresponding
object access permission to perform an action on an object.
2Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

564 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

contained.
Note: Any object access permission for the root folder in Spectrum that is
configured as Inherited (a clear check box ) is denied.
Additionally, a device inherits object access permissions and role-based permissions from the
device group that is its parent. It is recommended that you configure permissions at the level
of a device group rather than at the level of a device.
The object access permissions that a user receives for a specific object can be directly
assigned to that user, inherited from a group in which the user has membership, inherited
from the Default Permissions for the object, or inherited from a folder.
The role-based permissions that a user receives for a type of object can be inherited from a
group to which the role was assigned or inherited from a role. These permissions cannot be
directly assigned to a user.
Order of evaluation limits inheritance
When a user attempts to perform an action on an object, Spectrum evaluates the permissions
available for that user in order. Spectrum begins by evaluating any object access permissions
explicitly configured for the user or any group in which the user has membership. If no
explicit value is found for the permission, Spectrum also evaluates the Default Permissions
available for all users. If object access permission is granted, then Spectrum evaluates the
role-based permission available to the user. If role-based permission for the action is also
granted, then the user can perform the action.
The following flowchart describes the order in which Spectrum searches for a permission and
the circumstances under which it stops searching for permission.

Loftware Spectrum 3.0.1 User Guide 565


Configuring and Administering

Object access permissions should be configured at the folder level


Object access permissions assigned to a folder are inherited by all objects of the appropriate
type within that folder. For ease of maintenance, it is recommended that you assign
permissions to folders instead of assigning permissions to individual objects within folders.
Also, some object access permissions, such as those for Jobs and User Profiles, can only be
configured at the folder level.
All users must be assigned a role
Roles are used to define functions or business responsibilities. For example, you may have a

566 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

role for any user acting as a Document Designer 1 and another role for a user acting as a
Data Provider 2. By using a role, you can assign a re-usable and centrally-configurable
collection of permissions to users and groups.
A user must have a role to be able to perform actions in Spectrum. Although it is possible to
assign a role directly to a user, it is recommended that you assign roles to groups and then
assign users to each group (or assign groups to each user). Each user inherits the role-based
permissions of any group in which the user is a member.
Tip: If you have a small organization and do not want to limit access for any
users, you can assign all users the Local Admin role and grant all object access
permissions for all types of objects to the root folder.
Visual indication of complex inheritance is limited
For a group, the Roles tab displays each role assigned to the group and the Users tab
displays users who are members of that group and therefore inherit those roles. However, for
a user the Groups tab displays the group in which the user has membership, but the Roles
tab does not display roles that are assigned to the user due to group membership. The Roles
tab for the user displays only roles that are directly assigned to the user, not those that are
inherited.
When you create a folder within a folder and configure an object access permission of the
child folder as inherited, the child folder inherits that permission from the parent folder.
However, the Folder Access tab of the child folder indicates only that the permission is
Inherited , not what the inherited value of the permission is.

Note: Any object access permission for the root folder in Spectrum that is
configured as Inherited is denied.

Note: For some special roles and user accounts, such as the ROLE_
ADMINISTRATOR role and the SuperAdmin user, some granted permissions may
not be displayed.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 567


Configuring and Administering

Best Practices for Access Control


l Create folders for objects that require similar permissions, and then assign object access

permissions at the folder level by using ACLs.


l Configure role-based permissions for roles, assign roles to groups, and add users to

groups.
l Limit the number of roles assigned to a user to prevent conflicting permissions.

WARNING: Do not delete the built-in Job Target folder in the root folder. You
can rename this folder if desired.

Important: Do not delete or rename the built-in jvmAdmin user or JVM_


MANAGEMENT group in the root folder. In a multi-site deployment1, do not
delete or rename the built-in MultiSiteAdmin user or the MULTISITE_
MANAGEMENT group in the root folder.

Important: Do not delete or rename the built-in Images and Reusable Objects
folders in the root folder.

Important: After installing Spectrum and before you create any objects, you
should rename the root folder (initially named Default) to something relevant to
your organization. In a multi-site deployment2, the name of the root folder must
be the same at the headquarters (HQ) and at each facility associated with that HQ.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.
2A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

568 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Getting Started with Users and Permissions


When managing LoftwareSpectrum, you need to create Spectrum user accounts for Document
Designers who are responsible for creating and updating label templates, for Data Providers
(interactive or automated) responsible for providing data to be printed on labels, and for Local
Administrators responsible for managing Spectrum. You also need to configure areas in
Spectrum where users with limited responsibilities can work.
To provide a user with permissions, you must assign a role to a group in which that user has
membership or assign a role directly to the user. For ease of maintenance, it is recommended
that you create users, give users membership in groups, and assign roles to the groups.
Important: Access in Spectrum requires both role-based permissions1 and object access
permissions2. For a user to be able to perform an action on an object, the user
must directly or indirectly be assigned a role that grants permission to perform that
action on that type of object. Additionally, that particular object must either be in a
folder that directly or indirectly grants the user access permission to perform that
action on that type of object or else that particular object must directly or
indirectly grant permission to the user to perform that action. There are several
permissions that are only role-based or only object-based and do not require a
corresponding permission. Examples include List permission for Folders and all
permissions for ModelStatus (AutoRefresh), Tag Categories, and Devices.

1Permissions in Spectrum that are assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned. A user must have both a role-based permission and the corresponding
object access permission to perform an action on an object.
2Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

Loftware Spectrum 3.0.1 User Guide 569


Configuring and Administering

Create Folders to Manage Users and Groups

If you have not already created a folder or folders in which to store user accounts and groups,
you should do so. This approach allows you to assign basic access permissions to all users or all
groups by assigning permissions to the folders.
Tip: You can move an object from one folder to another by dragging the object
from one folder and dropping it into another. Alternatively, you can right-click an
object, select Move to, and select a folder to which to move it.

Create a Folder for Users

To create a folder in which to store user accounts, use the following procedure.
1. In Access Control, click an existing folder, and then click Add Folder.
2. On the Folder Info tab, enter a Folder Name, such as User Accounts, and a
Description, and then click Save Folder. An additional tab is displayed.
Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are
limited to 255 characters.
3. Click the Folder Access tab. For any user account created in this folder, the Users row
allows you to manage who can view the user name in reports and dialog boxes in
Spectrum and who can make changes to the user account.
4. In the Default Permissions table, select Read permission for Users.
5. Click Save Folder.
Create a Folder for Groups

To create a folder in which to store groups, use the following procedure.


1. In Access Control, click an existing folder, and then click Add Folder.
2. On the Folder Info tab, enter a Folder Name, such as Groups, and a Description, and
then click Save Folder. An additional tab is displayed.
3. Click the Folder Access tab. For any group created in this folder, the Groups row allows
you to manage who can view the group name and who can make changes to the group.
4. In the Default Permissions table, select Read permission for Groups.
5. Click Save Folder.

570 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Create a Group and Assign a Role to Grant Permissions

If you have not already created the group to which you want to assign a user, you should do so.
In a particular group, you might include each Document Designer 1 who works on a particular
product so that you can limit access to labels by product, or each Data Provider 2 associated
with a particular office so that you can configure an appropriate default device.
To create a group and assign a role that grants role-based permissions3 to users who are
members of that group to perform actions on some types of objects, use the following
procedure.
1. In Access Control, click the folder that you created for storing groups, and click Add
Group.
2. On the Group Info tab, enter a Group Name and a Description, and then click Save
Group. Additional tabs are displayed.
Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are
limited to 255 characters.
3. Click the Group Access tab. This tab allows you to manage who can view the group
name, make changes to the group, or delete the group.
4. In the Default Permissions table, select the Read check box to grant Read access for
Groups. This allows the name of the group to be displayed to all users.
5. Click the Roles tab.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
3Permissions in Spectrum that are assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned. A user must have both a role-based permission and the corresponding
object access permission to perform an action on an object.

Loftware Spectrum 3.0.1 User Guide 571


Configuring and Administering

6. From the Roles tree, drag a role to the Role Membership table to assign it to all
members of the group. As a best practice, it is recommended that you minimize the
number of roles that you assign to a group or to a user to ensure that you do not assign
conflicting permissions.
n To create a group for users responsible for designing and editing label templates
and layouts, assign the Document Designer role. By default, the following pages
are displayed to users with this role:
Design, Print, Status, and User Preferences.
Note: If you want Document Designers to be able to delete label
templates, layouts, images, and folders, you must edit the Document
Designer role to add access to Access Control.
n To create a group for users responsible for providing data to be printed on labels,
either interactively through forms or by using an automated source, assign the
Document Printer role. Users with this role are referred to as Data Providers. By
default, the following pages are displayed to users with this role:
Print, Status, and User Preferences.
Note: To use Print Preview, a user should have a role with Print
permission for Documents, have Print permission for Documents for
folders containing label templates and images to be previewed, and
have Allow Print Preview selected in User Preferences.
n To create a group for users responsible for administering Spectrum, assign the
LocalAdmin role. This role includes most administrator permissions as well as all
of the permissions for a Document Designer and a Data Provider. By default, all
pages are displayed to users with this role.
n To create a group for users responsible for configuring roles, configuring access
for users with the Local Admin role, and administering Spectrum, assign the
LocalAdmin role and the ROLE_ADMINISTRATOR role. This combination
of roles provides permissions similar to that of the SuperAdmin user.
n To create a group for user accounts that act as the Run As users for integrations,
assign the Integration role. Such user accounts are typically not logged onto by an
interactive Spectrum user.
Note: To grant role-based permissions to users, you must assign a role. To
ensure that users have necessary permissions, it is recommended that you
use the built-in roles provided with Spectrum as they are. However, you can
create new roles or modify the built-in roles as needed if you have the Local
Admin and ROLE_ADMINISTRATOR roles or are using the SuperAdmin
user account.
7. Click Save Group.

572 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Note: You can assign existing users to a group on the Users tab for the Group or
on the Groups tab for the User, whichever is convenient. Both tabs will show that
the user is a member of the group.

Loftware Spectrum 3.0.1 User Guide 573


Configuring and Administering

Grant Access to a Work Area and Objects

If you have not already created a folder to serve as a work area for users in this group, you
should do so. Merely granting a user role-based permissions for some types of objects does not
allow that user to access folders and other objects unless those folders and objects also grant the
user access.
Note: Although you can grant access to objects individually, it is typically more
efficient to grant access to the folder containing the objects so that objects
currently in the folder and objects created in the folder in the future can inherit
permissions for that type of object from the folder.
To provide a group of users with access to a work area, use the following procedure to create a
folder in Spectrum and grant object access permissions1 at the folder level.
1. In Access Control, click an existing folder, and then click Add Folder to create a folder
to serve as a work area.
2. On the Folder Info tab, enter a Folder Name and a Description.
3. If any version-controlled objects will be stored in this folder, consider turning on
Version Control.
Important: You cannot change the Version Control setting after you save
the folder.
4. Click Save Folder. An additional tab is displayed.

1Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

574 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

5. Click the Folder Access tab. For any type of objects that you want to allow in this
folder, grant appropriate access to that type of object for any groups of users whom you
want to act on the objects.
Note: If there are permissions to use objects in this folder that you want to
make available to all users who access this folder, configure those
permissions in the Default Permissions table. However, the user can only
perform the action if the user also has the corresponding role-based
permission.

Note: To use Print Preview, a user should have a role with Print permission
for Documents, have Print permission for Documents for folders containing
label templates and images to be previewed, and have Allow Print Preview
selected in User Preferences.
Example: Access for Document Designers
If you want to allow Document Designers to create and edit label templates and
layouts in this folder, from the Users and Groups tree drag a group that you created
for Document Designers to the User/Group table. A permissions table is displayed
for that group. In the table, grant at least the following permissions. You do not have
to explicitly grant a permission if it is inherited from the folder's parent folder.
Desig
Rea Writ Creat Delet Admi Lis Pri Publis Repri Queu
Type n
d e e e n t nt h nt e
Print
Folders
Users
Groups
Roles
Documen
ts
Device
Groups
Servers
Jobs
Processes
Integratio
ns
Data
Services

Loftware Spectrum 3.0.1 User Guide 575


Configuring and Administering

Desig
Rea Writ Creat Delet Admi Lis Pri Publis Repri Queu
Type n
d e e e n t nt h nt e
Print
User
Profiles
Remote
Sites
Facility
Example: Access for Data Providers
If you want to allow Data Providers to enter data for and print labels in this folder,
from the Users and Groups tree drag a group that you created for Data Providers to
the User/Group table. A permissions table is displayed for that group. In the table,
grant at least the following permissions. You do not have to explicitly grant a
permission if it is inherited from the folder's parent folder.
Desig
Rea Writ Creat Delet Admi Lis Pri Publis Repri Queu
Type n
d e e e n t nt h nt e
Print
Folders
Users
Groups
Roles
Documen
ts
Device
Groups
Servers
Jobs
Processes
Integratio
ns
Data
Services
User
Profiles
Remote
Sites

576 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Desig
Rea Writ Creat Delet Admi Lis Pri Publis Repri Queu
Type n
d e e e n t nt h nt e
Print
Facility
Example: Access for Run As Users for Integrations
If you want to allow Run As users for integrations to run integrations, processes, and
business rules that are saved in this folder, from the Users and Groups tree drag a
group that you created for these users to the User/Group table. A permissions table
is displayed for that group. You do not have to explicitly grant a permission if it is
inherited from the folder's parent folder.
Note: If the process or business rule associated with an integration
performs actions that require additional permissions, you must ensure
that those permissions are granted to the Run As user.

Desig
Rea Writ Creat Delet Admi Lis Pri Publis Repri Queu
Type n
d e e e n t nt h nt e
Print
Folders
Users
Groups
Roles
Documen
ts
Device
Groups
Servers
Jobs
Processes
Integratio
ns
Data
Services
User
Profiles
Remote
Sites
Facility

Loftware Spectrum 3.0.1 User Guide 577


Configuring and Administering

Note: For a job target folder, the Run As user requires different
permissions. For more information, see " Configure a Job Target Folder"
on page 1045.
6. Click Save Folder.

578 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Create a User Account and Assign Group Membership

After you have created groups and assigned roles to those groups, you can assign group
memberships to users.
To create a user account and assign a group membership to that user, use the following
procedure.
1. In Access Control, click the folder that you created for storing user accounts, and click
Add User.
2. On the User Info tab, enter a User Name and other user-specific information, and then
click Save User. Additional tabs are displayed.
Note: A User Name can include letters and numbers. Additionally, the
following characters are permitted but cannot begin or end the name:
hyphens, underscores, and periods.

Note: Because the user account inherits the Read permission for Users that
you configured at the folder level, it is not necessary to configure
permissions on the User Access tab.
3. Click the Groups tab.
4. From the Groups tree, drag the name of a group that you created to the Group
Membership table to give the user membership in that group.
Note: You can assign existing users to a group on the Users tab for the
Group or on the Groups tab for the User, whichever is convenient. Both
tabs will show that the user is a member of the group.
5. Click Save User.
Note: For ease of management, it is recommended that you assign roles to groups
rather than directly to each user. If a role is assigned to a group, users who are
members of that group inherit the permissions provided by that role. However, the
role is displayed only on the Roles tab for the group, not on the Roles tab for the
user.

Loftware Spectrum 3.0.1 User Guide 579


Configuring and Administering

Configuring Folder Structure and Access


Configuring folder access in LoftwareSpectrum means creating a folder structure that makes
sense for your organization and managing access to the folders. Additionally, when you create a
folder you must decide whether to apply version control1 to any label template, form, layout,
image, reusable object, application, business rule, or process saved in that folder.
Note: You cannot change the Version Control setting after you save the folder
for the first time. A subfolder does not inherit the Version Control setting of the
parent folder.
Folders are an integral part of Access Control within Spectrum. They have access control lists
(ACLs) like other objects, and they can be used to organize and restrict access to other objects
in the system like label templates and devices.
The folder structure you create is your map or navigation system in Spectrum. When you are
managing data services, devices, printing labels, or managing access you will use the folder tree
that you create.
You can maintain separate folders in Spectrum for label templates that are under development
and label templates that have been released to production. You can control access to the
development and production areas separately so that you can allow users more access to the
development area while tightly restricting access to the production area to protect released
content.

1The ability to maintain distinct versions of a label template or other item. An item is checked out to be modified, and checked in to
save a new version. After a version is checked in, that version cannot be changed.

580 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Considerations

Objects that you create in a folder inherit permissions from that folder. As noted above, a
subfolder does not inherit the Version Control setting of the parent folder.

Loftware Spectrum 3.0.1 User Guide 581


Configuring and Administering

Best Practices

To simplify maintenance, it is recommended that you configure the Access Control List (ACL)
for each folder and allow objects within the folder to inherit the ACL of the folder.
Existing objects can be moved to new folders in Spectrum. You can also use Save As in Design
to copy an existing label template, layout, or image to another folder.
Tip: You can move an object from one folder to another by dragging the object
from one folder and dropping it into another. Alternatively, you can right-click an
object, select Move to, and select a folder to which to move it.
Consider keeping label templates, forms, layouts, images, reusable objects, applications, business
rules, and workflow templates within separate folders and configuring the Access Control List at
the folder level. You can create version-controlled subfolders within the Reusable Objects
folder to permit the creation of version-controlled reusable objects.
Provide Document Designers with Read permission for Documents in the Reusable Objects
folder, the Images folder, and their subfolders so that Document Designers can view and use
the reusable objects and images in those folders.
WARNING: Do not delete the built-in Job Target folder in the root folder. You
can rename this folder if desired.

WARNING: Do not delete, rename, or move the built-in Images and Reusable
Objects folders in the root folder.

582 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Create a Folder

To create a folder to manage objects, use these procedures.


Note: Roles can only be saved in the root folder.

Add a Folder from Access Control

If you have the necessary permissions, you can add a folder and configure permissions in Access
Control.
1. Click Access Control.
2. In the Access Control pane, click the folder under which you want to create the new
folder.
3. Click Add Folder. The Folder Info tab is displayed, and the folder appears in the
Access Control tree.
4. Enter a Folder Name. Folder names are case sensitive.
Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are
limited to 255 characters.
5. Enter a Description of the folder.
6. Specify whether Version Control will be turned on for objects saved in the folder.
Note: You cannot change the Version Control setting after you save the
folder for the first time.
7. Click Save.
The Folder Access tab is displayed. You can now configure access permissions for this folder.
Configure Access to a Folder
To manage access to the folder, use the Folder Access tab.
1. Click the Folder Access tab.
2. Define the Access Control List (Default Permissions).
n To grant a permission, click once to change it to granted .
n To deny a permission, click twice to change it to denied .
n To inherit the default permission from the folder containing this object, clear the
check box to change the permission to inherited .
3. Configure any exceptions to the Access Control List:
a. Drag users or groups from the Users and Groups tree at the right of the window
to the User/Group table.
b. Define the exception's Access Control List as in step 2.
4. Click Save.

Loftware Spectrum 3.0.1 User Guide 583


Configuring and Administering

Add a Folder from the Save As Dialog Box

You may be able to create folders when you are saving new labels, layouts, or images or renaming
labels or layouts.
To create a folder while saving a label or layout, use the following procedure.
1. Click Design, and create a new label or layout or open an existing label or layout.
2. Click File > Save As, or, if you are creating a new label or layout, click the Save icon
on the toolbar.
3. Click the folder in which you want to create a new folder.
4. Click Add Folder. The Add New Folder dialog box is displayed.
a. Enter a Folder Name. Folder names are case sensitive.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses,
square brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-
colons, and tildes. Additionally, the following characters are permitted but cannot
begin or end the name: spaces, double quotes, single quotes, hyphens,
underscores, periods, and grave accents. For letters, the case that you specify is
displayed, but case is ignored when Spectrum interprets a name.
b. Enter a Folder Description.
c. Specify whether Version Control will be turned on for objects saved in the
folder.
Note: You cannot change the Version Control setting after you
save the folder for the first time.
d. Click Save.
5. To save the label or layout in the new folder, click the new folder.
6. Enter a name for the label or layout in the Name field.
7. Click OK.
Note: If you need to grant access and permissions to other users, you (or a user
with Access Control permissions) must use Access Control to modify the
properties of the folder. By default, objects created in the new folder are accessible
only to the user creating the folder.

584 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Configuring Roles
Roles are sets of permissions that can be assigned to users or groups. The permissions enable
users or groups to perform specific functions within LoftwareSpectrum.
Note: Spectrum includes several pre-configured roles that you can use to grant
access to users and groups. You can use these roles as they are, or modify them to
suit your needs. For more information, see " Role Permissions" on page 684.
You can create roles to match the various business and job functions of your users. To create
roles, you assign appropriate permissions.
You then assign users and groups to the roles you define. In this way, permissions are not
assigned directly to users which can simplify user management.
Role names are case sensitive.

Loftware Spectrum 3.0.1 User Guide 585


Configuring and Administering

Access Control List

The Access Control List (ACL) of a role determines which actions can be performed on the role
itself.
Exceptions

The ACL is also used to set exceptions to the default access permissions. An exception can be
used to specify a certain user or group that needs different access to a role than most other users.
For example, you could allow all users to read roles, but only certain users to create them.

586 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Permissions

A permission in Spectrum is an action that is can be performed on an object1 (entity).


Permissions vary depending on the object. To define a role, you select a set of permissions that
can be performed on an entity.
Objects (Entities)

An object in Spectrum is an item on which you can perform an action. To define a role, you
select objects and then grant or deny permissions to those objects.

1An item in Spectrum such as a role, group, user, business rule, application, workflow template, data service, form, image,
integration, job, label template, layout, device, device group, process, reusable object, facility, Remote Site, Spectrum Application
Server, or server process.

Loftware Spectrum 3.0.1 User Guide 587


Configuring and Administering

Best Practices

Configure permissions for roles, assign roles to groups, and add users to the group.
Note: Although a user inherits the roles of a group in which the user has
membership, those roles are displayed only on the Roles tab for the group, not on
the Roles tab for the user or the Users tab for the role.

588 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Create or Modify a Role

To create a new role or modify an existing role, use the following procedures.
Note: When creating or modifying a user or a group, you can use the Roles tab to
add or remove roles for that user or group. Although a user inherits the roles of a
group in which the user has membership, those roles are displayed only on the
Roles tab for the group, not on the Roles tab for the user or the Users tab for the
role.

Create or Modify a Role

1. Click Access Control .


2. Click the root folder, and then click Add Role.
Note: A role can only be saved in the root folder.
3. In the Role Info tab, enter a Role Name and, optionally, a Description.
Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are
limited to 255 characters.
4. Click Save. The Role Access, Permissions, Groups, and Users tabs are displayed.
5. To modify an existing role, click the role in the Access Control tree.
Change the Role Information

To configure information about the role, use the Role Info tab.
1. Enter a Role Name. Role names are case sensitive.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
2. Enter a role Description.
3. Click Save.
Manage Access to the Role

To control who can do what to this role, use the Role Access tab.

Loftware Spectrum 3.0.1 User Guide 589


Configuring and Administering

1. Click the Role Access tab.


2. Define the Access Control List:
n To grant a permission, click once to change it to granted .
n To deny a permission, click twice to change it to denied .
n To inherit the default permission from the folder containing this object, clear the
check box to change the permission to inherited .
3. Configure any exceptions to the Access Control List:
a. Drag users or groups from the Users and Groups tree at the right of the window
to the User/Group table.
b. Define the exception's Access Control List as in step 2.
4. Click Save.
Configure Permissions Provided by the Role

To assign permissions to a role, use the Permissions tab. These are the actions that a user with
the role can perform.
1. Click an existing role, or create a new role.
2. Click the Permissions tab.
3. In the Page access management section, select the pages in the Spectrum user
interface that should be displayed to users with this role.
Note: If multiple roles are assigned to a user, any tab displayed for any of
the roles is displayed for the user.
4. If you are a user who has the ROLE_ADMINISTRATOR role, select the Do not allow
Local Administrator to assign this role to other users check box if desired.
5. In the Permissions Management section, select a type of object1 from the Select
Entity field, and click Add Permissions. The object is added to the Entity table, and
the available permissions are displayed in the Permission table that follows the Entity
table.
6. Click Grant or Deny.
7. In the Permissions table, select the appropriate permissions for the object.
8. Click Save.
Best Practices
If you are using folders to store objects, be sure to grant at least the Read
permission for folders.
Assign the Role to Groups

To assign the role to groups, use the Groups tab.

1An item in Spectrum such as a role, group, user, business rule, application, workflow template, data service, form, image,
integration, job, label template, layout, device, device group, process, reusable object, facility, Remote Site, Spectrum Application
Server, or server process.

590 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

1. Click an existing role, or create a new role.


2. Click the Groups tab.
3. Drag groups from the Groups tree at the right of the window to the Group
Membership table.
4. Click Save.
Assign the Role to Users

To assign the role to users, use the Users tab.


Best Practices
Although you can assign a role directly to users, it is recommended as a best
practice that you assign a role to a group and assign group membership to users.
1. Click an existing group, or create a new group.
2. Click the Users tab.
3. Drag users from the Users tree at the right of the window to the User Membership
table.
4. Click Save.

Loftware Spectrum 3.0.1 User Guide 591


Configuring and Administering

Configuring Loftware Spectrum Groups


For a group in Loftware Spectrum, you can manage access permissions, membership, and
associated roles. You can also apply a user profile to a group so that users who are members of
the group and do not have an individually assigned profile can inherit that profile.
You can create groups to associate Loftware Spectrum users with business or job functions.

592 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Considerations

Group names are case sensitive.

Loftware Spectrum 3.0.1 User Guide 593


Configuring and Administering

Best Practices

Configure permissions for roles, assign roles to groups, and add users to the group.
Note: Although a user inherits the roles of a group in which the user has
membership, those roles are displayed only on the Roles tab for the group, not on
the Roles tab for the user or the Users tab for the role.

594 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Create or Modify a Group

To create or modify a group, use the following procedures.


Note: You can select a user profile to serve as the default profile for members of a
group. If a user is a member of the group and has a user profile of No Profile, then
that user inherits the default profile of the group. If a user profile is selected for a
user, the default profile for the group is disregarded by that user.

Create or Modify a Group

To create or modify a group, use Access Control.


1. Click Access Control.
2. To create a new group, in the Access Control tree click the folder in which you want to
create the new group, and then click Add Group. The Group Info tab is displayed.
a. Enter a Group Name, and optionally a Description of the group.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses,
square brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-
colons, and tildes. Additionally, the following characters are permitted but cannot
begin or end the name: spaces, double quotes, single quotes, hyphens,
underscores, periods, and grave accents. For letters, the case that you specify is
displayed, but case is ignored when Spectrum interprets a name.
b. For Default Profile, select a profile to be applied to any user who is a member of
the group and whose profile is set to No Profile.
c. Click Save. The Group Access, Roles, and Users tabs are displayed.
3. To modify an existing group, in the Access Control tree, click the group.
a. Make any changes needed.
b. Click Save.
Manage Access to the Group

To control who can do what to the group, use the Group Access tab.
1. Click the Group Access tab.
2. Define the Access Control List:
n To grant a permission, click once to change it to granted .
n To deny a permission, click twice to change it to denied .
n To inherit the default permission from the folder containing this object, clear the
check box to change the permission to inherited .
3. Configure any exceptions to the Access Control List:
a. Drag users or groups from the Users and Groups tree at the right of the window
to the User/Group table.
b. Define the exception's Access Control List as in step 2.

Loftware Spectrum 3.0.1 User Guide 595


Configuring and Administering

4. Click Save.
Assign Roles to the Group

To assign roles to a group, use the Roles tab.


1. Click an existing group, or create a new group.
2. Click the Roles tab.
3. Drag roles from the Roles tree at the right of the window to the Role Membership
table.
4. Click Save.
Assign Users to the Group

To assign members to a group, use the Users tab.


1. Click an existing group, or create a new group.
2. Click the Users tab.
3. Drag users from the Users tree at the right of the window to the User Membership
table.
4. Click Save.

596 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Configuring Loftware Spectrum Users


Configuring users in Loftware Spectrum means managing the user's access permissions, role and
group membership, and label template and device availability.
A user in Loftware Spectrum is anyone who needs to work within the user interface.
For a user to perform actions, he or she must be granted a role. You can grant a role to a user by
assigning a role to a group and then granting the user membership in that group.
A user must also be granted access (the ability to perform an action) on folders.

Loftware Spectrum 3.0.1 User Guide 597


Configuring and Administering

Considerations

Users can be as specific or general as needed.


User names are not case sensitive.

598 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Best Practices

Configure permissions for roles, assign roles to groups, and add users to the group.
Important: It is recommended that you grant Read permission for Users to all
users. If a user does not have Read permission for Users, User - Access Denied is
displayed in place of the user name in Status and elsewhere in Spectrum.

Important: In most situations, you should assign Read permission for


ModelStatus (AutoRefresh) to all users as a role-based permission. Unlike most
permissions, there are no object access permissions for ModelStatus
(AutoRefresh).

Note: Although a user inherits the roles of a group in which the user has
membership, those roles are displayed only on the Roles tab for the group, not on
the Roles tab for the user or the Users tab for the role.

Loftware Spectrum 3.0.1 User Guide 599


Configuring and Administering

Create or Modify a User

To create a new user or modify an existing user, use the following procedures.
Create or Modify a User

To create or modify a user, use Access Control.


Note: You must enter information in the required fields on this tab. You can
optionally use the available fields to further identify and manage users.
1. Click Access Control.
2. To add a new user, in the Access Control tree click the folder in which you want to add
a user, and then click Add User. The User Info tab is displayed.
a. On the User Info tab, complete the required fields ( ). User names are not case
sensitive unless the user is used with Remote Print.
Note: A User Name can include letters and numbers. Additionally,
the following characters are permitted but cannot begin or end the
name: hyphens, underscores, and periods.
b. Click Save. The User Access, Groups, and Roles tabs are displayed.
3. To modify an existing user, click the user in the Access Control tree.
a. On the User Info tab, make any changes needed. Ensure that you provide values
for the required fields ( ). User names are not case sensitive unless the user is
used with Remote Print.
Note: You cannot change the user name of the SuperAdmin user.
b. Click Save.
Manage Access to the User Account

To control who can do what to this user account, use the User Access tab .
1. Click an existing user, or create a new user.
2. Click the User Access tab.
3. Define the default permissions for viewing or configuring the user.
n To grant a permission, click once to change it to granted .
n To deny a permission, click twice to change it to denied .
n To inherit the default permission from the folder containing this object, clear the
check box to change the permission to inherited .
4. Configure any exceptions to the Access Control List:
a. Drag users or groups from the Users and Groups tree at the right of the window
to the User/Group table.
b. Define the exception's Access Control List as in step 3.
5. Click Save.
Assign Group Memberships to the User

600 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

To assign group memberships to the user, use the Groups tab.


1. Click an existing user, or create a new user.
2. Click the Groups tab.
3. Drag groups from the Groups tree at the right of the window to the Group
Membership table.
4. Click Save.
Assign Roles to the User

To assign roles to a user, use the Roles tab.


Best Practices
Although you can assign a role directly to users, it is recommended as a best
practice that you assign a role to a group and assign group membership to users.
1. Click an existing user, or create a new user.
2. Click the Roles tab.
3. Drag roles from the Roles tree at the right of the window to the Role Membership
table.
4. Click Save.

Loftware Spectrum 3.0.1 User Guide 601


Configuring and Administering

Assign a Domain to a User

You can use an existing domain to authenticate Spectrum users.


Note: Before assigning a domain to a Spectrum user, you must configure LDAP
authentication for the domain in Spectrum. For more information, see "Configuring
Authentication" on page 743.
To assign a domain to a Spectrum user, use the following procedure.
1. Click Access Control.
2. Click the user, and click the User Info tab.
3. Clear the Local Account check box. The Domain field becomes enabled.
4. Select a domain from the Domain field.
5. Click Save.
The user can now log into Spectrum by using the same credentials as used to log into the
domain.

602 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Change a User's Password

To change a user's password, use this procedure.


1. Click Access Control, and expand the root folder.
2. Click a user name.
3. On the User Info tab, click Change Password. The Change Password dialog box is
displayed.
4. Enter the new password in the New Password and Confirm Password fields.
5. Select Must Change Password if you want the user to change passwords upon logging
in for the first time.
6. Click OK.
Change the Password for SuperAdmin

To change the password for the SuperAdmin user account, use this procedure.

Note: You cannot change the user name of the SuperAdmin user.
1. Log in to Spectrum using the user name SuperAdmin and the administrator password
that you were provided.
2. Click Access Control, and expand the Default folder.
3. Click the SuperAdmin user.
4. On the User Info tab, click Change Password. The Change Password dialog box is
displayed.
5. Enter a new password, and clear Force Change.
6. Click OK to save.
7. Click Logout, and then log in with the new password.

Loftware Spectrum 3.0.1 User Guide 603


Configuring and Administering

Configuring Access Control Lists


An Access Control List (ACL) is the list of permissions assigned to an object1 (entity). Each list
contains objects and the allowed actions (permissions).
For example
A folder with an ACL User 1: Read would allow User 1 to read the contents of
the folder.
Important: Granting a permission is not enough to allow a user to perform the
action associated with the permission. The folder containing the object must allow
the action.
For example, if you grant Read permission to a group, the members of that group
will only be able to read objects that allow the Read permission.

1An item in Spectrum such as a role, group, user, business rule, application, workflow template, data service, form, image,
integration, job, label template, layout, device, device group, process, reusable object, facility, Remote Site, Spectrum Application
Server, or server process.

604 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Root Access Control

The Access Control List associated with the root folder can be used to define the base
permissions for your Spectrum instance 1.
Important: After installing Spectrum and before you create any objects, you
should rename the root folder (initially named Default) to something relevant to
your organization. In a multi-site deployment2, the name of the root folder must
be the same at the headquarters (HQ) and at each facility associated with that HQ.

1A Spectrum Application Server and a Spectrum Database Server that are associated with each other by a Spectrum License.
2A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

Loftware Spectrum 3.0.1 User Guide 605


Configuring and Administering

Best Practices

To simplify maintenance, it is recommended that you configure the Access Control List (ACL)
for each folder and allow objects within the folder to inherit the ACL of the folder.

606 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Configure the Default Access Control List

To configure the default or root Access Control List (ACL), use this procedure.
1. Click Access Control.
2. Click the root folder, and click Folder Access. The Access Control List Management
for the folder is displayed.
3. Define the Access Control List (Default Permissions table):
n To grant a permission, click once to change it to granted .
n To deny a permission, click twice to change it to denied .
n To inherit the default permission, clear the check box to change the permission to
inherited .
4. Configure any exceptions to the Default Permissions:
a. To add a user or group as an exception, drag the user or group from the Users
and Groups tree at the right of the window to the User/Group table.
b. To change an exception, in the User/Group table, click the user or group.
c. In the Permissions table for the user or group, configure the Access Control List
for the user or group as in step 3.
5. Click Save.

Loftware Spectrum 3.0.1 User Guide 607


Configuring and Administering

Configuring Document Access


In LoftwareSpectrum, you can manage access to label templates, forms, layouts, images,
reusable objects, applications, business rules, and workflow templates by using roles, users, and
groups.
Note: If an existing label template, form, layout, reusable object, or application is
version-controlled, you must check it out to change its name or description.

608 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Best Practices

Consider keeping label templates, forms, layouts, images, reusable objects, applications, business
rules, and workflow templates within separate folders and configuring the Access Control List at
the folder level.
When a label template, form, layout, image, reusable object, application, business rule, or
workflow template is created, its access control permissions are set to inherited. You can restrict
access to label templates, forms, layouts, images, reusable objects, applications, business rules,
and workflow templates by defining the Access Control List for the folder where they are saved.
Important: It is recommended that you assign Read permission for Documents to
all label templates, forms, layouts, images, reusable objects, applications, business
rules, and workflow templates.

Tip: For more about managing access to business rules and related objects, see
"Configuring Access for Processes and Business Rules" on page 1186.

Loftware Spectrum 3.0.1 User Guide 609


Configuring and Administering

Control Document Access

To manage who can modify information about or delete a specific label template, form, layout,
image, reusable object, application, business rule, or workflow template, use the following
procedure to configure default permissions for accessing the label template, form, layout, image,
reusable object, application, business rule, or workflow template.
Note: Consider keeping label templates, forms, layouts, images, reusable objects,
applications, business rules, and workflow templates within separate folders and
configuring the Access Control List at the folder level. Always save reusable
objects in the Reusable Objects folder or a subfolder within it so that they can be
displayed in the Library in Design, and ensure that Document Designers have
Read permission for Documents for those folders.

Tip: For more about managing access to business rules and related objects, see
"Configuring Access for Processes and Business Rules" on page 1186.
1. Click Access Control.
2. Click the label template, form, layout, image, reusable object, application, business rule,
or workflow template, and click Document Access.
3. Define the Access Control List:
n To grant a permission, click once to change it to granted .
n To deny a permission, click twice to change it to denied .
n To inherit the default permission from the folder containing this object, clear the
check box to change the permission to inherited .
4. Configure any exceptions to the Access Control List:
a. Drag users or groups from the Users and Groups tree at the right of the window
to the User/Group table.
b. Define the exception's Access Control List as in step 3.
5. Click Save.

610 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Configuring Device Access


In LoftwareSpectrum, you can manage access to devices and device queues by using roles,
users, and groups.
Important: It is recommended that you grant Read permission for Device Groups
to all device groups.

Loftware Spectrum 3.0.1 User Guide 611


Configuring and Administering

Control Access to a Device Group

To manage who can view, change, or delete a specific device and view or change a device queue,
use the following procedure to configure default permissions for the device group.
Note: Consider keeping all device groups and devices within a folder and
configuring the Access Control List at the folder level.
1. Click Access Control
2. In the Access Control pane, expand the root folder, and then click the device group.
3. Click Device Group Access tab.
4. In the Device Groups row, define the default permissions for access to the device
group:
n To grant a permission, click once to change it to granted .
n To deny a permission, click twice to change it to denied .
n To inherit the default permission from the folder containing this object, clear the
check box to change the permission to inherited .
Important: See "Configuring Device Queue Access" on page 612.
5. Configure any exceptions to the default permissions:
a. Drag users or groups from the Users and Groups tree at the right of the window
to the User/Group table.
b. Define the exception's permissions as in step 4.
6. Click Save Device.
Configuring Device Queue Access

Users with the appropriate permissions can start, stop, or pause a device queue, and cancel,
move, or release a specific print job or jobs in a queue. Use the following procedure to allow
users to view and perform actions on device queues.
1. For each applicable role, grant QUEUE (Q) permissions for Device Groups:
a. In Access Control , click a role, and then click Permissions. The Page access
management for the role is displayed.
b. In the Permissions Management section, click the Device Groups object with
the Grant action.
c. In the Grant table below, grant QUEUE (Q) permissions.
d. Click Save Role.
2. To allow a user or group to cancel print jobs in a device queue, grant Delete permissions
for Jobs on the Job Target folder ACL for each applicable user or group:
a. In Access Control, click the Job Target folder, and then click Folder Access.
The Access Control List Management for the folder is displayed.
b. Click or add the applicable user or group to the User/Group table.
c. In the Permissions table below, grant Delete permissions for Jobs.
d. Click Save Folder.

612 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

3. To allow a user or group to move print jobs from one device queue to another device
queue, grant Write permissions for Jobs on the Job Target folder ACL for each
applicable user or group:
a. In Access Control, click the Job Target folder, and then click Folder Access.
The Access Control List Management for the folder is displayed.
b. Click or add the applicable user or group to the User/Group table.
c. In the Permissions table below, grant Write permissions for Jobs.
d. Click Save Folder.

Loftware Spectrum 3.0.1 User Guide 613


Configuring and Administering

Configuring Process Access


In LoftwareSpectrum, you can manage access to processes by using roles, users, and groups.

614 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Control Access to a Process

To manage who can view, change, or delete a specific process, use the following procedure to
configure default permissions for accessing the process.
Note: Consider keeping processes within a single folder and configuring the
Access Control List at the folder level.
1. Click Access Control.
2. Click the process, and click Process Access.
3. Define the Access Control List:
n To grant a permission, click once to change it to granted .
n To deny a permission, click twice to change it to denied .
n To inherit the default permission from the folder containing this object, clear the
check box to change the permission to inherited .
4. Configure any exceptions to the Access Control List:
a. Drag users or groups from the Users and Groups tree at the right of the window
to the User/Group table.
b. Define the exception's Access Control List as in step 3.
5. Click Save.

Loftware Spectrum 3.0.1 User Guide 615


Configuring and Administering

Configuring Integration Access


In LoftwareSpectrum, you can manage access to integrations by using roles, users, and groups.

616 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Control Access to an Integration

To manage who can view, change, or delete a specific integration, use the following procedure
to configure default permissions for accessing the integration.
Note: Consider keeping integrations within a single folder and configuring the
Access Control List at the folder level.
1. Click Access Control.
2. Click the integration, and click Integration Access.
3. Define the Access Control List:
n To grant a permission, click once to change it to granted .
n To deny a permission, click twice to change it to denied .
n To inherit the default permission from the folder containing this object, clear the
check box to change the permission to inherited .
4. Configure any exceptions to the Access Control List:
a. Drag users or groups from the Users and Groups tree at the right of the window
to the User/Group table.
b. Define the exception's Access Control List as in step 3.
5. Click Save.

Loftware Spectrum 3.0.1 User Guide 617


Configuring and Administering

Configuring Data Service Access


Configuring data service access in LoftwareSpectrum means managing access to data services
though roles, users, and groups.
Important: You must allow the Read and Print permission to the data service so
that users can use the data service when designing a label and print a label that
includes the data service.

618 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Control Access to a Data Service

To manage who can view, change, or delete a specific data service, use the following procedure
to configure default permissions for accessing the data service.
Note: Consider keeping data services within a single folder and configuring the
Access Control List at the folder level.
1. Click Access Control.
2. Click the data service, and click Data Service Access.
3. Define the Access Control List:
n To grant a permission, click once to change it to granted .
n To deny a permission, click twice to change it to denied .
n To inherit the default permission from the folder containing this object, clear the
check box to change the permission to inherited .
4. Configure any exceptions to the Access Control List:
a. Drag users or groups from the Users and Groups tree at the right of the window
to the User/Group table.
b. Define the exception's Access Control List as in step 3.
5. Click Save.

Loftware Spectrum 3.0.1 User Guide 619


Configuring and Administering

Configuring SpectrumApplicationServer Access


In LoftwareSpectrum, you can manage access to SpectrumApplicationServers and server
processes by using roles, groups, and users.
Important! In an environment with distributed services, to permit a user to
perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.
For more information about environments with multiple SpectrumApplicationServers, see
"High Availability with Distributed Services" on page 716.

620 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Control Access to a SpectrumApplicationServer

To manage who can view a specific SpectrumApplicationServer and who can manage
distributed services1, use the following procedure to configure default permissions for
accessing the SpectrumApplicationServer. For more information about environments with
multiple SpectrumApplicationServers, see "High Availability with Distributed Services" on
page 716.
Important! In an environment with distributed services, to permit a user to
perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.
1. Click Access Control.
2. Click the SpectrumApplicationServer, and click Server Access.
3. Define the Access Control List:
n To grant a permission, click once to change it to granted .
n To deny a permission, click twice to change it to denied .
n To inherit the default permission from the folder containing this object, clear the
check box to change the permission to inherited .
4. Configure any exceptions to the Access Control List:
a. Drag users or groups from the Users and Groups tree at the right of the window
to the User/Group table.
b. Define the exception's Access Control List as in step 3.
5. Click Save.

1Core services necessary to support essential Spectrum functionality. Additionally, device connections, data services, and
integrations also function as services if your Spectrum environment is configured to support distributed services. In a Spectrum
environment with distributed services, multiple Spectrum Application Servers are configured to interact as peers within the
Spectrum environment, all accessing the same Spectrum database.

Loftware Spectrum 3.0.1 User Guide 621


Configuring and Administering

Remove a SpectrumApplicationServer

In a Spectrum environment with distributed services, a primary SpectrumApplicationServer has


been used to create additional SpectrumApplicationServers. All of these
SpectrumApplicationServers are configured to interact as peers within the Spectrum
environment, all accessing the same Spectrum database. For more information, see "High
Availability with Distributed Services" on page 716.
If you are making major changes to your environment or if a catastrophic problem occurs to a
SpectrumApplicationServer, it may become necessary to remove a
SpectrumApplicationServer from your Spectrum environment.
To remove a SpectrumApplicationServer other than the primary SpectrumApplicationServer
from an environment that includes multiple SpectrumApplicationServers, use one of the
following procedures. If you need to remove the primary SpectrumApplicationServer, contact
Loftware for assistance.
Remove the Spectrum Application from a Server Running Windows Server
To remove a SpectrumApplicationServer running a Windows Server operating system from
your Spectrum environment, use the following procedure.
1. On the SpectrumApplicationServer that you want to delete from the Spectrum
environment, view the following file:
<SPECTRUM_HOME>\product\conf\jdbc.properties
Note: If this file cannot be accessed, contact Loftware for assistance.
2. Scroll to the end of the file. In the Jvm Management Service Information section,
find the line that begins with jvm.management.process.id, and note the value
listed. The value is the Server ID for this SpectrumApplicationServer.
3. Stop the Loftware Spectrum service.
4. On the primary SpectrumApplicationServer, open a Command Prompt window and
navigate to the following folder:
<SPECTRUM_HOME>\bin
5. Run the following command, substituting the IP address of the primary
SpectrumApplicationServer for <Primary Server IP>, the Server ID of the
SpectrumApplicationServer to be deleted (noted in a previous step) for <Server ID>,
and the password for the SuperAdmin user in Spectrum for <SuperAdmin password>:
sputils remove-app-server <SuperAdmin password>
http://<Primary Server IP>:8080 <Server ID>

6. If you are logged into Spectrum from the primary SpectrumApplicationServer, log
out and then log back into Spectrum. The SpectrumApplicationServer that you
specified has been removed from the Spectrum environment and is no longer
displayed in Access Control.

622 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

7. On the SpectrumApplicationServer that you removed from the Spectrum


environment, perform the following tasks to remove the Spectrum application from
the server.
a. From a command prompt, run the following command to delete the service:
sc delete LoftwareSpectrum
b. Delete the Loftware folder.
c. Reboot the server.
Remove the Spectrum Application from a Server Running Linux
To remove a SpectrumApplicationServer running a Linux operating system from your
Spectrum environment, use the following procedure.
1. On the SpectrumApplicationServer that you want to delete from the Spectrum
environment, view the following file:
<SPECTRUM_HOME>/product/conf/jdbc.properties

Note: If this file cannot be accessed, contact Loftware for assistance.


2. Scroll to the end of the file. In the Jvm Management Service Information section,
find the line that begins with jvm.management.process.id, and note the value
listed. The value is the Server ID for this SpectrumApplicationServer.
3. Stop the Loftware Spectrum service.
4. On the primary SpectrumApplicationServer, open a Command Prompt window and
navigate to the following folder:
<SPECTRUM_HOME>/bin
5. Run the following command, substituting the IP address of the primary
SpectrumApplicationServer for <Primary Server IP>, the Server ID of the
SpectrumApplicationServer to be deleted (noted in a previous step) for <Server ID>,
and the password for the SuperAdmin user in Spectrum for <SuperAdmin password>:
sputils remove-app-server <SuperAdmin password>
http://<Primary Server IP>:8080 <Server ID>
6. If you are logged into Spectrum from the primary SpectrumApplicationServer, log
out and then log back into Spectrum. The SpectrumApplicationServer that you
specified has been removed from the Spectrum environment and is no longer
displayed in Access Control.
7. On the SpectrumApplicationServer that you removed from the Spectrum
environment, perform the following tasks to remove the Spectrum application from
the server.
a. Remove the /opt/loftware folder.
b. Reboot the server.

Loftware Spectrum 3.0.1 User Guide 623


Configuring and Administering

Configuring and Managing a Multi-Site Deployment


You can configure a multi-site deployment of Loftware Spectrum. With this approach, a
Spectrum instance 1 at one site 2 is synchronized with Spectrum instances at other sites.
Unlike a high availability deployment in which all SpectrumApplicationServers are peers, a
multi-site deployment has a headquarters (HQ)3 that communicates with a facility 4 or
facilities, but the facilities are not aware of each other. Objects such as label templates and
devices can be configured at the headquarters and replicated to each facility. Any job data
generated at facilities can be replicated to the headquarters.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Tip: It is recommended that you install the Spectrum application and database at
each facility site before you create the facility object in Spectrum. Each facility site
can have only one SpectrumApplicationServer and one Spectrum Database
Server. Each facility site includes a Loftware-supplied embedded database. The
name of the root folder in Spectrum must be the same at the headquarters site and
at each facility site associated with that headquarters. The headquarters and facility
sites must be in the same WAN, but facilities are not required to be able to
communicate with each other.

Approaches
You can use either of the following approaches when configuring a multi-site deployment. The
primary difference between these approaches is whether printing is normally processed by
facilities or by the headquarters, and therefore whether a Data Provider 5 logs into a facility or
the headquarters to print.
Note: In a multi-site deployment6 of Spectrum, device connections can be
created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.

1A Spectrum Application Server and a Spectrum Database Server that are associated with each other by a Spectrum License.
2A geographical location, such as the location of a Spectrum instance or a remote computer.
3The location of a Spectrum Application Server and Spectrum Database Server that are associated with facilities. These servers
must be associated with a Spectrum license for which Usage is set to Production and Multi-Site is set to true. Each HQ can
communicate with multiple facilities. By synchronizing, an HQ can replicate objects to facilities and replicate transactional data
generated at faciliites back to the HQ.
4An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.
5Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
6A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

624 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Processing Print Jobs at Facilities


You can configure a multi-site deployment of Spectrum so that you can primarily manage
devices, label templates, and other objects from a headquarters, but process print jobs at
facilities for faster performance. The headquarters sends the configuration information required
for devices, label templates, and other objects to each facility, and each facility uses that
information to process print jobs. Objects that are configured to be synchronized are replicated
from the headquarters to facilities. Workflows occur at the headquarters. Job data is generated at
the facilities and is replicated to the headquarters.
If a multi-site deployment is configured to process print jobs at facilities, users typically do the
following:
lA Data Provider 1 logs into a facility to print.
2
l A Document Designer logs into the headquarters to create and edit label templates. If

connectivity with the headquarters is lost, label templates and other objects can be
modified at facilities until connectivity with headquarters is restored.
l An Administrator configures devices by logging into the headquarters, and configures

data services and integrations by logging into either headquarters or facilities. Devices are
configured at the headquarters, and connection information is entered for the facility. If
connectivity with the headquarters is lost, an administrator can modify data services and
devices at facilities until connectivity with headquarters is restored.
If objects are modified at a facility when connectivity with headquarters is lost, those changes
are not automatically replicated to headquarters. To replicate such changes to headquarters, you
can either make the changes at headquarters manually, or you can export objects from a facility
and import the objects to headquarters.
Processing Print Jobs at Headquarters
You can configure a multi-site deployment of Spectrum so that you can primarily manage
devices, label templates, and other objects from a headquarters, and process print jobs via the
headquarters to ensure that the most current job transaction data and device connectivity status
is maintained at the headquarters. Objects in a synchronized folder are replicated from the
headquarters to facilities. Workflows occur at the headquarters. Job data is generated at the
headquarters.
If a multi-site deployment is configured to process print jobs at headquarters, users typically do
the following:

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
2Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

Loftware Spectrum 3.0.1 User Guide 625


Configuring and Administering

lA Data Provider 1 logs into the headquarters to print.


2
l A Document Designer logs into the headquarters to create and edit label templates. If

connectivity with the headquarters is lost, label templates and other objects can be
modified at facilities until connectivity with headquarters is restored.
l An Administrator configures devices, data services, and integrations by logging into the

headquarters. Devices are configured at the headquarters, and connection information is


entered for the facility. If connectivity with the headquarters is lost, an administrator can
modify data services and devices at facilities until connectivity with headquarters is
restored.
If objects are modified at a facility when connectivity with headquarters is lost, those changes
are not automatically replicated to headquarters. To replicate such changes to headquarters, you
can either make the changes at headquarters manually, or you can export objects from a facility
and import the objects to headquarters.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
2Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

626 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

What Items Are Synchronized

In a multi-site deployment1 of Spectrum, objects in headquarters (HQ)2 can be


synchronized with objects at a facility 3. Also, the transactional data generated at the facility can
be synchronized with transactional data at the headquarters.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Configuration Sync Replicates Objects

Objects are replicated only from headquarters to facilities. If objects are created or altered at a
facility, they may be replaced or deleted during synchronization to provide the facility with the
most current configuration of objects from headquarters. However, to reduce the chance of
extensive accidental deletion, folders that are replicated from headquarters to facilities and are
later deleted from headquarters are not automatically deleted from facilities. Folders can be
manually deleted at facility sites.
If you do not want objects from headquarters to replace objects in some folders at the facility,
you can restrict which folders and which types of objects are synchronized if you have the
necessary permissions. You can also disable synchronization for an individual object, either at
the headquarters or at a facility.
Tip: In most cases, disabling synchronization for an object at a facility prevents
headquarters from synchronizing that object at that facility. However, if the object
is moved or renamed at the headquarters, then the object at the facility is likewise
moved or renamed, but is not otherwise altered. Also, if there is a conflict (not just
a difference) between the headquarters and a facility, the object configuration from
headquarters overrides that of the object at the facility as required to resolve the
conflict.
By default, built-in folders and built-in objects are not replicated. Also, facilities, Remote Sites,
and LDAP authentication information are not replicated.
If objects are modified at a facility when connectivity with headquarters is lost, those changes
are not automatically replicated to headquarters. To replicate such changes to headquarters, you

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.
2The location of a Spectrum Application Server and Spectrum Database Server that are associated with facilities. These servers
must be associated with a Spectrum license for which Usage is set to Production and Multi-Site is set to true. Each HQ can
communicate with multiple facilities. By synchronizing, an HQ can replicate objects to facilities and replicate transactional data
generated at faciliites back to the HQ.
3An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.

Loftware Spectrum 3.0.1 User Guide 627


Configuring and Administering

can either make the changes at headquarters manually, or you can export objects from a facility
and import the objects to headquarters.
Transaction Sync Replicates Transactional Data

Transactional data is replicated from facility to headquarters only. If you have configured a
facility so that printing is normally processed at the headquarters, there may not be much
transactional data produced at the facility.
Differences between Scheduled Sync and Manual Sync

When a scheduled sync occurs, only objects or transactional data that have changed since the
previous sync are replicated. When you manually initiate a sync, all specified objects or
transactional data are replicated, regardless of whether there have been any changes since the
previous synchronization.

628 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Create or Modify a Facility

You can create or modify a facility 1 in a multi-site deployment of Spectrum in which a


Spectrum instance 2 at one site 3 is synchronized with Spectrum instances at other sites. A
multi-site deployment has a headquarters (HQ)4 that communicates with facilities. Objects
can be configured at the headquarters and replicated to each facility. Any job data generated at
facilities can be replicated to the headquarters.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Tip: It is recommended that you install the Spectrum application and database at
each facility site before you create the facility object in Spectrum. Each facility site
can have only one SpectrumApplicationServer and one Spectrum Database
Server. Each facility site includes a Loftware-supplied embedded database. The
name of the root folder in Spectrum must be the same at the headquarters site and
at each facility site associated with that headquarters. The headquarters and facility
sites must be in the same WAN, but facilities are not required to be able to
communicate with each other.

Create or Modify a Facility

To create or modify a facility, use Access Control.


1. Click Access Control.
2. To create a new facility, in the Access Control tree click the folder in which you want to
create the new facility, and then click Add Facility. The Facility Info tab is displayed.
a. Enter a Facility Name, and optionally a Description of the facility.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses,
square brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-
colons, and tildes. Additionally, the following characters are permitted but cannot
begin or end the name: spaces, double quotes, single quotes, hyphens,
underscores, periods, and grave accents. For letters, the case that you specify is
displayed, but case is ignored when Spectrum interprets a name.

1An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.
2A Spectrum Application Server and a Spectrum Database Server that are associated with each other by a Spectrum License.
3A geographical location, such as the location of a Spectrum instance or a remote computer.
4The location of a Spectrum Application Server and Spectrum Database Server that are associated with facilities. These servers
must be associated with a Spectrum license for which Usage is set to Production and Multi-Site is set to true. Each HQ can
communicate with multiple facilities. By synchronizing, an HQ can replicate objects to facilities and replicate transactional data
generated at faciliites back to the HQ.

Loftware Spectrum 3.0.1 User Guide 629


Configuring and Administering

b. For Facility Location, enter a description of the physical location of the facility.
The Facility Location is a comment intended to assist administrators and is not
used by Spectrum to identify or connect to the facility.
c. For Facility URL, enter the URL of the SpectrumApplicationServer at the
facility. Do not include the path to Spectrum within the
SpectrumApplicationServer.
Examples
The following example includes a typical non-secured access port.
http://<SpectrumHQ_Address>:8080
The following example includes a typical secured access port.
https://<SpectrumHQ_Address>:8443
d. If a load balancer manages the SpectrumApplicationServer for the facility, then
for Facility Response URL enter at the URL to connect to the load balancer that
manages the facility. If the facility is not managed by a load balancer, leave this box
blank. Use the same format as for the Facility URL.
e. For Print From HQ, indicate whether print jobs originating from the facility
should be processed by a SpectrumApplicationServer at the headquarters or at
the facility. If this check box is selected, then print jobs from the facility are
normally processed at the headquarters associated with this facility. If the facility
is unable to connect to the headquarters, then device queues at the headquarters
are stopped and the corresponding device queues at the facility are started so that
print jobs can be processed at the facility site.
f. Click Save Facility. The Facility Access, Facility Configuration, Facility
Sync, and Tags tabs are displayed.
3. To modify an existing facility, in the Access Control tree, click the facility.
a. Make any changes needed.
b. Click Save Facility.

630 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Select Objects to Sync

In a multi-site deployment1 of Spectrum, you can specify which folders in Spectrum at the
headquarters (HQ)2 site should be replicated to a particular facility 3 site. You can either
begin with a specific facility and configure which folders should be replicated to it, or you can
begin with a folder and configure which facilities to replicate it to. For each folder, you can also
limit which types of objects are replicated. You can also configure whether a specific object is
replicated.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Tip: For information about what is synchronized when different types of


synchronization are performed, see " What Items Are Synchronized" on page 627.

Select a Folder to Sync with a Facility

To select folders to replicate to a specific facility, perform the following steps for each folder to
be replicated:
1. Click Access Control and navigate to the facility for which you want to configure
synchronization.
2. Click the Facility Configuration tab.
3. In the Configuration Sync box, click .
4. In the Select a Folder to Sync dialog box, select the highest level folder that you want
to replicate to the facility, and then click OK.
5. In the table, ensure that the folder you added is selected, and then click .
6. In the Select Object Types to Sync dialog box, select the types of objects that you
want to be replicate to the facility, and then click OK.
7. In the Recurse column, select the check box if you want objects in subfolders to be
synchronized. Otherwise, clear the check box.
8. In the Active column, ensure that the check box is selected to allow synchronization to
occur.
9. Click Save Facility.
Select Facilities to Sync with a Folder

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.
2The location of a Spectrum Application Server and Spectrum Database Server that are associated with facilities. These servers
must be associated with a Spectrum license for which Usage is set to Production and Multi-Site is set to true. Each HQ can
communicate with multiple facilities. By synchronizing, an HQ can replicate objects to facilities and replicate transactional data
generated at faciliites back to the HQ.
3An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.

Loftware Spectrum 3.0.1 User Guide 631


Configuring and Administering

To select facilities to which to replicate a specific folder, perform the following steps for each
facility to be replicated:
1. Click Access Control and navigate to the folder for which you want to configure
synchronization.
2. Click the Folder Sync tab.
3. In the Configuration Sync box, click .
4. In the Select a Facility to Sync dialog box, select a facility that you want to replicate the
folder to, and then click OK.
5. In the table, ensure that the facility you added is selected, and then click .
6. In the Select Object Types to Sync dialog box, select the types of objects that you
want to be synchronized with the facility, and then click OK.
7. In the Recurse column, select the check box if you want objects in subfolders to be
synchronized. Otherwise, clear the check box.
8. In the Active column, ensure that the check box is selected to allow synchronization to
occur.
9. Click Save Folder.
Customize Whether to Sync an Object

In general, it is recommended that you manage whether objects are synchronized at the level of a
folder, and then limit the types of objects synchronized as needed. However, it is possible to
manage synchronization for an individual object separately.
To manage whether an individual object can be synchronized, perform the following steps:
1. Click Access Control and navigate to the object for which you want to configure
synchronization.
2. Configure whether the objected can be synchronized.
n To allow the object to be synchronized, select the Synchronize check box.
n To prevent the object from being synchronized, clear the Synchronize check
box.
3. Click Save for the object.
Note: Even if you have selected the Synchronize check box, the object is
synchronized only if you have synchronized the folder in which the object exists.

Next Steps
You can schedule periodic replication of objects from headquarters to a facility, and periodic
replication of transactional data used for auditing from the facility to headquarters. Alternatively,
you can configure the synchronization for a facility to occur only when started manually. For
more information, see " Schedule Synchronization for a Facility" on page 633.

632 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Schedule Synchronization for a Facility

In a multi-site deployment of Spectrum, you can schedule periodic replication of objects from
headquarters (HQ)1 to a facility 2, and periodic replication of transactional data used for
auditing from the facility to headquarters. Alternatively, you can configure the synchronization
for a facility to occur only when started manually.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Tip: For information about what is synchronized when different types of


synchronization are performed, see " What Items Are Synchronized" on page 627.

Schedule Synchronization of Objects to Facilities

You can either schedule periodic replication of objects from headquarters to a facility, or
configure replication to occur only if started manually.
To schedule replication of objects, perform the following steps:
1. Click Access Control and navigate to the facility for which you want to configure
synchronization.
2. Click the Facility Configuration tab.
3. In the Configuration Sync box, specify the frequency for replication of objects.
Tip: If you want synchronization to occur only when explicitly started,
select Manual Only. If you want to configure a more complex schedule
than daily or every so many hours, select Cron Expression and enter a cron
expression for the schedule.
4. Click Save Facility to save and implement the schedule.
Schedule Synchronization of Transactional Data to Headquarters

You can either schedule periodic replication of transactional data used for auditing from the
facility to headquarters, or configure replication to occur only if started manually.
To schedule replication of transactional data, perform the following steps:
1. Click Access Control and navigate to the facility for which you want to configure
synchronization.
2. Click the Facility Configuration tab.

1The location of a Spectrum Application Server and Spectrum Database Server that are associated with facilities. These servers
must be associated with a Spectrum license for which Usage is set to Production and Multi-Site is set to true. Each HQ can
communicate with multiple facilities. By synchronizing, an HQ can replicate objects to facilities and replicate transactional data
generated at faciliites back to the HQ.
2An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.

Loftware Spectrum 3.0.1 User Guide 633


Configuring and Administering

3. In the Transaction Sync box, specify the frequency for replication of transactional data.
Tip: If you want synchronization to occur only when explicitly started,
select Manual Only. If you want to configure a more complex schedule
than daily or every so many hours, select Cron Expression and enter a cron
expression for the schedule.
4. Click Save Facility to save and implement the schedule.

Next Steps
You can specify which folders and objects may be synchronized. For more information, see "
Select Objects to Sync" on page 631.

634 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Manually Synchronize a Facility with Headquarters

In a multi-site deployment of Spectrum, you can manually initiate the replication of objects from
headquarters (HQ)1 to a facility 2, and the replication of transactional data used for auditing
from the facility to headquarters.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Tip: You can configure synchronization to occur automatically according to a


schedule. For more information, see " Schedule Synchronization for a Facility" on
page 633.

Tip: You can perform synchronization in Access Control. However,


synchronization can also be performed via System Management, allowing you to
delegate the responsibility for managing a multi-site deployment to users who do
not have access to Access Control.

Tip: For information about what is synchronized when different types of


synchronization are performed, see " What Items Are Synchronized" on page 627.

Synchronize Objects

You can manually initiate replication of objects from headquarters to a facility.


To initiate the replication of objects, perform the following steps:
1. Click Access Control and navigate to the facility for which you want to configure
synchronization.
2. Click the Facility Sync tab.
3. In the Configuration Sync box, click Sync Now.
Tip: To stop a synchronization that is in progress from continuing, you can
click Abort Sync.
4. Review the result in the table. To view additional detail, click .
Synchronize Transactional Data

1The location of a Spectrum Application Server and Spectrum Database Server that are associated with facilities. These servers
must be associated with a Spectrum license for which Usage is set to Production and Multi-Site is set to true. Each HQ can
communicate with multiple facilities. By synchronizing, an HQ can replicate objects to facilities and replicate transactional data
generated at faciliites back to the HQ.
2An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.

Loftware Spectrum 3.0.1 User Guide 635


Configuring and Administering

You can manually initiate replication of transactional data used for auditing from the facility to
headquarters.
To initiate the replication of transactional data, perform the following steps:
1. Click Access Control and navigate to the facility for which you want to configure
synchronization.
2. Click the Facility Sync tab.
3. In the Transaction Sync box, click Sync Now.
Tip: To stop a synchronization that is in progress from continuing, you can
click Abort Sync.
4. Review the result in the table. To view additional detail, click .

636 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Review Synchronization Results

In a multi-site deployment1 of Spectrum, you can review the results of replication of objects
from headquarters (HQ)2 to a facility 3, and the results of replication of transactional data
used for auditing from the facility to headquarters.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Tip: You can review the results of synchronization in Access Control. However,
you can also review the results via System Management, allowing you to
delegate the responsibility for managing a multi-site deployment to users who do
not have access to Access Control.

Tip: For information about what is synchronized when different types of


synchronization are performed, see " What Items Are Synchronized" on page 627.

Review the Synchronization of Objects

You can review the results of replication of objects from headquarters to a facility.
To review the results, perform the following steps:
1. Click Access Control and navigate to the facility for which you want to configure
synchronization.
2. Click the Facility Sync tab.
3. In the Configuration Sync box, review the table. There is a row with a unique Sync ID
for each time that synchronization is performed. The Status column indicates the current
status of each synchronization effort. The Trigger column indicates whether the
synchronization be scheduled or initiated manually.
4. To view additional detail, click .
Review the Synchronization of Transactional Data

You can review the results of replication of transactional data4 from the facility to
headquarters.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.
2The location of a Spectrum Application Server and Spectrum Database Server that are associated with facilities. These servers
must be associated with a Spectrum license for which Usage is set to Production and Multi-Site is set to true. Each HQ can
communicate with multiple facilities. By synchronizing, an HQ can replicate objects to facilities and replicate transactional data
generated at faciliites back to the HQ.
3An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.
4In a multi-site deployment of Spectrum, information about recent synchronizations that can be used for auditing. During a
transaction sync, this data can be replicated from a facility to headquarters.

Loftware Spectrum 3.0.1 User Guide 637


Configuring and Administering

To review the results, perform the following steps:


1. Click Access Control and navigate to the facility for which you want to configure
synchronization.
2. Click the Facility Sync tab.
3. In the Transaction Sync box, review the table. There is a row with a unique Sync ID
for each time that synchronization is performed. The Status column indicates the current
status of each synchronization effort. The Trigger column indicates whether the
synchronization be scheduled or initiated manually.
4. To view additional detail, click .

638 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Stop Synchronization

You can cancel a specific synchronization while it is in progress or turn off all future
synchronization.
Alternatively, you can turn off synchronization for a specific object, a type of object, or a folder,
or you can turn off all synchronization with a specific facility. You can do so either at the
headquarters or at a facility. For more information, see " Select Objects to Sync" on page 631.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Cancel Synchronization in Progress

A synchronization takes effect on each object individually. You can cancel a synchronization
that is in progress, preventing any more objects from being synchronized. However, canceling a
synchronization does not undo the effects on objects already processed during that
synchronization.
To cancel a specific synchronization while it is in progress, perform the following steps:
1. Click Access Control and navigate to the facility for which you want to cancel a
synchronization.
2. Click the Facility Sync tab.
3. In the table in the Configuration Sync box or the Transaction Sync box, click Abort
Sync.
4. Review the result in the table. To view additional detail, click .
Turn Off Transaction Synchronization for a Facility

You can turn off the replication of transactional data1 from a specific facility to headquarters.
To turn off synchronization of transactional data for a facility, perform the following steps:
1. Click Access Control and navigate to the facility for which you want to turn off
transaction synchronization.
2. Click the Facility Configuration tab.
3. In the table in the Transaction Sync box, click Disabled.
Turn Off Synchronization for All Facilities

To turn off synchronization for all facilities, perform the following steps:
1. Log on to the headquarters.
2. Click System Management. The Service Management pane is displayed.

1In a multi-site deployment of Spectrum, information about recent synchronizations that can be used for auditing. During a
transaction sync, this data can be replicated from a facility to headquarters.

Loftware Spectrum 3.0.1 User Guide 639


Configuring and Administering

3. To turn off all synchronization of objects to all facilities, click Entity Sync Services, and
click Stop Service.
4. To turn off all synchronization of transaction data from all facilities, click Transaction
Sync Services, and click Stop Service.

640 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

User Interface: Facility

If your Spectrum license and your permissions permit, you can create a facility 1 object in
Spectrum to manage a facility site.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.
When you click a facility in Access Control, the following tabs unique to facilities are available
in addition to the typical tabs for managing access and tags.

Facility Info

The following information is used to describe a LoftwareSpectrum facility and is displayed on


the Facility Info tab when a facility is selected.

Note: Facilities and other functionality related to multi-site deployment are


available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.
Property Description
Facility Required. The unique ID of the facility.
Name Note: The following characters are permitted in the name:
letters, numbers, parentheses, square brackets, ampersands,
asterisks, plus signs, equal signs, commas, semi-colons, and
tildes. Additionally, the following characters are permitted
but cannot begin or end the name: spaces, double quotes,
single quotes, hyphens, underscores, periods, and grave
accents. Names are limited to 255 characters.
Path The path in Spectrum to the facility object.
Description The purpose of the facility.
Configured Whether the facility service has been started or stopped.
Status This property is displayed only after the facility has been created.
The configured status can have the following values:
l Started

l Stopped

1An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.

Loftware Spectrum 3.0.1 User Guide 641


Configuring and Administering

Property Description
Status Whether the facility service is online or unreachable.
This property is displayed only after the facility has been created.
The status can have the following values:
l Service Up: The service is online.

l Service Down: The service is unreachable and possibly offline.

Facility Required. A description of the physical location of the facility. The


Location Facility Location is a comment intended to assist administrators and is
not used by Spectrum to identify or connect to the facility.
Facility Required. The URL of the SpectrumApplicationServer at the facility.
URL The URL should include an http:// or https:// prefix, either an IP
address or a DNS name, and a port, but not the path to Spectrum within
the SpectrumApplicationServer.
Examples
The following example includes a typical non-secured
access port.
http://www.example.com:8080
The following example includes a typical secured access
port.
https://www.example.com:8443
Facility The URL to connect to the load balancer that manages the facility. If the
Response facility is not managed by a load balancer, leave this box blank. The URL
URL should include an http:// or https:// prefix, either an IP address or a
DNS name, and a port, but not the path to Spectrum within the
SpectrumApplicationServer.
Examples
The following example includes a typical non-secured
access port.
http://www.example.com:8080
The following example includes a typical secured access
port.
https://www.example.com:8443

642 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Property Description
Print From Whether print jobs originating from the facility should be processed by a
HQ SpectrumApplicationServer at the headquarters or at the facility.
This property can have the following values:
: Print jobs from the facility are processed at the facility site.
: Print jobs from the facility are normally processed at the headquarters
associated with this facility. If the facility is unable to connect to the
headquarters, then device queues at the headquarters are stopped and the
corresponding device queues at the facility are started so that print jobs
can be processed at the facility site. After connectivity is restored and
any print jobs already in device queues at the facility finish printing,
device queues at the facility are stopped and those at the headquarters are
started.
Created and Lists the date the facility was created or modified and the user who
Modified created or modified the facility.
These properties are displayed only after the facility has been created.
Facility Configuration

Controls to perform the following tasks are displayed on the Facility Configuration tab for a
facility:
lSchedule the replication of objects from headquarters to facility
l Specify folders and types of objects to be replicated from headquarters to facility

l Schedule the replication of transactional data used for auditing from the facility to

headquarters
For more information about what objects and transactional data are synchronized, see " What
Items Are Synchronized" on page 627.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Note: Controls for initiating, canceling, and viewing the status of synchronization
are available on the Facility Sync tab.
Property Description
Facility The path to the facility in Spectrum followed by the unique ID of the
Name facility.

Loftware Spectrum 3.0.1 User Guide 643


Configuring and Administering

Property Description
Configuration When to replicate synchronized objects from headquarters to the
Sync facility.
(frequency) The following options are available for scheduling synchronization:
l Manual Only

l Every day at <time>

l Every <hours> hours

l Cron Expression

Configuration Which folders and types of objects to replicate from headquarters to


Sync the facility. For each folder that you select, you can specify which types
(folders) of objects in that folder to synchronize and whether to recursively
synchronize all subfolders within the folder.
The following controls allow you to specify folders and types of
objects to be synchronized:
l Add Folder

l Edit Synced Object Types

l Remove Folder

Transaction When to replicate transactional data used for auditing from the facility
Sync to headquarters.
The following options are available for scheduling synchronization:
l Disabled

l Manual Only
l
Every day at <time>
l Every <hours> hours

l Cron Expression

Facility Sync

The following controls are used to manage synchronization between the facility and the
headquarters with which it is associated. These controls are displayed on the Facility Sync tab
in Access Control when a facility is selected.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Note: Controls for selecting folders to synchronize and for scheduling


synchronization are available on the Facility Configuration tab.
Property Description
Facility The path to the facility in Spectrum followed by the unique ID of the
Name facility.

644 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Property Description
Configuration Controls for initiating and canceling the replication of synchronized
Sync objects from headquarters to the facility, and information reported
about recent synchronizations.
Note: A synchronization takes effect on each object
individually. You can cancel a synchronization that is in
progress, preventing any more objects from being
synchronized. However, canceling a synchronization does
not undo the effects on objects already processed during
that synchronization.
The following commands are available:
l View History Details

l Refresh History

l Sync Now

l Abort Sync

The following information is displayed about each synchronization:


l Sync ID

l Sync Date

l Status

l Trigger

Transaction Controls for initiating and halting the replication of transactional


Sync data1 from the facility to headquarters.
The following commands are available:
l View History Details

l Refresh History

l Sync Now

l Abort Sync

The following information is displayed about each synchronization:


l Sync ID

l Sync Date

l Status

l Trigger

1In a multi-site deployment of Spectrum, information about recent synchronizations that can be used for auditing. During a
transaction sync, this data can be replicated from a facility to headquarters.

Loftware Spectrum 3.0.1 User Guide 645


Configuring and Administering

Categorize an Object
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
Note: If a label template or other object is version controlled, you must check it
out before you can assign tags or change which tags are assigned. Each version of
the object can have different tags applied. However, you cannot change the tags
applied in a previous version of an object.

Tip: Each tag category has a name, and a static tag category has a list of associated
values. You can manage tag categories in System Management. For more
information, see "Tag Management" on page 766.
To categorize an object with tags in Access Control, use this procedure.
1. In Access Control, click a taggable object from the Access Control pane in the left
column.
2. Click the Tags tab, or for a version-controlled object that you have checked out, click
the Version Info tab.
3. Perform one or more of the following actions:
n To add a tag to the object, click . In the Add Tags dialog box, select a
category and a value for the tag, and then click OK.
Note: The list of values available is dependent on the category
selected.
n To change the value of a tag that has been assigned to the object, click the row for
that tag, and then click . Select a value for the tag, and then click OK.
n To remove a tag from the object, click the row for that tag, and then click .
When prompted, click Yes to delete the tag.
Tip: Deleting a tag from an object does not delete the tag category
from Spectrum. You can add a new tag to the object and specify that
same category again.
4. Click Save for the object.
Built-in Tag Category: Source

A built-in tag category named Source is included with Spectrum. It is designed for use in a tag
that characterizes the origin of an object. If an object supports tags, then a tag with a category of
Source and a value of Spectrum is automatically assigned to it the first time that the object is
saved.

646 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Value Purpose
System The object was built in to Spectrum.
LPS The object was created in Loftware Print Server (LPS) and was migrated to
Spectrum.
Spectrum The object was created in Spectrum.
Unknown The origin of the object is unknown.

Loftware Spectrum 3.0.1 User Guide 647


Configuring and Administering

Delete an Object
You can delete an object in Spectrum in Access Control. You must have the Delete permission
for an object to delete it.
Important: Access in Spectrum requires both role-based permissions1 and object access
permissions2. For a user to be able to perform an action on an object, the user
must directly or indirectly be assigned a role that grants permission to perform that
action on that type of object. Additionally, that particular object must either be in a
folder that directly or indirectly grants the user access permission to perform that
action on that type of object or else that particular object must directly or
indirectly grant permission to the user to perform that action. There are several
permissions that are only role-based or only object-based and do not require a
corresponding permission. Examples include List permission for Folders and all
permissions for ModelStatus (AutoRefresh), Tag Categories, and Devices.
To delete an object in Access Control, use this procedure.
1. In the Access Control tree, click the object that you want to delete.
2. Perform one of the following actions:
n At the bottom of the window, click the Delete button.
n Right-click the object and select Delete.
Notes:
n A folder can only be deleted if you have Delete permissions
for every object in the folder and its subfolders.
n If you attempt to delete a folder and it is not removed, the
folder may contain other folders or objects for which you do
not have List or Delete permissions.
3. When prompted, click Yes to delete the object.
The object is removed from your Spectrum environment.

1Permissions in Spectrum that are assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned. A user must have both a role-based permission and the corresponding
object access permission to perform an action on an object.
2Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

648 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Create a Link
You can create hard links, relative links, and fully-qualified links within your Spectrum
environment.
Tip: You can configure the permissions and tags for a link differently from those
for the target of the link.
To create a link to a folder or other object, use the following procedure:
1. Click Access Control, then navigate to the folder in which you want to create a link, and
click Create Link.
2. In the dialog box, select the target to which the link should point.
3. If the target of the link is a folder, specify whether the link is a hard link, a relative link,
or a fully-qualified link.
n Hard Link: This type of link is ID-based and will not break if the target of the
link is moved or renamed. To select this link type, leave the Hard Link check
box selected.
n Relative Link: This type of link is based on a relative path and will break if the
target of the link is moved or renamed. To select this link type, clear the Hard
Link check box and select the Relative check box.
n Fully-Qualified Link: This type of link is based on a fully-qualified path and will
break if the target of the link is moved or renamed. To select this link type, clear
both the Hard Link check box and the Relative check box.
4. Click OK.
5. On the Info tab, change the Link Name if needed. The name cannot be the same as
another object in the same folder.
6. Enter a description.
7. Click Save Link.
8. On the Access tab, change the object access permissions1 if needed. It is
recommended that you configure object access permissions at the folder level.
9. If the Tags tab is displayed, change the tags assigned to the link if needed.
10. If you have made changes on the Access tab or Tags tab, click Save Link.

1Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

Loftware Spectrum 3.0.1 User Guide 649


Configuring and Administering

Access Control Page


Click Access Control at the top of the LoftwareSpectrum window to display options for
managing access permissions for users.

650 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Access Control Tree

Manage access to the folders, users, groups, roles, devices, data services, processes, integrations,
label templates, forms, layouts, images, reusable objects, applications, business rules, and
workflow templates in LoftwareSpectrum.
Tip: You can move an object from one folder to another by dragging the object
from one folder and dropping it into another. Alternatively, you can right-click an
object, select Move to, and select a folder to which to move it.
Folder
User
Group
Role
Device group
Facility

Remote Site

Label template
Form
Application
Reusable object
Layout
Image
Data service
Integration

Process

Business rule
Workflow Template

Server
JVM Process

Version-Controlled Objects

Loftware Spectrum 3.0.1 User Guide 651


Configuring and Administering

All objects within a folder with version control are version controlled, except objects of a type
for which version control is not supported. A version-controlled object may be displayed as an
icon showing a stack of the type of object. If the object is checked out, a lock icon is displayed.
Folder without version control
Folder with version control
Label template without version control
Label template with version control, checked in
Label template with version control, checked out

Links

A link is displayed as an icon that includes chain links combined with the icon for the type of
object to which the link points.
Image
Link to an image
Tip: You can configure the permissions and tags for a link differently from the
those for the target of the link.

652 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Access Tab

The Access tab is used to configure who can access the object1 (entity) selected. The name of
this tab changes depending on the type of object selected.
Example
If a label template is selected, the tab is named Label Access. You configure
options on this tab to manage who can view, change, delete, or print by using the
label template.

Figure A.9: Access Control List for a label template named Product Label.
Permission Check Boxes

On each Access Control List are groups of check boxes for controlling access permissions. Each
check box has three states.
The permission is granted.
The permission is denied.
The permission is inherited from the folder containing the object.
User/Group Table

This table is used to define exceptions to the default permissions defined in the Access Control
List. An exception may be for a user or a group. For example, you may want to exclude all but
one user in a group from being able to delete a label template.

1An item in Spectrum such as a role, group, user, business rule, application, workflow template, data service, form, image,
integration, job, label template, layout, device, device group, process, reusable object, facility, Remote Site, Spectrum Application
Server, or server process.

Loftware Spectrum 3.0.1 User Guide 653


Configuring and Administering

Types of Objects

When you create an object in Spectrum by clicking one of the Add buttons or when you click an
existing object, tabs and buttons with options and commands specific to that type of object are
displayed. Depending on your permissions and the object's permissions, some tabs and options
may be hidden. During the creation of an object, some tabs may not be displayed until you have
completed required fields and saved the object the first time.
Important: Access in Spectrum requires both role-based permissions1 and object access
permissions2. For a user to be able to perform an action on an object, the user
must directly or indirectly be assigned a role that grants permission to perform that
action on that type of object. Additionally, that particular object must either be in a
folder that directly or indirectly grants the user access permission to perform that
action on that type of object or else that particular object must directly or
indirectly grant permission to the user to perform that action. There are several
permissions that are only role-based or only object-based and do not require a
corresponding permission. Examples include List permission for Folders and all
permissions for ModelStatus (AutoRefresh), Tag Categories, and Devices.
Best Practice
It is recommended that you configure permissions for roles, assign roles to groups,
and add users to the group.
Note: Although a user inherits the roles of a group in which the user has
membership, those roles are displayed only on the Roles tab for the group, not on
the Roles tab for the user or the Users tab for the role.
The following types of objects can be created and managed in Access Control.
Folder
Create, modify, or delete a folder in Spectrum. Additionally, you can copy the contents of the
folder to another folder. If you are logged onto a headquarters in a multi-site deployment of
Spectrum, you can select facilities to which the folder should be replicated.
Folder Info

Create and modify the data that describes the folder.


Important: You cannot change the Version Control setting after you save the
folder.

1Permissions in Spectrum that are assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned. A user must have both a role-based permission and the corresponding
object access permission to perform an action on an object.
2Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

654 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.

Folder Access

Create an Access Control List (ACL) to manage who can view, change, or delete the folder.
Important: The options on this tab control who can configure this folder, not
what objects within this can access.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
Default Permissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Folder Sync

If you are logged onto a headquarters in a multi-site deployment of Spectrum, select facilities
to which the folder should be replicated. You can specify that only certain types of objects be
replicated, specify whether objects in subfolders of this folder should be replicated, and
enable or disable replication of this folder to each facility.
For more information, see " Select Objects to Sync" on page 631.
Buttons
Add <Object>
Create a new link or a new object in the folder. You can create a link to an object in
Spectrum or create a subfolder, user, role, group, or facility.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled.
Some options are displayed only if you are logged on to the headquarters site.
Delete Folder
Remove the folder. To delete a folder and its contents, see " Delete an Object" on page 648.
WARNING: Do not delete the built-in Job Target folder in the root folder.
You can rename this folder if desired.
Role
Create, modify, or delete a role in Spectrum.
Role Info

Loftware Spectrum 3.0.1 User Guide 655


Configuring and Administering

Create and modify the data that describes the role.


Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Role Access

Create an Access Control List to manage who can view, change, or delete the role.
Important: This ACL controls who can configure this role, not what users who
have this role can do. To give a user permissions to perform actions, it is
recommended that you use the Groups tab to assign this role to a group in
which the user has membership.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Permissions

Control what users to whom this role is assigned can see and do within Spectrum.
Page Access Management
Manage which pages in Spectrum are displayed to users to whom the role is assigned. If one
role provides a user with access to a page and another role does not, the page is displayed for
the user.
Note: To allow a LocalAdmin to assign the role and to manage page access, the
Do not allow LocalAdministrator to assign this role to other users check
box must be cleared. This option is displayed only to users with the ROLE_
ADMINISTRATOR role and the SuperAdmin user.
Permissions Management
Manage which permissions are granted or denied to users to whom the role is assigned.
Groups

Manage the group memberships assigned to the role. You can add the role to a group by
dragging the group from the Groups tree to the table. If a user is a member of a group to
which a role is assigned, then that user receives the permissions associated with that role.
Users

656 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Manage the users to which the role is assigned. You can assign the role to a user by dragging
the user from the Users tree to the table.
Button
Delete Role
Remove the role. Users who inherited permissions from this role either because it was
directly assigned or because they were members of a group to which the role was assigned
lose those permissions.
Group
Create, modify, or delete a group in Spectrum.
Group Info

Create and modify the data that describes the group. You can apply a profile.

Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Group Access

Create an Access Control List to manage who can view, change, or delete the group.
Important: This ACL controls who can configure this group, not what
members of this group can access. To give members of this group permissions
to perform actions, use the Roles tab to add a role to which permissions have
been assigned.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Roles

Manage the roles assigned to the group. You can assign a role to the group by dragging the
role from the Roles tree to the table.
Users

Manage the users who have membership in the group. You can add a user to the group by
dragging the user from the Users tree to the table.

Loftware Spectrum 3.0.1 User Guide 657


Configuring and Administering

Button
Delete Group
Remove the group. This option is only available if no users are members of the group. Users
who inherited permissions and any default profile provided by the group lose those
permissions and settings when they are removed from the group.

User
Create, modify, or delete a user in Spectrum.
Important: It is recommended that you grant Read permission for Users to all
users. If a user does not have Read permission for Users, User-
AccessDenied is displayed in place of the user name in Status and elsewhere
in Spectrum.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
User Info

Create and modify the data that describes the user. You can apply a profile and specify
whether the user account is a local account or a domain account.
Note: A User Name can include letters and numbers. Additionally, the
following characters are permitted but cannot begin or end the name: hyphens,
underscores, and periods.

User Access

Create an Access Control List to manage who can view, change, or delete the user.
Important: The options on this tab control who can configure this user, not
what this user can access. To give this user permissions to perform actions, it is
recommended that you use the Groups tab to make the user a member of a
group to which a role has been assigned.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Groups

Manage the group memberships assigned to the user. You can add the user to a group by
dragging the group from the Groups tree to the table.
Roles

658 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Manage the roles assigned to the user. You can assign a role to the user by dragging the role
from the Roles tree to the table.
Tags

Add or change the tags assigned to the user.


In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Buttons
Delete User
Remove the Spectrum user account.
WARNING: Do not delete the jvmAdmin user. If the license for the
Spectrum instance has the Multi-Site property enabled, do not delete the
MultiSiteAdmin user.

Facility
Create, modify, or delete a facility 1 in Spectrum. For more information about facilities, see
"Configuring and Managing a Multi-Site Deployment" on page 624.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled.
Some options are displayed only if you are logged on to the headquarters site.

Tip: It is recommended that you install the Spectrum application and database
at each facility site before you create the facility object in Spectrum. Each
facility site can have only one SpectrumApplicationServer and one Spectrum
Database Server. Each facility site can use either an Oracle database or the
Loftware-supplied embedded database.

Facility Info

1An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.

Loftware Spectrum 3.0.1 User Guide 659


Configuring and Administering

Configure the connection to a facility site and whether print jobs originating from the facility
are processed by a SpectrumApplicationServer at the headquarters site or at the facility site.
Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
For more information, see "Facility Info" on page 641.
Facility Access

Create an Access Control List to manage who can view, change, or delete the facility.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Facility Configuration

Perform the following tasks:


Schedule the replication of objects from headquarters to facility
l

l Specify folders and types of objects to be replicated from headquarters to facility

l Schedule the replication of transactional data used for auditing from the facility to

headquarters
For more information, see "Facility Configuration" on page 643.
Facility Sync

Perform the following tasks:


Initiate or halt replication of objects from headquarters to a facility (available only if
l

you are logged on to the headquarters)


l Initiate or halt replication of transactional data used for auditing from a facility to a

headquarters (available only if you are logged on to the headquarters)


l Review the status of synchronization

For more information, see "Facility Sync" on page 644.


Tags

Add or change the tags assigned to the facility.


In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,

660 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Button
Delete Facility
Remove the facility object from the Spectrum environment. This does not uninstall the
Spectrum application or database from the facility site.
Start Facility
Start the service associated with the facility. This option is displayed only if the service is
stopped.
Stop Facility
Stop the service associated with the facility. This option is displayed only if the service is not
stopped.
The following types of objects can be managed, but not created, in Access Control.
Application
Modify information about or delete an application in Spectrum.
Important: It is recommended that you grant Read permission for Documents
to all label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates.

Note: You cannot create forms from Access Control.

Application Info

Modify the data that describes the form.


Note: If an existing form is version-controlled, you must check it out to change
its name or description.

Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.

Loftware Spectrum 3.0.1 User Guide 661


Configuring and Administering

Application Access

Create an Access Control List to manage who can view, change, or delete the form.
Note: All label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates are managed by using access
permissions for Documents.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Note: The Publish permission for Documents is displayed only if the form is in
a folder for which version control is turned on.

Version Info

Manage the revision history for the application and add or change tags assigned to the current
checked-out version. Tags cannot be changed in a previously checked-in version. This tab is
displayed only if the application is in a folder for which version control is turned on.
Tags

Add or change the tags assigned to the application. This tab is displayed only if the
application is in a folder for which version control is turned off.
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Buttons
Delete Application
Remove the application from the Spectrum library.
Business Rule
Modify information about or delete a business rule.
Note: You cannot create business rules from Access Control.

Business Rule Info

Modify the data that describes the business rule.

662 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Business Rule Access

Create an Access Control List to manage who can view, change, or delete the business rule.
Note: All label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates are managed by using access
permissions for Documents.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
Default Permissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Version Info

Manage the revision history for the application and add or change tags assigned to the current
checked-out version. Tags cannot be changed in a previously checked-in version. This tab is
displayed only if the application is in a folder for which version control is turned on.
Tags

Add or change the tags assigned to the business rule.


In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Button
Delete Business Rule
Remove the business rule.
Data Service

Loftware Spectrum 3.0.1 User Guide 663


Configuring and Administering

Modify information about or delete a data service.


Note: You cannot create data services from Access Control.

Data Service Info

Modify the data that describes the data service.


Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Data Service Access

Create an Access Control List to manage who can view, change, or delete the data service.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Tags

Add or change the tags assigned to the data service.


In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Button
Delete Data Service
Remove the data service.
Device
Modify information about or delete a device.

664 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Note: You cannot create devices in Access Control, and devices are not
displayed in the AccessControl tree. However, the device group that contains
each device is displayed in the AccessControl tree.
Each device inherits the permissions of the device group that is its parent. You configure
permissions for devices at the device group level on the Device Group Access tab or by
configuring DeviceGroups permissions at the folder level on the FolderAccess tab, and at
the role level on the Permissions tab. You cannot separately configure the permissions for
an individual device, but you can separately configure the permissions for its device group.
It is recommended that you configure permissions for device groups, but do not configure
permissions for devices.
Device Group
Modify information about or delete a device group.

Important: It is recommended that you grant Read permission for Device


Groups to all device groups.

Note: You cannot create device groups from Access Control.

Device Group Info

Modify the data that describes the device group.


Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Device Group Access

Create an Access Control List to manage who can view, change, or delete the device group
and view or change the device queue.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Tags

Add or change the tags assigned to the device group.

Loftware Spectrum 3.0.1 User Guide 665


Configuring and Administering

In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Button
Stop Device Group
Stop the device group service. (Available only if the device group is running.)
Start Device Group
Start the device group service. (Available only if the device group is stopped.)
Form
Modify information about or delete a form in Spectrum.
Important: It is recommended that you grant Read permission for Documents
to all label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates.

Note: You cannot create forms from Access Control.

Form Info

Modify the data that describes the form.


Note: If an existing form is version-controlled, you must check it out to change
its name or description.

Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Form Access

Create an Access Control List to manage who can view, change, or delete the form.

666 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Note: All label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates are managed by using access
permissions for Documents.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Note: The Publish permission for Documents is displayed only if the form is in
a folder for which version control is turned on.

Version Info

Manage the revision history for the form and add or change tags assigned to the current
checked-out version. Tags cannot be changed in a previously checked-in version. This tab is
displayed only if the form is in a folder for which version control is turned on.
Tags

Add or change the tags assigned to the form. This tab is displayed only if the form is in a
folder for which version control is turned off.
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Buttons
Delete Form
Remove the form from the Spectrum library.
Image
Modify information about or delete an image in Spectrum.
Important: It is recommended that you grant Read permission for Documents
to all label templates, layouts, and images.

Note: You cannot create images from Access Control.

Loftware Spectrum 3.0.1 User Guide 667


Configuring and Administering

Note: All images intended to be available for use in Design should be saved to
the built-in Images folder or a subfolder. Otherwise, they will not appear in
the Library.

Image Info

Modify the data that describes the image.


In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Image Access

Create an Access Control List to manage who can view, change, or delete the image.
Note: All label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates are managed by using access
permissions for Documents.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Note: The Publish permission for Documents is displayed only if the image is
in a folder for which version control is turned on.

Version Info

Manage the revision history for the image and add or change tags assigned to the current
version. Tags cannot be changed in a previous version. This tab is displayed only if the image
is in a folder for which version control is turned on.
Tags

Add or change the tags assigned to the image. This tab is displayed only if the image is in a
folder for which version control is turned off.
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Button

668 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Delete Image
Remove the image from the Spectrum library.
Integration
Modify information about or delete an integration.
Note: You cannot create integrations from Access Control.

Integration Info

Modify the data that describes the integration.


Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Integration Access

Create an Access Control List to manage who can view, change, or delete the integration.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
Default Permissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Tags

Add or change the tags assigned to the integration.


In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Button
Delete Integration
Remove the integration.
Job

Loftware Spectrum 3.0.1 User Guide 669


Configuring and Administering

Modify information about or delete a job.


Note: You cannot create jobs in Access Control, and jobs are not displayed in
the AccessControl tree.
You configure permissions for jobs at the folder level on the FolderAccess tab and at the
role level on the Permissions tab. You cannot separately configure the permissions for an
individual job.
JVM Process
Modify information about a server process within a SpectrumApplicationServer in a
Spectrum environment configured to support distributed services. Each server process
inherits the permissions of the server that is its parent.
Note: You cannot create JVM processes in Access Control. For more
information about distributed services, see "High Availability with Distributed
Services" on page 716.

JVM Process Info

Modify information about the server process.


Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.

JVM Process Access

Create an Access Control List to manage who can view, change, or delete the server process.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Label Template
Modify information about or delete a label template in Spectrum.
Important: It is recommended that you grant Read permission for Documents
to all label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates.

Note: You cannot create label templates from Access Control.

Label Info

670 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Modify the data that describes the label template.


Note: If an existing label template is version-controlled, you must check it out
to change its name or description.

Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Label Access

Create an Access Control List to manage who can view, change, or delete the label template.
Note: All label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates are managed by using access
permissions for Documents.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Note: The Publish permission for Documents is displayed only if the label
template is in a folder for which version control is turned on.

Version Info

Manage the revision history for the label template and add or change tags assigned to the
current checked-out version. Tags cannot be changed in a previously checked-in version.
This tab is displayed only if the label template is in a folder for which version control is
turned on.
Tags

Add or change the tags assigned to the label template. This tab is displayed only if the label
template is in a folder for which version control is turned off.
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.

Loftware Spectrum 3.0.1 User Guide 671


Configuring and Administering

Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Buttons
Delete Label
Remove the label template from the Spectrum library.
Layout
Modify information about or delete a layout in Spectrum.
Important: It is recommended that you grant Read permission for Documents
to all label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates.

Note: You cannot create layouts from Access Control.

Layout Info

Modify the data that describes the layout.


Note: If an existing layout is version-controlled, you must check it out to
change its name or description.

Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Layout Access

Create an Access Control List to manage who can view, change, or delete the layout.
Note: All label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates are managed by using access
permissions for Documents.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
Default Permissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.

672 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Note: The Publish permission for Documents is displayed only if the layout is
in a folder for which version control is turned on.

Version Info

Manage the revision history for the layout and add or change tags assigned to the current
checked-out version. Tags cannot be changed in a previously checked-in version. This tab is
displayed only if the layout is in a folder for which version control is turned on.
Tags

Add or change the tags assigned to the layout. This tab is displayed only if the layout is in a
folder for which version control is turned off.
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Button
Delete Layout
Remove the layout from the Spectrum library.
Process
Modify information about or delete a process.
Note: You cannot create processes in Access Control.

Process Info

Modify the data that describes the process.


In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Process Access

Create an Access Control List to manage who can view, change, or delete the process.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
Default Permissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Version Info

Loftware Spectrum 3.0.1 User Guide 673


Configuring and Administering

Manage the revision history for the application and add or change tags assigned to the current
checked-out version. Tags cannot be changed in a previously checked-in version. This tab is
displayed only if the application is in a folder for which version control is turned on.
Tags

Add or change the tags assigned to the process.


In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Button
Delete Process
Remove the process.
Remote Site
Modify information about or delete a Remote Site 1.
Note: You cannot create Remote Sites from Access Control.

Remote Site Info

Modify the data that describes the Remote Site.


Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.

Remote Site Access

Create an Access Control List to manage who can view, change, or delete the Remote Site.
User/Group Table

1An object in Spectrum that represents the location of a remote computer. The Remote Print Agent must be installed on the
remote computer so that it can communicate with the Spectrum Application Server and make devices at that location available in
Spectrum. Each Remote Site can communicate with only one Spectrum Application Server.

674 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

A list of the users and groups that are exceptions to the default permissions described in the
Default Permissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Tags

Add or change the tags assigned to the Remote Site.


In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Button
Delete Remote Site
Remove the Remote Site.
Reusable Object
Modify information about or delete a reusable object in Spectrum.
Important: It is recommended that you grant Read permission for Documents
to all label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates.

Note: You cannot create reusable objects from Access Control.

Note: All reusable objects intended to be available for use in Design should be
saved to the built-in Reusable Objects folder or a subfolder. Otherwise, they
will not appear in the Library.

Reusable Object Info

Modify the data that describes the reusable object.


Note: If an existing reusable object is version-controlled, you must check it out
to change its name or description.

Loftware Spectrum 3.0.1 User Guide 675


Configuring and Administering

Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
In a multi-site deployment of Spectrum, you can turn synchronization for this object on or
off individually. For more information, see " Select Objects to Sync" on page 631.
Reusable Object Access

Create an Access Control List to manage who can view, change, or delete the reusable object.
Note: All label templates, forms, layouts, images, reusable objects, applications,
business rules, and workflow templates are managed by using access
permissions for Documents.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
DefaultPermissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.
Note: The Publish permission for Documents is displayed only if the reusable
object is in a folder for which version control is turned on.

Version Info

Manage the revision history for the reusable object and add or change tags assigned to the
checked-out version. Tags cannot be changed in a previously checked-in version. This tab is
displayed only if the reusable object is in a folder for which version control is turned on.
Tags

Add or change the tags assigned to the reusable object. This tab is displayed only if the
reusable object is in a folder for which version control is turned off.
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process, remote site,
reusable object, user, or workflow template. For a version-controlled object, tags cannot be
changed in a previously checked-in version.
Tip: You can create a tag category or change the list of values associated with a
tag category in System Management. For more information, see "Tag
Management" on page 766.

Buttons

676 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Delete Reusable Object


Remove the reusable object from the Spectrum library.
Server
Modify information about a SpectrumApplicationServer in a Spectrum environment
configured to support distributed services. A server can contain a server process, also called a
JVM process.
Note: You cannot create servers in Access Control. For more information
about distributed services, see "High Availability with Distributed Services" on
page 716.

Server Info

Modify information about the SpectrumApplicationServer.

Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
Optionally, you may enter the expected IPAddress and DNS Alias of the server. If you
enter a value in both fields, the DNS Alias value will be checked first. This can be useful in
a Spectrum environment configured to use distributed services or for users who might access
Spectrum through a VPN. If the DNS Alias does not match or no value was entered, then
the IP Address value will be checked.
Server Access

Create an Access Control List to manage who can view, change, or delete the
SpectrumApplicationServer from the Spectrum environment.
Important! In an environment with distributed services, to permit a user to
perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.
User/Group Table
A list of the users and groups that are exceptions to the default permissions described in the
Default Permissions table. You can add a user or group to the ACL by dragging a user or
group from the Users and Groups tree.

Loftware Spectrum 3.0.1 User Guide 677


Configuring and Administering

Object Access Permissions

The object access permissions1 that a user is granted or denied in Access Control Lists
(ACLs) can be directly assigned to that user, inherited from a group in which the user has
membership, or inherited from the Default Permissions for the object.
Important: Access in Spectrum requires both role-based permissions2 and object access
permissions3. For a user to be able to perform an action on an object, the user
must directly or indirectly be assigned a role that grants permission to perform that
action on that type of object. Additionally, that particular object must either be in a
folder that directly or indirectly grants the user access permission to perform that
action on that type of object or else that particular object must directly or
indirectly grant permission to the user to perform that action. There are several
permissions that are only role-based or only object-based and do not require a
corresponding permission. Examples include List permission for Folders and all
permissions for ModelStatus (AutoRefresh), Tag Categories, and Devices.
In Spectrum, object access permissions are specific to a type of object. For example, instead of a
generic Create permission, there is a separate Create permission for each type of object, such as
Create permission for Folders, Create permission for Users, Create permission for Documents,
and Create permission for Data Services. Users assigned particular role may be granted Create
permission for Documents, but denied Create permission for Integrations.
The following permissions exist in Spectrum. All of these permissions can be configured for a
folder and inherited by objects within the folder. Alternatively, the permissions that are relevant
to a specific object can be configured for that object.
Permissions
Permission Code Description
Read R The permission to see an object.
Note: When configuring a user, it is recommended that
you grant Read permission for Users to all users so that
the user name of the user can be displayed to other users
where appropriate in Spectrum.

1Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.
2Permissions in Spectrum that are assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned. A user must have both a role-based permission and the corresponding
object access permission to perform an action on an object.
3Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

678 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Permission Code Description


Write W The permission to save changes to an object.
Tip: Document Designers who import label templates,
forms, layouts, reusable objects, or applications should
have Create permission for Documents and Write
permission for Documents. Create permission is required
for importing into a folder where an object of the same
name does not exist. Write permission is required for
importing into a folder where an object of the same name
already exists.
Create C The permission to add an object.
Tip: Document Designers who import label templates,
forms, layouts, reusable objects, or applications should
have Create permission for Documents and Write
permission for Documents. Create permission is required
for importing into a folder where an object of the same
name does not exist. Write permission is required for
importing into a folder where an object of the same name
already exists.
Delete D The permission to remove an object.
Admin A The permission to manage the Access Control List of an object.
Having this permission allows you to view and use the Access tab for
the object. For roles, this permission allows you to grant permissions.
Note: To take control of a version-controlled object that
is checked out by another user so that you can make
changes or check it in, Admin and Read permissions for
Documents are required.

Note: To assign a role to a user and to manage page


access, Admin and Read permissions for Roles are
required. By default, a user with the Local Admin role has
only Read privilege for Roles. However, if the Do not
allow Local Administrator to assign this role to other
users check box is cleared on the Permissions tab for
the role, then users with Local Admin receive both
Admin and Read privileges for the role. This check box
can only be configured by a user who has the ROLE_
ADMINISTRATOR role or is the SuperAdmin user.

Loftware Spectrum 3.0.1 User Guide 679


Configuring and Administering

Permission Code Description


List L The permission to the name of an object in a list. Available only for
Folders. This permission does not require a corresponding role-based
permission.
Print PR The permission to print using an object such as a label template or
print to a device. If version control is used, this permission allows you
to print using the latest published version1 of a label template.
Note: To create a print job, Read and Create permissions
for Jobs are also required.

Note: To use Print Preview, a user should have a role


with Print permission for Documents, have Print
permission for Documents for folders containing label
templates and images to be previewed, and have Allow
Print Preview selected in User Preferences.
Design T The permission to print sample labels from Design using the current
Print label template and device connection displayed in Design. If version
control is used, this permission allows you to print any published
version2 of a label. To print a minor version of a label, Write
permission for Documents is also required.
Publish PB The permission to promote a version-controlled object to the next
major version and reset the minor version to zero, creating a
published version3. This permission also allows you to undo
publication, removing the most recently published version if no minor
version was published afterward.
Note: Publish permission for Documents is available
only for a folder or a version-controlled object.
Reprint RP The permission to reprint an object such as a label template or job, or
to reprint to a device. If version control is used, this permission allows
you to reprint any published version4 or minor version of a label.
Queue Q The permission to see and change a device queue. Available only for
device groups.

1When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.
2When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.
3When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.
4When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.

680 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Permissions for the following types of objects can be configured at the folder level and inherited
by all objects in the folder. Although configuring object access permissions at the folder level is
recommended, you can also configure object access permissions for a specific object.
Types of Objects (Entities)
Object Permissions
Description
(Entity) Available
Folders Containers used to organize objects. R, W, C, D,
A, L
Users People accessing the Spectrum environment. R, W, C, D,
Note: When configuring a user, it is A
recommended that you grant Read permission for
Users to all users so that the user name of the user
can be displayed to other users where appropriate
in Spectrum.
Groups Collections of users. R, W, C, D,
A
Roles Collections of permissions that can be associated with users or R, W, C, D,
groups. A
Documents Objects such as label templates, forms, layouts, images, R, W, C, D,
reusable objects, applications, business rules, and workflow A, PR, T,
templates. PB, RP
Note: Publish permission for Documents is
available only for a folder or a version-controlled
object.

Tip: For the Images folder and the Reusable


Objects folder, Document Designers must have
Read permission for Documents so that they can
view and use images and reusable objects.

Tip: Document Designers who import label


templates, forms, layouts, reusable objects, or
applications should have Create permission for
Documents and Write permission for Documents.
Create permission is required for importing into a
folder where an object of the same name does not
exist. Write permission is required for importing
into a folder where an object of the same name
already exists.

Loftware Spectrum 3.0.1 User Guide 681


Configuring and Administering

Object Permissions
Description
(Entity) Available
Device Collections of connections to one or more physical devices. R, W, C, D,
Groups Note: A device group can contain only one A, PR, T,
device connection. RP, Q

Servers A SpectrumApplicationServer in a Spectrum environment R, W, C, D,


configured to use distributed services. A server contains a A, PR
server process, also called a JVM process.
Important! In an environment with distributed
services, to permit a user to perform
administrative tasks related to services you must
assign Read and Write permissions for Servers.
These permissions must be assigned for each
server in Access Control. Examples of
administrative tasks related to services include
creating a data service, a device connection, or an
integration. Core services can only be configured
by the SuperAdmin user.
JVM The server processes associated with a R, W, D, A,
Processes SpectrumApplicationServer in a Spectrum environment PR
configured to use distributed services. A server can contain a
server process. Each server process inherits the permissions of
the server that is its parent.
Jobs The data sent to a device. R, W, C, D,
Note: A single process contains a single job. For A, PR, RP
Data Providers1, you must assign the Read,
Create, and Print permissions for Jobs.
Processes Collections of label templates, layouts, devices, and jobs. R, W, C, D,
Note: A single process contains a single job. For A, PR
Data Providers, you must assign the Read and
Print permissions for Processes.
Integrations Connectivity bridges between Spectrum and other applications. R, W, C, D,
An integration enables an administrator to route print requests A, PR
initiated by users in another application through Spectrum to be
processed.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

682 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Object Permissions
Description
(Entity) Available
Data Connections to databases that can be used to retrieve data from R, W, C, D,
Services databases. A, PR, T
Note: To use a data service when designing a
label or to print a label that includes a Database
data source, a user must have a role that provides
Read and Print permissions for Data Services for
the data service.
User Collections of preferences, typically controlling what is initially R, W, C, D,
Profiles displayed to a user on various pages in Spectrum. A
Remote Connections to computers that have access to devices that are R, W, C, D,
Sites not directly accessible by a SpectrumApplicationServer. A
Facility Connections to and configuration for Spectrum installations R, W, C, D,
that are managed by a headquarters. Each facility is associated A
with a Spectrum license for which Usage is set to Facility.
Note: Facilities and other functionality related to
multi-site deployment are available only if your
Spectrum license has the Multi-Site property
enabled. Some options are displayed only if you
are logged on to the headquarters site.

Loftware Spectrum 3.0.1 User Guide 683


Configuring and Administering

Role Permissions

In Spectrum, role-based permissions are specific to the type of object. For example, instead of a
generic Create permission, there is a separate Create permission for each type of object, such as
Create permission for Folders, Create permission for Users, Create permission for Documents,
and Create permission for Data Services. Users assigned particular role may be granted Create
permission for Documents, but denied Create permission for Integrations.
Important: Access in Spectrum requires both role-based permissions1 and object access
permissions2. For a user to be able to perform an action on an object, the user
must directly or indirectly be assigned a role that grants permission to perform that
action on that type of object. Additionally, that particular object must either be in a
folder that directly or indirectly grants the user access permission to perform that
action on that type of object or else that particular object must directly or
indirectly grant permission to the user to perform that action. There are several
permissions that are only role-based or only object-based and do not require a
corresponding permission. Examples include List permission for Folders and all
permissions for ModelStatus (AutoRefresh), Tag Categories, and Devices.
The following roles are installed with LoftwareSpectrum. You can create additional roles or
make changes to the built-in roles.
Built-in Roles
Role Description
Document Designer This role is granted the permissions needed to create labels and
layouts and import images. Permissions include Read for everything
except Groups, Roles, and Tag Categories; Create for Documents,
Folders, and Jobs; Write and Delete for Documents and Folders; and
Print and Design Print permissions for Documents, Data Services,
Device Groups, Jobs, and Processes; and Print permission for JVM
Processes.

1Permissions in Spectrum that are assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned. A user must have both a role-based permission and the corresponding
object access permission to perform an action on an object.
2Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

684 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Role Description
Document Printer
This role is granted the permissions needed to act as a Data
Provider 1 so that the user can read and print labels and other
documents. Permissions include Read for everything except Groups,
Roles, and Tag Categories; Create permission for Jobs; and Print
permission for Documents, Data Services, Jobs, Device Groups, and
Processes.
Integration This role or equivalent permissions are required by any user account
that is selected as the Run As user for an integration. Such accounts
are typically not interactive. Permissions include Create for Jobs and
Read for Data Services, Device Groups, Documents, Folders,
Integrations, ModelStatus (AutoRefresh), and Users. Also, Print
permission for Data Services, Documents, Device Groups,
Integrations, Jobs, and Processes.
Local Admin This role is granted all permissions except for those needed for role
administration, for reprinting, and for deleting servers and server
processes in a distributed services environment. The LocalAdmin
role includes the permissions necessary to act as a Data Service
Administrator 2.
JVM_ This role or its equivalent is required by the jvmAdmin user for
MANAGEMENT internal product management. You do not need to assign it to any
users.
MULTISITE_ This role or its equivalent is required by the MultiSiteAdmin user for
MANAGEMENT internal product management of multi-site deployments of Spectrum.
You do not need to assign it to any users.
ROLE_ This role is granted only the permissions needed to create, modify,
ADMINISTRATOR and delete other roles. It cannot be altered, and its permissions are
not displayed. You can assign this role to a user who already has the
Local Admin role to enable that user to modify roles and configure
the Do not allow Local Administrator to assign this role to other
users check box on the Permissions tab for a role.
Note: Only the SuperAdmin user can remove this role
from a user.
The following permissions exist in Spectrum, but not all of these permissions are available for all
types of objects.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
2A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.

Loftware Spectrum 3.0.1 User Guide 685


Configuring and Administering

Permissions
Permission Code Description
Read R The permission to see an object.
Note: When configuring a user, it is recommended that
you grant Read permission for Users to all users so that
the user name of the user can be displayed to other users
where appropriate in Spectrum.
Write W The permission to save changes to an object.
Tip: Document Designers who import label templates,
forms, layouts, reusable objects, or applications should
have Create permission for Documents and Write
permission for Documents. Create permission is required
for importing into a folder where an object of the same
name does not exist. Write permission is required for
importing into a folder where an object of the same name
already exists.
Create C The permission to add an object.
Tip: Document Designers who import label templates,
forms, layouts, reusable objects, or applications should
have Create permission for Documents and Write
permission for Documents. Create permission is required
for importing into a folder where an object of the same
name does not exist. Write permission is required for
importing into a folder where an object of the same name
already exists.
Delete D The permission to remove an object.

686 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Permission Code Description


Admin A The permission to manage the Access Control List of an object.
Having this permission allows you to view and use the Access tab for
the object. For roles, this permission allows you to grant permissions.
Note: To take control of a version-controlled object that
is checked out by another user so that you can make
changes or check it in, Admin and Read permissions for
Documents are required.

Note: To assign a role to a user and to manage page


access, Admin and Read permissions for Roles are
required. By default, a user with the Local Admin role has
only Read privilege for Roles. However, if the Do not
allow Local Administrator to assign this role to other
users check box is cleared on the Permissions tab for
the role, then users with Local Admin receive both
Admin and Read privileges for the role. This check box
can only be configured by a user who has the ROLE_
ADMINISTRATOR role or is the SuperAdmin user.
Print PR The permission to print using object such as a label template or print
to a device. If version control is used, this permission allows you to
print the latest published version1 of a label.
Note: To create a print job, Read and Create permissions
for Jobs are also required.

Note: To use Print Preview, a user should have a role


with Print permission for Documents, have Print
permission for Documents for folders containing label
templates and images to be previewed, and have Allow
Print Preview selected in User Preferences.
Design T The permission to print sample labels from Design using the current
Print label template and device connection displayed in Design. If version
control is used, this permission allows you to print any published
version2 of a label. To print a minor version of a label, Write
permission for Documents is also required.

1When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.
2When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.

Loftware Spectrum 3.0.1 User Guide 687


Configuring and Administering

Permission Code Description


Publish PB The permission to promote a version-controlled object to the next
major version and reset the minor version to zero, creating a
published version1. This permission also allows you to undo
publication, removing the most recently published version if no minor
version was published afterward.
Note: Publish permission for Documents is available
only for a folder or a version-controlled object.
Reprint RP The permission to reprint an object such as a label template or job, or
to reprint to a device. If version control is used, this permission allows
you to reprint any published version2 or minor version of a label.
Queue Q The permission to see and change a device queue. Available only for
device groups.
Permissions can be configured for the following types of objects to define a role.
Types of Objects (Entities)
Object Permissions
Description
(Entity) Available
Data Services Connections to databases that can be used to retrieve data R, W, C, D,
from databases. A, PR, T
Note: To use a data service when designing a
label or to print a label that includes a Database
data source, a user must have a role that
provides Read and Print permissions for Data
Services for the data service.

1When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.
2When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.

688 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Object Permissions
Description
(Entity) Available
Documents Objects such as label templates, forms, layouts, images, R, W, C, D,
reusable objects, applications, business rules, and workflow A, PR, T,
templates. PB, RP
Note: Publish permission for Documents is
available only for a folder or a version-
controlled object.

Note: Assigning a tag to a label template, form,


layout, image, reusable object, application,
business rule, or workflow template requires
Documents permissions, but does not require
Tag Categories permissions.

Tip: Document Designers who import label


templates, forms, layouts, reusable objects, or
applications should have Create permission for
Documents and Write permission for
Documents. Create permission is required for
importing into a folder where an object of the
same name does not exist. Write permission is
required for importing into a folder where an
object of the same name already exists.
Folders Containers used to organize objects. R, W, C, D,
A
Groups Collections of users. R, W, C, D,
A
Integrations Connectivity bridges between Spectrum and other R, W, C, D,
applications. An integration enables an administrator to route A, PR
print requests initiated by users in another application
through Spectrum to be processed.
Jobs The data sent to a device. R, W, C, D,
Note: A single process contains a single job. A, PR, RP
When defining a role for a Data Provider 1,
you must assign the Read, Create, and Print
permissions for Jobs.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 689


Configuring and Administering

Object Permissions
Description
(Entity) Available
JVM Processes The server processes associated with a R, W, D, A,
SpectrumApplicationServer in a Spectrum environment PR
configured to use distributed services. A server can contain
a server process. Each server process inherits the
permissions of the server that is its parent.
ModelStatus Real-time updates to objects in Spectrum so that if multiple R, A
(AutoRefresh) users are logged on and one user makes a change to an
object, that change is visible to all users. Otherwise, changes
would not be visible to other users until the next time each
user logs into Spectrum or performs an action such as
clicking a Refresh button or re-opening a label.
Important: In most situations, you should
assign Read permission for ModelStatus
(AutoRefresh) to all users as a role-based
permission. Unlike most permissions, there are
no object access permissions for ModelStatus
(AutoRefresh).
Devices Physical devices used to print labels. R, W, C, D,
Note: It is recommended that you configure A, PR, T, RP
permissions for device groups, but do not
configure permissions for devices. Each device
inherits the permissions of the device group
that is its parent. You configure permissions
for devices at the device group level on the
Device Group Access tab or by configuring
Device Groups permissions at the folder level
on the Folder Access tab, and at the role level
on the Permissions tab. You cannot separately
configure the permissions for an individual
device, but you can separately configure the
permissions for its device group.
Device Collections of connections to one or more physical devices. R, W, C, D,
Groups Note: A device group can contain only one A, PR, T,
device connection. RP, Q

690 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Object Permissions
Description
(Entity) Available
Processes Collections of label templates, layouts, devices, and jobs. R, W, C, D,
Note: A single process contains a single job. A, PR, T
When defining a role for a Data Provider 1,
you must assign the Read and Print
permissions for Processes.
Remote Sites Connections to computers that have access to devices that R, W, C, D,
are not directly accessible by a SpectrumApplicationServer. A
Facility Connections to and configuration for Spectrum installations R, W, C, D,
that are managed by a headquarters. Each facility is A
associated with a Spectrum license for which Usage is set
to Facility.
Note: Facilities and other functionality related
to multi-site deployment are available only if
your Spectrum license has the Multi-Site
property enabled. Some options are displayed
only if you are logged on to the headquarters
site.
Roles Collections of permissions that can be associated with users R, W, C, D,
or groups. A
Servers A SpectrumApplicationServer in a Spectrum environment R, W, C, D,
configured to use distributed services. A server contains a A, PR
server process, also called a JVM process.
Tag Categories Tag category names and the list of values associated with R, W, C, D
each name.
Important! Tag Categories permissions are
required for managing tag categories in System
Management. Assigning a tag to an object
requires permissions for that object, but does
not require Tag Categories permissions.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 691


Configuring and Administering

Object Permissions
Description
(Entity) Available
Users People accessing the Spectrum environment. R, W, C, D,
Note: When configuring a user, it is A
recommended that you grant Read permission
for Users to all users so that the user name of
the user can be displayed to other users where
appropriate in Spectrum.
User Profiles Collections of preferences, typically controlling what is R, W, C, D,
initially displayed to a user on various pages in Spectrum. A

692 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

User Info

The following information is used to describe a LoftwareSpectrum user and is displayed on


the User Info tab when a specific user is selected.
Allowed Val-
Property Description Notes
ues
User Name The unique ID of the user. The user See The maximum
enters his or her user name in the Login Description. length for a user
window. name is 50
Note: A User Name can characters.
include letters and
numbers. Additionally, the
following characters are
permitted but cannot begin
or end the name: hyphens,
underscores, and periods.

Note: You cannot change


the user name of the
SuperAdmin user.
Description A summary of the user. Text
First Name The first name of the user. Alphanumeric
characters
Last Name The last name of the user. Alphanumeric
characters
Email The address to which notifications are Text
Address sent to the user.
Active Whether the user has access to Yes/No
LoftwareSpectrum though a role.
Tip: During the initial
configuration of user
accounts, you can clear this
check box to prevent the
users from logging on
before their accounts are
ready.

Loftware Spectrum 3.0.1 User Guide 693


Configuring and Administering

Allowed Val-
Property Description Notes
ues
Local Whether the user account is internal to Yes/No
Account LoftwareSpectrum or a domain
account. If selected, the user account is
not a domain account.
Domain The name of the network domain on Text This option is
which a user is verified. available only if
Local Account
is cleared.
Must Whether the user must create a new Yes/No This option is
Change password the next time he or she logs in. available only if
Password Local Account
is selected.
Password Enter an initial password for the user. Alphanumeric The password
characters cannot begin or
Spaces end with a
The space, hyphen,
characters ( ) [ period, or
] & + - _ ~ , ; underscore.
. This option is
only available
during user
account creation
and only if
Local Account
is selected.

694 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Allowed Val-
Property Description Notes
ues
Change Enter a new password for user and Alphanumeric The password
Password specify whether the user is required to characters cannot begin or
change the password the next time he or Spaces end with a
she logs in. The space, hyphen,
characters ( ) [ period, or
] & + - _ ~ , ; underscore.
. The Change
Password
button is
available only
after the
account is
created and only
if Local
Account is
selected.
Apply Whether to apply a user profile and, if so, Default
Profile which user profile. User profiles allow No Profile
you to customize what is initially <Custom
displayed to the user, which device is the Profile>
default, and default characteristics of
new labels. Profiles can be configured in
User Preferences.
Note: Only one profile can
be applied to a user at a
time.

Tip: You can apply a


profile to a group and allow
users who are members of
that group and have no
assigned profile to inherit
the profile. However, a
user can only inherit a
profile if that user's profile
is set to No Profile.

Loftware Spectrum 3.0.1 User Guide 695


Configuring and Administering

Allowed Val-
Property Description Notes
ues
Created and Lists the date the user was created or User names These
Modified modified and the user who created or and dates properties are
modified the user. displayed only
after the user
has been
created.

696 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Group Info

The following information is used to describe a LoftwareSpectrum group and is displayed on


the Group Info tab when a group is selected.
Allowed
Property Description Notes
Values
Group The unique ID of the group. You can associate See The
Name users with a group, and associate groups with a Description. maximum
role. length for
Note: The following characters are a group
permitted in the name: letters, name is
numbers, parentheses, square 50
brackets, ampersands, asterisks, characters.
plus signs, equal signs, commas,
semi-colons, and tildes.
Additionally, the following
characters are permitted but cannot
begin or end the name: spaces,
double quotes, single quotes,
hyphens, underscores, periods, and
grave accents. Names are limited to
255 characters.
Description The purpose of the group and information about Text
how to determine whether a user should be a
member of the group.
Default The user profile associated with the group. User Default
Profile profiles allow you to customize what is initially <Custom
displayed to users, which device is the default, Profile>
and default characteristics of new labels. Profiles
can be configured in User Preferences.
Note: Only one profile can be
applied to a user at a time.

Tip: You can apply a profile to a


group and allow users who are
members of that group and have no
assigned profile to inherit the
profile. However, a user can only
inherit a profile if that user's profile
is set to No Profile.

Loftware Spectrum 3.0.1 User Guide 697


Configuring and Administering

Allowed
Property Description Notes
Values
Created and Lists the date the group was created or modified User names These
Modified and the user who created or modified the group. and dates properties
are
displayed
only after
the group
has been
created.

698 Loftware Spectrum 3.0.1 User Guide


Controlling Access in Spectrum

Version Info

The following information and commands are available on the Version Info tab. The Version
Info tab is displayed only when an object that can be version controlled is in a folder for which
Version Control is On.
Version control is available for label templates, forms, layouts, images, reusable objects,
applications, business rules, processes, and workflows.
Status and Filter Properties

Property Description Values Notes


Document The name of the object.
Status Whether the object is checked in or checked Checked In
out. Checked
Out
Filter Restrict the versions displayed in the version All Versions Displayed only
table to include either all versions, only Published after the item
published versions, or only versions with a MajorVersion has been
particular major version number. .x Versions published at
Note: Published versions are least once.
versions with a minor version
number of zero. Images have only
published versions.

Version Table

Property Description
Version The version number of this version of the object.
Update For a checked-in object, the Version Control Comment entered by the
Description user who checked in this version of it.
For a checked-out object, the message "Checked Out to <UserName>."
Modified By The user name of the user who saved this version of the object.
Modification For a checked-in object, date and time when it was checked in.
Date For a checked-out object, date and time when it was checked out.
Tags Pane

The tags assigned to the selected version of the object. Each tag is listed using a format of
Category [Value]. For more about using tags, see "Categorize a Label Template or Other Object"
on page 105.
Right-Click Menu

Loftware Spectrum 3.0.1 User Guide 699


Configuring and Administering

These commands are displayed when you right-click the current version in the version table and
are applied to the selected version. This menu is not available for images.
Command Description Notes
Check In Save the current version of the Available only if the object is checked out
object and make the object and only to the user who checked it out or
available for publication or for to a user who has taken control of it.
others to check out.
Check Out Create a new, editable version of Available only if the object is checked in.
the object, increment the minor
version number, and prevent
others from changing the object
until it is checked in.
Undo Undo any changes made since the Available only if the object is checked
Check Out object was most recently checked out. If you are not the user who checked
out, and then check it in. it out, you must Take Control before you
can undo the check out.
Publish For promotion to production, Available only to users with Publish(PB)
create a new version of the object, permission for Documents. This
incrementing the major version command does not copy the object to a
number and setting the minor production folder.
version number to zero.
Undo Delete the published version (a Available only to users with Publish(PB)
Publish version for which the minor permission for Documents and only if the
version is zero) with the highest current version of the object is a
version number. published version.
Take If the user who checked out an Available only to users with Admin (A)
Control object is unavailable to check it in, permission for Documents. Any changes
change it to checked out to you saved by the user who checked out the
instead. object are retained. Changes that were not
saved are discarded.
Button Commands

Regardless of the version selected, these commands are applied to the entire object.
Command Description Notes
Delete Delete the object, including all versions. If you are using Available only
Document separate instances for development and production, the other if an object is
instance is not affected. selected.
Delete Delete the image, including all versions. If you are using Available only
Image separate instances for development and production, the other if an image is
instance is not affected. selected.

700 Loftware Spectrum 3.0.1 User Guide


Managing a Version-Controlled Environment

Managing a Version-Controlled Environment


In LoftwareSpectrum, you can use version control1 to retain multiple versions of a label
template, form, layout, image, reusable object, application, business rule, or process and to roll
back to a previous version if necessary. In a multi-user environment, you can use version control
to help ensure that users do not accidentally overwrite each other's work.
Commands related to version control are available in Access Control, Design, and Process
Design. Additionally, users with the necessary permissions can enter a specific version to print
in Print.
Implementing version control
Version control is managed at the folder level and applies to every object in the folder.
Version control can be enabled or disabled only during the creation of a folder. After you
have saved a new folder, you can no longer change the version control setting for it. For
more information, see " Turn on Version Control" on page 704.

Note: If you save a copy of a version-controlled object into a different folder,


the version control history and the Default Permissions are not propagated to
the new instance.
Separating development and production areas
You can maintain separate folders in Spectrum for label templates that are under development
and label templates that have been published to production, or for any situation in which
label templates are edited in one folder and then moved to another. For example, this
approach allows you to create a Development folder accessible to users with the Document
Designer 2 role and a Production folder for released label templates that they cannot modify.
Administrators copy label templates from the Development folder and publish them to the
production folder.
Important! If label templates are typically copied from one folder to another, it
is recommended that layouts and label templates be saved in separate folders to
prevent confusion. If associated layouts and label templates are mingled in the
same folder, when you copy all items in the folder to a second folder, label
templates in the second folder are still associated with the layouts in the original
folder.

1The ability to maintain distinct versions of a label template or other item. An item is checked out to be modified, and checked in to
save a new version. After a version is checked in, that version cannot be changed.
2Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

Loftware Spectrum 3.0.1 User Guide 701


Configuring and Administering

Note: By default, users who have only the Document Designer 1 role do not
have Publish permission for Documents and must request that a Local Admin2
publish label templates to the production area.
Granting the permissions needed to support version control
By default, the Local Admin3 role is granted all role-based permissions related to version
control and is the only role that is granted Publish permission for Documents. The
Document Designer 4 role is granted the permissions needed to create, save, check in,
check out, and undo check out, as well as the permissions necessary to view and print
current and previous published versions and minor versions. The Document Printer 5 role
(intended for a Data Provider 6) is granted the permissions needed to print the most recently
published version. For more information, see "Version-Control Actions and Permissions" on
page 710.
Recognizing version-controlled items

Version-controlled folders are identified in console trees where they appear by the icon .
In a console tree, if a label template is checked out, it is identified by the icon . If
checked in, it is identified by the icon .
In Access Control, any version-controlled objectincludes a VersionInfo tab. For any
folder, the Folder Info tab displays the Version Control status of the folder.
Understanding version numbers
A major.minor numbering scheme is used to differentiate between published versions (major
versions) and minor versions of an object. Images have only published versions. Layouts
must be published before they are available for attachment to a label template.
The first time that an object is checked out, the Version is 0.1. The minor version is
incremented each time that a user checks out the object. Merely saving a version-controlled
object does not change its version.
When an object is published, its major version number is incremented and its minor version
number is set to zero. For example, if you have a label template with a version of 1.3,
publishing that label template creates a version 2.0.
Printing and version control
By default, the latest available version of a version-controlled object is selected when a user

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2A Spectrum role with all permissions except those needed for role administration.
3A Spectrum role with all permissions except those needed for role administration.
4Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
5Person or process that acts as a Data Provider, entering data into a form or other data entry view for a document that was
configured by a Document Designer. Also a default role in Spectrum.
6Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

702 Loftware Spectrum 3.0.1 User Guide


Managing a Version-Controlled Environment

prints an object. However, the versions available for the user to print can be limited by the
user's permissions. If the user has Design Print permissions for Documents and for Device
Groups and Write permission for Documents (both as role-based permissions and object
access permissions), then the user can print any published version1 or minor version except
a version that is checked out to another user. Otherwise, the user can print only the latest
published version.
A Data Provider 2 typically has only the permissions necessary to view and print published
versions. For a Data Provider, the latest version is the latest published version.
If you are maintaining separate development and production areas, you can ensure that minor
versions of objects in the production folder are not printed by denying Design Print
permissions to the production folder.
Checking in a version
A checked-in version cannot be altered. The most recently published version3 can be rolled
back and deleted if no minor version has been checked in after that published version. If the
most recently published version is immediately preceded by other published versions, they
can also be rolled back and deleted. Other than those exceptions, although an entire object
can be deleted, individual versions of it cannot be deleted separately.
Checking out before making changes
As an administrator, before you can change the name or description of a version-controlled
object, you must check it out. Afterward, you must check in the object so that other users
can make changes to it.
Before a user begins making changes to a version-controlled object, the user should check it
out so that he or she will be able to save and check in changes when finished. Checking out
an object also prevents other users from making changes to it at the same time. If a user does
not check out a version-controlled object before changing it, that user must save his or her
changes to a new object to retain them. Otherwise, the changes will be discarded when the
object is checked out.
Note: Each version of an object can have different tags applied.

1When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
3When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.

Loftware Spectrum 3.0.1 User Guide 703


Configuring and Administering

Turn on Version Control


Version control is managed at the folder level and applies to every label template, form, layout,
image, reusable object, application, business rule, or process in the folder. Version control can
be enabled or disabled only during the creation of a folder. After you have saved a new folder,
you can no longer change the version control setting for it.
l To create a folder in which all objects that can be version controlled will be version
controlled, set Version Control to On when you create the folder. For more
information, see "Create a Folder" on page 583.
l To create a version-controlled object, create and save the object into a version-controlled
folder. For more information, see "Create a Label Template" on page 92 or "Import a
New Image" on page 97.

704 Loftware Spectrum 3.0.1 User Guide


Managing a Version-Controlled Environment

Force a Check In
If you have Admin and Write permissions for Documents, you can take control of a version-
controlled object that someone else has checked out and check it in.
1. Click Access Control, and select the object in the Access Control tree.
2. Click the Version Info tab. In the version table, the Update Description of the latest
version contains an automated message indicating who checked out this version.
3. Right-click the most recent version and then click Take Control. The object is now
checked out to you, and the user name in the Update Description message changes to
your user name. (The user name listed in Modified By still lists the user who most
recently made changes to the object.)
4. Determine whether you want to retain changes that the previous user saved but did not
check in.
n To retain any changes that the previous user saved but did not check in, right-
click the most recent version again and click Check In.
n To discard any changes that the previous user did not check in, right-click the
most recent version again and click Undo Check Out.
5. In the Version Control Comment dialog box, enter a description of this version so that
you or another administrator can identify it if it should become necessary to roll back to
this version later, and then click OK.
The object is checked in, and the version table lists you as the user who modified this version.

Loftware Spectrum 3.0.1 User Guide 705


Configuring and Administering

Roll Back to a Previous Version


If there are problems with an object that is in a version-controlled folder, you can roll back to a
previous version.
If you use separate folders in Spectrum for development and production and a problem is
discovered in an object that has already been copied and published to production, several
approaches are available.
n If the most recently checked-in version is a published version, you can roll back the
published version in the production area to a previous version. This approach can also be
used for an object.
n If a corrected version is available in your development area, you can publish the corrected
version.
n If the most recently checked-in version is not a published version and a corrected version
is not immediately available, you can roll back to a specific version in your production
area. Alternatively, you can roll back to a specific version in your development area and
then publish to production.

706 Loftware Spectrum 3.0.1 User Guide


Managing a Version-Controlled Environment

Roll Back a Recently Published Version

If you need to roll back a published version1 of an object and if no minor versions were
checked in after the published version, use the following procedure. To avoid disruption, this
approach should only be used if no print jobs using the most recent version are active.
Note: This procedure deletes the version that it rolls back.
1. Click Access Control, and select the object in the Access Control tree.
2. Click the Version Info tab.
3. In the version table, right-click the most recent version and then click Undo Publish.
The most recently published version is deleted from the history and the version number
is rolled back to the previous version.
Note: In most cases, the most recent remaining version after you roll back is not a
published version. Because a user with only the Data Provider 2 role does not
have Design Print and Write permissions for Documents, any Data Provider who
attempts to print the label will print the latest published version, disregarding
unpublished versions with later version numbers.

1When version control is used, a version for which the minor version number is zero. Users with some permissions can print only the
latest published version.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 707


Configuring and Administering

Roll Back to a Specific Version

If you maintain separate development and production areas, you may never need to roll back to a
specific version in your production area. However, if you want to roll back to any previous
version of an object without deleting any versions, you can use the following procedure. You
must first use Access Control to identify the last good version, and then use Design to check
in a previous version. You can only use this procedure for a label template, form, layout,
reusable object, or application.
Identify the Last Good Version

If you are not sure to which version you need to roll back, you must review information about
previous versions so that you can identify the last good version.
To review information about previous versions, use the following procedure.
1. Click Access Control, and select the label in the Access Control tree.
2. Click the Version Info tab, and review the information about each version.
3. If you require additional information about an object to confirm which is the last good
version, note which version numbers you want to review.
a. Click Design or Process Design.
b. Click File > Open or , select an object, select the Version Number that
you want to review, and then click OK.
c. When you are finished reviewing the object, click File > Close or click .
Note: You cannot have more than one version of an object open in
at the same time.
d. Repeat for any other versions that you want to review.
e. Click Access Control. The Version Info tab for the object that you selected is
displayed.
4. Note the version number of the version to which you want to roll back.
Check in a Previous Version

To check in a previous version of an object so that it becomes the current version, use the
following procedure.
Note: This procedure does not delete any version of the label.
1. Click Design or Process Design.
2. Click File > Open or , select the object, and click OK to select the latest version of
the object.
a. Click File > Check Out.
b. Click File > Close or .

708 Loftware Spectrum 3.0.1 User Guide


Managing a Version-Controlled Environment

3. Click File > Open or , select the object, enter the Version Number of the version
to which you want to roll back, and then click OK.
4. Click File > Save As, navigate to the location of the object that you checked out, select
the object, and then click OK.
Important: Although the object name is populated in the Name field, you
must navigate to the location of the existing object. Otherwise, you will
create a new object in the root folder.
5. In the Replace Document dialog box, click OK. The version number displayed is
changed to the latest minor version number, which was created when you checked out
the object.
6. Click File > Check In.
7. In the Version Control Comment dialog box, enter a description of this version so that
you or another administrator can identify it, and then click OK.

Loftware Spectrum 3.0.1 User Guide 709


Configuring and Administering

Version-Control Actions and Permissions


The following table lists the permissions required to perform actions on a version-controlled
object and the built-in roles that have those permissions by default. You can customize the
built-in roles to meet the needs of your organization or, for example, create a Publisher add-on
role that includes only the Publish permission for Documents and can be assigned to select users
who also have the Document Designer role.

710 Loftware Spectrum 3.0.1 User Guide


Managing a Version-Controlled Environment

Version-Controlled Document Commands

The following commands and permissions are useful when interacting with version controlled
label templates, forms, images, reusable objects, layouts, and business rules.
Built-In
Roles
Command or Action Permissions Required
with the Per-
missions
Save the first time Create permission for Local Admin
Documents Document
Designer
Save after the first time Write permission for Local Admin
Documents Document
Designer
Save As Create permission for Local Admin
Documents Document
Write permission for Designer
Documents
Export an object Read permission for Local Admin
Documents Document
Designer
Import if an object of the same name does not Create permission for Local Admin
already exist in the folder Documents Document
Designer
Import if an object of the same name already Write permission for Local Admin
exists in the folder Documents Document
Designer
Check In Write permission for Local Admin
Documents Document
Designer
Check Out Write permission for Local Admin
Documents Document
Designer
Undo Check Out Write permission for Local Admin
Documents Document
Designer

Loftware Spectrum 3.0.1 User Guide 711


Configuring and Administering

Built-In
Roles
Command or Action Permissions Required
with the Per-
missions
Publish Publish permission for Local Admin
Documents
Write permission for
Documents
Undo Publish Publish permission for Local Admin
Documents
Take Control Write permission for Local Admin
Documents
Admin permission for
Documents
Print the latest published version Print permission for Local Admin
Documents Document
Print permission for Device Designer
Groups Document
Printer
Print any version Design Print permission for Local Admin
Documents Document
Write permission for Designer
Documents
Design Print permission for
Device Groups
Print permission for Device
Groups

712 Loftware Spectrum 3.0.1 User Guide


Managing a Version-Controlled Environment

Version-Controlled Process Commands

The following commands and permissions are useful when interacting with version controlled
processes.
Built-In Roles
Command or Action Permissions Required with the Per-
missions
Save the first time Create permission for Processes Local Admin
Save after the first time Write permission for Processes Local Admin
Save As Create permission for Processes Local Admin
Write permission for Processes
Check In Write permission for Processes Local Admin
Check Out Write permission for Processes Local Admin
Undo Check Out Write permission for Processes Local Admin
Publish Publish permission for Processes Local Admin
Write permission for Processes
Undo Publish Publish permission for Processes Local Admin
Take Control Write permission for Processes Local Admin
Admin permission for Processes
Print the latest published Print permission for Processes Local Admin
version Print permission for Device Document Designer
Groups Document Printer

Loftware Spectrum 3.0.1 User Guide 713


Configuring and Administering

Terminate an Active Workflow


A document may become stuck in a non version-controlled workflow, preventing the workflow
from being modified. Only the SuperAdmin user has the permissions necessary to remove
documents from an active workflow.
1. Log in as SuperAdmin.
2. Open the Workflow Template in Access Control, and select the Workflow Template
Info tab.
3. Click Terminate Active Workflows. The Terminate Active Workflows dialog appears.
4. Click OK.
Any documents that were in progress in this workflow are removed from the workflow.

714 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Performing System Management


In LoftwareSpectrum, you can configure options for high availability using distributed
services, multi-site deployment, authentication, font management, tag management, and other
system-wide settings. If you have installed multiple SpectrumApplicationServers to support
distributed services, you can configure load balancing, high availability, and failover of services
among the application servers. Viewing and configuring options on the System Management
page requires administrator permissions.

Loftware Spectrum 3.0.1 User Guide 715


Configuring and Administering

High Availability with Distributed Services


In a Spectrum environment with distributed services, one SpectrumApplicationServer has been
used to create additional SpectrumApplicationServers. All of these
SpectrumApplicationServers are configured to interact as peers within the Spectrum
environment, all accessing the same Spectrum database.
In such an environment, you must use distributed services to manage which server or servers are
providing Spectrum functionality at any time. In Spectrum, you can configure distributed
services for load balancing, for failover, or for high availability (load balancing with failover). It is
recommended that you configure for high availability of distributed services in Spectrum. This
approach involves configuring Spectrum to load balance those services that support load
balancing so that they are run concurrently on multiple SpectrumApplicationServers. Services
that do not support load balancing should be configured to fail over among
SpectrumApplicationServers so that if one or more servers go offline, a standby server or
servers begin running the associated services to minimize any interruption for users.

Tip: For assistance with optimizing your Spectrum environment, contact


Loftware's Professional Services Group (PSG).
You can manage services in relation to each SpectrumApplicationServer in the Service
Management pane in System Management.
Note: The Service Management pane is primarily relevant if your Spectrum
environment includes two or more SpectrumApplicationServers installed as a
distributed environment. For information about how to create a distributed
Spectrum environment, see the LoftwareSpectrum Installation and Configuration Guide.
Distributed services include core services necessary to support essential Spectrum functionality.
Additionally, device connections, data services, and integrations also function as services if your
Spectrum environment is configured to support distributed services. Each service can be
managed in relation to each SpectrumApplicationServer.
l Core Services: These built-in services are displayed only in a distributed Spectrum
environment. Most of these services must be able to connect to the Spectrum database to
function. Unlike other types of services, you cannot create or delete them. Most core
services support load balancing, and all support failover.
l Device Group Services: In addition to acting as a device, each device connection also
acts as a service in Spectrum that can be managed at the device group level. A new device
group is created whenever an administrator creates a device connection in Device
Management. Device group services do not support load balancing, but do support
failover.
l Data Services: A new data service is created whenever an administrator creates a data
service in Data Services. Data services support load balancing and failover.

716 Loftware Spectrum 3.0.1 User Guide


Performing System Management

l Integration Services: A new integration service is created whenever an administrator


creates an integration in Integration Management. Integration services do not support
load balancing, but do support failover.
Important! In a Spectrum environment with distributed services, whenever you
add a new device, data service, or integration, you must ensure that the service is
activated and started on at least one SpectrumApplicationServer to make it
available.

Important! In an environment with distributed services, to permit a user to


perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.
For details about each type of service, see "Types of Services" on page 718.

Loftware Spectrum 3.0.1 User Guide 717


Configuring and Administering

Types of Services

In a Spectrum environment in which multiple SpectrumApplicationServers are configured to


support distributed services, the following types of services exist.
Important! In an environment with distributed services, to permit a user to
perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.
Core Services
Core services support essential Spectrum functionality. The following are core services of
Loftware Spectrum. They are displayed in the Service Management pane in System
Management but outside of the tree that contains data services, integrations, and device
connections. All of the core services require a connection to the Spectrum database to
function.
Note: All core services support failover. The following table indicates which
services also support load balancing.

Note: Facilities and other functionality related to multi-site deployment are


available only if your Spectrum license has the Multi-Site property enabled.
Some options are displayed only if you are logged on to the headquarters site.

Load
Service
Description Balancing
Name
Supported
Device This service allows you to install new device drivers in Yes
Driver Spectrum.
Service
Device This service provides support for devices, device Yes
Management connections, and integration services. This service is
Service necessary for device management, device configuration,
device discovery, and integration management.
Document This service supports the creation and management of label Yes
Management templates, forms, layouts, images, reusable objects,
Service applications, business rules, and workflow templates, as well
as data services, processes, and device connections.

718 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Load
Service
Description Balancing
Name
Supported
Entity Sync This service synchronizes objects between the headquarters Yes
Service and facilities in a multi-site deployment of Spectrum. Objects
are synchronized only if they are configured for
synchronization.
Important! This service should be started on all
SpectrumApplicationServers that are part of a
multi-site deployment.
Font This service ensures that the fonts are updated on each Yes
Management SpectrumApplicationServer. For information about managing (required)
Service fonts, see "Managing Fonts" on page 758.
Important! The Font Management Service
should be activated and started on all
SpectrumApplicationServers to ensure
consistent fonts.
Job This service processes all incoming print requests and print Yes
Management actions within Spectrum. It works with the individual devices
Service to ensure proper job processing to completion.
Multi-Site This service supports multi-site deployment of Spectrum. Yes
Management Important! This service should be started on all
Service SpectrumApplicationServers that are part of a
multi-site deployment.
Notification This service supports messaging within Spectrum. This Yes
Management service is necessary for messaging related to ModelStatus
Service (AutoRefresh), job status, and notification.
Remote Site This service supports the creation and management of Yes
Service Remote Site objects.
System This service provides resource loading, application server No
Management management, access control, license management, and access
Service for the client computer to the core system language and font
resources. This service is running on all
SpectrumApplicationServers and cannot be de-activated.
System This service provides essential monitoring services that due No
Monitor to their nature can only run on a single
Service SpectrumApplicationServer in a distributed services
environment at any given time.

Loftware Spectrum 3.0.1 User Guide 719


Configuring and Administering

Load
Service
Description Balancing
Name
Supported
Transaction This service synchronizes transactions between the Yes
Sync headquarters and facilities in a multi-site deployment of
Service Spectrum.
Important! This service should be started on all
SpectrumApplicationServers that are part of a
multi-site deployment.
Web Service This service provides a SOAP Web Service end point for Yes
client computers to access printing functionality. This service
supports Web Services integrations, not SOAP Web Service
data services.
Workflow This service supports the creation and management of Yes
Management workflows.
Service
Other Services
Other types of services, such as data services, device group services, and integration services,
are displayed within the tree in the Service Management pane in System Management.
For ease of management, each service is also displayed in Data Services, Device
Management, or Integration Management as appropriate. Each data service, device
connection, or integration includes a Service Management pane with the same options that
can be found in System Management.
Important! In a Spectrum environment with distributed services, whenever
you add a new device, data service, or integration, you must ensure that the
service is activated and started on at least one SpectrumApplicationServer to
make it available.

Note: All services support failover. The following table indicates which
services also support load balancing.

720 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Load
Type of Service Description Balancing
Supported
Data Service This is a data service. When a data service is added to a Yes
distributed services environment, it becomes available
to all SpectrumApplicationServers. You do not need
to start it on all servers to make it accessible to all
servers.
Data services do not necessarily need to connect to the
Spectrum database.
For information about managing data services in Data
Services, see " Managing Data Services" on page 979.
Device This is a device service, which can be managed at the No
GroupService device group level. When a device connection is added
to a distributed services environment, it becomes
available to all SpectrumApplicationServers. You do
not need to start it on all servers to make it accessible
to all servers.
Important! When you add a new device
connection to the Spectrum environment,
you must start the service on at least one
SpectrumApplicationServer for the
device to be available.
Device group services do not need to connect to the
Spectrum database.
For information about managing device connections in Device
Management, see " Managing Devices" on page 794.

Loftware Spectrum 3.0.1 User Guide 721


Configuring and Administering

Load
Type of Service Description Balancing
Supported
IntegrationService This is an integration service. When an integration is No
added to a distributed services environment, it
becomes available to all SpectrumApplicationServers.
You do not need to start it on all servers to make it
accessible to all servers.
Integrations do not need to connect to the Spectrum
database.
Tip: Web Services integrations are
managed by using the core service named
Web Service and are not listed as
integration services in the Service
Management pane.
For information about managing integrations in Integration
Management, see "Integrating with Other
Applications" on page 1042.

722 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Configure for High Availability

In a Spectrum environment using distributed services, you can configure for high availability of
distributed services in Spectrum. To use this approach, you configure Spectrum to load balance
most services so that they are run simultaneously on multiple SpectrumApplicationServers.
You also configure services to be able to fail over among SpectrumApplicationServers so that if
one or more servers go offline, a standby server or servers begin running the associated services
to minimize any interruption for users.
Best Practice
It is recommended that you load balance all services that support load balancing,
and that you load balance these services among all of your
SpectrumApplicationServers. For services that only support failover, you should
have a second SpectrumApplicationServer in Ready state, standing by as a backup
for the first server.
Important! In a Spectrum environment with distributed services, all
SpectrumApplicationServers that are online must be accessible to each client
computer.

Important! The Font Management Service should be activated and started on all
SpectrumApplicationServers to ensure consistent fonts.
Although you can load balance services among all of your servers, depending on your
environment and the capabilities of your servers, you also have the potential to optimize specific
servers for specific tasks. For example, you can configure one or more servers to primarily
support device group services.
To configure for high availability, use the following procedure to configure each service.
Note: Some options may not be available for some services.
1. Click System Management, and expand the Service Management pane if necessary.
Note: The Service Management pane is primarily relevant if your
Spectrum environment includes two or more SpectrumApplicationServers
installed as a distributed environment. For information about how to create
a distributed Spectrum environment, see the LoftwareSpectrum Installation and
Configuration Guide.

Loftware Spectrum 3.0.1 User Guide 723


Configuring and Administering

2. For each service with the Load Balanced Target property, select the number of
SpectrumApplicationServers on which the service should run concurrently.
Best Practice: Load Balancing
Select All so that you load balance the service among all
SpectrumApplicationServers. This approach typically prevents any
noticeable disruption to users if a server goes offline.
Alternative Practice: Failover
If you want to use one or more servers as standby servers in case of the need
to fail over from another server, select a number less than the maximum
available. If a server goes offline, this approach may cause a brief disruption
to users.
3. In the Instance Configurations table, select Activate for each
SpectrumApplicationServer on which the service should have the potential to run,
regardless of whether the service is expected to run on that server under ordinary
circumstances or only if another server fails.
Best Practice
For each service in which the Activate column is displayed, activate the
service on all SpectrumApplicationServers.
4. For each service in which the Load Balanced Target property does not exist or in
which you have configured it to be a value other than All, configure the Priority for each
server. For any server that you are load balancing and any server that should run the
service under ordinary circumstances, set the Priority to 1. For each server that should
act as a standby server and run the service only if another server goes offline, set the
Priority to 2 or greater.
Example: How Priority Affects Failover and Restoration

If you have multiple standby servers, you can use the priority to control
which server acts as the failover target for each service. The order proceeds
from the lowest number to the highest number. That is, if a Priority 1
server fails and servers with Priority 2 and Priority 3 are available, then the
server with Priority 2 will be used if it is running. If the server with
Priority 2 fails, then the server with Priority 3 will be used.
When the server with Priority1 comes back online, the service will
automatically stop running on the Priority3 server and start running on the
Priority1 server. If you do not want the service to automatically switch
servers when a failed server is restored, set the Priority for the service to 1
on all servers.

724 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Configure for Load Balancing

In a Spectrum environment using distributed services, you can configure Spectrum to load
balance data services and most core services among all SpectrumApplicationServers. This
approach typically prevents any noticeable interruption for users if a server goes offline.
Important! In a Spectrum environment with distributed services, all
SpectrumApplicationServers that are online must be accessible to each client
computer.

Tip: To prevent disruptions for users, it is recommended that you configure your
Spectrum environment for high availability (load balancing with failover) rather
than load balancing alone. For more information, see "Configure for High
Availability" on page 723.
Although you can load balance services among all of your servers, depending on your
environment and the capabilities of your servers, you also have the potential to optimize specific
servers for specific tasks. For example, you can configure one or more servers to primarily
support device group services.
To configure a service to be load balanced among all SpectrumApplicationServers, use the
following procedure.
1. Click System Management, and in the Service Management pane click the core
service or data service that you want to manage.
Note: The Service Management pane is primarily relevant if your
Spectrum environment includes two or more SpectrumApplicationServers
installed as a distributed environment. For information about how to create
a distributed Spectrum environment, see the LoftwareSpectrum Installation and
Configuration Guide.
2. If the Load Balanced Target field is displayed, select All to indicate that all
SpectrumApplicationServers in the distributed environment for which the service is
activated should run the service concurrently.
Note: If the Load Balanced Target field is not displayed, then the
service does not support load balancing. For information about configuring
a service for failover instead, see "Configure for Failover" on page 726.
3. In the Instance Configurations table, select Activate for each
SpectrumApplicationServer.
Important! The Font Management Service should be activated and started
on all SpectrumApplicationServers to ensure consistent fonts.

Loftware Spectrum 3.0.1 User Guide 725


Configuring and Administering

Configure for Failover

In a Spectrum environment using distributed services, you can configure for failover of services
from one SpectrumApplicationServer to another. However, if you configure a service to run on
only one SpectrumApplicationServer but to fail over to another if that server goes offline, then
users may experience a noticeable interruption during failover.
Important! In a Spectrum environment with distributed services, all
SpectrumApplicationServers that are online must be accessible to each client
computer.

Tip: To prevent disruptions for users, it is recommended that you configure your
Spectrum environment for high availability (load balancing with failover) rather
than simple failover. For more information, see "Configure for High Availability"
on page 723.
To configure a service to run on one SpectrumApplicationServer and fail over to another
SpectrumApplicationServer if the first one is incapacitated, use the following procedure.
1. Click System Management, and in the Service Management pane click the core
service, device group service, data service, or integration service that you want to
manage.
Note: The Service Management pane is primarily relevant if your
Spectrum environment includes two or more SpectrumApplicationServers
installed as a distributed environment. For information about how to create
a distributed Spectrum environment, see the LoftwareSpectrum Installation and
Configuration Guide.
2. If the Load Balanced Target field is displayed, select a number to indicate how many
SpectrumApplicationServers should run the service concurrently.
Tip: To use one or more servers as standby servers in case of the need to
fail over from another server, select a number less than the maximum
available.
3. In the Instance Configurations table, select Activate for each
SpectrumApplicationServer on which the service should have the potential to run,
regardless of whether the service is expected to run on that server under ordinary
circumstances or only if another server fails.
Important! The Font Management Service should be activated and started
on all SpectrumApplicationServers to ensure consistent fonts.

726 Loftware Spectrum 3.0.1 User Guide


Performing System Management

4. For the Priority for each SpectrumApplicationServer, select the order in which the
service should fail over from one SpectrumApplicationServer to another. The order
proceeds from the lowest number to the highest number.
Tip: To configure one SpectrumApplicationServer to act as a standby
server for another, set the Priority for each service on the standby server to
a greater number than on the server that ordinarily runs the service.
Example: How Priority Affects Failover and Restoration

If you have multiple standby servers, you can use the priority to control
which server acts as the failover target for each service. The order proceeds
from the lowest number to the highest number. That is, if a Priority 1
server fails and servers with Priority 2 and Priority 3 are available, then the
server with Priority 2 will be used if it is running. If the server with
Priority 2 fails, then the server with Priority 3 will be used.
When the server with Priority1 comes back online, the service will
automatically stop running on the Priority3 server and start running on the
Priority1 server. If you do not want the service to automatically switch
servers when a failed server is restored, set the Priority for the service to 1
on all servers.

Loftware Spectrum 3.0.1 User Guide 727


Configuring and Administering

Automatically Configure Services

You can configure whether core services, data services, integrations, and device connections are
automatically enabled on existing Secondary SpectrumApplicationServers and on new
Secondary SpectrumApplicationServers that you create.

Configure Services for Distribution


Before you can generate a new SpectrumApplicationServer, you must configure an existing
SpectrumApplicationServer for distribution.
To configure a SpectrumApplicationServer for distribution, do the following:
1. Configure whether services should be enabled in new SpectrumApplicationServers by
performing the following steps:
a. Click System Management, and in the Service Management pane click a core
service that you want to be enabled in new SpectrumApplicationServers that are
generated.
b. In the Service Management pane, select the Enable By Default check box.
c. Click Save Service.
d. Repeat for each service that you want to be enabled in new servers.
2. Configure whether each existing SpectrumApplicationServer should be included when
new services are distributed by performing the following steps:
a. Click Access Control, expand a Server that you want to allow to be distributed,
and click the JVM Process within it.
b. In the JVM Process Info tab, select the Auto Configure check box.
c. Click Save JVM.

728 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Load Balance Among Application Servers

You can configure whether core services, data services, integrations, device connections, and
service groups are load balanced among SpectrumApplicationServers.
Note: <LOFTSTORE_HOME> refers to a folder on the Spectrum Database Server. If
you have configured for high availability as described in the High Availability Guide
for Loftware-Supplied Embedded Database, then this is
C:\Loftware\Spectrum\LoftStore. Otherwise, this is the folder in which the
Spectrum database (LoftStore) is installed.
<SPECTRUM_HOME> refers to the folder on the SpectrumApplicationServer, such
as C:\Loftware\Spectrum\Spectrum or
/opt/loftware/spectrum/Spectrum, in which the Spectrum application is
installed. Although the following procedures use backslashes in operating system
paths, you should use forward slashes if required by your operating system.
To turn on support for load balancing of services among SpectrumApplicationServers, do the
following:
1. From a command prompt on the SpectrumApplicationServer, navigate to the following
folder:
<SPECTRUM_HOME>\bin
2. To turn on support for core services, run the following command:
sputils set-value autoDistributeJvm true JvmManagement
3. To turn on support for devices, run the following command:
sputils set-value autoDistributeDevices true JvmManagement
4. To turn on support for data services, run the following command:
sputils set-value autoDistributeDataServices true
JvmManagement
5. To turn on support for integrations, run the following command:
sputils set-value autoDistributeIntegrations true
JvmManagement
6. To turn on support for service groups, run the following command:
sputils set-value autoDistributeCategoryName true
JvmManagement

Loftware Spectrum 3.0.1 User Guide 729


Configuring and Administering

Configure a Load-Balanced Service Group

You can create groups of services and load balance the services within each group. A service
group can include data services, device group services, and integration services.
To configure and load balance groups of services, perform the following steps:
1. In System Management, expand the Tag Management pane and create a tag category
with a name such as Load Balancing to identify collections of services. For the Tag
Category Class, select Service. For more information, see "Create a Tag Category" on
page 767.
Example: Using a Load Balancing Tag Category

Services that are assigned the same value for a tag category can be load
balanced with each other. For example, suppose that you have a tag category
named Load Balancing, and the associated values for it are Group 1, Group
2, and Group 3. All services that are assigned the value of Group 1 for the
Load Balancing tag category can be load balanced with each other.
2. In System Management, expand the Service Management pane.
3. For each service that you want to assign to a load balancing group, do the following:
a. In the Service Management pane, click the service.
b. For Auto Configure, select the check box.
c. For Auto Configure Group, click Select.
d. For Category, select the tag category that you created for load balancing.
e. For Value, select the load balancing group in which to include the service.
f. Click OK.
g. Save the service.
Services that are assigned to the same group are load balanced with each other.
Note: If some services have Auto Configure selected, but no category or value
specified, those services are load balanced as a group.

730 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Service Management Options

In a Spectrum environment with distributed services, multiple SpectrumApplicationServers are


configured to interact as peers within the Spectrum environment. You can configure load
balancing between SpectrumApplicationServers and failover of services from one
SpectrumApplicationServer to another. You can manage services in relation to these
SpectrumApplicationServers in the Service Management pane in System Management.
Alternatively, you can also manage services for devices, data services, and integrations by using
the Service Management tab for each data service in Data Services, each device group in Device
Management, and each integration in Integration Management.
Note: The Service Management pane is primarily relevant if your Spectrum
environment includes two or more SpectrumApplicationServers installed as a
distributed environment. For information about how to create a distributed
Spectrum environment, see the LoftwareSpectrum Installation and Configuration Guide.

Important! In an environment with distributed services, to permit a user to


perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.

Service Properties
The following are the properties of a service, such as core service, a data service, an integration
service, or a device group service.
Option Description Values
Configured Whether the service is running on at least one Started
Status SpectrumApplicationServer within the Stopped
environment.
For services that can be manually started and
stopped, a Start Data Service or Stop Data
Service button is displayed at the bottom of the
pane.
<ServiceType> The name of the selected service, which may be a
Name core service, data service, integration service, or
device group service.
Service An explanation of the purpose of the service.
Description

Loftware Spectrum 3.0.1 User Guide 731


Configuring and Administering

Option Description Values


Enable By Whether the service is enabled by default on a : Enabled by
Default newly-created SpectrumApplicationServer. default
Note: System Management Services : Disabled by
are always enabled, so this option is default
not configurable for that type of
service.
Load Balanced The number of SpectrumApplicationServers that All
Target Spectrum should run the service on concurrently. <Number>
Important! Selecting a value other
than All makes the Priority field active
for each instance.

Note: This option is omitted from or


disabled in services that cannot be load
balanced.
Instance Properties and status for each See the "Instance
Configurations SpectrumApplicationServer in the environment. Configuration
Which properties are available and which are Properties" table that
configurable vary depending on the service selected. follows this section.
Start/Stop If a device group service, integration service, or a Start Device Group
<ServiceType> data service is running, the option to stop it is Stop Device Group
displayed. If it is not running, the option to start it is Start Integration
displayed. Service
Note: This option is displayed only for Stop Integration
device group services, integration Service
services, and data services. Start Data Service
Stop Data Service

Instance Configuration Properties


The following are the properties of a service in relation to a particular
SpectrumApplicationServer.
Option Description
InstanceName The name of a computer acting as a SpectrumApplicationServer.
Activate Whether to turn the service on or off for this
SpectrumApplicationServer. The result is reflected in the State column.

732 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Option Description
Proxy If this SpectrumApplicationServer cannot respond to a request, whether
it will forward that request to another SpectrumApplicationServer.
Important! For this version of Spectrum, you should always
set Proxy to Never.

Note: This option exists only for services that accept remote
operations directly from client computers.
Priority The order in which the instance of the service on a particular server should
fail over to another server, if available. This option is relevant only if the
service is configured for high availability or failover rather than load
balancing.
Important! If the service supports load balancing, then to
display the Priority option you must select a number for
Load Balanced Target.
For each server that you are load balancing and that should run the service
under ordinary circumstances, set the Priority to 1. For each server that
should act as a standby server and run the service only if another server
goes offline, set the Priority to 2 or greater.
If the same priority is selected for a service on more than one
SpectrumApplicationServer, then the service runs on the first
SpectrumApplicationServer that attempts to run it.
<Number>: The lower the value, the greater the priority.
Tip: If you have multiple standby servers, you can use the
priority to control which server acts as the failover target for
each service. The order proceeds from the lowest number to
the highest number. That is, if a Priority 1 server fails and
servers with Priority 2 and Priority 3 are available, then the
server with Priority 2 will be used if it is running. If the
server with Priority 2 fails, then the server with Priority 3
will be used. When the Priority 1 server comes back online,
the service will revert to that server.
State Whether the service is running on this SpectrumApplicationServer.
Started: The service is running on this server.
Stopped: The service is not running on this server.
Ready: The service is running on this server, but is not actively engaged.
For example, this state can occur if the service is running on three servers,
but the Load Balanced Target is 2.
Unknown: A problem has occurred. Contact Loftware for assistance.

Loftware Spectrum 3.0.1 User Guide 733


Configuring and Administering

Managing a Multi-Site Deployment


In a multi-site deployment of Loftware Spectrum, a Spectrum instance 1 at one site 2 is
synchronized with Spectrum instances at other sites. Unlike a high availability deployment in
which all SpectrumApplicationServers are peers, a multi-site deployment has a headquarters
(HQ)3 that communicates with a facility 4 or facilities, but the facilities are not aware of each
other. Objects such as label templates and devices can be configured at the headquarters and
replicated to each facility. Any job data generated at facilities can be replicated to the
headquarters.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Tip: It is recommended that you install the Spectrum application and database at
each facility site before you create the facility object in Spectrum. Each facility site
can have only one SpectrumApplicationServer and one Spectrum Database
Server. Each facility site includes a Loftware-supplied embedded database. The
name of the root folder in Spectrum must be the same at the headquarters site and
at each facility site associated with that headquarters. The headquarters and facility
sites must be in the same WAN, but facilities are not required to be able to
communicate with each other.

1A Spectrum Application Server and a Spectrum Database Server that are associated with each other by a Spectrum License.
2A geographical location, such as the location of a Spectrum instance or a remote computer.
3The location of a Spectrum Application Server and Spectrum Database Server that are associated with facilities. These servers
must be associated with a Spectrum license for which Usage is set to Production and Multi-Site is set to true. Each HQ can
communicate with multiple facilities. By synchronizing, an HQ can replicate objects to facilities and replicate transactional data
generated at faciliites back to the HQ.
4An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.

734 Loftware Spectrum 3.0.1 User Guide


Performing System Management

What Items Are Synchronized

In a multi-site deployment1 of Spectrum, objects in headquarters (HQ)2 can be


synchronized with objects at a facility 3. Also, the transactional data generated at the facility can
be synchronized with transactional data at the headquarters.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Configuration Sync Replicates Objects

Objects are replicated only from headquarters to facilities. If objects are created or altered at a
facility, they may be replaced or deleted during synchronization to provide the facility with the
most current configuration of objects from headquarters. However, to reduce the chance of
extensive accidental deletion, folders that are replicated from headquarters to facilities and are
later deleted from headquarters are not automatically deleted from facilities. Folders can be
manually deleted at facility sites.
If you do not want objects from headquarters to replace objects in some folders at the facility,
you can restrict which folders and which types of objects are synchronized if you have the
necessary permissions. You can also disable synchronization for an individual object, either at
the headquarters or at a facility.
Tip: In most cases, disabling synchronization for an object at a facility prevents
headquarters from synchronizing that object at that facility. However, if the object
is moved or renamed at the headquarters, then the object at the facility is likewise
moved or renamed, but is not otherwise altered. Also, if there is a conflict (not just
a difference) between the headquarters and a facility, the object configuration from
headquarters overrides that of the object at the facility as required to resolve the
conflict.
By default, built-in folders and built-in objects are not replicated. Also, facilities, Remote Sites,
and LDAP authentication information are not replicated.
If objects are modified at a facility when connectivity with headquarters is lost, those changes
are not automatically replicated to headquarters. To replicate such changes to headquarters, you

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.
2The location of a Spectrum Application Server and Spectrum Database Server that are associated with facilities. These servers
must be associated with a Spectrum license for which Usage is set to Production and Multi-Site is set to true. Each HQ can
communicate with multiple facilities. By synchronizing, an HQ can replicate objects to facilities and replicate transactional data
generated at faciliites back to the HQ.
3An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.

Loftware Spectrum 3.0.1 User Guide 735


Configuring and Administering

can either make the changes at headquarters manually, or you can export objects from a facility
and import the objects to headquarters.
Transaction Sync Replicates Transactional Data

Transactional data is replicated from facility to headquarters only. If you have configured a
facility so that printing is normally processed at the headquarters, there may not be much
transactional data produced at the facility.
Differences between Scheduled Sync and Manual Sync

When a scheduled sync occurs, only objects or transactional data that have changed since the
previous sync are replicated. When you manually initiate a sync, all specified objects or
transactional data are replicated, regardless of whether there have been any changes since the
previous synchronization.

736 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Manually Synchronize a Facility with Headquarters

In a multi-site deployment of Spectrum, you can manually initiate the replication of objects from
headquarters (HQ)1 to a facility 2, and the replication of transactional data used for auditing
from the facility to headquarters.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Tip: For information about what is synchronized when different types of


synchronization are performed, see "What Items Are Synchronized" on page 735.

Synchronize Objects

You can manually initiate replication of objects from headquarters to a facility.


To initiate the replication of objects, perform the following steps:
1. Click System Management.
2. Expand the Facility Sync pane in the left column.
3. Navigate to the facility that you want to manage.
4. In the Configuration Sync box, click Sync Now.
Tip: To stop a synchronization that is in progress from continuing, you can
click Abort Sync.
5. Review the result in the table. To view additional detail, click .
Synchronize Transactional Data

You can manually initiate replication of transactional data used for auditing from the facility to
headquarters.
To initiate the replication of transactional data, perform the following steps:
1. Click System Management.
2. Expand the Facility Sync pane.
3. In the tree, navigate to the facility that you want to manage.

1The location of a Spectrum Application Server and Spectrum Database Server that are associated with facilities. These servers
must be associated with a Spectrum license for which Usage is set to Production and Multi-Site is set to true. Each HQ can
communicate with multiple facilities. By synchronizing, an HQ can replicate objects to facilities and replicate transactional data
generated at faciliites back to the HQ.
2An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.

Loftware Spectrum 3.0.1 User Guide 737


Configuring and Administering

4. In the Transaction Sync box, click Sync Now.


Tip: To stop a synchronization that is in progress from continuing, you can
click Abort Sync.
5. Review the result in the table. To view additional detail, click .

738 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Review Synchronization Results

In a multi-site deployment1 of Spectrum, you can review the results of replication of objects
from headquarters (HQ)2 to a facility 3, and the results of replication of transactional data
used for auditing from the facility to headquarters.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Tip: For information about what is synchronized when different types of


synchronization are performed, see "What Items Are Synchronized" on page 735.

Review the Synchronization of Objects

You can review the results of replication of objects from headquarters to a facility.
To review the results, perform the following steps:
1. Click System Management.
2. Expand the Facility Sync pane in the left column.
3. Navigate to the facility that you want to manage.
4. In the Configuration Sync box, review the table. There is a row with a unique Sync ID
for each time that synchronization is performed. The Status column indicates the current
status of each synchronization effort. The Trigger column indicates whether the
synchronization be scheduled or initiated manually.
5. To view additional detail, click .
Review the Synchronization of Transactional Data

You can review the results of replication of transactional data used for auditing from the facility
to headquarters.
To review results, perform the following steps:
1. Click System Management.
2. Expand the Facility Sync pane.
3. In the tree, navigate to the facility that you want to manage.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.
2The location of a Spectrum Application Server and Spectrum Database Server that are associated with facilities. These servers
must be associated with a Spectrum license for which Usage is set to Production and Multi-Site is set to true. Each HQ can
communicate with multiple facilities. By synchronizing, an HQ can replicate objects to facilities and replicate transactional data
generated at faciliites back to the HQ.
3An object in Spectrum that represents the location of a Spectrum Application Server and Spectrum Database Server that are
associated with a headquarters (HQ). These servers must be associated with a Spectrum license for which Usage is set to Facility
and Multi-Site is set to true. Each facility can communicate with only one headquarters. By synchronizing, an HQ can replicate
objects to facilities and replicate transactional data generated at faciliites back to the HQ.

Loftware Spectrum 3.0.1 User Guide 739


Configuring and Administering

4. In the Transaction Sync box, review the table. There is a row with a unique Sync ID
for each time that synchronization is performed. The Status column indicates the current
status of each synchronization effort. The Trigger column indicates whether the
synchronization be scheduled or initiated manually.
5. To view additional detail, click .

740 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Facility Sync Options

The following controls are used to manage synchronization between the facility and the
headquarters with which it is associated. These controls are displayed when a facility is selected
in the Facility Sync pane in System Management.
Note: Facilities and other functionality related to multi-site deployment are
available only if your Spectrum license has the Multi-Site property enabled. Some
options are displayed only if you are logged on to the headquarters site.

Tip: The tree in the Facility Sync pane includes only folders and facility objects.
It does not provide a view of what folders or objects are configured for
synchronization or exist at another site.
Property Description
Facility The path to the facility in Spectrum followed by the unique ID of the
Name facility.
Configuration Controls for initiating and canceling the replication of synchronized
Sync objects from headquarters to the facility, and information reported
about recent synchronizations.
Note: A synchronization takes effect on each object
individually. You can cancel a synchronization that is in
progress, preventing any more objects from being
synchronized. However, canceling a synchronization does
not undo the effects on objects already processed during
that synchronization.
The following commands are available:
l View History Details

l Refresh History

l Sync Now

l Abort Sync

The following information is displayed about each synchronization:


l Sync ID

l Sync Date

l Status

l Trigger

Loftware Spectrum 3.0.1 User Guide 741


Configuring and Administering

Property Description
Transaction Controls for initiating and halting the replication of transactional
Sync data1 from the facility to headquarters.
The following commands are available:
l View History Details

l Refresh History

l Sync Now

l Abort Sync

The following information is displayed about each synchronization:


l Sync ID

l Sync Date

l Status

l Trigger

1In a multi-site deployment of Spectrum, information about recent synchronizations that can be used for auditing. During a
transaction sync, this data can be replicated from a facility to headquarters.

742 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Configuring Authentication
Spectrum has the concept of local and domain users. Local users are assigned a password by the
administrator within the Spectrum system. Domain users are configured in Spectrum, but their
passwords are stored in an LDAP or Federated Single Sign-On system.
If you use an LDAP or Single Sign-On system, Spectrum can use that system to authenticate the
user. In both cases a user must be created in Spectrum, and the user names must be an exact
match.

Loftware Spectrum 3.0.1 User Guide 743


Configuring and Administering

LDAP

By integrating Lightweight Directory Access Protocol (LDAP) authentication into


LoftwareSpectrum, you can enable users to log into Spectrum by using their domain
credentials so that they do not have to maintain a separate password for use with Spectrum. To
log into Spectrum, a user must also have an account configured in Spectrum. You can allow a
user to log in to Spectrum using domain credentials or allow a user to log in to Spectrum using a
password managed in Spectrum. You can also use Integrated Windows authentication using the
Kerberos version 5 protocol to allow users to bypass the login screen when logging into
Spectrum.

744 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Single Sign-On

Single Sign-On (SSO) enables users to log in to Spectrum through a third-party authentication
system, thereby bypassing the Spectrum login screen when connecting to a Spectrum
environment.
Loftware Spectrum supports the following SSO protocols:
lKerberos version 5
lSecurity Assertion Markup Language (SAML) V2.0
Kerberos can be used to provide Integrated Windows authentication.
SAML is an XML-based framework, and it can be used in both Windows and Linux
environments. It is designed for online applications like Spectrum to share authentication
information.
Users must be configured in Spectrum, and the user name must be the same as their idP user
name.
To configure Spectrum authentication, see the following topics:

Loftware Spectrum 3.0.1 User Guide 745


Configuring and Administering

Configure LDAP Authentication

By integrating Lightweight Directory Access Protocol (LDAP) authentication into Loftware


Spectrum, you can enable users to log into Spectrum by using their domain credentials.
A Spectrum user account with the ROLE_ADMINISTRATOR role is required to perform this
procedure. To
Note: If you are configuring a multi-site deployment1 of Spectrum, you must log
in to each facility site to configure LDAP authentication. LDAP authentication
information is not synced from headquarters to facilities.
To integrate LDAP into Spectrum, use the following procedure.
1. Log into Spectrum by using an account with the ROLE_ADMINISTRATOR role.
2. Click System Management, and then expand LDAPAuthentication.
3. Either click to create a new configuration, or click an existing configuration that you
want to modify.
4. Configure the "LDAP Authentication Options" on page 753.
5. Click Save.
Note: To be able to log in to Spectrum, a user must also have an account
configured in Spectrum.
By default, the selected Domain on the Spectrum Login page is None. To set a specific default
domain, see Set a Default LDAP Domain in the LoftwareSpectrum Installation and Configuration Guide.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

746 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Configuring Single Sign-On (SSO) Using Integrated Windows Authentication

Loftware Spectrum supports Integrated Windows authentication using the Kerberos version 5
protocol. You can use this optional capability along with Lightweight Directory Access Protocol
(LDAP) authentication to enable users to bypass the Spectrum login screen when connecting to
your Spectrum environment.
Note: Single sign-on using Integrated Windows authentication is supported only
for SpectrumApplicationServers that are running a Windows Server operating
system.

Note: If you are configuring a multi-site deployment1 of Spectrum, you must log
in to each facility site to configure LDAP authentication. LDAP authentication
information is not synced from headquarters to facilities.

Before you begin: By default, the Loftware Spectrum service uses the Local
System account of the SpectrumApplicationServer. In your Windows Server
environment, you must create a Run As user account for the Loftware Spectrum
service, and you must register a service principal name (SPN) for the service in
conjunction with this Run As user. You must create a keytab file 2 that you can
use to make these credentials available to the SpectrumApplicationServer.

Turn on Kerberos Protocol Support for Spectrum

To support Integrated Windows authentication using Kerberos protocol, you must specify a Run
As user for the Loftware Spectrum service, and you must turn on support for Kerberos protocol
on the SpectrumApplicationServer.
1. On the SpectrumApplicationServer, in the Windows Control Panel, open the Services
console and double-click the Loftware Spectrum service.
a. On the General tab, click Stop to stop the service.
b. On the Log On tab, click This account and enter the credentials for the Run As
user account that you created for the Loftware Spectrum service.
c. Click OK.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.
2A file containing encrypted credentials for accessing a computer.

Loftware Spectrum 3.0.1 User Guide 747


Configuring and Administering

2. Open the following file in a text editor:


<SPECTRUM_HOME>\product\conf\jdbc.properties
a. Find the section beginning with # Single Sign On.
b. Set security.authentication.scheme to kerberos.
c. Set security.kerberos.spn to the service principal name for trust with the
domain using the following format. For <hostname>, enter the host name of the
SpectrumApplicationServer.
HTTP/<hostname>.<domain>@<DOMAIN>

d. Set security.kerberos.keytab to the path to the keytab file that you created for
the service principal name for the service in conjunction with the Run As user for
the Loftware Spectrum service.
e. Save and close the file.
Example
# Standard Authentication through UI: default
# Integrated Windows Authentication : kerberos
# Federated SSO using SAML : federated
security.authentication.scheme=kerberos

# Additional settings must be set for SSO to work.


# Integrated Windows Authentication:
# You must provide a service principal name and a keytab
file to authenticate the received tokens.
security.kerberos.spn=HTTP/spectrum-
server.example.com@EXAMPLE.COM
security.kerberos.keytab=c:\\kerberos\\spectrum.keytab

Note: The setting security.kerberos.enabled has been deprecated. You


can continue to use this setting, if you use Kerberos. If you switch SSO
providers, you must use the security.authentication.scheme setting, and
remove the security.kerberos.enabled setting.
3. Delete the following file if it exists:
<SPECTRUM_HOME>\product\jms-data\db-1.log
4. In the Windows Control Panel, open the Services console and start the Loftware
Spectrum service.
Configure LDAPAuthentication and User Accounts

To support Integrated Windows authentication using Kerberos protocol, you must configure
LDAP authentication and create user accounts in Spectrum.
1. Display the Spectrum log in screen by typing the URL for connecting to Spectrum into a
web browser, appending ?showLogin=true to the end of the URL, and then submitting
the URL.

748 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Example
http://spectrum-
server.example.com:8080/loftwarespectrum?showLogin=true
2. On the Spectrum login page, enter the credentials for an account that has the ROLE_ADMINISTRATOR
role or for the SuperAdmin account.
3. Click System Management, and then expand LDAPAuthentication.
a. Click to create a new configuration.
b. For Domain Name, enter a unique name for the LDAP server configuration that
identifies the domain represented.
c. For Provider URL, enter the LDAP URLto be used by Spectrum when
establishing a connection to the LDAP server. Either LDAP or LDAPover SSL
(LDAPS) may be used.
d. Click Save.
4. Configure user accounts in Spectrum. For users who will log in using single sign-on, the
user name must be the same as their domain user name. For more information, see "
Controlling Access in Spectrum" on page 560.
Note: Web browsers on Spectrum client computers must be configured to
support the Kerberos protocol. For more information, refer to the
documentation for web browsers supported by your organization.

Tip: Administrators may need to log in to Spectrum using non-domain accounts.


You can access the Spectrum login screen by appending ?showLogin=true to the
URL that you use to log in to Spectrum.

Loftware Spectrum 3.0.1 User Guide 749


Configuring and Administering

Configure Single Sign-On (SSO) Using Security Assertion Markup Language


(SAML)

You can change Spectrum to use Federated SSO using SAML 2.0 to authenticate users. To
accomplish this, you must download an XML file from Spectrum and then use that file to
configure Spectrum as a Service Provider (SP) with your Identity Provider (idP). Finally, you
must download a file from your idP and use it to complete the configuration of SSO for
Spectrum.
Configure a Domain

To support federated SSO using SAML 2.0, you must configure a domain and create domain
user accounts in Spectrum.
1. On the Spectrum login page, enter the credentials for an account that has the ROLE_ADMINISTRATOR
role or for the SuperAdmin account.
Note: If you've already configured Spectrum for federated authentication,
display the Spectrum log in screen by typing the URL for connecting to
Spectrum into a web browser, appending ?showLogin=true to the end of
the URL, and then submitting the URL.
Example
http://spectrum-
server.example.com:8080/loftwarespectrum?showLogin=true

2. Click System Management, and then expand LDAPAuthentication.


a. Click to create a new configuration.
b. For Domain Name, enter a unique name that identifies the domain represented.
c. For Provider URL, enter the URLto be used by Spectrum when establishing a
connection to the LDAP server.
d. Click Save.
Note: For an SSOdomain, only a Domain Name and Provider
URL are required.

750 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Tip: Administrators may need to log in to Spectrum using non-domain accounts.


You can access the Spectrum login screen by appending ?showLogin=true to the
URL that you use to log in to Spectrum.

Configure User Accounts in Spectrum

1. Configure user accounts in Spectrum. For users who will log in using single sign-on, the
user name must be the same as their SSO user name. For more information, see "
Controlling Access in Spectrum" on page 560.
2. Select the domain that you created from the Domain drop-down list.
Configure Spectrum as a SAML Service Provider

1. On the SpectrumApplicationServer, stop the Loftware Spectrum service (or daemon


in Linux).
2. Open the following file in a text editor:
<SPECTRUM_HOME>\product\conf\jdbc.properties
3. Within the jdbc.properties file, change security.authentication.scheme to federated.
Example
# Single Sign On
# Single sign on is supported using Integrated Windows
Authentication and Federated SSO using SAML
# If this JVM supports single sign on, then SSO needs to be
configured in this file.
# To set the security authentication type use
security.authentication.scheme with values:
# Standard Authentication through UI: default
# Integrated Windows Authentication : kerberos
# Federated SSO using SAML : federated
security.authentication.scheme=federated
4. On the SpectrumApplicationServer, start the Loftware Spectrum service.
5. Go to the URL http://spectrum-server.example.com:8080/spectrum-
server/saml/metadata and save the file as requested.

Loftware Spectrum 3.0.1 User Guide 751


Configuring and Administering

6. Go to your Identity provider (idP) or configure an idP, and then add your Spectrum
system as a service provider.
a. Add the metadata file downloaded from Spectrum as requested during
configuration.
b. Download the metadata file from the idP, as provided.
c. Save the file you download from your idP to <SPECTRUM_
HOME>/product/conf/saml2-metadata-idp.xml
Note: The name of the metadata file can be changed as long as the
security.federated.idpfilename property is changed to match in the
jdbc.properties file.
7. On the SpectrumApplicationServer, restart the Loftware Spectrum service.
8. Attempt to log in to your Spectrum environment using the username and domain of a
user you created in Spectrum.

752 Loftware Spectrum 3.0.1 User Guide


Performing System Management

LDAP Authentication Options

The following are the options for an LDAP authentication configuration.


Note: To be able to log into Spectrum, a user must also have an account
configured in Spectrum with the same user name.

Note: If you are configuring a multi-site deployment1 of Spectrum, you must log
in to each facility site to configure LDAP authentication. LDAP authentication
information is not synced from headquarters to facilities.

Tip: By default, LDAP communication between a client application and a server


application is not encrypted. However, you can secure LDAP communication by
using LDAP over SSL(LDAPS). To use LDAPS with Spectrum, obtain a copy of
your SSL certificate from your LDAP server and import the certificate into the Java
certificate keystore on the SpectrumApplicationServer. For more information, see
Importing the LDAP Server's Certificate (http://docs.oracle.com/cd/E19509-
01/820-3399/auto22/index.html). StartTLS and Simple Authentication and
Security Layer (SASL) are not supported.

Descrip-
Option Notes
tion
Domain A unique Required. This value is not required to be a real domain.
Name name for The value entered is displayed to users as an option available for
the the Domain field on the Spectrum login page.
LDAPserv
er
configuratio
n that
identifies
the domain
represente
d.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

Loftware Spectrum 3.0.1 User Guide 753


Configuring and Administering

Descrip-
Option Notes
tion
Provider The LDAP Required. Either LDAP or LDAP over SSL (LDAPS) may be
URL URL to be used.
used by Note: If including a base distinguished name
Spectrum (DN 1) in the Provider URL, do not end the URL
when with a slash. Doing so may cause authentication to
establishing fail.
a
connection Example: LDAP over SSL (LDAPS)
to the
LDAPserv The format is ldaps://host:port/base_dn. The default
er to port is 636.
authenticat
ldaps://corpldap.example.com:636/dc=com
e.
pany,dc=com

Example: LDAP
The format is ldap://host:port/base_dn. The default
port is 389.

ldap://corpldap.example.com:389/dc=comp
any,dc=com

Authenticati The You must select one of the following values for Authentication
on Type approach Type:
used when l Search and bind: Use the Search Base and Search

authenticati Filter to find the user distinguished name (DN), and


ng with an then attempt to bind with the user DN and password.
LDAP l Search and compare: Use the Search Base and

server. Search Filter to find the user DN, and then attempt to
use the LDAP Compare operation with the Password
Attribute.
l Bind only: Attempt to bind with the user DN and

password by using the User DN Patterns.


l Compare only: Attempt to use the LDAPCompare

operation with the Password Attribute and the User


DN Patterns.

1Distinguished name. A unique entry in a directory managed using Lightweight Directory Access Protocol (LDAP).

754 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Descrip-
Option Notes
tion
Admin DN The fully- May be required depending on your configuration. Consult your
qualified LDAPsystemadministrator.
distinguishe Example
d name of
an cn=directory manager,dc=example,dc=com
administrat
or account
with the
authority to
search for a
user
distinguishe
d name.
Admin The May be required depending on your configuration. Consult your
Password password LDAPsystemadministrator.
associated Example
with the
account userPassword
provided in
the
AdminD
N field.

Search Base The portion Used if the Authentication Type is Search and bind or
of the Search and compare.
LDAP Note: You can specify a SearchBase, a baseDN
hierarchy to that is part of the ProviderURL, or both. If both,
be the baseDNis appended to the SearchBase
searched. when the SearchBase is evaluated.

Example

ou=shipping,ou=users

Loftware Spectrum 3.0.1 User Guide 755


Configuring and Administering

Descrip-
Option Notes
tion
Search Filter An LDAP Used if the Authentication Type is Search and bind or
filter string Search and compare.
used in The following placeholders can be incorporated. Each
conjunction placeholder corresponds to a field on the User Info tab for a
with the user as shown in Access Control.
Search Base Placeholder User Info field
to perform
{0} User Name
a search for
the user {1} First Name
distinguishe {2} Last Name
d name {3} Domain
before {4} Email Address
authenticati
on is Important: The search filter must be configured
attempted. to return only one user DN. If the search returns
multiple users, authentication fails.

Example: OpenLDAP
The following search filter is for the specified user
name.

(uid={0})

Example: Active Directory


The following search filter is for the specified user
name.

(sAMAccountName={0})

Example: Name
The following search filter is for the first name and
last name of the user as specified in Spectrum.

(cn={1} {2})

Example: Email Address


The following search filter is for the email address
of the user as specified in Spectrum.

756 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Descrip-
Option Notes
tion
userPrincipalName={4}

Example: User Name and Domain


The following search filter is for the user name and
domain as specified for the user in Spectrum.

(userPrincipalName={0}@{3})

Password The name Used if the Authentication Type is Search and compare or
Attribute of the Compare only.
attribute in Example
the user
object in userPassword
the LDAP
server that
contains
the user
password.
The
password
must be
SHA
encrypted.
User DN User Used if the Authentication Type is Bind only or Compare
Patterns distinguishe only.
d name If you enter multiple patterns, they are searched in the order
patterns to that they appear in this field. Editing a UserDNPattern moves
be used. it to the end of the list.
Note: If a base DN is specified in the Provider
URL, it is appended to each UserDN Pattern
when the pattern is evaluated.

Example
{0} is a placeholder for the specified user name.

uid={0},ou=users

Loftware Spectrum 3.0.1 User Guide 757


Configuring and Administering

Managing Fonts
Because LoftwareSpectrum is a web-based application, fonts must be installed on the
SpectrumApplicationServer before they can be available for use in label templates. Spectrum
does not have access to the fonts that are installed on Spectrum client computers, only to fonts
that are installed in Spectrum.
A broad selection of fonts is provided with Spectrum and is installed automatically during the
installation of the product. Administrators can install additional fonts by using the Font
Management pane in System Management.
Note: Regarding the legal use of fonts, the Spectrum licensee is responsible and
liable to any font supplier for the legal right to use their fonts. Third-party fonts are
not part of the Loftware product offering and license agreement.

758 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Install Additional Fonts

You can install additional fonts for use in LoftwareSpectrum.


Important! If your Spectrum environment is configured to use distributed
services, the Font Management Service should be activated and started on all
SpectrumApplicationServers to ensure consistent fonts. For more information,
see "High Availability with Distributed Services" on page 716.

Note: Regarding the legal use of fonts, the Spectrum licensee is responsible and
liable to any font supplier for the legal right to use their fonts. Third-party fonts are
not part of the Loftware product offering and license agreement.

Before You Begin: On each SpectrumApplicationServer, install the additional


fonts in the Windows Server operating system or Linux operating system. This step
is performed outside of Spectrum.
To install additional fonts so that they are available for use in Spectrum, use the following
procedure.
1. In System Management, click and expand the Font Management pane.
2. Click Add Fonts.

Loftware Spectrum 3.0.1 User Guide 759


Configuring and Administering

3. In the Add Fonts dialog box, enter the path to the folder containing fonts to be installed.
The following syntax must be used for the path.
Best Practice
For ease of installation, it is recommended that you copy the fonts that you
want to install into a temporary folder on the SpectrumApplicationServer.
Only put fonts that you want to install in Spectrum in that folder.
Path Description Path Examples
Folder on the Windows file://C:/Folder/Fonts
SpectrumApplicationServer with a path Linux file://folder/fonts
such as C:\Folder\Fonts on Windows The folder must be hosted on the
SpectrumApplicationServer. Do not
include a trailing slash.
Folder available via public UNC path Windows
such as \\Server\SharedFolder\Fonts file://Server/SharedFolder/Fonts
on Windows Linux
file://server/sharedfolder/fonts
Credentials must not be required to
access this folder. Do not include a
trailing slash.
Note: All fonts that are in the folder will be installed. It is recommended
that you only install fonts that your organization intends for use in
Spectrum.
4. Click Continue. The Font Installation in progress message is displayed.
5. In the Font Management pane, click Refresh List to update the list of fonts displayed.
If some of the fonts that were in the folder are not listed, wait for a few minutes and then
click Refresh List again.

760 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Delete Fonts

You can delete fonts that you or another administrator installed, with the exception of native
fonts. You cannot delete fonts that were installed during the installation of Loftware Spectrum.
Important! Deleting a font will affect any label templates that use that font to
format text. A default font will be displayed instead.
To delete specific fonts, use the following procedure.
1. In System Management, click and expand the Font Management pane.
2. To filter the list of fonts to display only those that can be deleted, for Font Filters clear
the System and Native check boxes. Leave Installed, TTF, OTF, and TTC selected.
3. In the Delete column, either select the check box for each font that you want to delete,
or select the check box next to the Delete column heading to select all fonts that can be
deleted.
4. To filter the list of fonts to display only those to be deleted, for Font Filters select all of
the check boxes, including To Delete.
5. Click Delete Fonts to delete all of the fonts that you have selected.
6. In the Delete Selected Fonts Confirmation dialog box, review the list of fonts. If only
fonts that you intend to delete are listed, click Continue.
7. In the Status dialog box, review whether the deletion of each font succeeded, and then
click OK.

Loftware Spectrum 3.0.1 User Guide 761


Configuring and Administering

Font Management Options

The following are the options for displaying information about the fonts available in Spectrum,
installing additional fonts, and deleting fonts.
Font Filters

The following filters restrict which fonts are displayed in the table depending upon their
properties.
Important! These filters can interact with each other.
Filter
Description Values
Group
Status In the list of fonts, whether to display custom fonts : Fonts that have the
Filters installed by an administrator, TrueType fonts specified value for Status
(TTF), OpenType fonts (OTF), and TrueType font are displayed in the table
collections (TTC) installed during the installation unless prohibited by filters
of Spectrum, and driver-specific fonts. for font type or font
Installed: TrueType fonts, TrueType font deletion.
collections, and OpenType fonts that were installed : Fonts that have the
by an administrator after the installation of specified value for Status
Spectrum. are omitted from the table.
System: TrueType fonts, TrueType font
collections, and OpenType fonts that were installed
automatically during the installation of Spectrum.
Native: Driver-specific fonts.
Font In the list of fonts, whether to display TrueType : Fonts that have the
Type fonts (TTF), OpenType fonts (OTF), and specified value for Font
Filters TrueType font collections (TTC). Type are displayed in the
TTF1 table unless prohibited by
OTF2 filters for status or font
TTC3 deletion.
: Fonts that have the
specified value for Font
Type are omitted from the
table.

1TrueType font
2OpenType font
3TrueType font collection

762 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Filter
Description Values
Group
Deletion In the list of fonts, whether to display fonts that are : Fonts that have the
Selected selected for deletion. specified value for Delete
Filter To Delete: Fonts that are selected for deletion. are displayed in the table
unless prohibited by filters
for status or font type.
: Fonts that have the
specified value for Delete
are omitted from the table.
Font Properties

Option Description Values


Delete Whether the font has been selected for : Selected for deletion.
deletion. : Not selected for deletion.
Note: Only fonts that were
installed by an administrator
after the installation of
Spectrum can be selected for
deletion.
Status The category of the font. Installed: TrueType fonts,
TrueType font collections, and
OpenType fonts that were installed
by an administrator after the
installation of Spectrum.
System: TrueType fonts,
TrueType font collections, and
OpenType fonts that were installed
automatically during the installation
of Spectrum.
Native: Driver-specific fonts that
were installed automatically during
the installation of Spectrum.
Font The name of the font family. Font family name
Family

Loftware Spectrum 3.0.1 User Guide 763


Configuring and Administering

Option Description Values


Font The type of font. More specific than the DPL1
Type status, the font type indicates whether the IPL2
font is a TrueType font, an OpenType OTF3
font, or a font related to a specific printer TTC4
control language. TTF5
ZPL II6
Supported The combinations of posture and weight Regular: Regular weight and
Weights supported by the font. posture
and Bold: Bold weight and regular
Postures posture
Italic: Regular weight and italic
posture
Bold Italic: Bold weight and italic
posture
Command Buttons

1Datamax-O'Neil Programming Language, a printer control language.


2Intermec Printer Language, a printer control language.
3OpenType font
4TrueType font collection
5TrueType font
6Zebra Programming Language II, a printer control language.

764 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Option Description
Add Install all fonts in the folder for which you specify a path. The following syntax
Fonts must be used for the path.
Best Practice
For ease of installation, it is recommended that you copy the fonts
that you want to install into a temporary folder on the
SpectrumApplicationServer. Only put fonts that you want to install
in Spectrum in that folder.
Path Description Path Examples
Folder on the file://C:/Folder/Fonts
SpectrumApplicationServer with The folder must be hosted on the
a path such as C:\Folder\Fonts SpectrumApplicationServer. Do not
include a trailing slash.
Folder available via public UNC file://Server/SharedFolder/Fonts
path such as Credentials must not be required to
\\Server\SharedFolder\Fonts access this folder. Do not include a
trailing slash.
Important! The computer where the folder is located and the
SpectrumApplicationServer must be operating in a domain
environment. Connections among workgroups are not supported.

Note: All fonts that are in the folder will be installed. It is


recommended that you only install fonts that your organization
intends for use in Spectrum.
Delete Remove every font for which Delete is selected.
Fonts Note: Only fonts that were installed by an administrator after the
installation of Spectrum and are not native fonts can be selected for
deletion.
Refresh Refresh the list of fonts shown so that you can confirm that fonts that you have
List installed or deleted have been added to or removed from the list as appropriate.
Export Save the table of information about fonts available in Spectrum as a comma-
to CSV separated values file, which can be displayed in a spreadsheet application. All
currently installed fonts are included, regardless of any filters applied and
regardless of whether the fonts were installed during the installation of Spectrum
or afterward.

Loftware Spectrum 3.0.1 User Guide 765


Configuring and Administering

Tag Management
In Loftware Spectrum, users can characterize certain objects by assigning tags to them. Tags can
then be used to search, sort, filter, and report on objects within business rules. Each tag has a
category and a value.
A tag can be assigned to an application, business rule, data service, device group, facility, form,
image, integration, label template, layout, process, remote site, reusable object, user, or
workflow template.
Note: Assigning a tag to an object requires permissions for that object, but does
not require Tag Categories permissions.
In System Management, you can create and manage tag categories. Each static tag category has
a name and a list of associated values. Each variable tag category allows users to type in a value
for the tag.
Example: Static Tag Category

You can use a tag to indicate where a label template is in its life cycle. In System
Management, you can create a static tag category named Life Cycle. For this tag
category, you specify possible values such as the following: Under Development,
In Review, On Hold, Complete.
In Design, a Document Designer can select a label template, add a tag with the
Life Cycle category, and select the value Under Development. When the label
template is ready for review, the Document Designer can change the value for the
tag to In Review.
Example: Variable Tag Category

You can use a variable tag category to allow Document Designers to specify the
owner of a label template. In System Management, you can create a variable tag
category named Owner. You do not specify associated values for the tag category.
In Design, a Document Designer can select a label template, add a tag with the
Owner category, and type the user name of the person who is the owner as the tag
value.
Tip: For a tag assigned to an object, you can use a script in a data source or in a
business rule to retrieve the tag value. Tag-related functions are also available by
using Web Services calls.

766 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Create a Tag Category

In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
When creating a tag category, you must decide whether to make it static (the user selects a tag
value from a fixed list of values) or variable (the user types in a tag value). For any static tag
category that you create, you must also create the list of tag values associated with the tag
category.
To create a tag category, use the following procedure.
1. In System Management, click the Tag Management bar to expand the pane.
2. In the Tag Management pane, click the + button to add a new tag category.
3. On the Tag Category Info tab, enter a name and description for the tag category. The
name will be displayed in the Tag pane and tab but the description will not.
Note: You cannot change the Tag Category Name after you save the tag
category for the first time.
4. For Tag Category Type, specify whether the tag category is a static tag category or a
variable tag category.
n Static: Has a name and a list of associated values.
n Variable: Has a name and allows users to type in values to associate with the tag
category.
Note: You cannot change the Tag Category Type after you save the tag
category for the first time.
5. For Tag Category Class, specify whether the tag category is a document class or service
class.
n Document: A tag associated with an application, business rule, data service,
device group, facility, form, image, integration, label template, layout, process,
remote site, reusable object, user, or workflow template.
n Service: A tag associated with a SpectrumApplicationServer in a Spectrum
environment with distributed services.
Note: You cannot change the Tag Category Class after you save the tag
category for the first time.
6. Click Save Tag Category.

Loftware Spectrum 3.0.1 User Guide 767


Configuring and Administering

7. If you are creating a static tag category, click the Tag Values tab.
a. In the Associated Values field, enter a possible value for the tag, and then click
Add. Repeat for each value that the tag can have.
Tip: To delete a value in a static tag category, click the value and
then click Delete.
b. Click Save Tag Category.
Tip: To assign a tag to an object or to change the value of an assigned tag, see "
Categorize an Object" on page 646.

768 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Change Tag Values in a Tag Category

In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
Note: If a tag value was previously assigned to an object and the tag value is
deleted from its tag category, the tag value will remain assigned to the object.
In System Management, you can manage tag categories. Each tag category has a name, and
static tag categories have a list of associated values that you can manage.
To add or remove values available for a static tag category, use the following procedure.
1. In System Management, click the Tag Management bar to expand the pane.
2. In the Tag Management pane, click the tag category that you want to change.
3. Click the Tag Values tab.
n If you want to add a new value for use with the tag category, type the new value
into the Associated Values field, and click Add.
n If you want to remove one of the values, click the value, and then click Delete.

Note: You cannot edit the name of an Associated Value after you save the
tag category.
4. Click Save Tag Category.
Tip: To assign a tag to an object or to change the value of an assigned tag, see "
Categorize an Object" on page 646.

Loftware Spectrum 3.0.1 User Guide 769


Configuring and Administering

Tag Management Options

The following options for creating and deleting a tag category can be configured in the Tag
Management pane in System Management. Each tag category has a name and a list of
associated values.
Tip: To assign a tag to an object or to change the value of an assigned tag, see "
Categorize an Object" on page 646. Tags can be assigned to an application,
business rule, data service, device group, facility, form, image, integration, label
template, layout, process, remote site, reusable object, user, or workflow template.

Tip: For a tag assigned to an object, you can use a script in a data source or in a
business rule to retrieve the tag value. Tag-related functions are also available by
using Web Services calls.

Tag Category Info

Property Description
Tag CategoryThe
Namename of the tag category. This name will be displayed in the Tags pane
or tab when assigning a tag category to an object or when viewing the list of
tag categories assigned to an object.
Tag Whether the tag category is a static tag category or a variable tag category. The
Category values associated with a static tag category can be configured by an
Type administrator in System Management.
Note: This property cannot be changed after the tag category
has been saved for the first time.
Tag Whether the tag category is for an object or for a core service.
Category l Document: A tag associated with an application, business rule, data

Class service, device group, facility, form, image, integration, label template,
layout, process, remote site, reusable object, user, or workflow
template.
l Service: A tag associated with a SpectrumApplicationServer in a

Spectrum environment with distributed services.


Note: This property cannot be changed after the tag category
has been saved for the first time.
Description A brief explanation of the purpose of the tag category or other information
about it that may be of assistance to administrators who are manage tag
categories. This description is not displayed in the Tags pane or tab.
Tag Values

770 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Note: The list of associated values is displayed and can be edited on the Tag
Values tab only if the Tag Category Type is Static.
Property Description
Associated Values
A list of all values available to be selected for the tag category. These values
will be displayed in the Tags pane and tab.
Built-in Tag Category: Source

A built-in tag category named Source is included with Spectrum. It is designed for use in a tag
that characterizes the origin of an object. If an object supports tags, then a tag with a category of
Source and a value of Spectrum is automatically assigned to it the first time that the object is
saved.
Value Purpose
System The object was built in to Spectrum.
LPS The object was created in Loftware Print Server (LPS) and was migrated to
Spectrum.
Spectrum The object was created in Spectrum.
Unknown The origin of the object is unknown.

Loftware Spectrum 3.0.1 User Guide 771


Configuring and Administering

Change the Source of Spectrum Help


By default, users who click help links in Spectrum are directed to a dynamic version of the
SpectrumUserGuide that is hosted on Loftware's website. This option is recommended because it
provides users with the most current documentation for Spectrum. The dynamic web-based help
may change frequently because it may be updated when issues are discovered or resolved, as
well as when new functionality is added to Spectrum.
For Spectrum environments in which internet connectivity is unavailable, users can be directed
to a static copy of the SpectrumUserGuide that is installed on the SpectrumApplicationServer.
Important! Configuring this option impacts all users of this Spectrum
environment.

772 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Provide Static Help to Users

To configure a Spectrum environment to provide users with static help for Spectrum, use the
following procedure:
Note: This option is not recommended unless lack of internet connectivity or
other issues make it impractical to use dynamic help in your environment.
1. In System Management, click the Global Settings bar to expand the pane.
2. In the Global Settings pane, click Settings.
3. In the Settings section, under Help Preferences, for Source Location select Local.
4. Click Save.

Loftware Spectrum 3.0.1 User Guide 773


Configuring and Administering

Provide Dynamic Help to Users (Recommended)

To configure a Spectrum environment to provide users with dynamic help for Spectrum, use the
following procedure:
Note: Dynamic help is the default configuration. The following procedure is
necessary only if the source of Spectrum Help has been changed to static help.
1. In System Management, click the Global Settings bar to expand the pane.
2. In the Global Settings pane, click Settings.
3. In the Settings section, under Help Preferences, for Source Location select Remote.
4. Click Save.

774 Loftware Spectrum 3.0.1 User Guide


Performing System Management

System Management Page


Click System Management at the top of the LoftwareSpectrum window to display options
for configuring high availability using distributed services, multi-site deployment, authentication,
font management, tag management, and other system-wide settings.

Loftware Spectrum 3.0.1 User Guide 775


Configuring and Administering

Global Settings

The following options can be managed by using the Global Settings pane.
General Preferences
Property Description Values
Force Inactivity Whether to automatically log a user out after a : Users are not
Logout specified period of inactivity. logged out due to
inactivity.
: Users are
logged out after
being inactive for
the specified
period of time.
Force Device Whether to update the IP address of the : IP address of
Connection Lookup device before each print job. the device is not
updated before
each print job.
: Force
Spectrum to
update the IP
address of the
device before each
print job.
Custom Installation Display a name for the current Spectrum All characters are
Name instance in the Spectrum title bar. permitted.
Example: QA
Environment

776 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Help Preferences
Property Description Values
Source Location Whether to display dynamic web-based Remote: Dynamic web-
help or static help when users click based help is displayed when
links to the SpectrumUserGuide (Help). a user clicks help links in
Spectrum. The help is hosted
on Loftware's website. This
option is recommended
because it provides users
with the most current
documentation. (Default)
Local: Static help that was
installed at the time of
Spectrum's installation is
displayed when a user clicks
help links in Spectrum. The
help is hosted on the
SpectrumApplicationServer.
This option is provided to
support Spectrum
environments that do not
have Internet access.

Loftware Spectrum 3.0.1 User Guide 777


Configuring and Administering

Print Preferences
Property Description Values
Text Box Overrun How Spectrum should respond if the amount Allow Overrun:
Mode of data received for a Text Box field is more The text continues
than can fit. beyond the
Tip: If the Text Box Overrun bottom of the
Mode is specified in the job data, envelope for the
that overrides any mode specified field. For a printed
in Label Specific Options in label, as much of
Design, device options in Device the text as can fit
Management, or global settings on the label is
in System Management. printed.
Otherwise, if specified in Label Truncate Data:
Specific Options, that overrides Text that does not
device options and global fit is not printed
settings, and if specified in or displayed. The
device options, that overrides preceding text is
global settings. printed or
displayed.
Truncate Data at
Paragraph
Break: A
paragraph that
does not fit is not
printed or
displayed. The
preceding
paragraph is
printed or
displayed.
Fail Print Job on
Overrun: Any
print job that
includes a Text
Box field in which
the data received
does not fit is
failed and is not
printed or
displayed.
Driver Preferences
Label Component Caching

778 Loftware Spectrum 3.0.1 User Guide


Performing System Management

Property Description Values


Enable Caching Whether to store images so they can be reused Zebra: Select to
by like devices (the same driver and DPI). allow image
Images include all Spectrum field types, caching for
shapes, non-native barcodes, and images. devices that use
Zebra drivers.
cab: Select to
allow image
caching for
devices that use
cab drivers.
QCPL: Select to
allow image
caching for
devices that use
QCPL drivers.
Maximum The maximum number of objects allowed in 500-10000
Components memory. components
Component Expiration How long a cached image can remain in 10-180 minutes
memory.

Loftware Spectrum 3.0.1 User Guide 779


Configuring and Administering

Other Options

l "Service Management Options" on page 731


l "LDAP Authentication Options" on page 753
l "Font Management Options" on page 762
l "Tag Management Options" on page 770

780 Loftware Spectrum 3.0.1 User Guide


Configuring User Profiles

Configuring User Profiles


By configuring and assigning a user profile, an administrator can customize user preferences for
individual users or for groups. An administrator can assign a user profile to a specific user or to
all users in a group. The user profile specifies which default settings are displayed to users,
which are configurable by users, and what the default value for each preference is.

Loftware Spectrum 3.0.1 User Guide 781


Configuring and Administering

Configure and Apply a User Profile


By configuring and assigning a user profile, an administrator can customize which page is initially
displayed to users when they log into Spectrum, which device is the default device 1 for users,
and default characteristics of new label templates that users create. An administrator can assign a
user profile to a specific user or to all users in a group. The user profile specifies which
preferences are displayed to users, which are configurable by users, and what the default value
for each preference is.

1A physical printer, print queue, or other target for output, such as an image file or a PDF file.

782 Loftware Spectrum 3.0.1 User Guide


Configuring User Profiles

Configure a User Profile

To configure a user profile, use the following procedure.


1. Click User Preferences.
2. Click User Profiles to expand the pane.
3. Click to create a new user profile.
4. Enter a Name by which to identify the user profile.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
5. Configure an initial value for each preference. For more information about each
preference, see " User Preferences Page (Administration)" on page 786.
6. To prevent users from changing the default value that you assign in the user profile, click
so that it is changed to .
7. To hide a preference from users, clear the Show check box for that preference.
8. Click Save.
Note: Even if a preference is locked or hidden by a user profile, users can still
change the setting related to the preference for the duration of a session of
Spectrum, but it is reset to the value specified in the user profile the next time that
the user logs into Spectrum.

Loftware Spectrum 3.0.1 User Guide 783


Configuring and Administering

Assign and Apply a User Profile

You can individually assign a user profile directly to users or you can assign a profile to groups so
that it can be inherited by users who are members of that group.
Note: If a user is a member of multiple groups that have user profiles, only the
user profile most recently applied to the group takes effect for that user. A profile
directly assigned to a user supersedes a profile assigned through group
membership. A user can only inherit a profile through group membership if that
user's profile is set to NoProfile.
To assign and apply a user profile to a user or a group, use the following procedure.
1. Click Access Control.
2. Click a user or group to which you want to assign the user profile.
3. If assigning the profile to a group, for Default Profile select the name of the user profile
that you created and click Save. The profile is assigned only to users whose individual
profile is set to NoProfile.
4. If assigning the profile to an individual user, for Apply Profile select the name of the
user profile that you created and click Save User.

784 Loftware Spectrum 3.0.1 User Guide


Configuring User Profiles

Update and Reapply a User Profile

To update and reapply a user profile to users and groups to which it is already assigned, use the
following procedure.
1. Click User Preferences.
2. Click User Profiles to expand the pane.
3. Click a user profile.
4. Change the values, visibility, and configurability of preferences as needed. For more
information about each preference, see " User Preferences Page (Administration)" on
page 786.
5. Click Save.
Note: If a user is a member of multiple groups that have user profiles, only the
user profile most recently applied to the group takes effect for that user. A profile
directly assigned to a user supersedes a profile assigned through group
membership. A user can only inherit a profile through group membership if that
user's profile is set to NoProfile.

Loftware Spectrum 3.0.1 User Guide 785


Configuring and Administering

User Preferences Page (Administration)


The following are options that can be included in a user profile on User Preferences and
except as noted may be configurable by users in the Preferences pane. Which preferences are
visible to and configurable by a user depend on the user profile applied to that user. By using a
user profile, an administrator can configure initial values for preferences and permit or restrict
customization by users.
Option Description
Name The name of a user profile that can be used to apply a configuration of preferences
to multiple users.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses,
square brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-
colons, and tildes. Additionally, the following characters are permitted but cannot
begin or end the name: spaces, double quotes, single quotes, hyphens,
underscores, periods, and grave accents. For letters, the case that you specify is
displayed, but case is ignored when Spectrum interprets a name.
Show Whether to display the value of a preference to users to whom a profile is applied.
This is an administrator option that appears only in user profiles.
: This preference is hidden from users.
: This preference is displayed to users.
Lock Whether to allow users to whom a profile is applied to customize a preference.
This option can be configured only in user profiles.
: A user cannot customize this preference for their account.
: A user can customize this preference for their account.
Note: Even if Spectrum is configured so that a Document Designer
cannot change a preference that controls what is initially displayed
when one logs in, one can still change what is displayed while
working in a session of Spectrum.

786 Loftware Spectrum 3.0.1 User Guide


Configuring User Profiles

General Preferences

Preference Description
Display The language used in the user interface of Spectrum. Options include the
Language following:
l English

l German

l French

l Spanish

l Simplified Chinese

l Traditional Chinese

l Portuguese (Brazilian)

l Japanese

Landing Page The page (top-level tab) that is displayed when users to whom the profile
is applied log in to Spectrum.
Home Folder Folder in Spectrum initially selected and expanded in the tree when
opening, saving, or printing.
Initial Label The label template or process that is initially loaded when users to whom
this profile is applied click Print.
Default Process The process used if users to whom this profile is applied do not select a
process when printing a label template from Print.
ReprintProcess The Reprint process used when users to whom this profile is applied click
Reprint in Status.
Change A button that displays a dialog box allowing a user to whom the profile is
Password applied to change his or her password for Spectrum.

Loftware Spectrum 3.0.1 User Guide 787


Configuring and Administering

Label/Document Preferences

These preferences control what is initially selected in Design when a Document Designer to
whom the profile is applied creates a new label template. However, even if these preferences are
locked down, the Document Designer can change what is displayed for the current session by
selecting options in Design.
Preference Description
Size The default size used when a user to whom this profile is applied produces a
label template.
Width The default horizontal span of the label template.
The unit of measure is as defined in Units under Design Preferences, or in
Design under Options > Units.
Height The default vertical span of the label template.
The unit of measure is as defined in Units under Design Preferences, or in
Design under Options > Units.
Shape The default appearance of the outside edge of the label canvas when creating
a new label template.
Orientation Sets the default direction objects are aligned on the label when creating a new
label template.
Document The default resolution in dots per inch for objects on the label.
DPI
Font The default type of font to be used in the label. The following options are
Category available.
TrueType
DPL1
IPL2
ZPL II3
Use Label Font Category
Note: If Use Label Font Category is selected, the default
type of font is whatever type was most recently used by that
user when creating a label template or reusable object.

1Datamax-O'Neil Programming Language, a printer control language.


2Intermec Printer Language, a printer control language.
3Zebra Programming Language II, a printer control language.

788 Loftware Spectrum 3.0.1 User Guide


Configuring User Profiles

Preference Description
New Whether to display the Create Label dialog box when creating a new label
Document template.
Dialog Box If Bypass and use my preferences is selected and if Size (or Width and
Height), Shape, Orientation, Document DPI, and Font Category are
configured in the user's preferences, then the dialog box is not displayed.
Otherwise, the dialog box is displayed.

Loftware Spectrum 3.0.1 User Guide 789


Configuring and Administering

Design Preferences

These preferences control what is initially displayed in Design when a Document Designer
creates or edits a label template. However, even if these preferences are locked down, the
Document Designer can change what is displayed for the current session by selecting options in
Design.
Preference Description
View Whether to initially display the Label View, Form View, or both. If displaying
both, they can be arranged side-by-side or stacked vertically.
Units The default unit of measure to be used to position and size objects in label
templates. Options include inches, cm, and mm.
Grid Whether to initially display an overlay grid to assist Document Designers with
aligning objects. The dots or lines of the grid are not displayed in printed
labels or in the forms displayed to Data Providers. The type of grid can be
configured in Grid Settings.
Align to Whether to initially force the top left corner of each object to align with the
Grid nearest alignment overlay dot or intersection of lines. Whether the grid is
used can be configured in Grid.
Grid The type of alignment overlay. Options include Dot, Line, Dotted Line, and
Settings Dashed Line.
The dots or lines of the grid are not displayed in printed labels or in the forms
displayed to Data Providers. Whether the grid is used can be configured in
Grid.

790 Loftware Spectrum 3.0.1 User Guide


Configuring User Profiles

Preference Description
Design What data to show in fields when displaying a label template or a reusable
Data object in Design. This option affects what is displayed in the Label view and
Form view in Design, as well as what is displayed when you preview or print
a label in Design. More specifically, this option affects what is displayed in
text fields, barcode fields, and variable image fields.
l Default Value: The values specified in the Default Value property

for each field are used.


l Placeholder: The data used for each field is placeholder data
1
provided by Spectrum.
2
l Live Data Set: If configured, values from a live data set obtained

from a Database data source, an Alternate data source, or a Date/Time


data source are used. You can also add entries to the data set manually.
Tip: If the Default Value field or the value from a live data set
is empty or contains only a space and that option is selected,
then a placeholder value is displayed in the Label view or Form
view in Design. No visible indication of the field is displayed
when you preview or print in Design.
For more information, see "Select Data to Display in Design" on page 63.
Label Font Default font to be used in Label View and on printed labels. The available
options are restricted by the Font Category selected.
Label Font For text in Label View and on printed labels, the default size of text in points.
Size This property may not be used by some fonts.
Form Font Default font to be used in Form View and in forms displayed to Data
Providers.
Form Font For text in Form View and in forms displayed to Data Providers, the default
Size size of the text in points. This property may not be used by some fonts.

1For a Variable Text field, the series of digits 1234567890, repeated until the maximum number of characters allowed for the field is
displayed. For a barcode field, a sample barcode that adheres to the specified properties. For an image field, a sample image.
Whether placeholder data is used in Design is controlled by the selection for Design Data.
2A collection of data (names and values) that was retrieved from a data source and is specific to a label template or a reusable
object. A data set can be used to populate fields displayed in Design, in a preview, and when test printing.

Loftware Spectrum 3.0.1 User Guide 791


Configuring and Administering

Print Preferences

These preferences control the default options when printing from Print. However, even if these
options are locked down, a user can change printing options for the current session on Print.
Preference Description
Default The device 1 used unless the user selects a different device at print time.
Device
Clear fields Whether to automatically reset all values entered in the form for on-demand
after print after printing occurs.
successful
print
Navigation Whether the Documents Tree is displayed in Print.
Panel Show: The tree is displayed, but the user can click a control to hide it.
Hide: The tree is hidden, but the user can click a control to display it.
Hide and Lock: The tree is hidden and the user cannot display it.
Allow Print Whether the Preview button is displayed in Print.
Preview Note: To use Print Preview, a user should have a role with
Print permission for Documents, have Print permission for
Documents for folders containing label templates and images to
be previewed, and have Allow Print Preview selected in User
Preferences.
View Data Whether to allow a user to click the object title in Print and display the data
Map on map entries in a dialog box. For more information, see " View the Print Data"
PrintPage on page 505.

1A physical printer, print queue, or other target for output, such as an image file or a PDF file.

792 Loftware Spectrum 3.0.1 User Guide


Configuring User Profiles

Buttons

Note: If a user is a member of multiple groups that have user profiles, only the
user profile most recently applied to the group takes effect for that user. A profile
assigned to a user supersedes a profile assigned through group membership.

Button Effect in User Profiles Effect in Preferences


Save Save any changes to the user profile that Save any changes that you have
you are editing, but do not deploy those made to your preferences.
changes to users who have already been
assigned this profile. The preferences of
users already associated with this user
profile are not changed.
Cancel/Undo Discard any changes to the user profile that Discard any changes that you
Edits you are editing. The preferences of users have made to your preferences.
already associated with this user profile are
not changed.
Restore Reset all preferences in the user profile to Reset all of your preferences to
Defaults the default values for Spectrum. The the default values specified in
default values for Spectrum cannot be the user profile applied to you.
changed. These default values can be
changed in the user profile by an
administrator.

Loftware Spectrum 3.0.1 User Guide 793


Configuring and Administering

Managing Devices
LoftwareSpectrum supports multiple printing options, including native support for specific
device models, device family drivers, devices directly connected to the
SpectrumApplicationServer, and remote devices via SpectrumRemotePrint. You can also
create a generic driver that outputs an XML file for use with unsupported devices or devices
with a proprietary printer language. In addition, you can configure Spectrum to pass a file
directly to a target device without the need to associate the file with a label template.
To provide broad device language support, LoftwareSpectrum uses family drivers. Each family
driver includes the options needed to support many different devices from the same
manufacturer.
If you select a specific model of device, only the options relevant to that model are displayed.
This approach can help ensure that you do not select options not supported by the device.
If you select Family Driver for the Family, you can view all options for all devices in the
family. However, some options may not be supported by some devices. By using a family driver,
you can print a label on multiple models of devices as long as you ensure that the devices
support the same resolution.
Note: Device groups can contain only one device.

Note: Device names are case sensitive.

Note: Loftware Spectrum encodes print data using UTF-8. Check your device
firmware to ensure that it supports UTF-8. Older devices may not support this
encoding. The effect of printing labels to unsupported devices is that characters
above ASCII 127 may not be handled correctly on printed labels.

Note: In a multi-site deployment1 of Spectrum, device connections can be


created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.

Connection Types
Spectrum supports the following connection types.
l TCP/IP, including standard TCP/IP protocol and remotespooler(LPR) connection via
wired or wireless connection
l Spooler, for use with a server device connection
l File, for use with a print-to-PDF device connection, print-to-image device connection, or
to create an XML file

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

794 Loftware Spectrum 3.0.1 User Guide


Managing Devices

l Email, for use with a print-to-PDF device connection or a print-to-image device


connection
l USB, for use with a USB port connection
l QCPL, for use with a QuickLabel device connection

Loftware Spectrum 3.0.1 User Guide 795


Configuring and Administering

Add a Device
To configure a new device connection, use one of the following procedures.

Note: In a multi-site deployment1 of Spectrum, device connections can be


created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

796 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Create a TCP/IP Device Connection

You can configure Spectrum to print to a device that is accessible to the


SpectrumApplicationServer via TCP/IP. Alternatively, if the device is not accessible to the
SpectrumApplicationServer and if a Remote Site has been defined for that computer, then you
can configure Spectrum to print to a device that is accessible to the Remote Site via TCP/IP.
Note: In a multi-site deployment1 of Spectrum, device connections can be
created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.
To create a new TCP/IP device connection, use this procedure.
1. Click Device Management.
2. Click File > New > Device or click the New Device button in the toolbar to create
a new device.
3. Make the following selections in the dialog box.
a. Select a Family other than Server.
b. Select a Model other than Image or PDF.
If your model of device is not listed
For Family select Family Driver, and for Model select an appropriate value
based on the device brand and printer control language.
Description Model
cab device cab
Datamax-O'Neil device or device using DPL2 DPL
Intermec device using Fingerprint language or Direct Protocol FP/DP
(FP/DP3)
Intermec device using IPL4 IPL
SATO device or device using SBPL5 SBPL
Zebra device or device using ZPL II6 ZPL II
c. Click OK.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.
2Datamax-O'Neil Programming Language, a printer control language.
3Fingerprint/Direct Protocol. Intermec Fingerprint is a programming language for printer applications. Intermec Direct Protocol is
a label layout language used by Fingerprint.
4Intermec Printer Language, a printer control language.
5SATO Barcode Program Language, a programming language for communication between a computer and a printer.
6Zebra Programming Language II, a printer control language.

Loftware Spectrum 3.0.1 User Guide 797


Configuring and Administering

4. In the Connection section, for Connection Type select TCP/IP and configure
settings. The available connection types depend on the family and model selected. For
more information, see " TCP/IP Connection Type" on page 845.
a. If the device is not accessible to the SpectrumApplicationServer via TCP/IP, for
Remote Site select the Remote Site from which the device is accessible via
TCP/IP. Otherwise, no Remote Site is needed.
b. For IP Address, enter the IP address or DNS name for the device.
c. If a field for Protocol is displayed, select Standard.
5. In the Options, Media, and other sections, configure device family-specific options. For
more information, see " Device Driver Options" on page 858.
6. In the Properties pane, enter a Description of the device.
7. Click File > Save or click the Save button in the toolbar and enter a Device Group
Name in the Save Device As dialog box.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

798 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Create a Print-to-PDF Device Connection

You can configure Spectrum to send output to a PDF file.


Note: In a multi-site deployment1 of Spectrum, device connections can be
created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.
To create a device connection to allow you to print to a PDF file, use this procedure.
1. Click Device Management.
2. Click File > New > Device or click the New Device button in the toolbar to create
a new device.
3.
Make the following selections in the dialog box.
a. For Family, select Family Driver.
b. For Model, select PDF.
c. Click OK.
4. In the Connection section, for the Connection Type select File or Email and
configure settings. For more information, see " File Connection Type (Print to PDF,
Image, or XML)" on page 847 or " Email Connection Type (Send as PDF or Image)" on
page 848.
a. If you selected File, change the File Path to the location on the server where you
want the PDF files stored.
Best Practice
Use a UNC path such as \\Server\SharedFolder. Mapped drives are
not supported.
b. If you selected Email, provide credentials for connecting to an SMTP mail server
and configure the format for email messages.
5. In the Options section, configure device options. For more information, see " Options
for PDF Devices" on page 969.
6. In the Properties pane, enter a Description of the device.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

Loftware Spectrum 3.0.1 User Guide 799


Configuring and Administering

7. Click File > Save or click the Save button in the toolbar and enter a Device Group
Name in the Save Device As dialog box.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

800 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Create a Print-to-Image Device Connection

You can configure Spectrum to send output to an image file.


Note: In a multi-site deployment1 of Spectrum, device connections can be
created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.
To create a device connection to allow you to print to an image file, use this procedure.
1. Click Device Management.
2. Click File > New > Device or click the New Device button in the toolbar to create
a new device.
3.
Make the following selections in the dialog box.
a. For Family, select Family Driver.
b. For Model, select Image.
c. Click OK.
4. In the Connection section, for the Connection Type select File or Email and
configure settings. For more information, see " File Connection Type (Print to PDF,
Image, or XML)" on page 847 or " Email Connection Type (Send as PDF or Image)" on
page 848.
a. If you selected File, change the File Path to the location on the server where you
want the image files stored.
Best Practice
Use a UNC path such as \\Server\SharedFolder. Mapped drives are
not supported.
b. If you selected Email, provide credentials for connecting to an SMTP mail server
and configure the format for email messages.
5. In the Options section, configure device options. For more information, see " Options
for Image Devices" on page 968.
6. In the Properties pane, enter a Description of the device.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

Loftware Spectrum 3.0.1 User Guide 801


Configuring and Administering

7. Click File > Save or click the Save button in the toolbar and enter a Device Group
Name in the Save Device As dialog box.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

802 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Create a Server Spooler Connection

You can configure Spectrum to spool to a device queue for a device that is directly connected to
the a SpectrumApplicationServer by a wired or wireless connection. The device may be
connected to the server by USB port, parallel port, serial port, or other means. Alternatively, if
the device is connected to a computer other than the SpectrumApplicationServer and if a
Remote Site has been defined for that computer, then you can configure Spectrum to spool to a
device queue for a device connected to the Remote Site.
Note: In a multi-site deployment1 of Spectrum, device connections can be
created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.
To create a new spooler connection for a device directly connected to a
SpectrumApplicationServer, use this procedure.
1. Click Device Management.
2. Click File > New > Device or click the New Device button in the toolbar to create
a new device.
3.
Make the following selections in the dialog box.
a. For Family, select Server.
b. For Model, select Spooler.
c. Click OK.
4. In the Connection section, for the Connection Type select Spooler.
a. If the device is connected to a computer other than the
SpectrumApplicationServer, for Remote Site select the Remote Site associated
with that computer. Otherwise, no Remote Site is needed.
b. For Spooler Name, select a device.
5. In the Options section, configure device options. For more information, see " Options
for Server Spooler Device Drivers" on page 974.
6. In the Properties pane, enter a Description of the device.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

Loftware Spectrum 3.0.1 User Guide 803


Configuring and Administering

7. Click File > Save or click the Save button in the toolbar and enter a Device Group
Name in the Save Device As dialog box.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

804 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Create a USB Device Connection

You can configure Spectrum to print to a device that is accessible to the


SpectrumApplicationServer via USB. Alternatively, if the device is not accessible to the
SpectrumApplicationServer and if a Remote Site has been defined for that computer, then you
can configure Spectrum to print to a device that is accessible to the Remote Site via USB.
Note: In a multi-site deployment1 of Spectrum, device connections can be
created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.
To create a new USB device connection, use this procedure.
1. Click Device Management.
2. Click File > New > Device or click the New Device button in the toolbar to create
a new device.
3. Make the following selections in the dialog box.
a. Select a Family other than Server.
b. Select a Model other than Image or PDF.
If your model of device is not listed
For Family select Family Driver, and for Model select an appropriate value
based on the device brand and printer control language.
Description Model
cab device cab
Datamax-O'Neil device or device using DPL2 DPL
Intermec device using Fingerprint language or Direct Protocol FP/DP
(FP/DP3)
Intermec device using IPL4 IPL
SATO device or device using SBPL5 SBPL
Zebra device or device using ZPL II6 ZPL II
c. Click OK.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.
2Datamax-O'Neil Programming Language, a printer control language.
3Fingerprint/Direct Protocol. Intermec Fingerprint is a programming language for printer applications. Intermec Direct Protocol is
a label layout language used by Fingerprint.
4Intermec Printer Language, a printer control language.
5SATO Barcode Program Language, a programming language for communication between a computer and a printer.
6Zebra Programming Language II, a printer control language.

Loftware Spectrum 3.0.1 User Guide 805


Configuring and Administering

4. In the Connection section, for Connection Type select USB and configure settings.
The available connection types depend on the family and model selected. For more
information, see " USB Connection Type" on page 850.
a. If the device is not accessible to the SpectrumApplicationServer via USB, for
Remote Site select the Remote Site from which the device is accessible via USB.
Otherwise, no Remote Site is needed.
b. For USB Port, click the drop-down list and select the device.
5. In the Options, Media, and other sections, configure device family-specific options. For
more information, see " Device Driver Options" on page 858.
6. In the Properties pane, enter a Description of the device.
7. Click File > Save or click the Save button in the toolbar and enter a Device Group
Name in the Save Device As dialog box.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Note: For USB devices connected to Linux operating systems:
l To allow Spectrum to print to USB devices, you must add the Loftware
Spectrum user "spectrum" that will print to the device to the "lp" group in
Linux.
l If you move a previously configured USB device to a different USB port,
review the device in Device Management to verify that the correct USB
Port is selected, and then click Save.

Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

806 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Create a RemoteSpooler(LPR) Connection

By using Line Printer Remote (LPR) protocol, you can configure Spectrum to spool to a print
queue that is directly connected to a client computer by a wired or wireless connection. The
device may be connected to the client computer by USB port, parallel port, serial port, or other
means. Alternatively, if the device is not accessible to the SpectrumApplicationServer and if a
Remote Site has been defined for that computer, then you can configure Spectrum to print to a
device that is accessible to the Remote Site via LPR protocol.
Note: Before you can use a remotespooler(LPR) connection with Spectrum, you
must configure the client computer to support such connections. For more
information, see "Requirements for Spectrum Client Computers" on page 47.

Note: In a multi-site deployment1 of Spectrum, device connections can be


created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.
To create a new remotespooler(LPR) connection, use this procedure.
1. Click Device Management.
2. Click File > New > Device or click the New Device button in the toolbar to create
a new device.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

Loftware Spectrum 3.0.1 User Guide 807


Configuring and Administering

3.
Make the following selections in the dialog box.
a. Select a Family other than Server.
b. Select a Model other than Image or PDF.
If your model of device is not listed
For Family select Family Driver, and for Model select an appropriate value
based on the device brand and printer control language.
Description Model
cab device cab
Datamax-O'Neil device or device using DPL 1 DPL
Intermec device using Fingerprint language or Direct Protocol FP/DP
(FP/DP ) 2
Intermec device using IPL3 IPL
SATO device or device using SBPL4 SBPL
Zebra device or device using ZPL II5 ZPL II
c. Click OK.
4. In the Connection section, for Connection Type select TCP/IP and configure
settings. For more information, see " TCP/IP Connection Type" on page 845.
a. If the device is not accessible to the SpectrumApplicationServer via LPR
protocol, for Remote Site select the Remote Site from which the device is
accessible via LPR protocol. Otherwise, no Remote Site is needed.
b. For IP Address, enter the IP address or DNS name of the client computer to
which the device is connected. Do not use the generic name localhost.
c. For Protocol, select LPR. The IP Port is automatically changed to 515 and must
not be altered.
d. For LPR Queue, enter either the device name or the share name for the device.
(Sharing the device is not required.) This field is not case-sensitive.
e. Leave the Raw LPR check box selected. Clearing this option would allow the
operating system driver to alter the print stream, which could have unpredictable
results.
f. Optional: For Document Name, you can enter a string that can include variables
to format how print jobs from this device connection are identified in the
Windows Server print queue. This option does not affect what appears on the
printed label. For more information, see " Dynamic Field Values" on page 855.

1Datamax-O'Neil Programming Language, a printer control language.


2Fingerprint/Direct Protocol. Intermec Fingerprint is a programming language for printer applications. Intermec Direct Protocol is
a label layout language used by Fingerprint.
3Intermec Printer Language, a printer control language.
4SATO Barcode Program Language, a programming language for communication between a computer and a printer.
5Zebra Programming Language II, a printer control language.

808 Loftware Spectrum 3.0.1 User Guide


Managing Devices

5. In the Options, Media, and other sections, configure device family-specific options. For
more information, see " Device Driver Options" on page 858.
6. In the Properties pane, enter a Description of the device.
7. Click File > Save or click the Save button in the toolbar and enter a Device Group
Name in the Save Device As dialog box.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
8. In Control Panel in Windows or Windows Server, ensure that the driver used by the
device is Windows Generic/Generic Text Spooler.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Loftware Spectrum 3.0.1 User Guide 809


Configuring and Administering

Create a Generic Device Connection

If your device is currently unsupported in Spectrum, you can define and create a basic device
driver that allows sending a print stream or an image to the device. The output from a generic
driver is XML that can be sent to a printer or saved to a file, and allows for writing XSLTs to
create the desired print stream.
A sample generic driver XSL file is included in Spectrum. To see the sample XSL file, enter http://spectrum-server:
in the address field of your browser, where spectrum-server is the name of the server hosting
Spectrum for your organization and genericDriverSample.xsl is case sensitive.
Note: In a multi-site deployment1 of Spectrum, device connections can be
created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.
To create a new generic device connection, use this procedure.
1. Click Device Management.
2. Click File > New > Device or click the New Device button in the toolbar to create
a new device.
3.
Make the following selections in the dialog box.
a. For Family, select Family Driver.
b. For Model, select Generic.
c. Click OK.
4. In the Connection section, for Connection Type select File and configure settings. For
more information, see " File Connection Type (Print to PDF, Image, or XML)" on page
847.
5. Change the File Path to the location on the server where you want the XML files stored.
Best Practice
Use a UNC path such as \\Server\SharedFolder. Mapped drives are not
supported.
6. In Options, Advanced, and Custom Commands, configure the options. For more
information, see "Generic Device Driver" on page 964.
7. In the Properties pane, enter a Description of the device.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

810 Loftware Spectrum 3.0.1 User Guide


Managing Devices

8. Click File > Save or click the Save button in the toolbar and enter a Device Group
Name in the Save Device As dialog box.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Loftware Spectrum 3.0.1 User Guide 811


Configuring and Administering

Create a QCPL Device Connection

You can configure Spectrum to print to a device that is accessible to the


SpectrumApplicationServer via TCP/IP. Alternatively, if the device is not accessible to the
SpectrumApplicationServer and if a Remote Site has been defined for that computer, then you
can configure Spectrum to print to a device that is accessible to the Remote Site via TCP/IP.
Note: In a multi-site deployment1 of Spectrum, device connections can be
created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.
To create a new QCPL device connection, use this procedure.
1. Click Device Management.
2. Click File > New > Device or click the New Device button in the toolbar to create a
new device.
3. Make the following selections in the dialog box.
a. For Family select QuickLabel.
b. For Model select Kiaro! or QL-111.
c. Click OK.
4. In the Connection section, for Connection Type select QCPL and configure settings.
The available connection types depend on the family and model selected. For more
information, see "QCPL Connection Type" on page 852.
a. If the device is not accessible to the SpectrumApplicationServer via QCPL, for
Remote Site select the Remote Site from which the device is accessible via
QCPL. Otherwise, no Remote Site is needed.
b. For IP Address, enter the IP address or DNS name for the device.
c. For IP Port, enter 50000.
d. For Secondary Port, enter 50001.
e. If a field for Protocol is displayed, select Standard. To use an LPR protocol, see
" Create a RemoteSpooler(LPR) Connection" on page 807.
5. In the Options, Media, and other sections, configure device family-specific options. For
more information, see " Device Driver Options" on page 858.
6. In the Properties pane, enter a Description of the device.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

812 Loftware Spectrum 3.0.1 User Guide


Managing Devices

7. Click File > Save or click the Save button in the toolbar and enter a Device Group
Name in the Save Device As dialog box.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Loftware Spectrum 3.0.1 User Guide 813


Configuring and Administering

Create a Pass Through Device Connection

You can configure Spectrum to pass an external file directly to a target device without the need
to associate the file with a label template by using a Pass Through device connection. A Pass
Though device connection should only be used when the target device supports native printing
for the file type.
A Pass Through device can be accessible to the SpectrumApplicationServer via TCP/IP, USB,
or remote spooler(LPR). Alternatively, if the device is not accessible to the
SpectrumApplicationServer and if a Remote Site has been defined for that computer, then you
can configure Spectrum to print to a device that is accessible to the Remote Site via TCP/IP,
USB, or LPR protocol.
If you have an existing PCL1device configured in Spectrum under the Family Driver, you can
configure the device to support pass through files rather than creating a Pass Through device
connection. Open the device in Device Management, click the Advanced tab, and then
select the appropriate file types under Pass Through File Types.
Note: In a multi-site deployment2 of Spectrum, device connections can be
created only at headquarters. They can be replicated to facilities by using
synchronization, and they can be changed at facilities if allowed by the
configuration.
To create a new Pass Through device connection, use this procedure.
1. Click Device Management.
2. Click File > New > Device or click the New Device button in the toolbar to
create a new device.
3. Make the following selections in the dialog box:
a. For Family, select Family Driver.
b. For Model, select Pass Through.
c. Click OK.
4. In the Connection section, for Connection Type select TCP/IP or USB and
configure settings. For more information, see " TCP/IP Connection Type" on page 845
or " USB Connection Type" on page 850.
Note: If the device is not accessible to the SpectrumApplicationServer via
TCP/IP or USB, for Remote Site select the Remote Site from which the
device is accessible via TCP/IP or USB. Otherwise, no Remote Site is
needed.
5. In the Options section, under Pass ThroughFile Types, select the types of files that
the device supports printing natively. You must select at least one file type.

1Printer Command Language, a printer control language from Hewlett-Packard.


2A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

814 Loftware Spectrum 3.0.1 User Guide


Managing Devices

6. In the Properties pane, enter a Description of the device.


7. Click File > Save or click the Save button in the toolbar and enter a Device Group
Name in the Save Device As dialog box.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.

After you create a Pass Through device connection, to print external files you need a method of
specifying the file to print and a method of sending the print job. For more information, see"
Print External Files" on page 1202.

Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Loftware Spectrum 3.0.1 User Guide 815


Configuring and Administering

Importing Multiple Devices

To import the information for multiple devices into Spectrum, you must first create a file (in
CSV format) that contains the option names and associated values for your devices. The internal
(database) names for these device options vary from the names used in the user interface in most
cases. For information about matching device option names to the names used in the
import/export file, see " Import/Export Names" on page 827.
Note: The import/export feature does not support all the available device options.
While an import file can be created by assembling the common and family-specific internal
option names, the most practical method of creating this file is by creating model devices and
exporting the settings from Device Management in Spectrum.
To import multiple devices into Spectrum, use this procedure.
1. If you do not have existing devices in Spectrum, follow the instructions in " Add a
Device" on page 796 to create a model device for the devices you will be importing.
Repeat this step for each unique device family you will be importing, being sure to set
the options appropriately for your devices.
2. Follow the instructions in " Export Devices" on page 816 to create an export file that
contains the information about your devices.
3. Add a row to the file for each of the devices you want to add to Spectrum. At a
minimum, you must add information for the following fields:
n NAME - Device Group Name
n FOLDER - Spectrum folder where the device should be saved
n FAMILY - The printer language grouping for the device
n MODEL - The printer model being added
n DESCRIPTION - Text that describes the device or its purpose
n IPADDRESS - The network location of the device
4. Change or add the option values as needed for your devices.
5. Follow the instructions in " Import Devices" on page 817 to import your devices into
Spectrum.
Export Devices

You can extract the option settings for all your devices by exporting a device information file
from Device Management.
A file in the same format (CSV) can be used to create multiple devices in Loftware Spectrum
simultaneously. You can start this file by exporting the information for your existing devices
using the Export function in Device Management.
To export a device information file from Loftware Spectrum, use the following procedure.
1. Select Device Management.
2. Click File > Export.

816 Loftware Spectrum 3.0.1 User Guide


Managing Devices

3. To select the Spectrum folder from which to export devices, click next to the
Export Folder field.
4. Select the folder from the Select Folder dialog.
5. Click Include subfolders to also search child folders of the selected folder for devices.
All devices within the selected folders will be exported.
6. Click OK, and then click OK again when the Export dialog appears.
7. Select a location to save your file, and click Save.
You have created a CSV file that contains the options and values for the devices you have
selected. For information about matching device option names to the names used in the
import/export file, see " Import/Export Names" on page 827.
Example Export File

Import Devices

You can create multiple devices in Loftware Spectrum simultaneously by creating a device
import file that sets the options for the devices and then importing that file into Spectrum.
Note: To add printers to Spectrum in this way, you must have Create and Write
permissions for Device Groups.
To use an import file to import device information, you must first create the file. For more
information, see " Importing Multiple Devices" on page 816.
To import the file into Loftware Spectrum, use the following procedure.
1. Select Device Management.
2. Click File > Import.
3. In the Select Import File dialog, click Browse to select the file you created.
4. Set the behavior if the import process encounters a device that already exists from If
device exists.
a. Select Ignore to do nothing, or retain the settings for the existing device.
b. Select Update to change the settings of the existing device based to the settings
in the CSV file.
c. Select Fail to stop the import process if a duplicate device is found.
5. Select Create folders to add folders based on the setting in the FOLDER column in the
CSV file.
6. Click OK.

Loftware Spectrum 3.0.1 User Guide 817


Configuring and Administering

The new devices are activated and started. Devices may not be valid if required settings are
missing or not valid.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

818 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Categorize a Device
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
To assign a tag to a device in Device Management, use this procedure.

1. In Device Management, click File > Open or click the Open button in the
toolbar.
2. In the Open dialog box, select a device and then click OK.
3. In the right column, click the Tags title bar to expand the pane.
4. Perform one or more of the following actions:
n To add a tag to the object, click . In the Add Tags dialog box, select a
category and a value for the tag, and then click OK.
Note: The list of values available is dependent on the category
selected.
n To change the value of a tag that has been assigned to the object, click the row for
that tag, and then click . Select a value for the tag, and then click OK.
n To remove a tag from the object, click the row for that tag, and then click .
When prompted, click Yes to delete the tag.
Tip: Deleting a tag from a device does not delete the tag category
from Spectrum. You can add a new tag to the device and select that
same category again.

5. Click File > Save or click the Save button in the toolbar.
Built-in Tag Category: Source

A built-in tag category named Source is included with Spectrum. It is designed for use in a tag
that characterizes the origin of an object. If an object supports tags, then a tag with a category of
Source and a value of Spectrum is automatically assigned to it the first time that the object is
saved.
Value Purpose
System The object was built in to Spectrum.
LPS The object was created in Loftware Print Server (LPS) and was migrated to
Spectrum.
Spectrum The object was created in Spectrum.
Unknown The origin of the object is unknown.

Loftware Spectrum 3.0.1 User Guide 819


Configuring and Administering

Delete a Device
You can delete a device in Spectrum.
1. Click Device Management.
2. Click File > Open or click the Open button in the toolbar.
3. In the Open dialog box, select a device and click OK.
4. Click File > Delete.
The device is removed from your Spectrum environment.
Tip: You can also delete a device from within an Open dialog box or from within
the All Devices pane by right-clicking the device and selecting Delete.

820 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Supported Printers
LoftwareSpectrum supports printers from a variety of manufacturers. For a list of supported
printers, in Spectrum click Device Management, click Add Device, select a Family, and then
click Model to view the list of supported models. The printer models supported may vary with
the version of Spectrum.
If your device is not supported, you may define and create your own device driver that allows
sending a print stream or image to the device. This involves writing XML to create the desired
print stream. For more information, see " Create a Generic Device Connection" on page 810.

Loftware Spectrum 3.0.1 User Guide 821


Configuring and Administering

Remote Printing with SpectrumRemotePrint


Remote printing is the act of printing a label to a device in an environment where the device
cannot connect to the SpectrumApplicationServer by ordinary means. In such situations, the
device cannot connect to the SpectrumApplicationServer via TCP/IP connection, server
spooler connection, or remote spooler (LPR) connection.
SpectrumRemotePrint, via the Remote Print Agent1, allows Spectrum to support devices
connected to a remote computer 2 while maintaining all of the device configuration within
Spectrum. A Remote Site 3 object in Spectrum represents the location of a remote computer.
The Remote Print Agent can support both Spectrum Native devices and Windows devices,
either directly connected to the remote computer, connected via TCP/IP, or connected via LPR
protocol. For example, you can use remote printing to print to a device that is physically
connected to a computer outside your WAN.
Within Spectrum, a Device Manager 4 or an administrator is required to configure any devices
using SpectrumRemotePrint. A Device Manager that is responsible for configuring devices for
use with SpectrumRemotePrint requires Read and Write permissions for Remote Sites and
Read and Write permissions for Device Groups in Spectrum.

The Remote Print Agent


The Remote Print Agent is a client-side service that is installed on a remote computer. After the
Remote Print Agent is associated with a Remote Site, it connects to Spectrum to receive print
jobs, provide device and status information, and receive configuration information as needed.
After it is installed, all configuration and management of remote printing is provided through
Spectrum.

Getting Started with SpectrumRemotePrint


To configure SpectrumRemotePrint, the following tasks must be performed:
1. " Configure a Remote Site" on page 823 (Spectrum administrator or Device Manager)
2. "Install the Remote Print Agent" on page 824 (administrator of the remote computer)
3. "Add Devices for a Remote Site" on page 826 (Spectrum administrator or Device
Manager)

1A client-side service that must be installed on a remote computer so that it can communicate with the Spectrum Application
Server and permit printing. The Remote Print Agent connects to Spectrum to receive print jobs, provide device and status
information, and receive configuration information as needed.
2A computer outside of your LAN/WAN and on which the Remote Print Agent is installed. A remote computer has access to devices
that are not directly accessible by a Spectrum Application Server.
3An object in Spectrum that represents the location of a remote computer. The Remote Print Agent must be installed on the
remote computer so that it can communicate with the Spectrum Application Server and make devices at that location available in
Spectrum. Each Remote Site can communicate with only one Spectrum Application Server.
4A user who creates and configures devices in Spectrum. Some Device Managers may have permissions to manage Remote Sites.

822 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Configure a Remote Site

SpectrumRemotePrint enables users to print from Spectrum using devices that are not directly
accessible by a SpectrumApplicationServer. To use this approach, an administrator must
configure a Remote Sitean object in Spectrum that represents the location of a computer that
has wired, wireless, or network connections to devices that are not directly accessible by a
SpectrumApplicationServer. Each Remote Site can communicate with only one
SpectrumApplicationServer.
To configure a Remote Site, an administrator should use the following procedure.
1. Click Device Management.
2. Click File > New > Remote Site or click the New Remote Site button in the
toolbar to create a new Remote Site.
3.
For Maximum Number of Devices, enter a limit for the number of devices that the
administrator of the remote computer can create for use with Spectrum at the Remote
Site.
4. In the Properties pane, enter a description of the Remote Site.
5. Click File > Save or click the Save button in the toolbar.
6. Navigate to the folder in which you want to save the Remote Site, enter a name for the
Remote Site, and then click OK.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
After you save the Remote Site for the first time, the token for the Remote Print Agent is
displayed along with a button that allows administrators to download the Remote Print Agent.
Provide the administrator of the remote computer with the name of the Remote Site, and direct
that administrator to install the Remote Print Agent. For information about what the
administrator of the remote computer must do, see "Install the Remote Print Agent" on page
824.

Loftware Spectrum 3.0.1 User Guide 823


Configuring and Administering

Install the Remote Print Agent

SpectrumRemotePrint enables users to print from Spectrum using devices that are not directly
accessible by a SpectrumApplicationServer. After a Spectrum administrator configures a
Remote Site 1, an administrator of the remote computer 2 must install the Remote Print
Agent3 on the remote computer so that it can communicate with the
SpectrumApplicationServer and make those devices available in Spectrum.
Before You Begin: A Spectrum administrator must create a Remote Site for use
by for the Remote Print Agent and provide you with the name of the Remote Site.
For more information, " Configure a Remote Site" on page 823.

Note: The Remote Print Agent is supported for use only on computers running a
Windows Server or Windows operating system.
To install the Remote Print Agent, an administrator of the remote computer should use this
procedure.
1. In Spectrum, click Device Management.
2. Click File > Open or click the Open button.
3. In the left pane of the Open dialog box, click a folder to display the Remote Sites and
other objects within that folder. You can also double-click a folder to display subfolders.
4. In the middle pane, click the Remote Site that you want to open. You can also double-
click a subfolder to navigate to it. The right pane displays details and tag information
about the selected object.
Tip: If you do not know where to find a particular object, in the left pane
click the top-level folder, type part of the name of the object into the search
box, and click the Search button. Search results are displayed in the
middle pane. Note that only the folder selected in the left pane is searched.
5. Click OK. The Remote Site is displayed.
6. Make a note of the Token displayed for the Remote Site. You will require this token
when you install the Remote Print Agent.
7. Click Download to download the Loftware Spectrum Remote Print installer
(remotePrintAgent.exe).
8. Transfer the Loftware Spectrum Remote Print installer to the Remote Site computer.

1An object in Spectrum that represents the location of a remote computer. The Remote Print Agent must be installed on the
remote computer so that it can communicate with the Spectrum Application Server and make devices at that location available in
Spectrum. Each Remote Site can communicate with only one Spectrum Application Server.
2A computer outside of your LAN/WAN and on which the Remote Print Agent is installed. A remote computer has access to devices
that are not directly accessible by a Spectrum Application Server.
3A client-side service that must be installed on a remote computer so that it can communicate with the Spectrum Application
Server and permit printing. The Remote Print Agent connects to Spectrum to receive print jobs, provide device and status
information, and receive configuration information as needed.

824 Loftware Spectrum 3.0.1 User Guide


Managing Devices

9. On the Remote Site computer, double-click the installer file and follow the prompts in
the pop-up dialogs.
a. "You are installing Loftware Spectrum Remote Print. Do you want to continue?"
Click the Yes or No button.
b. "Do you want to install Loftware Spectrum Remote Print in the default location,
C:\Program Files\Loftware Remote Print?"
Click the Yes, No, or Cancel button.
A No response brings up a dialog for choosing a location.
c. "Enter the Loftware Spectrum URL."
Use the format https://<SpectrumApplicationServer>:<port>
For example: https://www.example.com:8080
d. "Enter the Loftware Spectrum Site Token."
Enter the Token associated with the Remote Site that you obtained from the
Remote Site page in Device Management.
e. "Enter the Remote Site Name you were provided for use with Loftware
Spectrum."
Enter the Remote Site name from the Remote Site page in Device Management
f. "Ready to install Loftware Spectrum Remote Print...Begin?"
Click the Yes or No button.
The Loftware Spectrum Remote Print service (lwsremote) is started automatically. A Device
Manager 1 or a Spectrum administrator must create devices and associate them with the Remote
Site. If you are responsible for creating devices, see " Create a TCP/IP Device Connection" on
page 797, " Create a Server Spooler Connection" on page 803, or " Create a RemoteSpooler
(LPR) Connection" on page 807.

1A user who creates and configures devices in Spectrum. Some Device Managers may have permissions to manage Remote Sites.

Loftware Spectrum 3.0.1 User Guide 825


Configuring and Administering

Add Devices for a Remote Site

A Device Manager 1 or a Spectrum administrator must create devices in Spectrum for use with
a Remote Site.
lIf creating devices in Spectrum for the Remote Site is the responsibility of a Spectrum
administrator, then the administrator must obtain from the administrator of the remote
computer 2 details about the printers or spoolers necessary to configure the devices in
Spectrum.
l If creating devices in Spectrum is a responsibility of an administrator of the remote

computer, then this user must have the permissions necessary to configure device groups
in Spectrum and at least Read permission for Remote Sites.
If you are responsible for adding devices, see " Create a TCP/IP Device Connection" on page
797, " Create a Server Spooler Connection" on page 803, or " Create a RemoteSpooler(LPR)
Connection" on page 807.

1A user who creates and configures devices in Spectrum. Some Device Managers may have permissions to manage Remote Sites.
2A computer outside of your LAN/WAN and on which the Remote Print Agent is installed. A remote computer has access to devices
that are not directly accessible by a Spectrum Application Server.

826 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Import/Export Names
You can import the information for multiple devices into Spectrum by creating a file in CSV
format that contains the option names and values for model device configurations. While an
import file can be created by assembling the common and family-specific internal option names,
the most practical method of creating this file is by creating model devices and exporting the
settings from Device Management in Spectrum.
The internal (database) names for device options vary from the names displayed in the user
interface in most cases. The following topics list the import/export names for supported device
options.
Note: The import/export feature does not support all the available device options.

Loftware Spectrum 3.0.1 User Guide 827


Configuring and Administering

Common Options for Import/Export File

This table lists the device options common to all device families as they appear in Device Management
with the corresponding import/export name that should be used when importing multiple
devices using a device import file.
Option Import/Export Name
Description DESCRIPTION
Device Group Name NAME
Family FAMILY
Force checked symbologies to print as images BARCODES_INSTR
Model MODEL
Physical location in Spectrum where the device is saved FOLDER
Text Box Overrun Mode TEXTBOX_OVERFLOW_RULE

828 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Connection Options for Import/Export File

This table lists the device connection options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Connection Options" on page
845.
Note: The import/export feature does not support all the available device options.

TCP/IP Connection Type

Option Import/Export Name


Connection Type CONNECTION_TYPE
Remote Site REMOTE_SITE
TCP Connection Setting Import/Export Name
IP Address IPADDRESS
IP Port PORT
Protocol PROTOCOL
LPR Queue LPR_QUEUE
Connection Attempt Timeout (ms) CONNECTION_TIMEOUT
Retry Wait Time (ms) RETRYWAITTIME
Fail Job on Connection Error JOB_FAIL_ON_ERROR
Job Retry Timeout (s) JOB_TIMEOUT
Advanced Connection Setting Import/Export Name
Force Extended Mode SET_FORCE_EXTENDED
Shared Network Printing CONNECTION_SHARING
Raw LPR LPR_FORMAT
Document Name LPR_DOCNAME
Miscellaneous Setting Import/Export Name
Restrict LPR Ports LPR_RESTRICT_PORTS

Loftware Spectrum 3.0.1 User Guide 829


Configuring and Administering

Device Options for Import/Export File

These topics list the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Device Driver Options" on page
858.
Note: The import/export feature does not support all the available device options.

Datamax-O'Neil (DPL) Option Names for Import/Export File

This table lists the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Device Driver Options" on page
858.

Tip: In addition to these, common options and connection options are also
supported. For more information, see "Common Options for Import/Export File"
on page 828 and "Connection Options for Import/Export File" on page 829.
The options in this table are those supported by import/export for DPL devices.
Option Import/Export Name
Device Resolution (dpi) SET_RESOLUTION
Present Distance SET_PRESENTDISTANCE
Column Offset SET_COLOFFSET
Row Offset SET_ROWOFFSET
Cutter Engaged SET_CUTTERENGAGED
Label Present SET_LABELPRESENT
Verifier SET_VERIFIER
Set Label Length SET_LABELLENGTH
Text Box Overrun Mode TEXTBOX_OVERFLOW_RULE
Media Option Import/Export Name
Supply Type SET_SUPPLY_TYPE
Print Speed (ips) SET_PRINTSPEED
Slew Rate (ips) SET_SLEWRATE
Backup Speed (ips) SET_BACKUPSPEED
Head Temperature SET_HEADTEMPERATURE
Advanced Option Import/Export Name
Memory Module SET_MEMORYMODULE

830 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option Import/Export Name


Clear Memory Module SET_CLEARMEMORYMODULE
Send Device Options SET_SENDOPTIONS
Custom Command Import/Export Name
Before Label SET_CUSTCMD_1
After Label SET_CUSTCMD_2
Miscellaneous Command Import/Export Name
USB Port USB_CONNECTION_ID
Generic Option Names for Import/Export File

This table lists the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Device Driver Options" on page
858.
Tip: In addition to these, common options and connection options are also
supported. For more information, see "Common Options for Import/Export File"
on page 828 and "Connection Options for Import/Export File" on page 829.
The options in this table are those supported by import/export for generic devices.
Option Import/Export Name
Include Print Parameters INCLUDE_PRINT_PARAMETERS
Include Device Options INCLUDE_DEVICE_OPTIONS
Include Format Data INCLUDE_FORMAT_DATA
Include Field Data INCLUDE_FIELD_DATA
Include Label Image INCLUDE_LABEL_IMAGE
Color Imaging IS_COLOR_IMAGING
Image Format IMAGE_FORMAT
Image Encoding IMAGE_ENCODING
Device Resolution (dpi) SET_RESOLUTION
Orientation SET_ORIENTATION
Advanced Option Import/Export Name
Zip Print Stream ZIP_LABELS
Transform XML with XSLT USE_XSLT
Path to XSL File XSL_PATH
Schema Version SCHEMA_VERSION
Custom Command Import/Export Name

Loftware Spectrum 3.0.1 User Guide 831


Configuring and Administering

Option Import/Export Name


Custom Command 1 SET_CUSTCMD_1
Custom Command 2 SET_CUSTCMD_2
Custom Command 3 SET_CUSTCMD_3
Custom Command 4 SET_CUSTCMD_4
Custom Command 5 SET_CUSTCMD_5
Miscellaneous Command Import/Export Name
Units SET_UNITS
Intermec FP/DP Option Names for Import/Export File

This table lists the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Device Driver Options" on page
858.
Tip: In addition to these, common options and connection options are also
supported. For more information, see "Common Options for Import/Export File"
on page 828 and "Connection Options for Import/Export File" on page 829.
The options in this table are common to Intermec Fingerprint/Direct Protocol (FP/DP)
devices. For information about device-specific options and connection options, see " Device
Driver Options" on page 858.
Option Import/Export Name
Device Resolution (dpi) SET_RESOLUTION
Start Adjust SET_STARTADJUST
Stop Adjust SET_STOPADJUST
X-Start SET_XSTART
Disable Print Key SET_DISABLEPRINTKEY
Ribbon Saver SET_RIBBONSAVER
Text Box Overrun Mode TEXTBOX_OVERFLOW_RULE
Media Option Import/Export Name
Media Type SET_MEDIA_TYPE
Print Speed (mm/s) SET_PRINT_RATE
Contrast SET_CONTRAST
Ribbon Constant SET_RIBBONCONSTANT
Ribbon Factor SET_RIBBONFACTOR
Advanced Option Import/Export Name

832 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option Import/Export Name


Send Device Options SET_SENDOPTIONS
Custom Command Import/Export Name
Before Label SET_CUSTCMD_1
After FPL Options SET_CUSTCMD_2
After Label SET_CUSTCMD_3
Miscellaneous Command Import/Export Name
Clip Option SET_CLIPOPTION
Enable Cutter SET_AUTOCUTTER
Feed Length SET_FEEDLENGTH
Format Number SET_FORMATNUMBER
Label Constant SET_LABELCONSTANT
Label Factor SET_LABELFACTOR
Label Present SET_LABELPRESENT
Supply Type SET_SUPPLY_TYPE
NeuraLabel Option Names for Import/Export File

This table lists the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Device Driver Options" on page
858.
Tip: In addition to these, common options and connection options are also
supported. For more information, see "Common Options for Import/Export File"
on page 828 and "Connection Options for Import/Export File" on page 829.
The options in this table are the options supported by import/export for NeuraLabel devices.
For information about these options, see " Device Driver Options" on page 858.
Option Import/Export Name
Label Gap LABEL_GAP
Text Box Overrun Mode TEXTBOX_OVERFLOW_RULE
Custom Command Import/Export Name
PJLHeader Command SET_CUSTCMD_1
Job Level Command SET_CUSTCMD_2
Page Level Command SET_CUSTCMD_3
PCL Option Names for Import/Export File

Loftware Spectrum 3.0.1 User Guide 833


Configuring and Administering

This table lists the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Device Driver Options" on page
858.
Tip: In addition to these, common options and connection options are also
supported. For more information, see "Common Options for Import/Export File"
on page 828 and "Connection Options for Import/Export File" on page 829.
The options in this table are those supported by import/export for PCL devices.
Option Import/Export Name
Device Resolution (dpi) SET_RESOLUTION
Print Orientation SET_PRINT_ORIENTATION
Output Tray SET_OUTPUT_TRAY
Page Size SET_PAGE_SIZE
Paper Source SET_PAPER_SOURCE
Paper Type SET_PAPER_TYPE
Duplex Mode SET_DUPLEX
Advanced Option Import/Export Name
Compression SET_COMPRESSION
Color Modes SET_COLOR_MODE
Font Option Import/Export Name
Downloaded Fonts SET_RECALLFONTLIST
TrueType Font Recall SET_RECALLTTFS
Custom Command Import/Export Name
Before Label SET_CUSTCMD_1
After Label SET_CUSTCMD_2
PDF Option Names for Import/Export File

This table lists the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Device Driver Options" on page
858.
Tip: In addition to these, common options and connection options are also
supported. For more information, see "Common Options for Import/Export File"
on page 828 and "Connection Options for Import/Export File" on page 829.
The options in this table are those supported by import/export for PDF devices.

834 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option Import/Export Name


Include Label as Image SET_DRIVERMODE
Text Box Overrun Mode TEXTBOX_OVERFLOW_RULE
Miscellaneous Command Import/Export Name
Authenticate EMAIL_ENABLE_AUTH
Body EMAIL_BODY
Create Directory CREATEDIRIFNOTEXIST
File Name Pattern FILENAMEPATTERN
File Path LABELUNC
From EMAIL_SENDER
Password EMAIL_PASSWORD
Server EMAIL_SERVERNAME
Server Port EMAIL_SERVER_PORT
Subject (Pattern) EMAIL_SUBJECT_PATTERN
To EMAIL_RECIPIENT
Username EMAIL_USERNAME
Intermec (IPL) Option Names for Import/Export File

This table lists the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Device Driver Options" on page
858.
Tip: In addition to these, common options and connection options are also
supported. For more information, see "Common Options for Import/Export File"
on page 828 and "Connection Options for Import/Export File" on page 829.
The options in this table are those supported by import/export for Intermec IPL devices.
Option: Label Control Import/Export Name
Device Resolution (dpi) SET_RESOLUTION
Top of Form SET_TOPOFFORM
Max Label Length SET_MAXLABELLENGTH
Retract Distance SET_LABELRETRACTDISTANCE
Skip Distance SET_SKIPDISTANCE
Label Rest Point SET_LABELRESTPOINT
Text Box Overrun Mode TEXTBOX_OVERFLOW_RULE
Option: Label Handling Import/Export Name

Loftware Spectrum 3.0.1 User Guide 835


Configuring and Administering

Option: Label Control Import/Export Name


Label Handling SET_LABELHANDLING
Cut Interval SET_CUTINTERVAL
Enable Label Retract SET_ENABLERETRACT
Feed After Print SET_FEEDAFTERPRINT
Media Option Import/Export Name
Print Speed (ips) SET_PRINTSPEEDINIPS
Head Temperature SET_HEADTEMPERATURE
Media Sensitivity SET_MEDIASENSITIVITY
Barcode Imaging Import/Export Name
Code 39 IMAGE_CODE39
Code 39 Full ASCII IMAGE_EXTCODE39
Code 93 IMAGE_CODE93
Code 93 Full ASCII IMAGE_EXTCODE93
Code 128 IMAGE_CODE128
DataMatrix IMAGE_DATAMATRIX
EAN-8 IMAGE_EAN8
EAN-13 IMAGE_EAN13
GS1 DataMatrix IMAGE_GS1DATAMATRIX
GS1-128 IMAGE_GS1128
Interleaved 2 of 5 IMAGE_INTERLEAVED2OF5
ITF-14 IMAGE_ITF14
MaxiCode IMAGE_MAXICODE
MicroPDF417 IMAGE_MICROPDF417
PDF417 IMAGE_PDF417
QR Code IMAGE_QRCODE
UPC-A IMAGE_UPCA
UPC-E IMAGE_UPCE6
Advanced Option Import/Export Name
Language SET_LANGUAGE
Image Bands SET_IMAGEBANDS
Format Number SET_FORMATNUMBER
Enable IBM Translation SET_ENABLEIBMTRANSLATION
Send Device Options SET_SENDOPTIONS
Use Direct Graphics SET_USEDIRECTGRAPHICS

836 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option: Label Control Import/Export Name


Custom Command Import/Export Name
Before Label SET_CUSTCMD_1
After IPL Options SET_CUSTCMD_2
After Label SET_CUSTCMD_3
Miscellaneous Command Import/Export Name
Supply Type SET_SUPPLY_TYPE
QuickLabel Option Names for Import/Export File

This table lists the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Device Driver Options" on page
858.

Tip: In addition to these, common options and connection options are also
supported. For more information, see "Common Options for Import/Export File"
on page 828 and "Connection Options for Import/Export File" on page 829.
The options in this table are those supported by import/export for QuickLabel devices.
Option Import/Export Name
Version QCPL_VERSION
Changed Fields CHANGED_FIELDS_SUPPORT
Image Bit Depth IMAGE_BIT_DEPTH
Image Byte Boundary IMAGE_BYTE_BOUNDARY
Alternate Threadpool ALTERNATE_THREADPOOL
ICM Directory ICM_DIRECTORY
Secondary Port SECONDARY_PORT_FIELD
Socket Read Timeout SOCKET_READ_TIMEOUT_FIELD
Media Option Import/Export Name
Auto Cutter IS_AUTO_CUTTER
Cut At Job End IS_CUT_AT_JOB_END
Gap Length GAP_LENGTH
Mark Length MARK_LENGTH
Advanced Option Import/Export Name
Image Regions IMAGE_REGIONS
Color Correct IS_COLOR_CORRECTED
Rendering Intent RENDERING_INTENT
Special Paper IS_SPECIAL_PAPER

Loftware Spectrum 3.0.1 User Guide 837


Configuring and Administering

SATO SBPL Option Names for Import/Export File

This table lists the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Device Driver Options" on page
858.
Tip: In addition to these, common options and connection options are also
supported. For more information, see "Common Options for Import/Export File"
on page 828 and "Connection Options for Import/Export File" on page 829.
The options in this table are those supported by import/export for SBPL devices.
Option Import/Export Name
Device Version SET_PRINTERVERSION
Device Resolution (dpi) SET_RESOLUTION
Vertical Reference Point SET_VERTICAL
Horizontal Reference Point SET_HORIZONTAL
Print Length SET_PRINTLENGTH
Enable Cutter SET_ENABLECUTTER
Print/Cut Offset SET_PRINTCUTOFFSET
Media Option Import/Export Name
Print Darkness SET_PRINTDARKNESS
Darkness Range SET_DARKNESSRANGE
Font Option Import/Export Name
TrueType Font Recall SET_RECALLTTFS
Font Mapping SET_REMAPFONTS
Barcode Imaging Option Import/Export Name
Force checked symbologies to print as images BARCODES_INSTR
Code 39 IMAGE_CODE39
Code 39 Full ASCII IMAGE_EXTCODE39
Code 93 IMAGE_CODE93
Code 93 Full ASCII IMAGE_EXTCODE93
Code 128 IMAGE_CODE128
DataMatrix IMAGE_DATAMATRIX
EAN-8 IMAGE_EAN8
EAN-13 IMAGE_EAN13
GS1 DataMatrix IMAGE_GS1DATAMATRIX
GS1-128 IMAGE_GS1128

838 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option Import/Export Name


Interleaved 2 of 5 IMAGE_INTERLEAVED2OF5
MaxiCode IMAGE_MAXICODE
MicroPDF417 IMAGE_MICROPDF417
PDF417 IMAGE_PDF417
UPC-A IMAGE_UPCA
UPC-E IMAGE_UPCE6
Advanced Option Import/Export Name
Memory Slot SET_MEMORYSLOT
Send Options SET_SENDOPTIONS
Custom Command Import/Export Name
Before Label SET_CUSTCMD_1
After Control Strings SET_CUSTCMD_2
After Label SET_CUSTCMD_3
Server Spooler Printer Option Names for Import/Export File

This table lists the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a
device import file. For information about these options, see " Device Driver Options" on page
858.

Tip: In addition to these, common options and connection options are also
supported. For more information, see "Common Options for Import/Export File"
on page 828 and "Connection Options for Import/Export File" on page 829.
The options in this table are those supported by import/export for server spooler devices.
Option Import/Export Name
Device Resolution (dpi) SET_RESOLUTION
Orientation SET_PRINT_ORIENTATION
Paper Size SET_PAPERSIZE
Paper Source SET_PAPERSOURCE
Text Box Overrun Mode TEXTBOX_OVERFLOW_RULE
Miscellaneous Command Import/Export Name
Spooler Name PRINTERNAME
Zebra (ZPL II) Option Names for Import/Export File

This table lists the device options as they appear in Device Management with the
corresponding import/export name that should be used when importing multiple devices using a

Loftware Spectrum 3.0.1 User Guide 839


Configuring and Administering

device import file. For information about these options, see " Device Driver Options" on page
858.
Tip: In addition to these, common options and connection options are also
supported. For more information, see "Common Options for Import/Export File"
on page 828 and "Connection Options for Import/Export File" on page 829.
The options in this table are those supported by import/export for ZPL II devices.
Option Import/Export Name
Device Resolution (dpi) SET_RESOLUTION
Label Top SET_LABELTOP
Print Mode SET_PRINTMODE
Cut Interval SET_CUTINTERVAL
Tear-off SET_TEAROFFADJUST
Backfeed SET_BACKFEED
Override Pause Count SET_PAUSE
Text Box Overrun Mode TEXTBOX_OVERFLOW_RULE
Media Option Import/Export Name
Media Type SET_MEDIA_TYPE
Stock Type SET_SUPPLY_TYPE
Print Speed (mm/s) SET_PRINT_RATE
Darkness SET_DARKNESS
Flip Label 180 Degrees SET_FLIPLABEL
Print Mirror Image of Label SET_MIRRORLABEL
Print Label as White on Black SET_REVERSEPRINT
Font Option Import/Export Name
Global Printing Engine SET_GLOBALPRINTINGENGINE
TrueType Font Recall SET_RECALLTTFS
Default Glyph SET_DEFAULTGLYPH
Bidirectional Text Layout SET_BIDIRECTIONALTEXT
Character Shaping SET_CHARACTERSHAPING
OpenType Table Support SET_OPENTYPETABLE
Barcode Imaging Option Import/Export Name
Force checked symbologies to print as images BARCODES_INSTR
Code 39 IMAGE_CODE39
Code 39 Full ASCII IMAGE_EXTCODE39

840 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option Import/Export Name


Code 93 IMAGE_CODE93
Code 93 Full ASCII IMAGE_EXTCODE93
Code 128 IMAGE_CODE128
DataMatrix IMAGE_DATAMATRIX
EAN-8 IMAGE_EAN8
EAN-13 IMAGE_EAN13
GS1 DataMatrix IMAGE_GS1DATAMATRIX
GS1-128 IMAGE_GS1128
Interleaved 2 of 5 IMAGE_INTERLEAVED2OF5
ITF-14 IMAGE_ITF14
MaxiCode IMAGE_MAXICODE
MicroPDF417 IMAGE_MICROPDF417
PDF417 IMAGE_PDF417
QR Code IMAGE_QRCODE
UPC-A IMAGE_UPCA
UPC-E IMAGE_UPCE6
Advanced Option Import/Export Name
Always Download Format SET_DOWNLOADFORMAT
Z64 Compression SET_Z64
Send Device Options SET_SENDOPTIONS
Custom Command Import/Export Name
Before Label SET_CUSTCMD_1
After ZPL Control Strings SET_CUSTCMD_2
Last Command Before ^PQ SET_CUSTCMD_3
Last Command After ^PQ SET_CUSTCMD_4
After Label SET_CUSTCMD_5
Miscellaneous Command Import/Export Name
Orientation SET_PRINT_ORIENTATION
ZPL Commands SET_ZPL

Loftware Spectrum 3.0.1 User Guide 841


Configuring and Administering

Device Management Page


Click Device Management at the top of the LoftwareSpectrum window to display options
for configuring devices and Remote Sites.

Menu Bar and Toolbar


The following commands are available from the toolbar or the menus in Device Management.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name: spaces,
double quotes, single quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum interprets a name.
File Menu Commands
Toolbar
Command Description
Icon
New Create a new device.
Device Note: In a multi-site deployment1 of Spectrum, device
connections can be created only at headquarters. They can
be replicated to facilities by using synchronization, and they
can be changed at facilities if allowed by the configuration.
New Create a new remote site.
Remote
Site
Open Open an existing device or remote site.
Close Close the device or remote site that you have displayed in Device
Management.
Close All Close all devices and remotes sites that you have open in Device
Management.
Save Save the displayed device or remote site.
Save As Save a copy of the displayed device or remote site under a different name.
Note: In a multi-site deployment2 of Spectrum, device
connections can be created only at headquarters. They can
be replicated to facilities by using synchronization, and they
can be changed at facilities if allowed by the configuration.

1A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.
2A configuration of a Spectrum environment that includes Spectrum instances located at different sites within the same WAN. In a
multi-site deployment, each Spectrum instance acts as either a headquarters or a facility.

842 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Toolbar
Command Description
Icon
Export Create a file in CSV format that contains all the option settings for the
devices configured in your system at a folder level that you select. For
more information, see " Importing Multiple Devices" on page 816.
Import Create devices based on option settings in a CSV format import file. For
more information, see " Importing Multiple Devices" on page 816.
Refresh Update the displayed data.

Delete Delete the device or remote site that you have displayed in Device
Management.
Edit Menu Commands
Toolbar
Command Description
Icon
Cancel/Undo Undo the most recent change to the device or remote site that
Edits you are editing.
Status Commands
Toolbar Icon Command Description
Device Status Open the Devices section in Status.

All Devices Tree


By default, the All Devices tree is hidden. You can display it by clicking the arrow button along
the left edge of the Device Management page. The All Devices tree displays folders, devices,
and Remote Sites that have been created. You can double-click an existing device or Remote
Site to open it. You can right-click a device or Remote Site to move or delete it.
Tip: You can move an object from one folder to another by dragging the object
from one folder and dropping it into another. Alternatively, you can right-click an
object, select Move to, and select a folder to which to move it.

Connection
The Connection section allows you to configure the connection for a device. This section is
displayed only after a Family and Model have been specified for the device, and those
selections determine the connection types available. Only options appropriate for the selected
connection type are displayed. For more information, see " Connection Options" on page 845.

Device Options and Device Model


The Options, Media, Fonts, Barcode Imaging, Detailed Status, Advanced, and Custom
Commands sections allow you to configure options that are specific to a particular device

Loftware Spectrum 3.0.1 User Guide 843


Configuring and Administering

family driver. The Options section is displayed only after a Family and Model have been
specified for the device. The options included and which sections are displayed depend on the
Family and Model selected.
For information about the options available for each device family driver, see " Device Driver
Options" on page 858.

Properties Pane
The following properties can be configured or viewed in the Properties pane when you view a
device or a Remote Site with LoftwareSpectrum.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name: spaces,
double quotes, single quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum interprets a name.
Option Description Notes
Device Group A unique name for this device. Required. Displayed only for a
Name device.
Remote Site A unique name for this Remote Site Required. Displayed only for a
Name site. remote site.
Description A description for this device or
remote site.

Service Management Pane


If your Spectrum environment is configured to support distributed services, the Service
Management pane allows you to configure failover of device group services between
SpectrumApplicationServers. These options are also available in the Service Management
pane in System Management.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

844 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Connection Options

The following device connection types may be available from the Connection section when
adding a device connection.
Note: Not all connection types are available to all device families and models. The
options available are dependent on the type of connection and device family
selected.

TCP/IP Connection Type

When configuring a device connection, the following options are available in the Connection
section when you select TCP/IP as the connection type.
Note: Not all connection types are available to all device families and models. The
options available are dependent on the type of connection and device family
selected.

Option Description Values


Remote A computer that has wired, wireless, or network connections to Remote
Site devices that are not directly accessible by a Sites
SpectrumApplicationServer. The Remote Print Agent must be
installed on the Remote Site so that it can communicate with
the SpectrumApplicationServer and make those devices
available in Spectrum. Each Remote Site can communicate with
only one SpectrumApplicationServer.
Note: A Remote Site must run a Windows Server
or Windows operating system.

TCP Connection Settings


Option Description Values
IP The IP address or DNS name of the networked device. For a local IP address
Address device not accessible by IP address, the IP address or DNS name of or DNS
the computer to which it is connected. name
Note: If using LPR Protocol, do not use the generic
name localhost in place of the IP address or DNS
name.
IP Port The IP port number of the networked device. For a local device, Valid Port
515. Number
Protocol Select Standard for a device connected via standard TCP/IP. Select Standard
LPR for a device accessible only via USB, parallel, or serial port. or LPR

Loftware Spectrum 3.0.1 User Guide 845


Configuring and Administering

Option Description Values


LPR The device name or the share name for the device. Sharing the Device
Queue device is not required. This field is not case-sensitive. name or
This option is available only if the Protocol is LPR. share
name

Connection Timeout Settings


Option Description Values
Connection The length of time to attempt to connect to a device. If a Time in
Attempt connection is not achieved, then Spectrum waits for the length milliseconds
Timeout of time specified in Retry Wait Time before attempting the
connection again.
Retry Wait The length of time to wait for a device connection error to be Time in
Time resolved before retrying the connection. milliseconds
Fail Job on If a connection error occurs, whether or how soon a print job Never
Connection will be failed. Immediate
Error l Never: The job is not failed. Timeout
l Immediate: The job fails immediately.

l Timeout: The job fails if the Job Retry Timeout limit is

reached.
Job Retry If connection errors occur, the length of time after which to Time in
Timeout cease connection attempts and classify a print job as failed. seconds
Tip: Coordinate this value with Connection
Attempt Timeout and Retry Wait Time. For
example, if you want to attempt a connection for 5
seconds, wait for 10 seconds, repeat, and classify
the job as failed if a connection has not been
achieved within 1 minute, then you would set
Connection Attempt Timeout to 5000, Retry
Wait Time to 10000, and Job Retry Timeout to
60.
This option is displayed only if Fail Job on Connection Errors
is set to Timeout.

Advanced Connection Settings


Option Description Values
Force Extended Forces the use of the native driver of the On/Off
Mode device.

846 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option Description Values


Shared NetworkSelect if the device will not be used On/Off
Printing exclusively by Spectrum.
Raw LPR Select this recommended option to prevent On/Off
the operating system driver from altering the
print stream, which could have unpredictable
results.
This option is available only if the Protocol
is LPR.
Document Name Allows you to format how print jobs from %U: User
%L: Device
this device connection are identified in the %J: Job Number
Windows Server device queue. This option %P: Print Job Detail Context ID
does not affect what appears in the printed %D {mm,dd,yyyy}: Date Format
label. This field is parsed for instances of
For additional values, see "
${<value>}, #{<value>}, %{<value>}, Dynamic Field Values" on page
which are replaced with the corresponding 855.
data sources. For more information, see "
Dynamic Field Values" on page 855.
The maximum length is 131 characters.
If the string entered resolves to an empty
string, it is replaced with SpectrumDoc.
This option is available only if the Protocol
is LPR.
Force Connection Lookup
By default Spectrum caches the IP address associated with a device that uses a TCP/IP
connection. If the IP address of the connected device changes, your print jobs can fail. This can
happen even if you've configured the connection to use a DNS name. By changing a system
preference, you can force Spectrum to update the IP address of the device before each print job.
See "System Management Page" on page 775.
Note: IP address and DNS name resolution changes can take time to propagate a
network. During this time, jobs sent to the device may fail because the DNS name
configured in Spectrum does not yet resolve to the new IP address. This is a
limitation of the name resolution process, and it is not an issue with Spectrum.

File Connection Type (Print to PDF, Image, or XML)

A File device connection allows you to print to a PDF or PNG file, or create an XML file. When
configuring a device connection, the following options are available in the Connection section
when you select File as the connection type.

Loftware Spectrum 3.0.1 User Guide 847


Configuring and Administering

Note: Not all connection types are available to all device families and models. The
options available are dependent on the type of connection and device family
selected.
File Settings
Option Description Values and Variables
File Path The folder on the Default value if Model is set to
SpectrumApplicationServer PDF:
where PDF files are stored. A %W/pdfs
UNC path is recommended, but Default value if Model is set to
physical paths to folders on the Image:
SpectrumApplicationServer can %W/images
also be used. Default value if Model is set to
Best Practice Generic:
Use a UNC path such %W/generic
as
\\Server\SharedFold Where %W is defined as:
er. Mapped drives are ${catalina.home}/webapps/ROOT
not supported.
File The file name creation tools. This %U: User
%L: Device
Name field is parsed for instances of %J: Job Number
Pattern ${<value>}, #{<value>}, % %D {yyyy-MM-dd'T'HHmmss}: Date Format
{<value>}, which are replaced
with the corresponding data For additional values, see " Dynamic Field
Values" on page 855.
sources. For more information, see
" Dynamic Field Values" on page
855.
Create Whether Spectrum should create On/Off
Director the folder if it does not exist. Default=On
y
Retry The time between attempts to Seconds
Wait write to the file.
Time

Advanced Connection Settings


Option Description Values
Force Extended Mode Forces the use of the native driver of the device. On/Off
Email Connection Type (Send as PDF or Image)

848 Loftware Spectrum 3.0.1 User Guide


Managing Devices

An Email device connection allows you to print to a PDF file or to a PNG file and send the file
via email. When configuring a device connection, the following options are available in the
Connection section when you select Email as the connection type.
Note: Not all connection types are available to all device families and models. The
options available are dependent on the type of connection and device family
selected.

Values and Vari-


Option Description
ables
Server The SMTP server to be used for sending the
email message.
Server Port The port number to be used on the SMTP Default=25
server.
From The email address from which the message is See " Dynamic
sent. Field Values" on
page 855.
To The email address or addresses to which the See " Dynamic
message is sent. If sending to multiple email Field Values" on
addresses, use a comma as a delimiter. page 855.
Subject The email subject name, which can include %U: User
%L: Device
(Pattern) variables. %J: Job Number
%D {yyyy-MM-dd'T'HHmmss}:
Date Format

For additional values,


see " Dynamic Field
Values" on page 855.
Authenticate Whether to authenticate. On/Off
Default=Off
Username The user name to be used when connecting to
the SMTP server.
Password The password to be used with the user name
when connecting to the SMTP server.
Body The body of the email message. See " Dynamic
Field Values" on
page 855.

Spooler Connection Type

When configuring a device connection, the following options are available in the Connection
section when you select Spooler as the connection type.

Loftware Spectrum 3.0.1 User Guide 849


Configuring and Administering

Note: Not all connection types are available to all device families and models. The
options available are dependent on the type of connection and device family
selected.

Option Description Values


Remote A computer that has wired, wireless, or network connections to Remote
Site devices that are not directly accessible by a Sites
SpectrumApplicationServer. The Remote Print Agent must be
installed on the Remote Site so that it can communicate with
the SpectrumApplicationServer and make those devices
available in Spectrum. Each Remote Site can communicate with
only one SpectrumApplicationServer.
Note: A Remote Site must run a Windows Server
or Windows operating system.

Spooling Connection Settings


Option Description Values
Spooler A device directly connected to the Devices
Name SpectrumApplicationServer by a wired or wireless connection.
The device may be connected to the server by USB port,
parallel port, serial port, or other means.
USB Connection Type

When configuring a device connection, the following options are available in the Connection
section when you select USB as the connection type.
Note: Not all connection types are available to all device families and models. The
options available are dependent on the type of connection and device family
selected.

Note: For USB devices connected to Linux operating systems:


l To allow Spectrum to print to USB devices, you must add the Loftware
Spectrum user "spectrum" that will print to the device to the "lp" group in
Linux.
l If you move a previously configured USB device to a different USB port,
review the device in Device Management to verify that the correct USB
Port is selected, and then click Save.

850 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option Description Values


Remote A computer that has wired, wireless, or network connections to Remote
Site devices that are not directly accessible by a Sites
SpectrumApplicationServer. The Remote Print Agent must be
installed on the Remote Site so that it can communicate with
the SpectrumApplicationServer and make those devices
available in Spectrum. Each Remote Site can communicate with
only one SpectrumApplicationServer.
Note: A Remote Site must run a Windows Server
or Windows operating system.
USB Connection Settings
Option Description Values and Variables
USB The USB USB Ports
Port port of the Note: If the device does not display in the
device. drop-down list, click Refresh List. If you
cannot select the device or UNKNOWN is
displayed, see " Troubleshoot Devices" on
page 1462.
Show Select to On/Off
All display all
USB available
Devices USB
devices.

Connection Timeout Settings


Option Description Values
Connection The length of time to attempt to connect to a device. If a Time in
Attempt connection is not achieved, then Spectrum waits for the length milliseconds
Timeout of time specified in Retry Wait Time before attempting the
connection again.
Retry Wait The length of time to wait for a device connection error to be Time in
Time resolved before retrying the connection. milliseconds
Fail Job on If a connection error occurs, whether or how soon a print job Never
Connection will be failed. Immediate
Error l Never: The job is not failed. Timeout
l Immediate: The job fails immediately.

l Timeout: The job fails if the Job Retry Timeout limit is

reached.

Loftware Spectrum 3.0.1 User Guide 851


Configuring and Administering

Option Description Values


Job Retry If connection errors occur, the length of time after which to Time in
Timeout cease connection attempts and classify a print job as failed. seconds
Tip: Coordinate this value with Connection
Attempt Timeout and Retry Wait Time. For
example, if you want to attempt a connection for 5
seconds, wait for 10 seconds, repeat, and classify
the job as failed if a connection has not been
achieved within 1 minute, then you would set
Connection Attempt Timeout to 5000, Retry
Wait Time to 10000, and Job Retry Timeout to
60.
This option is displayed only if Fail Job on Connection Errors
is set to Timeout.
Advanced Connection Settings
Values and Vari-
Option Description
ables
Force Extended Forces the use of the native driver of the On/Off
Mode device.
QCPL Connection Type

When configuring a device connection, the following options are available in the Connection
section when you select QCPL as the connection type.
Note: Not all connection types are available to all device families and models. The
options available are dependent on the type of connection and device family
selected.

Option Description Values


Remote A computer that has wired, wireless, or network connections to Remote
Site devices that are not directly accessible by a Sites
SpectrumApplicationServer. The Remote Print Agent must be
installed on the Remote Site so that it can communicate with
the SpectrumApplicationServer and make those devices
available in Spectrum. Each Remote Site can communicate with
only one SpectrumApplicationServer.
Note: A Remote Site must run a Windows Server
or Windows operating system.

852 Loftware Spectrum 3.0.1 User Guide


Managing Devices

TCP Connection Settings


Option Description Values
IP The IP address or DNS name of the networked device. For a local IP address
Address device not accessible by IP address, the IP address or DNS name of or DNS
the computer to which it is connected. name
Note: If using LPR Protocol, do not use the generic
name localhost in place of the IP address or DNS
name.
IP Port The IP port number of the networked device. 50000
Secondary The secondary port number of the networked device. 50001
Port
Protocol Select Standard for a device connected via standard QCPL. Select Standard
LPR for a device accessible only via USB, parallel, or serial port. or LPR
LPR The device name or the share name for the device. Sharing the Device
Queue device is not required. This field is not case-sensitive. name or
This option is available only if the Protocol is LPR. share
name

Connection Timeout Settings


Option Description Values
Socket The length of time to attempt to read data from the socket. If no Time in
Read data is read during this interval, then Spectrum times out, closes milliseconds
Timeout the connection, and reports an error.
Retry Wait The length of time to wait for a device connection error to be Time in
Time resolved before retrying the connection. milliseconds
Fail Job on If a connection error occurs, whether or how soon a print job Never
Connection will be failed. Immediate
Error l Never: The job is not failed. Timeout
l Immediate: The job fails immediately.

l Timeout: The job fails if the Job Retry Timeout limit is

reached.

Loftware Spectrum 3.0.1 User Guide 853


Configuring and Administering

Option Description Values


Job Retry If connection errors occur, the length of time after which to Time in
Timeout cease connection attempts and classify a print job as failed. seconds
Tip: Coordinate this value with Socket Read
Timeout and Retry Wait Time. For example, if
you want to attempt a connection for 5 seconds,
wait for 10 seconds, repeat, and classify the job as
failed if a connection has not been achieved within
1 minute, then you would set Socket Read
Timeout to 5000, Retry Wait Time to 10000,
and Job Retry Timeout to 60.
This option is displayed only if Fail Job on Connection Errors
is set to Timeout.

Advanced Connection Settings


Option Description Values
Force Forces the use of the native driver of the On/Off
Extended device.
Mode
Shared Select if the device will not be used On/Off
Network exclusively by Spectrum.
Printing
Raw LPR Select this recommended option to prevent On/Off
the operating system driver from altering the
print stream, which could have unpredictable
results.
This option is available only if the Protocol
is LPR.

854 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option Description Values


Document Allows you to format how print jobs from %U: User
Name this device connection are identified in the %L: Device
Windows Server device queue. This option %J: Job Number
does not affect what appears in the printed %P: Print Job Detail
label. This field is parsed for instances of Context ID
${<value>}, #{<value>}, %{<value>}, %D {mm,dd,yyyy}: Date
which are replaced with the corresponding Format
data sources. For more information, see "
Dynamic Field Values" on page 855. For additional values, see "
The maximum length is 131 characters. Dynamic Field Values" on
If the string entered resolves to an empty page 855.
string, it is replaced with SpectrumDoc.
This option is available only if the Protocol
is LPR.
Dynamic Field Values

When configuring the options in the Connection section for a device connection, the following
fields accept static characters as well as dynamic values from the system properties or data
map1.
Connection Type Fields
" TCP/IP Connection Type" on page 845 Document Name
" File Connection Type (Print to PDF, Image, or XML)" on page 847 File Name Pattern
" Email Connection Type (Send as PDF or Image)" on page 848 From
To
Subject
Body
System Properties
You can use the following case-sensitive values to enter data from system properties in the field.

1A repository for the data for use when responding to a print request. Each data map entry is composed of a name (key) and a
value.

Loftware Spectrum 3.0.1 User Guide 855


Configuring and Administering

Value Description
%D{<format_string>} Date format. Characters are case-sensitive. Static alphanumeric
characters must be enclosed in single quotation marks.
Year: yyyy
Month: MM or MMM
Day of month: dd
Hour: HH
Minutes: mm
Seconds: ss
Milliseconds: SSS
Example: %D{yyyy-MM-dd HH:mm:ss 'PT'} results in a date
and time like 2014-07-23 09:54:28 PT.
%J Job ID, a numeric value.
%P Print Job Detail Context ID. This numeric value can be useful
for debugging.
%L Device Group Name in Spectrum.
%U User name of user who requested the print job.
Data Map Entries
To use data from data map entries in the field, enter the data ref1 in ${/Body/Text} format.
Example
You might want the file name of your printed PDF files to contain company names and item
serial numbers from the data map, which will allow users to search for and quickly locate specific
PDF files.
Your label template in Design includes fields for company names and serial numbers with data
references from the data map, or Data Ref values, of /Body/Company and /Body/Serial.

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.

856 Loftware Spectrum 3.0.1 User Guide


Managing Devices

In the Connection section for the device connection in Device Management , enter
${/Body/Company}${/Body/Serial} in the File Name Pattern field. For company Loftware and item
serial number 12345, the PDF file name will be Loftware12345.pdf.

Loftware Spectrum 3.0.1 User Guide 857


Configuring and Administering

Device Driver Options

The Options, Media, Fonts, Barcode Imaging, Detailed Status, Advanced, and Custom
Commands sections allow you to configure options that are specific to a particular device
family driver. The Options section is displayed only after a family driver or a Family and
Model have been specified for the device. The options included and which sections are
displayed depend on the Family and Model selected.
For information about the options available for each device family driver, see the appropriate
topic.
Note: If the Family selected is Family Driver, then a device language, image file
output, or PDF file output can be selected for the Model.
Device
Bar-
Lan- Advance- Custom
Media code Detailed
Family guage Options Fonts d Com-
Options Ima- Status
or Options mands
ging
Model
cab cab Options Media Detailed Advanced Custom
(cab) (cab) Status (cab) Command
(cab) s (cab)
Datama DPL1 Options Media Detailed Advanced Custom
x-O'Neil (Datamax- (Datamax- Status (Datamax- Command
O'Neil) O'Neil) (Datamax- O'Neil) s Tab
O'Neil) (Datamax-
O'Neil)
Intermec FP/DP Options Media Advanced Custom
2 (Intermec (Intermec (Intermec Command
with with with s Tab
FP/DP) FP/DP) FP/DP) (Intermec
with
FP/DP)

1Datamax-O'Neil Programming Language, a printer control language.


2Fingerprint/Direct Protocol. Intermec Fingerprint is a programming language for printer applications. Intermec Direct Protocol is
a label layout language used by Fingerprint.

858 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Device
Bar-
Lan- Advance- Custom
Media code Detailed
Family guage Options Fonts d Com-
Options Ima- Status
or Options mands
ging
Model
Intermec IPL1 Options Media Barcod Advanced Custom
(Intermec (Intermec e (Intermec Command
with IPL) with IPL) Imagin with IPL) s
g (Intermec
(Interm with IPL)
ec with
IPL)
NeuraLa 300x Options Media Advanced Custom
bel (NeuraLa (NeuraLa (NeuraLa Command
bel) bel) bel) s
(NeuraLa
bel)
PCL2 PCL 5c Options Fonts Detailed Advanced Custom
(PCL 5c) (PCL Status (PCL 5c) Command
5c) (PCL 5c) s (PCL
5c)
PCL3 PCL 5e Options Fonts Detailed Advanced
(PCL 5e) (PCL Status (PCL 5e)
5e) (PCL 5e)
QuickLa Kiaro Options Media Detailed Advanced
bel QL111 (QuickLa (QuickLa Status (QuickLa
bel) bel) (QuickLa bel)
bel)
4
SATO SBPL Options Media Fonts Barcod Detailed Advanced Custom
(SATO) (SATO) (SAT e Status (SATO) Command
O) Imagin (SATO) s
g (SATO)
(SAT
O)

1Intermec Printer Language, a printer control language.


2Printer Command Language, a printer control language from Hewlett-Packard.
3Printer Command Language, a printer control language from Hewlett-Packard.
4SATO Barcode Program Language, a programming language for communication between a computer and a printer.

Loftware Spectrum 3.0.1 User Guide 859


Configuring and Administering

Device
Bar-
Lan- Advance- Custom
Media code Detailed
Family guage Options Fonts d Com-
Options Ima- Status
or Options mands
ging
Model
Zebra ZPL II1 Options Media Fonts Barcod Detailed Advanced Custom
(Zebra) (Zebra) (Zebr e Status (Zebra) Command
a) Imagin (Zebra) s (Zebra)
g
(Zebra)
Family Generic Options Advanced Custom
Driver (Generic) (Generic) Command
s
(Generic)
Family Image Options Advanced
Driver (Image) (Image)
Family PDF2 Options Advanced
Driver (PDF) (PDF)
Family Pass Options
Driver Through (Pass
Through)
Server Spooler Options
(Server
with
Spooler)
cab Device Driver

If the Family selected is Family Driver and the Model selected is cab, or if the Family
selected is cab and a model is selected, then the following sections are displayed.

Options for cab Devices


If the Family selected is Family Driver and the Model selected is cab, then the Options
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is cab and a specific model is selected, then only options appropriate to
that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.

1Zebra Programming Language II, a printer control language.


2Portable Document Format, a page description language from Adobe.

860 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Label Control
Option Description Values
Device Resolution The resolution capability of the device in Dots 203 dpi
Per Inch (dpi). 300 dpi
600 dpi
Label Gap The gap between labels in millimeters. -120mm to 120mm
Horizontal Offset Horizontal adjustment of the point where -9999mm to
printing begins. This is useful when a single 9999mm
format must be printed on several different
types of labels that already have printed
information.
Vertical Offset Vertical adjustment of the point where -9999mm to
printing begins. This is useful when a single 9999mm
format must be printed on several different
types of labels that already have printed
information.
Backfeed Speed Backfeed (retract) speed of the device before 0 to 10 mm/s
or after a label is printed.
Print Mode The action taken by the device after a label or Tear Off
group of labels has printed. Peel Off
Cutter
Don't Send
Peel Off Distance Distance by which to feed the label forward -150mm to 150mm
after printing.
Note: This option is available
only if Print Mode is set to Peel
Off.
Cut Offset Adjustment to align labels to the cut position. -150mm to 150mm
Note: This option is available
only if Print Mode is set to
Cutter.
Cut Interval The number of labels to skip before cutting. 0 labels to 9999
Note: This option is available labels
only if Print Mode is set to
Cutter.

Loftware Spectrum 3.0.1 User Guide 861


Configuring and Administering

Option Description Values


Perforate If a perforation cutter is present, whether On/Off
perforation is enabled. Default=Off
Note: This option is available
only if Print Mode is set to
Cutter.

862 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option Description Values


Text Box Overrun How Spectrum should respond if the amount Allow Overrun:
Mode of data received for a Text Box field is more The text continues
than can fit. beyond the bottom
Tip: If the Text Box Overrun of the envelope for
Mode is specified in the job data, the field. For a
that overrides any mode printed label, as
specified in Label Specific much of the text as
Options in Design, device can fit on the label
options in Device is printed.
Management, or global settings Truncate Data:
in System Management. Text that does not
Otherwise, if specified in Label fit is not printed or
Specific Options, that overrides displayed. The
device options and global preceding text is
settings, and if specified in printed or displayed.
device options, that overrides Truncate Data at
global settings. Paragraph Break:
A paragraph that
does not fit is not
printed or displayed.
The preceding
paragraph is printed
or displayed.
Fail Print Job on
Overrun: Any print
job that includes a
Text Box field in
which the data
received does not fit
is failed and is not
printed or displayed.
Use Global
Setting: The value
for Text Box
Overrun Mode
that is set in
System
Management is
used.
Media Options for cab Devices

Loftware Spectrum 3.0.1 User Guide 863


Configuring and Administering

If the Family selected is Family Driver and the Model selected is cab, then the Media
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is cab and a specific model is selected, then only options appropriate to
that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.
Option Description Values
Media Type The print method used by Thermal Transfer (Ribbon): Uses
the device. ribbon and non-heat sensitive label
stock to print. The print head is
activated as the label moves
underneath heating the ribbon material
and melting it onto the label. To
increase the quality of the print
decrease/increase the speed and
increase/decrease the heat as
necessary.
Direct Thermal (No Ribbon): Uses
heat sensitive label stock without a
ribbon. The print head is activated as
the label moves underneath heating
the label stock and activating the heat
sensitive material in the stock causing
darkening of the material. To increase
the quality of the print,
decrease/increase the speed and
increase/decrease the heat as
necessary.
Label Stock The type of media loaded in Label Gap: Gap, perforation or
the device. separation between each label.
Continuous: No gaps or separations
between labels.
Upper Marker
Lower Marker

864 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option Description Values


Print Speed The speed at which the label 25mm/s
travels over the print head. 50mm/s
75mm/s
100mm/s
125mm/s
150mm/s
175mm/s
100mm/s
225mm/s
250mm/s
Heat Setting The heat setting for the -10 to 10
device.
Ribbon Saver Whether to turn on the auto On/Off
economy feature. If Default=On
selecting this setting, it is
recommended that you
evaluate whether the
reduced ribbon use
sufficiently offsets the cost
of the more frequent use of
the motor that may result.
Note: This
option is
available only
if Media
Type is set to
Thermal
Transfer.
Dual Head Whether to turn on the On/Off
ability to print to both print Default=Off
heads for dual print head
models.
Note: This
option is
available only
if Media
Type is set to
Thermal
Transfer.

Loftware Spectrum 3.0.1 User Guide 865


Configuring and Administering

Option Description Values


Dual Head Mode The printing mode for use Print Two Color
by dual head devices. Print Single Color
Note: This
option is
available only
if Dual Head
is selected.
Ribbon 1 Color The color for Head 1 if Black
configured for dual head and
two-color printing.
Note: This
option is
available only
if Dual Head
Mode is set to
Print Two
Color.
Ribbon 2 Color The color for Head 2 if Red
configured for dual head and
two-color printing.
Note: This
option is
available only
if Dual Head
Mode is set to
Print Two
Color.
Dual Head The horizontal offset for -999 to 999
Horizontal Offset Head 2.
Note: This
option is
available only
if Dual Head
Mode is set to
Print Two
Color.

866 Loftware Spectrum 3.0.1 User Guide


Managing Devices

Option Description Values


Dual Head Vertical The vertical offset for Head -999 to 999
Offset 2.
Note: This
option is
available only
if Dual Head
Mode is set to
Print Two
Color.
Detailed Status for cab Devices
If the Family selected is Family Driver and the Model selected is cab, or if the Family
selected is cab and a specific device model is selected, then the Detailed Status section is
displayed.
Note: If a cab printer is in an error state, then it may not respond to queries for
detailed status.
This section allows you to retrieve detailed information about the status and configuration of the
device, such as the model number, firmware version, media type, whether the device is out of
label stock, and whether the device is experiencing any errors.
Tip: Basic status information about whether the device is started and whether the
device service is running is displayed in the Properties pane.
Option Description Command
Detailed Status Query the device and display detailed information On-
about the device and its status. Clicking the On- Demand
Demand Status button displays a dialog box Status
containing status information.
Note: The On-Demand Status
command is available only if the
Connection Type is set to TCP/IP or
QCPL.
Advanced Options for cab Devices
If the Family selected is Family Driver and the Model selected is cab, then the Advanced
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is cab and a specific model is selected, then only options appropriate to
that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.

Loftware Spectrum 3.0.1 User Guide 867


Configuring and Administering

Advanced Options
Option Description Values
Send Device Options If selected, all device options configured in On/Off
LoftwareSpectrum are sent to the device. If Default=On
cleared, the settings configured at your device are
used.
Diagnostics When selected, diagnostics are enabled for On/Off
troubleshooting. Default=Off
Diagnostics Specifies the folder where debug images for Black
Directory and Red images on a label are stored.
Note: This option is available only if
Diagnostics is selected.

868 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Pass Through File Types


You can configure Spectrum to pass an external file directly to a device without the need to
associate the file with a label template. This allows you to print files that were created outside of
Spectrum while still saving auditing data for the printed file. For example, you can select PDF
under Pass ThroughFile Types to print a PDFfile from a public server or URL without
creating or selecting a label template for printing.
Option Description
PDF If selected, PDF files are passed directly to your device.
Important: If your device supports native printing for a file type and that file type
is selected, the file is sent to the device to be printed as is. If your device does not
support native printing for a file type and that file type is not selected, then the file
is converted to an image and sent to the device to be printed.

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.
Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.

Loftware Spectrum 3.0.1 User Guide 869


Configuring and Administering

Option Description Values


Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.
Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).
Custom Commands for cab Devices
If the Family selected is Family Driver and the Model selected is cab, or if the Family
selected is cab, then the Custom Commands section displays the following options. For more
information about drivers and Spectrum, see " Managing Devices" on page 794.
Custom commands are sent even if Send Options is cleared in the Advanced section.

870 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Command Location
You can configure custom commands to occur in multiple locations for the same job.
Option Description
Before Command to occur as the first command sent to the device at the start of the
Label job. On an extended print job (multiple label requests in print stream), this
command occurs only before the first label request.
After Command to occur as the last command sent after each label.
Label
Datamax-O'Neil Device Driver

If the Family selected is Family Driver and the Model selected is DPL, or if the Family
selected is Datamax-O'Neil and a model is selected, then the following sections are displayed.

Options for Datamax-O'Neil Devices


If the Family selected is Family Driver and the Model selected is DPL, then the Options
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is Datamax-O'Neil and a specific model is selected, then only options
appropriate to that model are displayed. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
Option Description Values
Device Resolution The resolution capability of the device in Dots 203 (Default)
Per Inch (dpi). 300
406
600
Present Distance The distance for the label to travel at output. 0 to 9999in
Column Offset Horizontal adjustment of the point where 0 to 9999
printing begins. This is useful when a single
format must be printed on several different
types of labels that already have printed
information.
Row Offset Vertical adjustment of the point where 0 to 9999
printing begins. This is useful when a single
format must be printed on several different
types of labels that already have printed
information.
Cutter Engaged If the device includes the necessary hardware, On/Off
whether the cutter is turned on.

Loftware Spectrum 3.0.1 User Guide 871


Configuring and Administering

Option Description Values


Label Present The device presents each label and waits for On/Off
the label to be removed before continuing. If
this option is selected, LoftwareSpectrum
receives status information from the device
indicating that a label is being detected by the
sensor, so the device does not print more
labels until the printed label is removed.
Verifier If selected, enables a verifier if one is On/Off
available.
Set Label Length If enabled, the label length is sent to the On/Off
device. The length of the label is the height or
width. Whether height or width is used is
dependent on print orientation.

872 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Text Box Overrun How Spectrum should respond if the amount Allow Overrun:
Mode of data received for a Text Box field is more The text continues
than can fit. beyond the bottom
Tip: If the Text Box Overrun of the envelope for
Mode is specified in the job data, the field. For a
that overrides any mode printed label, as
specified in Label Specific much of the text as
Options in Design, device can fit on the label
options in Device is printed.
Management, or global settings Truncate Data:
in System Management. Text that does not
Otherwise, if specified in Label fit is not printed or
Specific Options, that overrides displayed. The
device options and global preceding text is
settings, and if specified in printed or displayed.
device options, that overrides Truncate Data at
global settings. Paragraph Break:
A paragraph that
does not fit is not
printed or displayed.
The preceding
paragraph is printed
or displayed.
Fail Print Job on
Overrun: Any print
job that includes a
Text Box field in
which the data
received does not fit
is failed and is not
printed or displayed.
Use Global
Setting: The value
for Text Box
Overrun Mode
that is set in
System
Management is
used.
Media Options for Datamax-O'Neil Devices

Loftware Spectrum 3.0.1 User Guide 873


Configuring and Administering

If the Family selected is Family Driver and the Model selected is DPL, then the Media
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is Datamax-O'Neil and a specific model is selected, then only options
appropriate to that model are displayed. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
Option Description Values
Supply Type The type of media loaded in the device. Mark Stock: Stock
with a black mark
found opposite print
side.
Continuous: No
gaps, notches, or
perforations
between labels.
Die Cut: Stock that
has gaps between
each label.
Print Speed The speed in inches per second (ips) at which the stock 2.0ips to 12.0ips
(ips) is fed when printing. The combinations of print speed Default: 8.0ips
and head temperature control the print quality of the
label.
Slew Rate The speed in inches per second (ips) at which the stock 2.0ips to 16.0ips
(ips) is fed when advancing over non-printing areas. This Default: 8.0ips
option may affect device throughput.
Backup The rate of stock movement in inches per second (ips) 2.0ips to 5.0ips
Speed (ips) during backup positioning for start of print, cutting, or Default: 4.0ips
present distance.
Head Darkness of the print. 0 to 33
Temperature Default: 12
Detailed Status for Datamax-O'Neil Devices
If the Family selected is Family Driver and the Model selected is DPL, or if the Family
selected is Datamax-O'Neil and a specific device model is selected, then the Detailed Status
section is displayed.
This section allows you to retrieve detailed information about the status and configuration of the
device, such as the model number, firmware version, media type, whether the device is out of
label stock, and whether the device is experiencing any errors.

874 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Tip: Basic status information about whether the device is started and whether the
device service is running is displayed in the Properties pane.
Option Description Command
Detailed Status Query the device and display detailed information On-
about the device and its status. Clicking the On- Demand
Demand Status button displays a dialog box Status
containing status information.
Note: The On-Demand Status
command is available only if the
Connection Type is set to TCP/IP or
QCPL.
Advanced Options for Datamax-O'Neil Devices
If the Family selected is Family Driver and the Model selected is DPL, then the Advanced
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is Datamax-O'Neil and a specific model is selected, then only options
appropriate to that model are displayed. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.

Advanced Options
Option Description Values
Memory Module To which memory module to download designs, Module A
graphics, and fonts. through
Module I USB
Thumbdrive
Default:
Module D

Loftware Spectrum 3.0.1 User Guide 875


Configuring and Administering

Option Description Values


Clear Memory Whether to clear the memory module before each On/Off
Module label design is sent to the device. Default: On
Tip: Selecting this option is
recommended. Some devices have
limited on-board memory and may run
out of memory if you do not clear the
memory module between jobs.
If this option is not selected, the memory module is
not cleared before each label design is sent,
potentially saving time. However, this approach
should only be used if enough memory is available
to allow the module remain uncleared when a design
is sent.
Send Device Options If enabled, all device options configured in On/Off
LoftwareSpectrum set are sent to the device. Default: On
Otherwise, the options configured at the device are
used.

876 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Pass Through File Types


You can configure Spectrum to pass an external file directly to a device without the need to
associate the file with a label template. This allows you to print files that were created outside of
Spectrum while still saving auditing data for the printed file. For example, you can select PDF
under Pass ThroughFile Types to print a PDFfile from a public server or URL without
creating or selecting a label template for printing.
Option Description
PDF If selected, PDF files are passed directly to your device.
Important: If your device supports native printing for a file type and that file type
is selected, the file is sent to the device to be printed as is. If your device does not
support native printing for a file type and that file type is not selected, then the file
is converted to an image and sent to the device to be printed.

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.
Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.

Loftware Spectrum 3.0.1 User Guide 877


Configuring and Administering

Option Description Values


Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.
Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).
Custom Commands for Datamax-O'Neil Devices
If the Family selected is Family Driver and the Model selected is DPL, or if the Family
selected is Datamax-O'Neil, then the Custom Commands section displays the following
options. For more information about drivers and Spectrum, see " Managing Devices" on page
794.
Custom commands are sent even if Send Device Options is cleared in the Advanced section.
Note: You can enter lower ASCII control codes by using mnemonic text
representation. The mnemonic text must be upper case. For example, you can use
<ESC> for an escape character or <HT> for a tab character. To enter upper case text
that includes < or > but should not be converted to a control code, enclose the
text with << and >>. For example, <<US>> is converted to <US>. Lower case or
mixed case text enclosed in < and > will remain as is and will not be converted
into a control code. For a list of common control codes, see "Lower ASCII
Control Codes" on page 975.

878 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Command Location
You can configure custom commands to occur in multiple locations for the same job.
Option Description
Before Command to occur as the first command sent to the device at the start of the
Label job. On an extended print job (multiple label requests in print stream), this
command occurs only before the first label request.
After Command to occur as the last command sent after each label.
Label

Example: Pause After Printing Each Label


You can use the following command to cause the device to pause after printing
each label.

<STX>J
Example: Cause a Form Feed
You can use the following command to cause a form feed to the next start of print.

<STX>F
Note: For more information about DPL, refer to Datamax-O'Neil documentation.

Intermec FP/DP Device Driver

If the Family selected is Family Driver and the Model selected is FP/DP1, or if the Family
selected is Intermec and a Fingerprint/Direct Protocol (FP/DP) model is selected, then the
following sections are displayed.
l " Options for Intermec FP/DP Devices" on page 879
l " Media Options for Intermec FP/DP Devices" on page 882
l "Pass Through File Types" on page 885
l " Custom Commands for Intermec FP/DP Devices" on page 886
Options for Intermec FP/DP Devices
If the Family selected is Family Driver and the Model selected is FP/DP2, then the Options
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is Intermec and a Fingerprint/Direct Protocol (FP/DP) model is
selected, then only options appropriate to that model are displayed. For more information about
drivers and Spectrum, see " Managing Devices" on page 794.

1Fingerprint/Direct Protocol. Intermec Fingerprint is a programming language for printer applications. Intermec Direct Protocol is
a label layout language used by Fingerprint.
2Fingerprint/Direct Protocol. Intermec Fingerprint is a programming language for printer applications. Intermec Direct Protocol is
a label layout language used by Fingerprint.

Loftware Spectrum 3.0.1 User Guide 879


Configuring and Administering

Label Control

Option Description Values


Device The resolution capability of the device in Dots Per 203 (default)
Resolution Inch (DPI). 300
(DPI) 406
Start The length of media in dots to feed out (positive value) -9999 to 9999
Adjust or pull back (negative value) before printing begins. Default: -85
Stop The length of media in dots to feed out (positive value) -9999 to 9999
Adjust or pull back (negative value) in addition to the normal Default: 0
media feed after printing ends.
X-Start The start of the printable area of the media. 0 to 9999
Default: 0
Label Whether to detect if a printed label has been removed On/Off
Taken before the next one is printed. Default: Off (Cleared)
Sensor
Disable Whether to turn off the Print key requiring the key to On/Off
Print Key be pressed to print a label. Default: Off (Cleared)
Ribbon Whether to turn on the auto economy feature. If On/Off
Saver selecting this setting, it is recommended that you Default: Off (Cleared)
evaluate whether the reduced ribbon use sufficiently
offsets the cost of the more frequent use of the motor
that may result.

880 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Text Box How Spectrum should respond if the amount of data Allow Overrun: The
Overrun received for a Text Box field is more than can fit. text continues beyond
Mode Tip: If the Text Box Overrun Mode is the bottom of the
specified in the job data, that overrides envelope for the field.
any mode specified in Label Specific For a printed label, as
Options in Design, device options in Device much of the text as
Management, or global settings in can fit on the label is
System Management. Otherwise, if printed.
specified in Label Specific Options, that Truncate Data: Text
overrides device options and global that does not fit is not
settings, and if specified in device printed or displayed.
options, that overrides global settings. The preceding text is
printed or displayed.
Truncate Data at
Paragraph Break: A
paragraph that does
not fit is not printed
or displayed. The
preceding paragraph is
printed or displayed.
Fail Print Job on
Overrun: Any print
job that includes a
Text Box field in
which the data
received does not fit
is failed and is not
printed or displayed.
Use Global Setting:
The value for Text
Box Overrun Mode
that is set in System
Management is
used.

Loftware Spectrum 3.0.1 User Guide 881


Configuring and Administering

Label Handling

Option Description Values


Enable Whether to configure the label cutter (if present) to cut after On/Off
Cutter printing the number of labels specified by Feed Length. Default:
Off
(Cleared)
Feed Number of labels after which to cut. 0 to 9999
Length Available only if Enable Cutter is selected. Default: 0
Media Options for Intermec FP/DP Devices
If the Family selected is Family Driver and the Model selected is FP/DP1, then the Media
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is Intermec and a Fingerprint/Direct Protocol (FP/DP) model is
selected, then only options appropriate to that model are displayed. For more information about
drivers and Spectrum, see " Managing Devices" on page 794.

Option Description Values


Media The print method used by the device. Direct Thermal (No Ribbon): Uses
Type heat sensitive label stock without the
ribbon. The print head is activated as
the label moves underneath heating the
label stock and activating the heat
sensitive material in the stock causing
darkening of the material. To increase
the quality of the print
decrease/increase the speed and
increase/decrease the heat as necessary.
Thermal Transfer (Ribbon): Uses
ribbon and non-heat sensitive label
stock to print. The print head is
activated as the label moves underneath
heating the ribbon material and melting
it onto the label. To increase the
quality of the print decrease/increase
the speed and increase/decrease the
heat as necessary.

1Fingerprint/Direct Protocol. Intermec Fingerprint is a programming language for printer applications. Intermec Direct Protocol is
a label layout language used by Fingerprint.

882 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Label The type of media loaded in the device. Fixed Length Strip: Continuous
Stock stock. The length of the media fed out
depends on the length of the print
window.
Label With Gaps: Adhesive labels
mounted on liner.
Ticket With Gaps: Tickets and tags
with detection slits.
Ticket With Marks: Labels, tickets, or
continuous stock with black marks on
the back.
Variable Length Strip: Continuous
stock. The length of each label depends
on the size of the label design.
Print The speed at which the label travels 50 to 400mm per second
Speed over the print head. Default: 200
(mm/s)
Contrast Darkness of the print. -10% to +10%
Default: +0%
Ribbon Heat setting that specifies the dot 50 to 115
Constant energy for printing. Appropriate values Default: 75
depend on the ribbon and label stock
and may be provided on packages of
these items. If labels are missing dots or
not dark enough despite adjusting the
contrast, you may need to increase the
Ribbon Constant. However, a high
value may decrease the lifetime of your
printhead.
Available only if the Media Type is
Thermal Transfer.

Loftware Spectrum 3.0.1 User Guide 883


Configuring and Administering

Option Description Values


Ribbon Heat setting that specifies additional dot 10 to 50
Factor energy for high speed printing. Default: 25
Appropriate values depend on the
ribbon and label stock and may be
provided on packages of these items. If
labels are missing dots or not dark
enough despite adjusting the contrast,
you may need to increase the Ribbon
Factor. However, a high value may
decrease the lifetime of your printhead.
Available only if the Media Type is
Thermal Transfer.
Advanced Options for Intermec FP/DP Devices
If the Family selected is Family Driver and the Model selected is FP/DP1, then the
Advanced section displays the following options. Some options may not be relevant to some
device models.
If the Family selected is Intermec and a Fingerprint/Direct Protocol (FP/DP) model is
selected, then only options appropriate to that model are displayed. For more information about
drivers and Spectrum, see " Managing Devices" on page 794.

Advanced Options
Option Description Values
Format The areas of memory (RAM) in which the label design is to be stored. 0 to 20
Number Default:
1
Send If selected, all device options configured in LoftwareSpectrum are On/Off
Options sent to the device. If cleared, the settings configured at your device Default:
are used. On

1Fingerprint/Direct Protocol. Intermec Fingerprint is a programming language for printer applications. Intermec Direct Protocol is
a label layout language used by Fingerprint.

884 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Pass Through File Types


You can configure Spectrum to pass an external file directly to a device without the need to
associate the file with a label template. This allows you to print files that were created outside of
Spectrum while still saving auditing data for the printed file. For example, you can select PDF
under Pass ThroughFile Types to print a PDFfile from a public server or URL without
creating or selecting a label template for printing.
Option Description
PDF If selected, PDF files are passed directly to your device.
Important: If your device supports native printing for a file type and that file type
is selected, the file is sent to the device to be printed as is. If your device does not
support native printing for a file type and that file type is not selected, then the file
is converted to an image and sent to the device to be printed.

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.
Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.

Loftware Spectrum 3.0.1 User Guide 885


Configuring and Administering

Option Description Values


Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.
Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).
Custom Commands for Intermec FP/DP Devices
If the Family selected is Family Driver and the Model selected is FP/DP1, or if the Family
selected is Intermec and a Fingerprint/Direct Protocol (FP/DP) model is selected, then the
Custom Commands section displays the following options. For more information about
drivers and Spectrum, see " Managing Devices" on page 794.
Custom commands are sent even if Send Options is cleared in the Advanced section.

1Fingerprint/Direct Protocol. Intermec Fingerprint is a programming language for printer applications. Intermec Direct Protocol is
a label layout language used by Fingerprint.

886 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Note: You can enter lower ASCII control codes by using mnemonic text
representation. The mnemonic text must be upper case. For example, you can use
<ESC> for an escape character or <HT> for a tab character. To enter upper case text
that includes < or > but should not be converted to a control code, enclose the
text with << and >>. For example, <<US>> is converted to <US>. Lower case or
mixed case text enclosed in < and > will remain as is and will not be converted
into a control code. For a list of common control codes, see "Lower ASCII
Control Codes" on page 975.

Loftware Spectrum 3.0.1 User Guide 887


Configuring and Administering

Command Location
You can configure custom commands to occur in multiple locations for the same job.
Option Description
Before Command to occur as the first command sent to the device at the start of the
Label job. On an extended print job (multiple label requests in print stream), this
command occurs only before the first label request.
After FPL Command to occur after the configuration part of the print stream.
Options
After Command to occur as the last command sent after each label.
Label

Example: Turning off Intermec Direct Protocol


By default, Spectrum leaves the device in Direct Protocol mode after printing a
label. You can turn off Direct Protocol mode after a label is printed by entering the
following custom command in the After Label field.

INPUT OFF
Example: Manually Changing the Print Speed
If you are using a device that is only partially supported and you need to manually
change the print speed by a means other than using the Print Speed option on the
Media tab, you could enter the following custom command in the After FPL
Options field to change the print speed to 225mm/s.

SETUP"PRINT DEFS,PRINT SPEED,225"


Note: For more information about FP/DP, refer to Intermec documentation.

Intermec IPL Device Driver

If the Family selected is Family Driver and the Model selected is IPL1, or if the Family
selected is Intermec and an IPL model is selected, then the following sections are displayed.
l " Options for Intermec IPL Devices" on page 888
l " Media Options for Intermec IPL Devices" on page 893
l " Barcode Imaging for Intermec IPL Devices" on page 894
l "Pass Through File Types" on page 897
l " Custom Commands for Intermec Devices" on page 898
Options for Intermec IPL Devices
If the Family selected is Family Driver and the Model selected is IPL, then the Options
section displays the following options. Some options may not be relevant to some device
models.

1Intermec Printer Language, a printer control language.

888 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

If the Family selected is Intermec and an IPL model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.

Loftware Spectrum 3.0.1 User Guide 889


Configuring and Administering

Label Control

Option Description Values


Device The resolution capability of the device in Dots Per Inch 101
Resolution (dpi). 203
406
Top of How close to the leading edge of the label printing occurs. -10 to 4000
Form If you need to move the printing closer to leading edge of Default: 2
the device, lower the value. If you need to move the
printing away from the leading edge of the device, choose a
greater value. This setting is usually only critical when you
are using small labels.
Max Label Maximum label length increases the allowed printing length 100 to 4800
Length of the label. For example, a 203 dpi device allows you to Default: 1000
set a value from 0.5" to 24". Setting maximum label length
to 2400 allows you to print a 12" label on an advanced
Intermec device.
Retract If this value is a non-zero value (try 1 or 2), the label is 0 to 399 dots
Distance ejected this many dots after printing. The device retracts, Default: 0
or backfeeds, before printing the next label. This is useful
for advancing labels to the tear bar or cutter. Depending on
your version of device firmware, the label may only
advance/retract a set amount when you are using die cut or
mark stock, regardless of the value specified in the Retract
Distance option. Consult Intermec for information on
possible firmware upgrades.
Note: If you are using die cut stock or mark
stock and have a 3400 or 4100 device, you
must also select the Feed After Print option
to enable the retract feature.
Skip For continuous stock only. Distance to advance the label 0 to 9999
Distance after all the fields have been printed. This setting is used to Default: 0
create white space between labels.
Label Rest Label rest point adjusts the point at which the device 0 to 30
Point presents the labels for removal. This command is Default: 0
commonly used with the self-strip option. Label retract is
available to retract the label back to the correct starting
position for the next printed label.

890 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Text Box How Spectrum should respond if the amount of data Allow Overrun:
Overrun received for a Text Box field is more than can fit. The text continues
Mode Tip: If the Text Box Overrun Mode is beyond the
specified in the job data, that overrides any bottom of the
mode specified in Label Specific Options in envelope for the
Design, device options in Device field. For a printed
Management, or global settings in System label, as much of
Management. Otherwise, if specified in the text as can fit
Label Specific Options, that overrides device on the label is
options and global settings, and if specified in printed.
device options, that overrides global settings. Truncate Data:
Text that does not
fit is not printed
or displayed. The
preceding text is
printed or
displayed.
Truncate Data at
Paragraph
Break: A
paragraph that
does not fit is not
printed or
displayed. The
preceding
paragraph is
printed or
displayed.
Fail Print Job on
Overrun: Any
print job that
includes a Text
Box field in which
the data received
does not fit is
failed and is not
printed or
displayed.

Loftware Spectrum 3.0.1 User Guide 891


Configuring and Administering

Option Description Values


Use Global
Setting: The value
for Text Box
Overrun Mode
that is set in
System
Management is
used.

892 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Label Handling

Option Description Values


Label The method that Batch: Normal printing mode; labels are continuously
Handling printed labels are output printed and fed out of the device.
from the device. Applicator: A specialty device integrated with the
device that allows labels to be picked up from the
device and placed on a product. Typical for assembly
line production.
Self Strip: Self-strip handling requires that the stock
in the device be properly fed through the self-strip
attachment on the device. Consult your Intermec
manual or service technician for assistance. While in
self-strip mode, the device presents each label and
waits for it to be removed before continuing. The
device does not print labels if there is a label at the
strip pin.
Cut
Cut Allows the cutter to 1 to 9999 labels
Interval skip a given quantity of
labels before cutting.
This option is available
only if the Label Stock
is Continuous.
Enable This feature causes the On/Off
Label device stock to move Default: Off (Cleared)
Retract back into the device
under the print head,
print the label, then
feed the label out to the
tear off bar.
Feed Feed After print On/Off
After instructs the LLM to Default: Off (Cleared)
Print add a Form Feed
(<FF>) after the label
is printed. Generally,
this is not necessary but
it may be required for
certain applications.

Media Options for Intermec IPL Devices

Loftware Spectrum 3.0.1 User Guide 893


Configuring and Administering

If the Family selected is Family Driver and the Model selected is IPL, then the Media
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is Intermec and an IPL model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.

Option Description Values


Media Type The print Direct Thermal (No Ribbon): Uses heat sensitive label stock
method without the ribbon. The print head is activated as the label
used by the moves underneath heating the label stock and activating the
device. heat sensitive material in the stock causing darkening of the
material. To increase the quality of the print decrease/increase
the speed and increase/decrease the heat as necessary.
Thermal Transfer (Ribbon): Uses ribbon and non-heat
sensitive label stock to print. The print head is activated as the
label moves underneath heating the ribbon material and melting
it onto the label. To increase the quality of the print
decrease/increase the speed and increase/decrease the heat as
necessary.
Label Stock The type of Continuous: No gaps, notches, or perforations between labels.
media Die Cut Labels: Stock that has a gap between each label.
loaded in Mark Stock: Stock with a black mark opposite print side.
the device.
Print Speed Speed at 2 to 12 inches per second
which the Default = 6
label travels
over the
print head.
Head Darkness of -10 to 10
Temperature the print. Default = 0
Media Amount of 0 to 999
Sensitivity heat Default = 424
required by
the
printhead to
image a
label.
Barcode Imaging for Intermec IPL Devices

894 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

If the Family selected is Family Driver and the Model selected is IPL, then the Barcode
Imaging section displays the following options. Some options may not be relevant to some
device models.
If the Family selected is Intermec and an IPL model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.
Option Description Values
Force checked For each symbology, whether to print a barcode as an : The
symbologies to print image or to use the device's native ability to encode the device
as images. barcode. encodes
Note: Selecting the Print as Image the
property for a Barcode field overrides this barcode.
option for the relevant symbology, and the If the
barcode is sent as an image. Selecting Print device
as Image removes any potential device does not
variation when natively encoding the barcode support
data. native
encoding
of
barcodes,
then the
barcode
is
encoded
by
Spectrum
and
printed
as an
image.
(Default)
:
Spectrum
encodes
the
barcode
and
prints it
as an
image.
Advanced Options for Intermec IPL Devices

Loftware Spectrum 3.0.1 User Guide 895


Configuring and Administering

If the Family selected is Family Driver and the Model selected is IPL, then the Advanced
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is Intermec and an IPL model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.

Advanced Options
Option Description Values
Language The locale of the default code page and character sets. See device United
user guide for more information. States
Image Configure how much of the label's format to "image" before starting 2 to 25
Bands to print. If the image bands are set correctly, they can greatly improve Default:
device throughput. If set incorrectly, they can degrade performance. 5
The number of image bands available is determined by the amount of
memory installed in your device. Consult your device manual for the
available range of image bands.
Format The areas of memory (RAM) in which the label design is to be stored.
0 to 99
Number Default:
1
Enable Allow IBM compatible characters to replace standard ASCII On/Off
IBM characters. Default:
Translation Off
Send If selected, all device options configured in LoftwareSpectrum are On/Off
Options sent to the device. If cleared, the settings configured at your device Default:
are used. Off
Use Direct If selected, Direct Graphics mode is enabled so that you can use On/Off
Graphics compressed images without storing them in the device. Images must Default:
be compressed into run-length encoded (RLE) data and the device On
must have enough memory to contain the entire label. Selecting this
option may improve print speed. If cleared, Direct Graphics mode is
not used. See the device guide for more information about Direct
Graphics mode.

896 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Pass Through File Types


You can configure Spectrum to pass an external file directly to a device without the need to
associate the file with a label template. This allows you to print files that were created outside of
Spectrum while still saving auditing data for the printed file. For example, you can select PDF
under Pass ThroughFile Types to print a PDFfile from a public server or URL without
creating or selecting a label template for printing.
Option Description
PDF If selected, PDF files are passed directly to your device.
Important: If your device supports native printing for a file type and that file type
is selected, the file is sent to the device to be printed as is. If your device does not
support native printing for a file type and that file type is not selected, then the file
is converted to an image and sent to the device to be printed.

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.
Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.

Loftware Spectrum 3.0.1 User Guide 897


Configuring and Administering

Option Description Values


Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.
Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).
Custom Commands for Intermec Devices
If the Family selected is Family Driver and the Model selected is IPL, or if the Family
selected is Intermec and an IPL model is selected, then the Custom Commands section
displays the following options. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
Custom commands are sent even if Send Options is cleared in the Advanced section.
Note: You can enter lower ASCII control codes by using mnemonic text
representation. The mnemonic text must be upper case. For example, you can use
<ESC> for an escape character or <HT> for a tab character. To enter upper case text
that includes < or > but should not be converted to a control code, enclose the
text with << and >>. For example, <<US>> is converted to <US>. Lower case or
mixed case text enclosed in < and > will remain as is and will not be converted
into a control code. For a list of common control codes, see "Lower ASCII
Control Codes" on page 975.

898 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Command Location
You can configure custom commands to occur in multiple locations for the same job.
Note: If a custom command begins with <STX> and ends with <ETX>, you must
include those control codes in the custom command field, and they must be upper
case.

Option Description
Before Command to occur as the first command sent to the device at the start of the
Label job. On an extended print job (multiple label requests in print stream), this
command occurs only before the first label request.
After IPL Command to occur after the configuration part of the print stream.
Options
After Command to occur as the last command sent after each label.
Label

Example: Manually Changing the Print Speed


If you are using a device that is only partially supported and you need to manually
change the print speed by a means other than using the Print Speed option on the
Media tab, you could enter the following custom command in the After IPL
Options field to change the print speed to 9ips.

<STX><SI>S90;<ETX>
Note: For more information about IPL, refer to Intermec documentation.

NeuraLabel Device Driver

If the Family selected is NeuraLabel and a model is selected, then the following sections are
displayed.
Tip: For NeuraLabel devices, Spectrum provides a PCL1 3GUI driver.

Options for NeuraLabel Devices


If the Family selected is NeuraLabel and a model is selected, then the Options section
displays the following options. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
Option Description Values
Label Gap The distance between one label and the next. 0 to 9999mils
This value is used to align with the mark on Default: 125mils
the media.

1Printer Command Language, a printer control language from Hewlett-Packard.

Loftware Spectrum 3.0.1 User Guide 899


Configuring and Administering

Option Description Values


Horizontal Offset The distance in by which to adjust the -117 to 5500mils
position of the image on the label to the left or Default: 0mils
right.
Initial Slow Print The initial printing speed in inches per second 0ips (Default)
(ips). A value other than 0ips may be used 5ips
when attaching continuous media to an output 10ips
roller. 20ips
30ips
Max Print Speed The maximum printing speed in inches per 2 to 20 inches per
second (ips). Printing speed is also affected by second (ips)
Print Quality and other options. Default: 14ips
Note: For media greater than 4"
in width, a value of 14ips is not
supported.
Print Rotation Whether to orient the label as specified in the Use Label Property
label template or at another orientation. (Default)
Note: The Rotate 180 Degrees 0 degrees
option can also affect rotation. 90 degrees
For more information, see " 180 degrees
Media Options for NeuraLabel 270 degrees
Devices" on page 901.

900 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Text Box Overrun How Spectrum should respond if the amount Allow Overrun:
Mode of data received for a Text Box field is more The text continues
than can fit. beyond the bottom
Tip: If the Text Box Overrun of the envelope for
Mode is specified in the job data, the field. For a
that overrides any mode printed label, as
specified in Label Specific much of the text as
Options in Design, device can fit on the label
options in Device is printed.
Management, or global settings Truncate Data:
in System Management. Text that does not
Otherwise, if specified in Label fit is not printed or
Specific Options, that overrides displayed. The
device options and global preceding text is
settings, and if specified in printed or displayed.
device options, that overrides Truncate Data at
global settings. Paragraph Break:
A paragraph that
does not fit is not
printed or displayed.
The preceding
paragraph is printed
or displayed.
Fail Print Job on
Overrun: Any print
job that includes a
Text Box field in
which the data
received does not fit
is failed and is not
printed or displayed.
Use Global
Setting: The value
for Text Box
Overrun Mode
that is set in
System
Management is
used.
Media Options for NeuraLabel Devices

Loftware Spectrum 3.0.1 User Guide 901


Configuring and Administering

If the Family selected is NeuraLabel and a model is selected, then the Media Options
section displays the following options. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
Option Description Values
Media Type The type of paper or label stock being used by the Plain Paper
device. (Default)
Synthetic Label
Matte Label
Glossy Label
Photo Inkjet
Paper
Matte Inkjet
Paper
Glossy Inkjet
Paper
Paper Source The tray from which to draw media and whether Tray 1
the media is continuous (no gap, perforation, or Continuous
separation between labels) or in sheets. (Default)
Tray 1 Cut
Sheet
Tray 2 Cut
Sheet
Marks Whether the label stock has a line or mark on the Marked
back of the label stock. (Default)
Note: This option is not
configurable.
Mark Adjust How far to adjust where a label is printed. This -30 to 300mils
option is typically used if the mark is in the wrong Default: 20mils
position because the media does not match the
current specification.
Note: This option is available only if
Paper Source is set to Tray 1
Continuous.

902 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Rotate 180 Degrees Whether to print a label at its normal rotation or : Print the
rotated 180 degrees. label at normal
Note: This option is available only if orientation.
Paper Source is set to a value other (Default)
than Tray 1 Continuous. : Print the
label rotated.
Note: The Print Rotation option
can also affect rotation. For more
information, see " Options for
NeuraLabel Devices" on page 899.
Advanced Options for NeuraLabel Devices
If the Family selected is NeuraLabel and a model is selected, then the Advanced Options
section displays the following options. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.

Advanced Options
Option Description Values
Color Mode Whether to print in color, grayscale, or black Black & White
and white. Color (Default)
Grayscale
Print Quality Whether to print using draft, normal, or best Draft
print quality available with the device. Normal
Tip: Most GHS labels use (Default)
Normal. Small labels with Best
intricate detail may require Best.
Ink Saver Whether to use a reduced amount of ink when Off: The
printing. normal amount
of ink is used.
(Default)
Low: 10% less
than the normal
amount of ink
is used.
High: 25%
less than the
normal amount
of ink is used.

Loftware Spectrum 3.0.1 User Guide 903


Configuring and Administering

Option Description Values


Print Head Adjust Whether to fine tune the height of the print Auto (Default)
head above the media to accommodate Low
unusually think or thin media. Medium
High
Print Hold Whether a user must press a button on the : A job
device to allow a job to begin printing. begins printing
without delay.
(Default)
: A job
begins printing
when a user
presses OK on
the operator
panel of the
device.

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.
Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.

904 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.
Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).
Custom Commands for NeuraLabel Devices
If the Family selected is NeuraLabel and a model is selected, then the Custom Commands
section displays the following options. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
Note: You can enter lower ASCII control codes by using mnemonic text
representation. The mnemonic text must be upper case. For example, you can use
<ESC> for an escape character or <HT> for a tab character. To enter upper case text
that includes < or > but should not be converted to a control code, enclose the
text with << and >>. For example, <<US>> is converted to <US>. Lower case or
mixed case text enclosed in < and > will remain as is and will not be converted
into a control code. For a list of common control codes, see "Lower ASCII
Control Codes" on page 975.

Loftware Spectrum 3.0.1 User Guide 905


Configuring and Administering

Command Location
You can configure custom commands to occur in multiple locations for the same job.
Option Description
PJL Header Printer Job Language (PJL) command to occur at the beginning of
Command the print stream prior to switching to PCL 3GUI language.
Example
@PJL JOB NAME = "Sample Job 1"
Job Level Command Command to be appended to existing job commands once per print
job. This command may be used to support enhancements due to
firmware upgrades.
Example
If Paper Source is set to Tray 1 Continuous, the
following command inserts four leading blank pages.
<ESC>*o5W<SO><GS><NUL><NUL><EOT>
Page Level Command to be appended to existing page commands once per page
Command or label. This command may be used to support enhancements due
to firmware upgrades.
Example
If Color Mode is set to Color, the following
command prints output in black and white:
<ESC>*o5W<VT><SOH><NUL><NUL><STX>

PCL Device Drivers

If the Family selected is PCL1 and the Model selected is PCL 5c, then the following sections
are displayed.
l " Options for PCL 5c Devices" on page 907
l " Fonts for PCL 5c Devices" on page 909

l " Detailed Status for PCL 5c Devices" on page 912

l "Pass Through File Types" on page 916

l " Custom Commands for PCL 5c Devices" on page 916

If the Family selected is PCL and the Model selected is PCL 5e, then the following sections
are displayed.

1Printer Command Language, a printer control language from Hewlett-Packard.

906 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

l " Options for PCL 5e Devices" on page 917


l " Fonts for PCL 5e Devices" on page 919

l " Detailed Status for PCL 5e Devices" on page 922

l "Pass Through File Types" on page 925

If the Family selected is NeuraLabel and a model is selected, then a PCL 3GUI driver is used
and options relevant to NeuraLabel devices are displayed. For more information, see "
NeuraLabel Device Driver" on page 899.
Options for PCL 5c Devices
If the Family selected is PCL and the Model selected is PCL 5c, the Options section displays
the following options. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.
Option Description Values
Device The resolution capability of the device in Dots Per Inch (dpi). 300
Resolution 600
1200
2400
Orientation The alignment of the label in relation to the paper. Portrait
Landscape
Reverse Portrait
Reverse Landscape
Default: Portrait
Output To which output tray to direct printed labels. If a device has Upper (default)
Tray only one output tray or otherwise does not support this Lower
feature, this command is ignored.

Loftware Spectrum 3.0.1 User Guide 907


Configuring and Administering

Option Description Values


Page Size The size of a page of stock. Executive
Letter (default)
Legal
Ledger
A5
A4
A3
Custom
B4 (JIS)
B5 (JIS)
B5 (ISO)
Monarch
Com 10
C5 (ISO)
DL
Hagaki
Oufuku-Hagaki
Paper From which paper tray to draw stock. Auto: Use stock
Source Note: Devices from different manufacturers from a device-
may implement the handling of the Paper Source specific tray.
selection differently. For example, one Current (default):
manufacturer may map the Lower Tray Use stock from the
command to the device's Lower Tray while paper source last
another manufacturer may map the same used.
command to its Optional Tray. Additionally, Tray 1
these mappings may be configurable, again Tray 2
depending upon the manufacturer. Tray 3
Tray 4
Note: When driving devices with PCL 5, there Manual Feed: Use
is typically a " margin on all sides of the page manually inserted
that is not printable. Additionally, along the top stock.
of the page, the unprintable margin area can have Envelope Feeder:
label elements (text, lines) positioned within it, Use envelopes from
creating a clipping effect. For this reason, it may an envelope feeder
be best to define the label or page layout size in tray.
Spectrum to be " (2" x ") less than the Envelope Manual:
physical paper size. For example, a label Use envelopes
designed for a Letter sized page would be 8" x manually inserted
10". on the top of the
tray.

908 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Text Box How Spectrum should respond if the amount of data received Allow Overrun:
Overrun for a Text Box field is more than can fit. The text continues
Mode Tip: If the Text Box Overrun Mode is specified beyond the bottom
in the job data, that overrides any mode of the envelope for
specified in Label Specific Options in Design, the field. For a
device options in Device Management, or printed label, as
global settings in System Management. much of the text as
Otherwise, if specified in Label Specific can fit on the label
Options, that overrides device options and is printed.
global settings, and if specified in device Truncate Data:
options, that overrides global settings. Text that does not
fit is not printed or
displayed. The
preceding text is
printed or displayed.
Truncate Data at
Paragraph Break:
A paragraph that
does not fit is not
printed or displayed.
The preceding
paragraph is printed
or displayed.
Fail Print Job on
Overrun: Any print
job that includes a
Text Box field in
which the data
received does not
fit is failed and is
not printed or
displayed.
Use Global
Setting: The value
for Text Box
Overrun Mode
that is set in
System
Management is
used.
Fonts for PCL 5c Devices

Loftware Spectrum 3.0.1 User Guide 909


Configuring and Administering

If the Family selected is PCL and the Model selected is PCL 5c, the Fonts section displays
the following options. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.

TrueType Font Recall Options

Note: The font recall1 functionality requires that you install the same font in
Spectrum and on your device. Font recall is not supported for Spectrum's built-in
fonts. If you attempt to use font recall with a built-in font by installing a font of
the same name on your device, the result may not be WYSIWYG.

Note: In some circumstances, font recall cannot be applied for a particular field.
For more information, see " Troubleshoot Devices" on page 1462.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.

910 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Downloaded Fonts Combinations of font and style that Spectrum can
reference in device memory to support font recall1.
For a font to be referenced, it must have already been
saved to the specified location in device memory, and
must already have been installed in Spectrum.
Font: The name of a font. Only fonts installed in
Spectrum are displayed in this list.
Bold and Italic: Which style of the font to reference.
To reference more than one style, you must include
each style as a separate row in the Downloaded Fonts
table.
Bold Italic Style Description
Regular
Bold
Italic
Bold Italic
Recall Name: The device drive letter and font file
name where you have saved the font in device memory,
such as E:ARIALUNI.TTF. Each device drive letter
represents a location in device memory. For more
information, refer to your device manufacturers
documentation.
Important! If the same combination of
font and style is loaded onto more than
one location in device memory, create an
entry in the Downloaded Fonts table for
only one of these instances.
Add Font: Add a row to the Downloaded Fonts table
so that you can select a new font and style combination
for Spectrum to be able to reference in device memory
at print time. The font must already be installed in
Spectrum and loaded into device memory for font recall
to format the text as intended.
Delete Font: Remove the selected font and style
combination from the list available to Spectrum for
recall.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.

Loftware Spectrum 3.0.1 User Guide 911


Configuring and Administering

Option Description Values


Important! Adding a font to the list does
not load it into device memory or install it
in Spectrum, nor does deleting a font from
the list remove it from device memory or
uninstall it from Spectrum. For
information about how to install fonts in
Spectrum, see "Managing Fonts" on page
758. For information about how to load
fonts into device memory, refer to your
device manufacturer's documentation.
TrueType Font Whether to enable font recall1 functionality for : Do not
Recall TrueType fonts that you have installed in Spectrum. enable
This manufacturer's devices allow you to load one or TrueType
more fonts into device memory. If you have loaded font recall
fonts into device memory, Spectrum can reference functionality.
those fonts at print time, reducing the amount of data in (Default)
the print stream and improving printing performance. : Enable
Important! For this functionality to TrueType
work, you must have loaded these fonts font recall
into device memory. Refer to your device functionality.
manufacturer's documentation for
information about how to load fonts into
device memory. This functionality
supports TTF2 files, but not TTC3 files.
Detailed Status for PCL 5c Devices
If the Family selected is PCL and the Model selected is PCL 5c, the Detailed Status section
displays the following options. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
This section allows you to retrieve detailed information about the status and configuration of the
device, such as the model number, firmware version, media type, whether the device is out of
label stock, and whether the device is experiencing any errors.
Tip: Basic status information about whether the device is started and whether the
device service is running is displayed in the Properties pane.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.
2TrueType font
3TrueType font collection

912 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Command


Detailed Status Query the device and display detailed information On-
about the device and its status. Clicking the On- Demand
Demand Status button displays a dialog box Status
containing status information.
Note: The On-Demand Status
command is available only if the
Connection Type is set to TCP/IP or
QCPL.
Advanced Options for PCL 5c Devices
If the Family selected is PCL and the Model selected is PCL 5c, the Advanced section
displays the following options. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.

Advanced Options
Option Description Values
Compression The method of file compression used. Adaptive compression, Unencoded
Type which automatically selects the most effective type of Run-length
compression, is recommended. encoding
Tagged Image
File Format
(TIFF)
Delta row
compression
Adaptive
Default:
Adaptive
Color Mode Whether to print in color (RGB), in grayscale, or in black and RGB
white. Grayscale
Black & White
Default: RGB

Loftware Spectrum 3.0.1 User Guide 913


Configuring and Administering

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.
Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.

Option Description Values


Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.

914 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).

Loftware Spectrum 3.0.1 User Guide 915


Configuring and Administering

Pass Through File Types


You can configure Spectrum to pass an external file directly to a device without the need to
associate the file with a label template. This allows you to print files that were created outside of
Spectrum while still saving auditing data for the printed file. For example, you can select PDF
under Pass ThroughFile Types to print a PDFfile from a public server or URL without
creating or selecting a label template for printing.
Option Description
PDF If selected, PDF files are passed directly to your device.
Important: If your device supports native printing for a file type and that file type
is selected, the file is sent to the device to be printed as is. If your device does not
support native printing for a file type and that file type is not selected, then the file
is converted to an image and sent to the device to be printed.
Custom Commands for PCL 5c Devices
If the Family selected is PCL and the Model selected is PCL 5c, the Custom Commands
section displays the following options. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.

916 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Command Location
You can configure custom commands to occur in multiple locations for the same job.
Option Description
Before Command to occur as the first command sent to the device at the start of the
Label job. On an extended print job (multiple label requests in print stream), this
command occurs only before the first label request.
After Command to occur as the last command sent after each label.
Label
Options for PCL 5e Devices
If the Family selected is PCL and the Model selected is PCL 5e, the Options section displays
the following options. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.
Option Description Values
Device The resolution capability of the device in Dots Per Inch (dpi). 300
Resolution 600
1200
2400
Output To which output tray to direct printed labels. If a device has Upper (default)
Tray only one output tray or otherwise does not support this Lower
feature, this command is ignored.
Page Size The size of a page of stock. Executive
Letter (default)
Legal
Ledger
A5
A4
A3
Custom
B4 (JIS)
B5 (JIS)
B5 (ISO)
Monarch
Com 10
C5 (ISO)
DL
Hagaki
Oufuku-Hagaki

Loftware Spectrum 3.0.1 User Guide 917


Configuring and Administering

Option Description Values


Paper From which paper tray to draw stock. Auto: Use stock
Source Note: Devices from different manufacturers may from a device-
implement the handling of the Paper Source specific tray.
selection differently. For example, one Current (default):
manufacturer may map the Lower Tray command Use stock from the
to the device's Lower Tray while another paper source last
manufacturer may map the same command to its used.
Optional Tray. Additionally, these mappings may Tray 1
be configurable, again depending upon the Tray 2
manufacturer. Tray 3
Tray 4
Note: When driving devices with PCL 5, there Manual Feed: Use
is typically a " margin on all sides of the page manually inserted
that is not printable. Additionally, along the top stock.
of the page, the unprintable margin area can have Envelope Feeder:
label elements (text, lines) positioned within it, Use envelopes from
creating a clipping effect. For this reason, it may an envelope feeder
be best to define the label or page layout size in tray.
Spectrum to be " (2" x ") less than the Envelope Manual:
physical paper size. For example, a label designed Use envelopes
for a Letter sized page would be 8" x 10". manually inserted
on the top of the
tray.

918 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Text Box How Spectrum should respond if the amount of data received Allow Overrun:
Overrun for a Text Box field is more than can fit. The text continues
Mode Tip: If the Text Box Overrun Mode is specified beyond the bottom
in the job data, that overrides any mode specified of the envelope for
in Label Specific Options in Design, device the field. For a
options in Device Management, or global printed label, as
settings in System Management. Otherwise, if much of the text as
specified in Label Specific Options, that can fit on the label
overrides device options and global settings, and is printed.
if specified in device options, that overrides Truncate Data:
global settings. Text that does not
fit is not printed or
displayed. The
preceding text is
printed or displayed.
Truncate Data at
Paragraph Break:
A paragraph that
does not fit is not
printed or displayed.
The preceding
paragraph is printed
or displayed.
Fail Print Job on
Overrun: Any print
job that includes a
Text Box field in
which the data
received does not
fit is failed and is
not printed or
displayed.
Use Global
Setting: The value
for Text Box
Overrun Mode
that is set in
System
Management is
used.
Fonts for PCL 5e Devices

Loftware Spectrum 3.0.1 User Guide 919


Configuring and Administering

If the Family selected is PCL and the Model selected is PCL 5e, the Fonts section displays
the following options. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.

TrueType Font Recall Options

Note: The font recall1 functionality requires that you install the same font in
Spectrum and on your device. Font recall is not supported for Spectrum's built-in
fonts. If you attempt to use font recall with a built-in font by installing a font of
the same name on your device, the result may not be WYSIWYG.

Note: In some circumstances, font recall cannot be applied for a particular field.
For more information, see " Troubleshoot Devices" on page 1462.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.

920 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Downloaded Fonts Combinations of font and style that Spectrum can
reference in device memory to support font recall1.
For a font to be referenced, it must have already been
saved to the specified location in device memory, and
must already have been installed in Spectrum.
Font: The name of a font. Only fonts installed in
Spectrum are displayed in this list.
Bold and Italic: Which style of the font to reference.
To reference more than one style, you must include
each style as a separate row in the Downloaded Fonts
table.
Bold Italic Style Description
Regular
Bold
Italic
Bold Italic
Recall Name: The device drive letter and font file
name where you have saved the font in device memory,
such as E:ARIALUNI.TTF. Each device drive letter
represents a location in device memory. For more
information, refer to your device manufacturers
documentation.
Important! If the same combination of
font and style is loaded onto more than
one location in device memory, create an
entry in the Downloaded Fonts table for
only one of these instances.
Add Font: Add a row to the Downloaded Fonts table
so that you can select a new font and style combination
for Spectrum to be able to reference in device memory
at print time. The font must already be installed in
Spectrum and loaded into device memory for font recall
to format the text as intended.
Delete Font: Remove the selected font and style
combination from the list available to Spectrum for
recall.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.

Loftware Spectrum 3.0.1 User Guide 921


Configuring and Administering

Option Description Values


Important! Adding a font to the list does
not load it into device memory or install it
in Spectrum, nor does deleting a font from
the list remove it from device memory or
uninstall it from Spectrum. For
information about how to install fonts in
Spectrum, see "Managing Fonts" on page
758. For information about how to load
fonts into device memory, refer to your
device manufacturer's documentation.
TrueType Font Whether to enable font recall1 functionality for : Do not
Recall TrueType fonts that you have installed in Spectrum. enable
This manufacturer's devices allow you to load one or TrueType
more fonts into device memory. If you have loaded font recall
fonts into device memory, Spectrum can reference functionality.
those fonts at print time, reducing the amount of data in (Default)
the print stream and improving printing performance. : Enable
Important! For this functionality to TrueType
work, you must have loaded these fonts font recall
into device memory. Refer to your device functionality.
manufacturer's documentation for
information about how to load fonts into
device memory. This functionality
supports TTF2 files, but not TTC3 files.
Detailed Status for PCL 5e Devices
If the Family selected is PCL and the Model selected is PCL 5e, the Detailed Status section
displays the following options. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
This section allows you to retrieve detailed information about the status and configuration of the
device, such as the model number, firmware version, media type, whether the device is out of
label stock, and whether the device is experiencing any errors.
Tip: Basic status information about whether the device is started and whether the
device service is running is displayed in the Properties pane.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.
2TrueType font
3TrueType font collection

922 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Command


Detailed Status Query the device and display detailed information On-
about the device and its status. Clicking the On- Demand
Demand Status button displays a dialog box Status
containing status information.
Note: The On-Demand Status
command is available only if the
Connection Type is set to TCP/IP or
QCPL.
Advanced Options for PCL 5e Devices
If the Family selected is PCL and the Model selected is PCL 5e, the Advanced section
displays the following options. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.
Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.

Loftware Spectrum 3.0.1 User Guide 923


Configuring and Administering

Option Description Values


Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.
Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).

924 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Pass Through File Types


You can configure Spectrum to pass an external file directly to a device without the need to
associate the file with a label template. This allows you to print files that were created outside of
Spectrum while still saving auditing data for the printed file. For example, you can select PDF
under Pass ThroughFile Types to print a PDFfile from a public server or URL without
creating or selecting a label template for printing.
Option Description
PDF If selected, PDF files are passed directly to your device.
Important: If your device supports native printing for a file type and that file type
is selected, the file is sent to the device to be printed as is. If your device does not
support native printing for a file type and that file type is not selected, then the file
is converted to an image and sent to the device to be printed.

QuickLabel Device Driver

If the Family selected is QuickLabel and the Model selected is Kiaro! or QL-111, then the
following sections are displayed.

Options for QuickLabel Devices


If the Family selected is QuickLabel and a specific model is selected, then only options
appropriate to that model are displayed. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
Option Description Values
Print Speed The printing speed in millimeters per Auto (Default): The printer
second and inches per second. uses the best print speed,
Printing speed is also affected by Print which can change during
Quality and other options. printing.
50 mm/sec (2 in/sec)
60 mm/sec (2.4 in/sec)
70 mm/sec (2.8 in/sec)
80 mm/sec (3.2 in/sec)
90 mm/sec (3.5 in/sec)
100 mm/sec (4 in/sec)
120 mm/sec (4.7 in/sec)
160 mm/sec (6.3 in/sec)
200 mm/sec (8 in/sec)

Loftware Spectrum 3.0.1 User Guide 925


Configuring and Administering

Option Description Values


Image Resolution The Dots Per Inch (dpi) of the images 150 dpi
Spectrum creates to send to the device. 300 dpi
600 dpi (Default)
1200 dpi (Kiaro! only)
Quality Whether to print labels using less ink or Economy
with the best possible quality. Best (Default)
Note: This option is
displayed only if Image
Resolution is 1200.
Auto Cutter Whether to turn on the automatic cutter. : Off (Default)
: On
Cut AtJob End Whether to cut the label at the end of the : Off (Default)
job. : On
Note: This option is
displayed only if AutoCutter
is selected.
Cut Interval The number of printed labels between 0 to 65535 labels
cuts. Default: 0
Note: This option is
displayed only if AutoCutter
is selected.

926 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Text Box How Spectrum should respond if the Allow Overrun: The text
Overrun Mode amount of data received for a Text Box continues beyond the
field is more than can fit. bottom of the envelope for
Tip: If the Text Box Overrun the field. For a printed
Mode is specified in the job label, as much of the text as
data, that overrides any mode can fit on the label is
specified in Label Specific printed.
Options in Design, device Truncate Data: Text that
options in Device does not fit is not printed
Management, or global or displayed. The preceding
settings in System text is printed or displayed.
Management. Otherwise, if Truncate Data at
specified in Label Specific Paragraph Break: A
Options, that overrides paragraph that does not fit
device options and global is not printed or displayed.
settings, and if specified in The preceding paragraph is
device options, that overrides printed or displayed.
global settings. Fail Print Job on
Overrun: Any print job
that includes a Text Box
field in which the data
received does not fit is
failed and is not printed or
displayed.
Use Global Setting: The
value for Text Box
Overrun Mode that is set
in System Management
is used.
Media Options for QuickLabel Devices
If the Family selected is QuickLabel and a specific model is selected, then only options
appropriate to that model are displayed. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
Note: For QuickLabel devices, the label template size must match the stock size
or the device may exhibit unexpected behavior.

Loftware Spectrum 3.0.1 User Guide 927


Configuring and Administering

Option Description Values


Stock Type The printing method used Continuous: No gaps or separations
by the device. between labels.
Note: When printed, space
between labels may still occur
due to the minimum margins
imposed by the device.
Gap: Gap, perforation, or separation
between each label (Default).
Mark: Black line or mark on the label stock
backing.
Media Type The type of paper or label Other (Default)
stock being used by the Satin Synthetic
device.
Gap Length The length of the gap, 1200 dpi: 118 to 448
perforation, or separation 600 dpi: 59 to 224
between each label.
Note: This Default: 118
option is
displayed
only if Stock
Type is Gap.
Mark Length The length of the black 1200 dpi: 141 to 472
line or mark on the label 600 dpi: 70 to 236
stock backing.
Note: This Default: 141
option is
displayed
only if Stock
Type is
Mark.
Detailed Status for QuickLabel Devices
If the Family selected is QuickLabel and a specific model is selected, then only options
appropriate to that model are displayed. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
This section allows you to retrieve detailed information about the status and configuration of the
device, such as the model number, firmware version, media type, whether the device is out of
label stock, and whether the device is experiencing any errors.

928 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Tip: Basic status information about whether the device is started and whether the
device service is running is displayed in the Properties pane.
Option Description Command
Detailed Status Query the device and display detailed information On-
about the device and its status. Clicking the On- Demand
Demand Status button displays a dialog box Status
containing status information.
Note: The On-Demand Status
command is available only if the
Connection Type is set to TCP/IP or
QCPL.
Advanced Options for QuickLabel Devices
If the Family selected is QuickLabel and a specific model is selected, then only options
appropriate to that model are displayed. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.
Option Description Values
Image Regions The number of regions of the label 1 to 10 image regions
image to send to the device individually. per label
Default: 5
Color Correct Whether to apply a color management : Off (Default)
profile to the output of the device. : On
Note: This option is
displayed only if Satin
Synthetic is selected for
Media Type in the
Media section.

Loftware Spectrum 3.0.1 User Guide 929


Configuring and Administering

Option Description Values


Rendering Intent The type of color adjustment to apply. Perceptual
n Perceptual: Compress both in and RelativeColorimetric
out-of-gamut colors until all colors can
be represented by the device. All colors (Default)
are changed equally and the Absolute
relationship between each color is Colorimetric
maintained, however in-gamut colors
may significantly differ from their Saturation
original tone.
n Relative Colorimetric: Scale the
white point of the source image to
match the white point of the target
space, and then map out-of-gamut
colors to the closest in-gamut color. All
colors maintain the same relationship to
white, but in-gamut colors differ from
their original color and gradation
problems may occur.
n Absolute Colorimetric: Map out-of-
gamut colors to the closest in-gamut
color. Only out-of-gamut colors are
altered, but the relationship between in
and out-of-gamut colors is not
maintained which may result in large
"flat" looking areas, or areas with
sudden, coarse tonal gradations.
n Saturation: Convert saturated simple
colors in the source space to the same
saturated basic colors in the print space
and ignore any differences in hue and
lightness. Saturation rendering is
recommended for images with basic
colors and is not recommended for
photographs.
For more information, refer to your
QCPL device documentation.
Note: This option is
displayed only if Color
Correct is selected.

930 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Special Paper When the stock type is Mark and the : Off (Default)
device is calibrated for Top of Form : On
(TOF), whether special paper is used.
Allows for correct printing on
Reflective media.
Note: This option is
displayed only if Mark is
selected for Stock Type in
the Media section.
Diagnostics When selected, diagnostics are enabled On/Off
for troubleshooting. Default=Off
Diagnostics Directory Specifies the folder where debug images
for the label are stored.
Note: This option is
available only if
Diagnostics is selected.

SATO Device Driver

If the Family selected is Family Driver and the Model selected is SBPL, or if the Family
selected is SATO and a model is selected, then the following sections are displayed:

Options for SATO Devices


If the Family selected is Family Driver and the Model selected is SBPL, then the Options
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is SATO and a specific model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.

Label Control
Option Description Values
Device Version Whether the device is a Japanese or International
internationally branded device. Japan
Device Resolution The resolution capability of the device in 203 dpi (8 dpmm)
Dots Per Inch (dpi) or dots per millimeter 300 dpi (11.8 dpmm)
(dpmm). 305 dpi (12 dpmm)
600 dpi (23.6 dpmm)
609 dpi (24 dpmm)

Loftware Spectrum 3.0.1 User Guide 931


Configuring and Administering

Option Description Values


Horizontal Reference The location of a field in the X direction -3192 to 3192 dots at
Point from the current base reference point zero degree orientation
measured in number of dots at zero Note: The
degree orientation. actual
maximum
and
minimum
values vary
per model.
CL6NX
and
CL4NX
have a
maximum
value of
792 dots.
Vertical Reference The location of a field in the Y direction -9999 to 9999 dots at
Point from the current base reference point zero degree orientation
measured in number of dots at zero
degree orientation.
Print Length Either the maximum length of the label, 7 in. (178 mm)
which is limited by the amount of 14 in. (356 mm)
memory in the device, or whether the Expanded Memory
maximum length of the label should be
limited only by the amount of expanded
memory available.
Printhead Width The width of the device printhead. 1.9 in. (48 mm)
2.2 in. (56 mm)
4.1 in. (104 mm)
4.4 in. (112 mm)
5 in. (127 mm)
6 in. (152 mm)
6.5 in. (164 mm)
6.6 in. (168 mm)
10.5 in. (266 mm)

932 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Text Box Overrun How Spectrum should respond if the Allow Overrun: The
Mode amount of data received for a Text Box text continues beyond
field is more than can fit. the bottom of the
Tip: If the Text Box envelope for the field.
Overrun Mode is specified For a printed label, as
in the job data, that much of the text as can
overrides any mode fit on the label is
specified in Label Specific printed.
Options in Design, device Truncate Data: Text
options in Device that does not fit is not
Management, or global printed or displayed. The
settings in System preceding text is printed
Management. Otherwise, or displayed.
if specified in Label Specific Truncate Data at
Options, that overrides Paragraph Break: A
device options and global paragraph that does not
settings, and if specified in fit is not printed or
device options, that displayed. The preceding
overrides global settings. paragraph is printed or
displayed.
Fail Print Job on
Overrun: Any print job
that includes a Text Box
field in which the data
received does not fit is
failed and is not printed
or displayed.
Use Global Setting:
The value for Text Box
Overrun Mode that is
set in System
Management is used.

Cutter Options
Option Description Values
Enable Cutter Whether to turn on the cutter. On/Off
Default =
Off
Print/Cut Offset Align labels to the cut position. -400 to
400 dots

Loftware Spectrum 3.0.1 User Guide 933


Configuring and Administering

Option Description Values


Cut Interval Number of printed labels between cuts. If the cutter is 0 to 9999
enabled, and the cut interval is set to 0, then the device printed
cuts the label at the end of the job. labels
Note: This option is active only if Enable Default =
Cutter is selected. 0

Media Options for SATO Devices


If the Family selected is Family Driver and the Model selected is SBPL, then the Media
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is SATO and a specific model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.
Option Description Values
Print Speed Speed at which the label travels over the 2 to 14 inches per
print head. second
Print Darkness The darkness of printed output. 1 to 10
Note:
Some
models do
not support
all values.
Darkness Range The darkness range of the device, a means A to F or Not Applicable
of fine-tuning the darkness of printed Note:
output. Some
models do
not support
all values.
Fonts for SATO Devices
If the Family selected is Family Driver and the Model selected is SBPL, or if the Family
selected is SATO and a specific device model is selected, then the Fonts section displays the
following options. Some options may not be relevant to some device models. For more
information about drivers and Spectrum, see " Managing Devices" on page 794.

934 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

TrueType Font Recall Options

Note: The font recall1 functionality requires that you install the same font in
Spectrum and on your device. Font recall is not supported for Spectrum's built-in
fonts. If you attempt to use font recall with a built-in font by installing a font of
the same name on your device, the result may not be WYSIWYG.

Note: In some circumstances, font recall cannot be applied for a particular field.
For more information, see " Troubleshoot Devices" on page 1462.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.

Loftware Spectrum 3.0.1 User Guide 935


Configuring and Administering

Option Description Values


Downloaded Fonts Combinations of font and style that Spectrum can
reference in device memory to support font recall1.
For a font to be referenced, it must have already been
saved to the specified location in device memory, and
must already have been installed in Spectrum.
Font: The name of a font. Only fonts installed in
Spectrum are displayed in this list.
Bold and Italic: Which style of the font to reference.
To reference more than one style, you must include
each style as a separate row in the Downloaded Fonts
table.
Bold Italic Style Description
Regular
Bold
Italic
Bold Italic
Recall Name: The device drive letter and font file
name where you have saved the font in device memory,
such as E:ARIALUNI.TTF. Each device drive letter
represents a location in device memory. For more
information, refer to your SATO device
documentation.
Tip: Most SATO devices can print out a
list of the fonts installed in device
memory or display the list via a web
browser. Use that list to determine the
Recall Name to enter in Spectrum.

Important! If the same combination of


font and style is loaded onto more than
one location in device memory, create an
entry in the Downloaded Fonts table for
only one of these instances.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.

936 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Add Font: Add a row to the Downloaded Fonts table
so that you can select a new font and style combination
for Spectrum to be able to reference in device memory
at print time. The font must already be installed in
Spectrum and loaded into device memory for font recall
to format the text as intended.
Delete Font: Remove the selected font and style
combination from the list available to Spectrum for
recall.
Important! Adding a font to the list does
not load it into device memory or install it
in Spectrum, nor does deleting a font from
the list remove it from device memory or
uninstall it from Spectrum. For
information about how to install fonts in
Spectrum, see "Managing Fonts" on page
758. For information about how to load
fonts into device memory, refer to your
SATO device documentation.
TrueType Font Whether to enable font recall1 functionality for : Do not
Recall TrueType fonts that you have installed in Spectrum. enable
This manufacturer's devices allow you to load one or TrueType
more fonts into device memory. If you have loaded font recall
fonts into device memory, Spectrum can reference functionality.
those fonts at print time, reducing the amount of data in (Default)
the print stream and improving printing performance. : Enable
Important! For this functionality to TrueType
work, you must have loaded these fonts font recall
into device memory. Refer to your device functionality.
manufacturer's documentation for
information about how to load fonts into
device memory.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.

Loftware Spectrum 3.0.1 User Guide 937


Configuring and Administering

TrueType Font Mapping Options

Note: When using the font mapping1 functionality, the font displayed in
Spectrum is the Spectrum font, and the font printed is the native font. So that the
result is as close to WYSIWYG as possible, it is recommended that you select a
native font that is comparable to the Spectrum font.

Note: If the same TrueType font is used for both font recall and font mapping,
the recalled font takes precedence.

1The ability to use a printer's native scalable font at print time in place of a TrueType font. Font mapping allows you to print natively
and therefore improve performance.

938 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Mapped Fonts Combinations of font and style in Spectrum to be
mapped to native fonts resident on the device when
printing.
Face Name: The name of a font. Only fonts installed
in Spectrum are displayed in this list.
Bold and Italic: Which style of the font to reference.
To reference more than one style, you must include
each style as a separate row in the Mapped Fonts table.
Bold Italic Style Description
Regular
Bold
Italic
Bold Italic
Native Font Name: The name of a font resident on
the device. For more information, refer to your device
manufacturer's documentation.
Add Font: Add a row to the Mapped Fonts table so
that you can select a new font and style combination for
Spectrum to be able to map to a native font in device
memory at print time. The font must already be installed
in Spectrum and loaded into device memory for font
mapping to format the text as intended.
Delete Font: Remove the selected font and style
combination from the list available to Spectrum for font
mapping.
Important! Adding a font to the list does
not load it into device memory or install it
in Spectrum, nor does deleting a font from
the list remove it from device memory or
uninstall it from Spectrum. For
information about how to install fonts in
Spectrum, see "Managing Fonts" on page
758.

Loftware Spectrum 3.0.1 User Guide 939


Configuring and Administering

Option Description Values


Font Mapping Whether to enable font mapping functionality for : Do not
TrueType fonts that you have installed in enable
Spectrum.Spectrum can use the device's native scalable TrueType
font at print time, which can improve performance. font mapping
Important! For this functionality to work, functionality.
the specified native font must be available (Default)
on your device. Refer to your device : Enable
manufacturer's documentation for TrueType
information about the fonts available on font mapping
the device. functionality.
Barcode Imaging for SATO Devices
If the Family selected is Family Driver and the Model selected is SBPL, then the Barcode
Imaging section displays the following options. Some options may not be relevant to some
device models.
If the Family selected is SATO and a specific model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.

940 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Force checked For each symbology, whether to print a barcode as an : The
symbologies to print image or to use the device's native ability to encode the device
as images. barcode. encodes
Note: Selecting the Print as Image the
property for a Barcode field overrides this barcode.
option for the relevant symbology, and the If the
barcode is sent as an image. Selecting Print device
as Image removes any potential device does not
variation when natively encoding the barcode support
data. native
encoding
of
barcodes,
then the
barcode
is
encoded
by
Spectrum
and
printed
as an
image.
(Default)
:
Spectrum
encodes
the
barcode
and
prints it
as an
image.
Detailed Status for SATO Devices
If the Family selected is Family Driver and the Model selected is SBPL, or if the Family
selected is SATO and a specific device model is selected, then the Detailed Status section is
displayed.
This section allows you to retrieve detailed information about the status and configuration of the
device, such as the model number, firmware version, media type, whether the device is out of
label stock, and whether the device is experiencing any errors.

Loftware Spectrum 3.0.1 User Guide 941


Configuring and Administering

Tip: Basic status information about whether the device is started and whether the
device service is running is displayed in the Properties pane.
Option Description Command
Detailed Status Query the device and display detailed information On-
about the device and its status. Clicking the On- Demand
Demand Status button displays a dialog box Status
containing status information.
Note: The On-Demand Status
command is available only if the
Connection Type is set to TCP/IP or
QCPL.
Advanced Options for SATO Devices
If the Family selected is Family Driver and the Model selected is SBPL, then the Advanced
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is SATO and a specific model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.

Advanced Options
Option Description Values
Memory Slot The memory card used if Expanded Memory is None
selected. Slot A
Slot B
Send Options If enabled, all device options configured in On/Off
LoftwareSpectrum set are sent to the device. Default=On
Otherwise, the options configured at the device are
used.
CLNX Series If you are using a SATO device in the CLNX series, On/Off
enable this option to use the correct command set. Default=Off

942 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Pass Through File Types


You can configure Spectrum to pass an external file directly to a device without the need to
associate the file with a label template. This allows you to print files that were created outside of
Spectrum while still saving auditing data for the printed file. For example, you can select PDF
under Pass ThroughFile Types to print a PDFfile from a public server or URL without
creating or selecting a label template for printing.
Option Description
PDF If selected, PDF files are passed directly to your device.
Important: If your device supports native printing for a file type and that file type
is selected, the file is sent to the device to be printed as is. If your device does not
support native printing for a file type and that file type is not selected, then the file
is converted to an image and sent to the device to be printed.

Reset Reference Points Options


Option Description Values
Reset Reference If enabled, the Horizontal and Vertical reference On/Off
Points After Print points are reset to the values configured in the Default=Off
Job Options section after the print job is completed.

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.

Loftware Spectrum 3.0.1 User Guide 943


Configuring and Administering

Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.
Option Description Values
Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.
Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).
Custom Commands for SATO Devices
If the Family selected is Family Driver and the Model selected is SBPL, or if the Family
selected is SATO, then the Custom Commands section displays the following options. For
more information about drivers and Spectrum, see " Managing Devices" on page 794.
Custom commands are sent even if Send Options is cleared in the Advanced section.

944 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Command Location
You can configure custom commands to occur in multiple locations for the same job.
Option Description
Before Command to occur as the first command sent to the device at the start of the
Label job. On an extended print job (multiple label requests in print stream), this
command occurs only before the first label request.
After Command to occur after the option stream.
Control
Strings
After Command to occur as the last command sent after each label.
Label
Zebra Device Driver

If the Family selected is Family Driver and the Model selected is ZPL II, or if the Family
selected is Zebra and a model is selected, then the following sections are displayed.
l " Options for Zebra Devices" on page 945
l " Media Options for Zebra Devices" on page 949
l " Fonts for Zebra Devices" on page 951
l " Barcode Imaging for Zebra Devices" on page 956
l " Detailed Status for Zebra Devices" on page 957
l "Pass Through File Types" on page 960
l " Custom Commands for Zebra Devices" on page 961
Note: It is recommended that Zebra ZPL II devices use x.17 or later firmware.
For Zebra font commands, x.14 or later firmware is required. Spectrum supports Zebra ZPL II
devices with x.10 or later firmware.
Options for Zebra Devices
If the Family selected is Family Driver and the Model selected is ZPL II, then the Options
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is Zebra and a specific model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.
Note: It is recommended that Zebra ZPL II devices use x.17 or later firmware.
For Zebra font commands, x.14 or later firmware is required. Spectrum supports Zebra ZPL II
devices with x.10 or later firmware.

Loftware Spectrum 3.0.1 User Guide 945


Configuring and Administering

Option Description Values


Device Resolution The resolution capability of the 203 (Default)
device in Dots Per Inch (dpi). 300
Note: For thermal 600
printers, setting the
resolution to something
other than what is
reported by the device
may result in
unexpected behavior.
Label Top Distance in dots to move the label -120 to 120 dots
relative to the top edge of the label.

946 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Print Mode Determines the action the device Applicator: After printing,
takes after a label or group of labels the label may be
has been printed. mechanically removed and
applied to an object.
Cutter: The web separating
the printed label and the next
blank label to be printed is
extended into the cutter
mechanism. The label is cut;
the blank label is then
retracted into the device so
that it can be printed.
Peel-off: After printing, the
label is partially separated
from the backing. Printing
stops until the label is
completely removed. Peel
off handling requires that the
stock in the device be
properly fed through the peel
off attachment on the
device. Select only if device
is equipped with an internal
rewind spindle.
Rewind: Label and backing
are rewound on an optional
internal rewind device. The
next label is positioned
under the print head.
Tear-off: After printing, the
label is advanced so that the
web is over the tear bar.
Label, with backing attached,
can then be torn off
manually.
Do Not Send: Use the Print
Mode configured at your
device.

Loftware Spectrum 3.0.1 User Guide 947


Configuring and Administering

Option Description Values


Pause/Cut Interval Number of printed labels between 0 to 9999 printed labels
cuts. If the cutter is enabled, and the Default = 0
cut interval is set to 0 (zero), then the
device cuts the label after the batch.
Tear-off Adjusts the rest point of the media -120 to 120 dots
after a label is printed, which changes Available only if the Print
the position at which the label can be Mode is Tear-off.
torn off or cut. By default, the Tear
Off settings are sent to the device.
Backfeed Backfeed (retract) behavior of the After Print: Causes the
device before or after a label is device to backfeed (retract)
printed. between each label that is
printed.
Before Print: Causes the
device to backfeed (retract)
before each label that is
printed.
Default: Backfeed default
behavior for the selected
Print Mode.
Suppress: Causes the device
to suppress the backfeeding
or retracting action before
print and after print.
Suppress Except Last
Label: Causes the device to
suppress the backfeeding or
retracting action before print
and after print, except before
or after the last label has
printed.
Do Not Send: Use the
backfeed setting configured
at your device.
Override Pause Overrides the Paused Count setting, : Do not override the
Count which is controlled by the Pause/Cut Paused Count. (Default)
Interval option. : Override the Paused
Count.

948 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Text Box Overrun How Spectrum should respond if the Allow Overrun: The text
Mode amount of data received for a Text continues beyond the
Box field is more than can fit. bottom of the envelope for
Tip: If the Text Box the field. For a printed label,
Overrun Mode is as much of the text as can fit
specified in the job data, on the label is printed.
that overrides any mode Truncate Data: Text that
specified in Label does not fit is not printed or
Specific Options in displayed. The preceding
Design, device options text is printed or displayed.
in Device Truncate Data at
Management, or global Paragraph Break: A
settings in System paragraph that does not fit is
Management. not printed or displayed. The
Otherwise, if specified preceding paragraph is
in Label Specific printed or displayed.
Options, that overrides Fail Print Job on Overrun:
device options and Any print job that includes a
global settings, and if Text Box field in which the
specified in device data received does not fit is
options, that overrides failed and is not printed or
global settings. displayed.
Use Global Setting: The
value for Text Box
Overrun Mode that is set in
System Management is
used.
Media Options for Zebra Devices
If the Family selected is Family Driver and the Model selected is ZPL II, then the Media
section displays the following options. Some options may not be relevant to some device
models.
If the Family selected is Zebra and a specific model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.
Note: It is recommended that Zebra ZPL II devices use x.17 or later firmware.
For Zebra font commands, x.14 or later firmware is required. Spectrum supports Zebra ZPL II
devices with x.10 or later firmware.

Loftware Spectrum 3.0.1 User Guide 949


Configuring and Administering

Option Description Values


Media Type The printing Direct Thermal (No Ribbon): Uses heat sensitive
method used by label stock without a ribbon. The print head is
the device. activated as the label moves underneath heating
the label stock and activating the heat sensitive
material in the stock causing darkening of the
material. To increase the quality of the print,
decrease/increase the speed and increase/decrease
the heat as necessary.
Thermal Transfer (Ribbon): Uses ribbon and
non-heat sensitive label stock to print. The print
head is activated as the label moves underneath
heating the ribbon material and melting it onto the
label. To increase the quality of the print
decrease/increase the speed and increase/decrease
the heat as necessary.
Stock Type The type of Black Mark: Black line or mark on the label stock
media loaded in backing.
the device. Continuous: No gaps or separations between
labels.
Non-Continuous: Gap, perforation or separation
between each label.
Web: Perforation, gap, or separation between each
label.
Print Speed The speed at 2.0 to 14.0 inches per second (ips)
which the label
travels over the
print head.
Darkness The darkness -30 to 30
relative to the
current device
setting.
Flip Label 180 Whether to : Print in normal orientation. (Default)
Degrees print the label : Print rotated 180 degrees.
rotated 180
degrees.

950 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Print Mirror Image of Whether to : Print in normal orientation. (Default)
Label print the mirror : Print mirror image.
image of the
label, flipped
from left to
right.
Print Label as White Whether to : Print with normal shading. (Default)
on Black print the label : Invert black and white.
with all fields
inverted, white
text on a black
background.
Fonts for Zebra Devices
If the Family selected is Family Driver and the Model selected is ZPL II, or if the Family
selected is Zebra and a specific device model is selected, then the Fonts section displays the
following options. Some options may not be relevant to some device models. For more
information about drivers and Spectrum, see " Managing Devices" on page 794.
Note: It is recommended that Zebra ZPL II devices use x.17 or later firmware.
For Zebra font commands, x.14 or later firmware is required. Spectrum supports Zebra ZPL II
devices with x.10 or later firmware.

Font Options
Option Description Values
Global Printing Whether to enable Zebra's Global Printing feature, which is :
Engine required for Unicode fonts. Allow
Note: Enabling this option may impact Unicode
device throughput, such as causing pauses fonts.
before printing a label. (Default)
: Do
not
allow
Unicode
fonts.

Loftware Spectrum 3.0.1 User Guide 951


Configuring and Administering

TrueType Font Recall Options

Note: The font recall1 functionality requires that you install the same font in
Spectrum and on your device. Font recall is not supported for Spectrum's built-in
fonts. If you attempt to use font recall with a built-in font by installing a font of
the same name on your device, the result may not be WYSIWYG.

Note: In some circumstances, font recall cannot be applied for a particular field.
For more information, see " Troubleshoot Devices" on page 1462.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.

952 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Downloaded Fonts Combinations of font and style that Spectrum can
reference in device memory to support font recall1.
For a font to be referenced, it must have already been
saved to the specified location in device memory, and
must already have been installed in Spectrum.
Font: The name of a font. Only fonts installed in
Spectrum are displayed in this list.
Bold and Italic: Which style of the font to reference.
To reference more than one style, you must include
each style as a separate row in the Downloaded Fonts
table.
Bold Italic Style Description
Regular
Bold
Italic
Bold Italic
Recall Name: The device drive letter and font file
name where you have saved the font in device memory,
such as E:ARIALUNI.TTF. Each device drive letter
represents a location in device memory. For more
information, refer to your Zebra device documentation.
Tip: Most Zebra devices can print out a
list of the fonts installed in device
memory or display the list via a web
browser. Use that list to determine the
Recall Name to enter in Spectrum.

Important! If the same combination of


font and style is loaded onto more than
one location in device memory, create an
entry in the Downloaded Fonts table for
only one of these instances.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.

Loftware Spectrum 3.0.1 User Guide 953


Configuring and Administering

Option Description Values


Add Font: Add a row to the Downloaded Fonts table
so that you can select a new font and style combination
for Spectrum to be able to reference in device memory
at print time. The font must already be installed in
Spectrum and loaded into device memory for font recall
to format the text as intended.
Delete Font: Remove the selected font and style
combination from the list available to Spectrum for
recall.
Important! Adding a font to the list does
not load it into device memory or install it
in Spectrum, nor does deleting a font from
the list remove it from device memory or
uninstall it from Spectrum. For
information about how to install fonts in
Spectrum, see "Managing Fonts" on page
758. For information about how to load
fonts into device memory, refer to your
Zebra device documentation.
TrueType Font Whether to enable font recall1 functionality for : Do not
Recall TrueType fonts that you have installed in Spectrum. enable
Zebra devices allow you to load one or more fonts into TrueType
device memory. If you have loaded fonts into device font recall
memory, Spectrum can reference those fonts at print functionality.
time, reducing the amount of data in the print stream (Default)
and improving printing performance. : Enable
Important! For this functionality to TrueType
work, you must have loaded these fonts font recall
into device memory. Refer to your Zebra functionality.
device documentation for information
about how to load fonts into device
memory. For this functionality, Zebra
supports TTF2 files, but not TTC3 files.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.
2TrueType font
3TrueType font collection

954 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Default Glyph What character to use as the default character to be : A space.
printed when a specified character is not available in the (Default)
font. : The
Note: This option is displayed only if default
TrueType Font Recall is enabled. character of
the base
font,
typically a
hollow box.
Bidirectional Text Whether to allow characters from languages with : Allow
Layout different directionality on the same line. For example, different
whether to permit characters from a language read from directionality
left to right, such as English, on the same line as on the same
characters from a language read from right to left, such line.
as Arabic. (Default)
Note: This option is displayed only if : Do not
TrueType Font Recall is enabled. allow
different
directionality
on the same
line.
Character Shaping Whether to allow characters to have different forms : Allow
based on context. Character shaping helps ensure that different
adjacent letters in a cursive font connect appropriately. character
Note: This option is displayed only if forms.
TrueType Font Recall is enabled. (Default)
: Do not
allow
different
character
forms.

Loftware Spectrum 3.0.1 User Guide 955


Configuring and Administering

Option Description Values


OpenType Table Whether to support fonts that use the OpenType file : Do not
Support format. The OpenType file format extends the support
TrueType file format and includes advanced features for OpenType
layout. fonts.
Note: Zebra devices support OpenType (Default)
fonts only if the fonts have been saved as : Support
TTF files. OpenType
fonts.
Note: This option is displayed only if
TrueType Font Recall is enabled.
Barcode Imaging for Zebra Devices
If the Family selected is Family Driver and the Model selected is ZPL II, then the Barcode
Imaging section displays the following options. Some options may not be relevant to some
device models.
If the Family selected is Zebra and a specific model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.
Note: It is recommended that Zebra ZPL II devices use x.17 or later firmware.
For Zebra font commands, x.14 or later firmware is required. Spectrum supports Zebra ZPL II
devices with x.10 or later firmware.

956 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Force checked For each symbology, whether to print a barcode as an : The
symbologies to print image or to use the device's native ability to encode the device
as images. barcode. encodes
Note: Selecting the Print as Image the
property for a Barcode field overrides this barcode.
option for the relevant symbology, and the If the
barcode is sent as an image. Selecting Print device
as Image removes any potential device does not
variation when natively encoding the barcode support
data. native
encoding
of
barcodes,
then the
barcode
is
encoded
by
Spectrum
and
printed
as an
image.
(Default)
:
Spectrum
encodes
the
barcode
and
prints it
as an
image.
Detailed Status for Zebra Devices
If the Family selected is Family Driver and the Model selected is ZPL II, or if the Family
selected is Zebra and a specific device model is selected, then the Detailed Status section is
displayed.
This section allows you to retrieve detailed information about the status and configuration of the
device, such as the model number, firmware version, media type, whether the device is out of
label stock, and whether the device is experiencing any errors.

Loftware Spectrum 3.0.1 User Guide 957


Configuring and Administering

Tip: Basic status information about whether the device is started and whether the
device service is running is displayed in the Properties pane.
Option Description Command
Detailed Status Query the device and display detailed information On-
about the device and its status. Clicking the On- Demand
Demand Status button displays a dialog box Status
containing status information.
Note: The On-Demand Status
command is available only if the
Connection Type is set to TCP/IP or
QCPL.

Note: It is recommended that Zebra ZPL II devices use x.17 or later firmware.
For Zebra font commands, x.14 or later firmware is required. Spectrum supports Zebra ZPL II
devices with x.10 or later firmware.
Advanced Options for Zebra Devices
If the Family selected is Family Driver and the Model selected is ZPL II, then the
Advanced section displays the following options. Some options may not be relevant to some
device models.
If the Family selected is Zebra and a specific model is selected, then only options appropriate
to that model are displayed. For more information about drivers and Spectrum, see " Managing
Devices" on page 794.
Note: It is recommended that Zebra ZPL II devices use x.17 or later firmware.
For Zebra font commands, x.14 or later firmware is required. Spectrum supports Zebra ZPL II
devices with x.10 or later firmware.

Advanced Options
Option Description Values
Always Download Whether the label template is sent with : The label
Format every print request. template is not sent.
(Default)
: The label
template is sent.

958 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Z64 Compression Whether to use Z64 compression when : Use Z64
sending labels to the device. compression.
(Default)
: Do not use Z64
compression.
Send Device Options Whether to send device options configured : Send all device
in LoftwareSpectrum to the device, or to options configured
use the device options configured on the in
device. LoftwareSpectrum
to the device.
(Default)
: Use device
options configured
on the device.

Loftware Spectrum 3.0.1 User Guide 959


Configuring and Administering

Pass Through File Types


You can configure Spectrum to pass an external file directly to a device without the need to
associate the file with a label template. This allows you to print files that were created outside of
Spectrum while still saving auditing data for the printed file. For example, you can select PDF
under Pass ThroughFile Types to print a PDFfile from a public server or URL without
creating or selecting a label template for printing.
Option Description
PDF If selected, PDF files are passed directly to your device.
Important: If your device supports native printing for a file type and that file type
is selected, the file is sent to the device to be printed as is. If your device does not
support native printing for a file type and that file type is not selected, then the file
is converted to an image and sent to the device to be printed.

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.
Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.

960 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.
Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).
Custom Commands for Zebra Devices
If the Family selected is Family Driver and the Model selected is ZPL II, or if the Family
selected is Zebra, then the Custom Commands section displays the following options. For
more information about drivers and Spectrum, see " Managing Devices" on page 794.
Note: It is recommended that Zebra ZPL II devices use x.17 or later firmware.
For Zebra font commands, x.14 or later firmware is required. Spectrum supports Zebra ZPL II
devices with x.10 or later firmware.
Custom commands are sent even if Send Device Options is cleared in the Advanced section.

Loftware Spectrum 3.0.1 User Guide 961


Configuring and Administering

Note: You can enter lower ASCII control codes by using mnemonic text
representation. The mnemonic text must be upper case. For example, you can use
<ESC> for an escape character or <HT> for a tab character. To enter upper case text
that includes < or > but should not be converted to a control code, enclose the
text with << and >>. For example, <<US>> is converted to <US>. Lower case or
mixed case text enclosed in < and > will remain as is and will not be converted
into a control code. For a list of common control codes, see "Lower ASCII
Control Codes" on page 975.

962 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Command Location
You can configure custom commands to occur in multiple locations for the same job.
Note: For some custom commands, it may be necessary to add Start Format (^XA)
and End Format (^XZ) as part of the command.

Option Description
Before Command to occur as the first command sent to the device at the start of the
Label job. On an extended print job (multiple label requests in print stream), this
command occurs only before the first label request.
This location is outside the boundaries of an ^XA-^XZ format string.
After ZPL Command to occur after the configuration part of the print stream.
Control This location is inside the boundaries of an ^XA-^XZ format string.
Strings
Last Command to occur after all the fields are defined and immediately before the
Command ^PQ (Print Quantity) command.
Before This location is inside the boundaries of an ^XA-^XZ format string.
^PQ
Last Command to occur immediately after the ^PQ (Print Quantity) command.
Command This location is inside the boundaries of an ^XA-^XZ format string.
After ^PQ
After Command to occur as the last command sent after each label.
Label This location is outside the boundaries of an ^XA-^XZ format string.

Example: Preventing Superimposed Label Designs


If another application prints to the same device as Spectrum and that application
neglects to send the Map Clear command (^MCY), you might need to enter the
following custom command in the After Label field to prevent a print request
from the other application from being superimposed on top of a label design
printed by Spectrum. Because this location is outside the boundaries of an ^XA-^XZ
format string, you must include those commands.

^XA^MCY^XZ
Example: Manually Changing the Print Speed
If you are using a device that is only partially supported and you need to manually
change the print speed by a means other than using the Print Speed option on the
Media tab, you could enter the following custom command in the After ZPL
Control Strings field to change the print speed to 10ips. Because this location is
inside the boundaries of an ^XA-^XZ format string, you do not include those
commands.

^PR10

Loftware Spectrum 3.0.1 User Guide 963


Configuring and Administering

Note: For more information about ZPL II, see the ZPL II Programming Guide or
other Zebra documentation.

Generic Device Driver

If the Family selected is Family Driver and the Model selected is Generic, then the following
sections are displayed.

Options for Generic Devices


If the Family selected is Family Driver and the Model selected is Generic, then the Options
section displays the following options. Some options may not be relevant to some device
models. For more information about drivers and Spectrum, see " Managing Devices" on page
794.

964 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Label Control

Option Description Values


Include Whether the <printParameters> element is included in the On/Off
Print output. Default:
Parameters On
Include Whether the <deviceSpecificOptions> element is included in On/Off
Device the output. Default:
Options On
Include Whether the marshalled output of FormatsDefDto is included in On/Off
Format Data the output as <labelData>. This is all data about the format. Default:
Off
(Cleared)
Include Whether the <fields> element is included in the output. On/Off
Field Data Default:
On
Include Whether the image fields data is converted to images (in Base64, On/Off
Label Image png format). Default:
On
Color Whether the image colors are formatted. On/Off
Imaging Note: This option is available only if the Include Default:
Label Imaging option is selected. On

Image The format of the image. bmp


Format Note: This option is available only if the Include gif
Label Imaging option is selected. jpg
png
tiff
Image The type of image encoding. Base64
Encoding Note: This option is available only if the Include
Label Imaging option is selected.
Device The resolution capability of the device in Dots Per Inch (dpi). 200
Resolution 203
(dpi) 300
400
406
600
1200
Orientation The alignment of the label in relation to the paper. Portrait
Landscape

Loftware Spectrum 3.0.1 User Guide 965


Configuring and Administering

Advanced Options for Generic Devices


If the Family selected is Family Driver and the Model selected is Generic, then the
Advanced section displays the following options. Some options may not be relevant to some
device models. For more information about drivers and Spectrum, see " Managing Devices" on
page 794.

Advanced Options
Option Description Values
Zip Print Whether the print stream will be zipped with GZIP compression. On/Off
Stream Default: Off
(Cleared)
Transform Whether the user will specify an XSL file that will be used to On/Off
XML with transform the XML output into user-formatted output. Default: Off
XSLT (Cleared)
Path to The specified path to an XSL file. Tested URL formats are file and
XSL File http.
Note: This option is available only if the
Transform XML with XSLT option is selected.
Schema The version of the schema. 1.0
Version

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

966 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.
Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.
Option Description Values
Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.
Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).
Custom Commands for Generic Devices
If the Family selected is Family Driver and the Model selected is Generic, then the Custom
Commands section is displayed. For more information about drivers and Spectrum, see "
Managing Devices" on page 794.

Loftware Spectrum 3.0.1 User Guide 967


Configuring and Administering

Command Location
If desired, add text such as special commands to the Custom Command fields to be included
in the XML output.
Image Device Driver

If the Family selected is Family Driver and the Model selected is Image, then the following
sections are displayed.
l " Options for Image Devices" on page 968
l " Advanced Options for Image Devices" on page 968
Options for Image Devices
If the Family selected is Family Driver and the Model selected is Image, the Options
section displays the following option.

Label Control
Option Description Values
Zip Labels When saving or sending multiple labels as image On/Off
files, whether to package the images into a single Default=Off
zip file or to save or send them as separate files.
Advanced Options for Image Devices
If the Family selected is Family Driver and the Model selected is Image, the Advanced
section displays the following options.

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

968 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.
Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.
Option Description Values
Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.
Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).

PDF Device Driver

If the Family selected is Family Driver and the Model selected is PDF, then the following
sections are displayed.
l " Options for PDF Devices" on page 969
l " Advanced Options for PDF Devices" on page 971
Options for PDF Devices
If the Family selected is Family Driver and the Model selected is PDF, the Options section
displays the following options.

Loftware Spectrum 3.0.1 User Guide 969


Configuring and Administering

Label Control
Option Description Values
Include Label as Image When saving a label as a PDF file, whether On/Off
to include the label in the PDF file as a Default=Off
single image rather than as individual
components. This option does not affect
the appearance of the PDF. However, text
in the PDF file is searchable only if this
check box is cleared.

970 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Text Box Overrun How Spectrum should respond if the Allow Overrun:
Mode amount of data received for a Text Box field The text continues
is more than can fit. beyond the bottom
Tip: If the Text Box Overrun of the envelope for
Mode is specified in the job the field. For a
data, that overrides any mode printed label, as
specified in Label Specific much of the text as
Options in Design, device can fit on the label is
options in Device printed.
Management, or global Truncate Data:
settings in System Text that does not
Management. Otherwise, if fit is not printed or
specified in Label Specific displayed. The
Options, that overrides device preceding text is
options and global settings, printed or displayed.
and if specified in device Truncate Data at
options, that overrides global Paragraph Break:
settings. A paragraph that
does not fit is not
printed or displayed.
The preceding
paragraph is printed
or displayed.
Fail Print Job on
Overrun: Any print
job that includes a
Text Box field in
which the data
received does not fit
is failed and is not
printed or displayed.
Use Global
Setting: The value
for Text Box
Overrun Mode that
is set in System
Management is
used.
Advanced Options for PDF Devices

Loftware Spectrum 3.0.1 User Guide 971


Configuring and Administering

If the Family selected is Family Driver and the Model selected is PDF, the Advanced
section displays the following options.

Advanced Troubleshooting
Option Description Values
Advanced Whether to display advanced troubleshooting Disabled: Do
Troubleshooting options, including options for print stream not display
scripting. advanced
troubleshooting
options, and do
not run a print
stream script
for this device
connection.
(Default)
Enabled:
Display
advanced
troubleshooting
options.

Print Stream Scripting


This section is displayed only if the Advanced Troubleshooting option is enabled.

Tip: For assistance with print stream scripting, contact Loftware's Professional
Services Group.
Option Description Values
Script Name The name of the print stream script.
Tip: This name may be included in log
files, which may assist you if
troubleshooting problems with the
script.
Apply Script Whether to run the print stream script. A print stream : Do
script is run just prior to sending data to a device. The not run
effects of print stream scripting are reflected only in the
the print stream, not in the datamap. script.
Note: Regardless of whether Apply (Default)
Script was selected, if the Advanced : Run
Troubleshooting option is disabled the
then the script is not run. script.

972 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description Values


Script A print stream script written in JavaScript.
LoftwareSpectrum uses the Rhino JavaScript engine
for Script data sources. Rhino is an open source
JavaScript engine maintained by the Mozilla
Corporation. It enables you to parse, compile, and
execute JavaScript statements, and it supports
JavaScript versions 1.0 through 1.8.
Note: JavaScript versions 1.3 and later
conform to the ECMAScript-262
specification (Standard ECMA-262).

Pass Through Device

If the Family selected is Family Driver and the Model selected is Pass Through, then the
following sections are displayed.
l "Pass Through File Types" on page 974
Options for Pass Through Devices
If the Family selected is Family Driver and the Model selected is Pass Through, the
Options section displays the following options.
Important: A Pass Though device connection should only be used when the
target device supports native printing for the selected file type. You must select at
least one pass through file type for a Pass Through device connection.

Loftware Spectrum 3.0.1 User Guide 973


Configuring and Administering

Pass Through File Types


You can configure Spectrum to pass an external file directly to a device without the need to
associate the file with a label template. This allows you to print files that were created outside of
Spectrum while still saving auditing data for the printed file. For example, you can select PDF
under Pass ThroughFile Types to print a PDFfile from a public server or URL without
creating or selecting a label template for printing.
Option Description
PDF If selected, PDF files are passed directly to your device.
Important: If your device supports native printing for a file type and that file type
is selected, the file is sent to the device to be printed as is. If your device does not
support native printing for a file type and that file type is not selected, then the file
is converted to an image and sent to the device to be printed.

Options for Server Spooler Device Drivers

If the Family selected is Server, the Options section displays the following options.
Option Description
Resolution The resolution capability of the device in Dots Per Inch.
Orientation The alignment of the label in relation to the paper.
Paper Size The dimensions of the paper.
Note: A Document Designer 1 who is overriding this option by
using Label Specific Options (LSOs) in Design is not limited to the
values displayed. A custom value can be typed into the LSO.
Paper The location from which the device should draw label stock.
Source Note: A Document Designer 2 who is overriding this option by
using Label Specific Options (LSOs) in Design is not limited to the
values displayed. A custom value can be typed into the LSO.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

974 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Option Description
Text Box How Spectrum should respond if the amount of data received for a Text Box field
Overrun is more than can fit.
Mode Tip: If the Text Box Overrun Mode is specified in the job data, that
overrides any mode specified in Label Specific Options in Design,
device options in Device Management, or global settings in
System Management. Otherwise, if specified in Label Specific
Options, that overrides device options and global settings, and if
specified in device options, that overrides global settings.
Allow Overrun: The text continues beyond the bottom of the envelope for the
field. For a printed label, as much of the text as can fit on the label is printed.
Truncate Data: Text that does not fit is not printed or displayed. The preceding
text is printed or displayed.
Truncate Data at Paragraph Break: A paragraph that does not fit is not printed
or displayed. The preceding paragraph is printed or displayed.
Fail Print Job on Overrun: Any print job that includes a Text Box field in which
the data received does not fit is failed and is not printed or displayed.
Use Global Setting: The value for Text Box Overrun Mode that is set in
System Management is used.
Lower ASCII Control Codes

If a Custom Commands tab is displayed for a device, you can incorporate lower ASCII control
codes into the print stream in the positions listed on the Custom Commands tab. The
following table lists common control codes.
Note: Control codes must be in uppercase and must begin and end with angle
brackets. To enter upper case text that includes < or > but should not be
converted to a control code, enclose the text with << and >>. For example,
<<US>> is converted to <US>. Lower case or mixed case text enclosed in < and >
will remain as is and will not be converted into a control code.

Control Code Description Decimal Hexadecimal


<NUL> Null Character 0 0
<SOH> Start of Header 1 1
<STX> Start of Text 2 2
<ETX> End of Text 3 3
<EOT> End of Transmission 4 4
<ENQ> Enquiry 5 5
<ACK> Acknowledgment 6 6

Loftware Spectrum 3.0.1 User Guide 975


Configuring and Administering

Control Code Description Decimal Hexadecimal


<BEL> Bell 7 7
<BS> Backspace 8 8
<HT> Horizontal Tab 9 9
<LF> Line Feed 10 A
<VT> Vertical Tab 11 B
<FF> Form Feed 12 C
<CR> Carriage Return 13 D
<SO> Shift Out 14 E
<SI> Shift In 15 F
<DLE> Data Link Escape 16 10
<DC1> Device Control 1 (XON) 17 11
<DC2> Device Control 2 18 12
<DC3> Device Control 3 (XOFF) 19 13
<DC4> Device Control 4 20 14
<NAK> Negative Acknowledgment 21 15
<SYN> Synchronous Idle 22 16
<ETB> End of Transmission Block 23 17
<CAN> Cancel 24 18
<EM> End of Medium 25 19
<SUB> Substitute 26 1A
<ESC> Escape 27 1B
<FS> File Separator 28 1C
<GS> Group Separator 29 1D
<RS> Record Separator 30 1E
<US> Unit Separator 31 1F

976 Loftware Spectrum 3.0.1 User Guide


Pass Through File Types

Remote Site Options

The following properties are displayed in the Configuration section for a Remote Site 1.
Property Description
Last Date and time when the Remote Print Agent2 on the remote computer most
Contact recently made contact with the SpectrumApplicationServer.
Note: This property is displayed only after the Remote Site has
been saved for the first time.
Maximum Number
The maximum number of devices associated with the remote computer that
of may be configured for use with Spectrum.
Devices
Devices A list of the devices available via the remote computer and configured in
Spectrum.
Note: This property is displayed only after the Remote Site has
been saved for the first time.

Remote Print Agent


The following properties are displayed in the Remote Print Agent box in the Configuration
section for a Remote Site.
Note: This box is displayed only after the Remote Site has been saved for the first
time.

Property Description
Token An alphanumeric token that allows a SpectrumApplicationServer to
authenticate a Remote Print Agent that attempts to communicate with
Spectrum. A token is unique to the Remote Site with which it is associated.
Tip: The Remote Site Administrator requires the token during
installation of the Remote Print Agent.
Version The version number of the Remote Print Agent. The version number of the
Remote Print Agent is independent from the version number of Spectrum and
they are not expected to match.
Note: The value is None until the remote computer connects to
Spectrum for the first time.

1An object in Spectrum that represents the location of a remote computer. The Remote Print Agent must be installed on the
remote computer so that it can communicate with the Spectrum Application Server and make devices at that location available in
Spectrum. Each Remote Site can communicate with only one Spectrum Application Server.
2A client-side service that must be installed on a remote computer so that it can communicate with the Spectrum Application
Server and permit printing. The Remote Print Agent connects to Spectrum to receive print jobs, provide device and status
information, and receive configuration information as needed.

Loftware Spectrum 3.0.1 User Guide 977


Configuring and Administering

Property Description
Download A button that allows you to download the Remote Print Agent so that it can be
installed on a remote computer.

978 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Managing Data Services


A data service is a connection to a database, spreadsheet, file, or URL that can be used to
retrieve data. Using LoftwareSpectrum, a Data Service Administrator 1 can configure and
manage data services for use by Document Designers.

1A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.

Loftware Spectrum 3.0.1 User Guide 979


Configuring and Administering

Using Data from a Database or a Spreadsheet


A Document Designer 1 can create a Database data source that is associated with a JDBC data
service and use that data source to incorporate information from a database or a spreadsheet into
a label template.

A Data Service Administrator can centrally manage the connection URL and credentials for
multiple JDBC data services by using a Link data service in conjunction with the JDBC data
services. This approach conceals the connection URL and credentials from Document
Designers. Because using a Link data service allows the connection URL and credentials to be
managed separately from JDBC data services and Database data sources, this approach can be
also useful if you frequently need to move label templates from one
SpectrumApplicationServer to another (such as a development server and a production server)
and require a different connection URL and credentials in each environment.
A Data Service Administrator controls whether each parameter 2 of the data service is visible to
Document Designers, and Document Designers control which parameters are visible to Data
Providers. A Data Service Administrator can include a query when configuring a data service and
conceal the query from Document Designers. Alternatively, a Data Service Administrator can
allow Document Designers to configure the query when they create Database data sources that
use the data service.
A Data Service Administrator or a Document Designer can view a list of the columns from the
database returned by the query, change which columns are displayed to Data Providers, and
change the name displayed for each column in results viewed by Data Providers. Optionally, a

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2Information that is gathered by a data service or that is part of the configuration of a data service. Parameters can be configured
by data service administrators, or data service administrators can make parameters available to document designers to
customize for each Database data source.

980 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Data Service Administrator can limit which columns are available for use as data sources and
prevent Document Designers from configuring these options. These changes do not alter the
database from which the data is obtained.

Loftware Spectrum 3.0.1 User Guide 981


Configuring and Administering

Modifying Data in a Database

By using a JDBC data service and a Database data source, you can retrieve information from a
database, but you cannot modify information in the database. However, an administrator can
modify information in a database by using a JDBC Update data service and a business rule. One
cannot create data sources in Design associated with a JDBC Update data service.

982 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Requirements for JDBC Data Services and JDBC Update Data Services

Spectrum supports data service connections to types of databases such as Oracle, SQL Server,
and MySQL.
To enable Spectrum to connect to most types of databases, you must install a third-party JDBC
driver on the computer where Spectrum is installed. For more information, see " Add a JDBC
Driver to Spectrum" on page 989.

Loftware Spectrum 3.0.1 User Guide 983


Configuring and Administering

Using Data or an Image from a File or URL


A Document Designer can create a data source that is associated with a File data service or an
HTTP data service and use that data source to incorporate text, XML, or an image from a file
external to Spectrum or from an URL into a label template. For example, you may have
directions stored in a file and want to allow Document Designers to insert those directions into
multiple labels, but do not want to have to individually update each label if those directions
change. A Data Service Administrator can create a File data service to pull the content from the
directions file, and a Document Designer can create an Alternate data source to incorporate the
directions from the file into labels.
Two File data services (Image File Data Service and Text File Data Service) are created
automatically during installation. You can configure and start these data services if needed, or
create your own.

984 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Using Data from a Web Service


An administrator can create a SOAP Web Service data service to communicate with a web
service by using Simple Object Access Protocol (SOAP). A web service is a platform-
independent application that is hosted on a website. A SOAP implementation of web services
provides a Web Services Description Language (WSDL), which is an XML-based language for
defining an interface. A WSDL describes how a service can be called, what arguments can be
used, and what type of data is expected to be returned.
For example, an administrator might obtain WSDL from a shipping service's website and then
create a SOAP Web Service data service that enters information about a package, obtains the
shipping price, and includes the shipping price on a label.
To use a SOAP Web Service data service, an administrator must also create an XML Data
business rule component to convert the XML data into data map entries that can be used by
Spectrum. One cannot create data sources in Design associated with a SOAP Web Service data
service.

Loftware Spectrum 3.0.1 User Guide 985


Configuring and Administering

Managing Data Service Parameters


A Data Service Administrator 1 controls whether each parameter 2 of the data service is
visible to and configurable by Document Designers, and a Document Designer 3 controls
which parameters are visible to a Data Provider 4. For example, a Data Service Administrator
can include a query when configuring a JDBC data service and conceal the query from
Document Designers. Alternatively, a Data Service Administrator can allow Document
Designers to configure the query when they create Database data sources that use the JDBC data
service.
Depending on how it is configured, a built-in parameter can be managed by a Data Service
Administrator as part of the data service, or by a Document Designer when configuring data
sources. Similarly, a custom parameter can be created and managed by a Data Service
Administrator, created by a Data Service Administrator but managed by Document Designers, or
created and managed by a Document Designer.

Note: Custom parameters are available only for JDBC data services and Database
data sources. Built-in parameters are available for all types of data services.

Note: Parameters in Link data services can only be managed by a Data Service
Administrator and are not displayed to Document Designers.
A parameter managed by a Data Service Administrator
If a built-in parameter or a custom parameter is configured to be managed by the Data Service
Administrator, the following are the consequences for Data Service Administrators and
Document Designers.

Tip: This approach is suggested for any parameter that should not be
customized by Document Designers or incorporated into a form for use by Data
Providers. This approach is not recommended for any parameter for which Data
Providers are expected to enter data because Document Designers will not be
able to see the parameter to incorporate it into a form.

Note: This approach is required for parameters in Link data services.


The Data Service Administrator must perform the following tasks in the Configuration
section in the data service that contains the parameter:

1A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.
2Information that is gathered by a data service or that is part of the configuration of a data service. Parameters can be configured
by data service administrators, or data service administrators can make parameters available to document designers to
customize for each Database data source.
3Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
4Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

986 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

l Create the parameter if it is a custom parameter.


l Clear the Is Parameter check box for the parameter so that the parameter is not
configurable in data sources. This step is unnecessary for a parameter in a Link data
service.
l Configure a value for the parameter or connect it to a data source.
Document Designers experience the following behavior when using data sources containing a
parameter managed by a Data Service Administrator:
l The parameter is not displayed to Document Designers when configuring a data
source associated with the data service containing the parameter.
l If the parameter was added to the data service after a data source was created, the
parameter is automatically added to the existing data source even though the parameter
is not displayed.
l If the parameter is changed by the Data Service Administrator, the parameter is
automatically updated in existing data sources even though the parameter is not
displayed. If a parameter in a Link data service is changed, JDBC data services
associated with the Link data service and Database data sources associated with those
JDBC data services automatically reflect that change.
l If a custom parameter is deleted by the Data Service Administrator, the parameter is
automatically removed from associated data sources. If the deleted parameter was
incorporated into the input of another parameter, this may cause associated data
sources to fail until that dependency is eliminated. If the parameter with the
dependency is managed by the Document Designer, then a Document Designer must
remove the dependency from each associated data source to prevent problems in
existing data sources, and the Data Service Administrator must remove the
dependency from the data service to prevent problems in new data sources.
A parameter managed, but not created, by a Document Designer
If a built-in parameter or a custom parameter created by the Data Service Administrator is
configured to be managed by the Document Designer, the following are the consequences
for Data Service Administrators and Document Designers.
The Data Service Administrator must perform the following tasks in the Configuration
section in the data service that contains the parameter:
l Create the parameter if it is a custom parameter.

l Select the Is Parameter check box for the parameter so that it is configurable in data

sources.
l May configure an initial value for the parameter or connect it to a data source.

Document Designers experience the following behavior when using data sources containing a
parameter managed, but not created by, a Document Designer:
l The parameter is displayed to Document Designers when configuring a data source

associated with this data service.

Loftware Spectrum 3.0.1 User Guide 987


Configuring and Administering

l If the parameter was added to the data service after a data source was created, the
parameter is not added to the existing data source.
l If the Data Service Administrator makes changes to the value of the parameter in the
data service, the value of the parameter is not changed in existing data sources.
l If the Data Service Administrator deletes a custom parameter in the data service, that
parameter is automatically removed from associated data sources.
l If the parameter includes in its input any parameters that are managed only in the data
service, changes to those other parameters will affect it.
A parameter created and managed bya Document Designer
If a custom parameter is created and configured to be managed by the Document Designer,
the following are the consequences for Data Service Administrators and Document
Designers.
Note: This approach is available only for parameters in a Database data source.
When the Data Service Administrator configures the data service, the parameter is not
displayed in the Configuration section.
The Document Designer must perform the following tasks when configuring a data source if
the Document Designer intends to create a custom parameter:
l Create the custom parameter.

l Configure a value for the parameter or connect it to a data source.

Document Designers experience the following behavior when using a parameter created in a
Database data source by a Document Designer:
l The parameter is displayed to Document Designers when configuring a data source.

l If a Document Designer creates another data source associated with the same data

service, the parameter is not included in the second data source. If a Document
Designer creates an identical parameter in the second data source, that parameter must
be managed independently of the parameter in the first data source. Changing one of
these parameters has no effect on the other.
l If the parameter includes in its input any parameters that are managed only in the data

service, changes to those other parameters will affect it.

988 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Add a JDBC Driver to Spectrum


To enable LoftwareSpectrum to connect to most types of databases, you must install a third-
party Java Database Connectivity (JDBC) API driver on the SpectrumApplicationServer.
Note: If you are using an Oracle database, you may not need to install a JDBC
driver. A driver for Oracle 11g and Oracle 12c is installed with Spectrum in most
cases. A JDBC driver is not required for File data services or HTTP data services.
To add a third-party JDBC driver to Spectrum, use this procedure.
1. Download a JDBC driver for your type of database from the database company's website
or another source.
2. Review the documentation for the JDBC driver that you downloaded to obtain the
package and class name for the driver.
3. Copy the driver JAR file to the following location. <SPECTRUM_HOME> represents
the folder on the SpectrumApplicationServer in which the Spectrum application is
installed.
<SPECTRUM_HOME>\product\lib
4. Open the following file in a text editor:
<SPECTRUM_HOME>\product\conf\jdbc.properties
a. Add the following line to the file. <PackageName> and <ClassName> represent the
package name and class name for the driver that you downloaded.
external.jdbc.drivers=<PackageName>.<ClassName>
Tip: If you are using more than one third-party JDBC driver,
separate the entries with a colon:
external.jdbc.drivers=
<PackageName1>
.<ClassName1>:<PackageName2>.<ClassName2>

Example

In the following example, two third-party JDBC drivers are used.


external.jdbc.drivers=com.mysql.jdbc.Driver:com.micros
oft.sqlserver.jdbc.SQLServerDriver
b. Save and close the file.
5. In the Windows Server Control Panel, open the Services console and restart the
Loftware Spectrum service.
A Data Service Administrator 1 can now create JDBC data services that use this JDBC driver.

1A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.

Loftware Spectrum 3.0.1 User Guide 989


Configuring and Administering

Configure a JDBC Data Service


To configure a JDBC data service so that Document Designers can retrieve data from a database,
a Data Service Administrator 1 should use this procedure.
Before You Begin: Instead of specifying a connection URL and credentials in
each JDBC data service, you can configure a Link data service to centrally manage
those parameters. This is particularly useful if multiple JDBC data services will use
the same connection URL and credentials, or if label templates are frequently
moved from one SpectrumApplicationServer to another that requires different
credentials to access a database. As a best practice, it is recommended that you
configure the Link data service first. For more information, see " Configure a Link
Data Service" on page 994.

Note: To enable LoftwareSpectrum to connect to most types of databases, you


must install a third-party Java Database Connectivity (JDBC) API driver on the
SpectrumApplicationServer. For more information, see " Add a JDBC Driver to
Spectrum" on page 989.

Note: You do not have to stop a data service to make changes to its configuration
or for those changes to take effect, but you must save your changes.
1. Click Data Services.
2. Click File > New > JDBC Data Service.
3. Click the Configuration section.
4. If the connection URL and credentials will be provided via a Link data service, select Is
Data Link.
5. For each parameter, decide whether you will manage the parameter or whether you will
allow the Document Designer to manage the parameter for each Database data source.
For more about each parameter, see " Configuration Parameters for JDBC Data Services"
on page 1020.
n To allow Document Designers to configure a parameter, select the Is Parameter
check box. You can either specify an initial value or data ref for the parameter or
leave it blank. Changes made to the parameter in the data service are not
propagated to existing Database data sources.
n To configure a parameter as part of the data service, clear the Is Parameter check
box and configure the parameter, entering a value or a data ref. Changes made to
the parameter in the data service are propagated to Database data sources. The
parameter is not displayed to Document Designers in Database data sources.

1A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.

990 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

6. To add a custom parameter, click Add Parameter.


More about adding a parameter
a. In the Add Parameter dialog box, enter a Variable Name for the parameter.
When the parameter is displayed to Data Service Administrators or Document
Designers, this name identifies the parameter.
b. Select a Data Type for the parameter.
Note: The maximum length for a string is 4,000 characters.
c. Click OK. The parameter appears in the data service.
d. If you want to allow Document Designers to enter a value for this parameter or
connect it to a data source:
(1). Select the Is Parameter check box.
(2). Leave the text field blank or specify an initial value.
e. If you want to prevent Document Designers from viewing or configuring this
parameter:
(1). Clear the Is Parameter check box.
(2). Enter a value or a data ref to associate with the parameter. For a data ref, use
the format ${<DataRef>}. If you enter a data ref, label templates that contain
a Database data source associated with this data service must include a data
source with that data ref.
Note: To remove the parameter, click the Delete button next to it.

Important! If you delete a parameter from a data service, the parameter is


automatically removed from any Database data sources associated with that
data service.

Loftware Spectrum 3.0.1 User Guide 991


Configuring and Administering

7. In the Properties pane, enter a Service Name and optionally a Description.


Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Important! Provide a Service Name that is easily recognizable to
Document Designers. When a Document Designer 1 creates a Database
data source 2, the Service Name (but not the Description) is displayed.
Data service names are case sensitive.

8. Click File > Save or click the Save button in the toolbar.
a. In the left pane of the Save Data Service dialog box, select the folder in which to
save the data service. You can double-click a folder to display subfolders.
b. Click OK to save the data service. Creation information is displayed in the
Properties pane.
9. If the data service has not been started, click Start Data Service.
10. For the Result Map, if you have cleared Is Parameter and want to customize the
column information returned by the query, do the following. For more information, see "
Configuration Parameters for JDBC Data Services" on page 1020.
a. Click Run Query to populate the Result Map with details about each column
returned by the SQL query.
b. Review the Result Map and make any changes desired.
c. If you have extensively customized the Result Map, it is recommended that you
note the details of your configuration so that you can reproduce it if it should ever
become necessary to reset the Result Map due to changes in the database or
other data source.
11. Click File > Save or click the Save button in the toolbar.
The data service is updated with the connection information. You can view the status of the data
service in the Properties pane. If the data service is stopped, you must start it to make the
results available when printing labels.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2A connection to a database that acts as a data source and can serve as the data ref for a document field. A Database data source
is associated with a Database data service.

992 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Note: If you want to delete a data service, you must stop it before you can delete
it.

Loftware Spectrum 3.0.1 User Guide 993


Configuring and Administering

Configure a Link Data Service


A Data Service Administrator 1 can use this procedure to configure a Link data service to
centrally manage the connection URL and credentials to access a database. As a best practice, it
is recommended that you configure the Link data service before configuring JDBC data services
that will use it.
If multiple JDBC data services use the same connection URL and credentials to access a
database, you can use a Link data service to simplify the management of the JDBC data services.
If you need to change the connection URL, you can change it in the Link data service instead of
having to manually change it in each JDBC data service.
If your environment includes more than one SpectrumApplicationServer but a different
connection URL and credentials are required for database access from each server, then using
Link data services can eliminate the need for changes due to the move. On each server, you can
create a Link data service with the same name but containing a different connection URL and
credentials. The path within each SpectrumApplicationServer to the Link data service must be
the same. A label template will automatically refer to the Link data service within the same
SpectrumApplicationServer.
To configure a Link data service, use the following procedure.
Note: You do not have to stop a data service to make changes to its configuration
or for those changes to take effect, but you must save your changes.
1. Click Data Services.
2. Click File > New > Link Data Service.
3. Click the Configuration section.
4. Enter the URL and credentials for connecting to a database.
5. In the Properties pane, enter a Service Name and optionally a Description.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.

6. Click File > Save or click the Save button in the toolbar.
a. In the left pane of the Save Data Service dialog box, select the folder in which to
save the data service. You can double-click a folder to display subfolders.
b. Click OK to save the data service. Creation information is displayed in the
Properties pane.

1A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.

994 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

7. If the data service has not been started, click Start Data Service.
The data service is updated with the connection information. You can view the status of the data
service in the Properties pane. If the data service is stopped, you must start it to permit the
connection information to be used by other data services.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Note: If you want to delete a data service, you must stop it before you can delete
it.

Tip: To use a Link data service, a Data Service Administrator configuring a JDBC
Data Service must select the Is Data Link option and for Data Link select the
Link data service. For more information, see " Configure a JDBC Data Service" on
page 990.

Loftware Spectrum 3.0.1 User Guide 995


Configuring and Administering

Configure a File Data Service


To configure a File data service so that Document Designers can retrieve data from a text file or
an image file that is on the SpectrumApplicationServer or that is accessible via a UNC path that
does not require credentials, a Data Service Administrator 1 should use this procedure.
You can also configure a File data service to receive XML data. However, the XML data
received must be managed by using a business rule rather than by using a label data source.
To retrieve data from a file accessible via HTTP, see " Configure an HTTP Data Service" on
page 999. To retrieve data from a spreadsheet file, see " Configure a JDBC Data Service" on page
990.
To configure a File data service, use the following procedure.
Note: You do not have to stop a data service to make changes to its configuration
or for those changes to take effect, but you must save your changes.
1. Click Data Services.
2. Click File > New > File Data Service.
3. Click the Configuration section.
4. Enter the URL for the text file, image file, or XML file using the following format.
Note: The computer hosting the target file and the
SpectrumApplicationServer must be operating in a domain environment.
Connections among workgroups are not supported.
Target URL Format Examples
File available via public UNC path such as file://Server/SharedFolder/File.txt
\\Server\SharedFolder\File.txt Credentials must not be required to
access this file.
File on the SpectrumApplicationServer with file:///C:/Folder/File.txt
a path such as C:\Folder\File.txt The file must be hosted on the
SpectrumApplicationServer.
5. For the Result Name, enter a name by which to refer to the data returned by the data
service.

1A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.

996 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

6. For each parameter, decide whether you will manage the parameter or whether you will
allow the Document Designer to manage the parameter for each Alternate data source.
For more about each parameter, see " Configuration Parameters for File Data Services" on
page 1028.
Important! If you select XML for the Data Type, the data service cannot
be used with an Alternate data source, and must be managed by using a
business rule instead.
To allow Document Designers to configure a parameter, select the Is Parameter
n
check box. You can either specify an initial value or data ref for the parameter or
leave it blank. Changes made to the parameter in the data service are not
propagated to existing Alternate data sources.
n To configure a parameter as part of the data service, clear the Is Parameter check
box and configure the parameter, entering a value or a data ref. Changes made to
the parameter in the data service are propagated to Alternate data sources. The
parameter is not displayed to Document Designers in Alternate data sources.
n The Result Name must be configured as part of the data service.
7. In the Properties pane, enter a Service Name and optionally a Description.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Important! Provide a Service Name that is easily recognizable to
Document Designers. When a Document Designer 1 creates an Alternate
data source 2, the Service Name (but not the Description) is displayed.
Data service names are case sensitive.

8. Click File > Save or click the Save button in the toolbar.
a. In the left pane of the Save Data Service dialog box, select the folder in which to
save the data service. You can double-click a folder to display subfolders.
b. Click OK to save the data service. Creation information is displayed in the
Properties pane.
9. If the data service has not been started, click Start Data Service.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2A connection to a file external to Spectrum that acts as a data source and can serve as the data ref for a document field. An
Alternate data source is associated with either a File data service or an HTTP data service.

Loftware Spectrum 3.0.1 User Guide 997


Configuring and Administering

The data service is updated with the connection information. You can view the status of the data
service in the Properties pane. If the data service is stopped, you must start it to make the
results available when printing labels.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Note: If you want to delete a data service, you must stop it before you can delete
it.

998 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Configure an HTTP Data Service


To configure an HTTP data service so that Document Designers can retrieve data from a text
file or an image file, or data that is accessible via HTTP or HTTPS, a Data Service
Administrator 1 should use this procedure.
You can also configure an HTTP data service to receive XML data. However, the XML data
received must be managed by using a business rule rather than by using a label data source.
To retrieve data from a file that is on the same server as Spectrum, that is on a mapped drive, or
that is accessible via a UNC path that does not require credentials, see " Configure a File Data
Service" on page 996. To retrieve data from a spreadsheet file, see " Configure a JDBC Data
Service" on page 990.
Note: You do not have to stop a data service to make changes to its configuration
or for those changes to take effect, but you must save your changes.
1. Click Data Services.
2. Click File > New > HTTP Data Service.
3. Click the Configuration section.
4. For the Result Name, enter a name by which to refer to the data returned by the data
service.
5. For each parameter, decide whether you will manage the parameter or whether you will
allow the Document Designer to manage the parameter for each Alternate data source.
For more about each parameter, see " Configuration Parameters for HTTP Data Services"
on page 1032.
Important! If you select XML for the Data Type, the data service cannot
be used with an Alternate data source, and must be managed by using a
business rule instead.
n To allow Document Designers to configure a parameter, select the Is Parameter
check box. You can either specify an initial value or data ref for the parameter or
leave it blank. Changes made to the parameter in the data service are not
propagated to existing Alternate data sources.
n To configure a parameter as part of the data service, clear the Is Parameter check
box and configure the parameter, entering a value or a data ref. Changes made to
the parameter in the data service are propagated to Alternate data sources. The
parameter is not displayed to Document Designers in Alternate data sources.
n The Result Name must be configured as part of the data service.

1A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.

Loftware Spectrum 3.0.1 User Guide 999


Configuring and Administering

6. In the Properties pane, enter a Service Name and optionally a Description.


Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Important! Provide a Service Name that is easily recognizable to
Document Designers. When a Document Designer 1 creates an Alternate
data source 2, the Service Name (but not the Description) is displayed.
Data service names are case sensitive.

7. Click File > Save or click the Save button in the toolbar.
a. In the left pane of the Save Data Service dialog box, select the folder in which to
save the data service. You can double-click a folder to display subfolders.
b. Click OK to save the data service. Creation information is displayed in the
Properties pane.
8. If the data service has not been started, click Start Data Service.
The data service is updated with the connection information. You can view the status of the data
service in the Properties pane. If the data service is stopped, you must start it to make the
results available when printing labels.

Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Note: If you want to delete a data service, you must stop it before you can delete
it.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2A connection to a file external to Spectrum that acts as a data source and can serve as the data ref for a document field. An
Alternate data source is associated with either a File data service or an HTTP data service.

1000 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Configure a SOAP Web Service Data Service


A Data Service Administrator 1 can use this procedure to create a SOAP Web Service data
service to communicate with a web service.
A Data Service Administrator can create a data service to interact with a web service by using
Simple Object Access Protocol (SOAP). A web service is a platform-independent application
that is hosted on a website. A SOAP implementation of web services provides a Web Services
Description Language (WSDL), which is an XML-based language for defining an interface. A
WSDL describes how a service can be called, what arguments can be used, and what type of data
is expected to be returned.
To configure a SOAP Web Service data service, use the following procedure.
Note: You do not have to stop a data service to make changes to its configuration
or for those changes to take effect, but you must save your changes.
1. Click Data Services.
2. Click File > New > SOAP Web Service Data Service.
3. Click the Configuration section.
4. For WSDL URL, enter a link to the Web Services Description Language (WSDL) that
you will use to communicate with a web service.
5. For Envelope, click Get WSDL Operations to automatically obtain operations.
6. Click the Envelope drop-down list and select an operation envelope template. The XML
for the SOAP envelope element is displayed. This is the root element of a SOAP
message and defines the XML document as a SOAP message.
7. For Web Service Address, enter the URL to use when connecting to the web service.
You may be able to obtain this URL automatically by clicking Load From WSDL.
8. For Security Header, provide XML including any credentials required for connecting to
the web service if needed. You can select one of the header templates provided and then
customize it to meet your needs, or copy and paste a header that you have created.
9. For Result Name, specify the name of the XML Data business rule component to be
used. The default name is WS_RESULT.

1A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.

Loftware Spectrum 3.0.1 User Guide 1001


Configuring and Administering

10. For Result Path, specify the path the subset of data that you want returned from the
web service. If you want to define the subset of data by using an XPath expression, select
XPath Override.
Example: Result Path and XPath Override
If the configuration of the web service in Data Services contains the following values:
Result Path /getCountryResponse/country
XPath Override
or
Result Path /*[local-name()='Envelope']/*[local-name()='Body']/*[local-
name()='getCountryResponse']/*[local-name()='country']
XPath Override
and the SOAP response from the web service is the following:
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns2:getCountryResponse
xmlns:ns2="http://spring.io/guides/gs-producing-web-
service">
<ns2:country>
<ns2:name>Spain</ns2:name>
<ns2:population>46704314</ns2:population>
<ns2:capital>Madrid</ns2:capital>
<ns2:currency>EUR</ns2:currency>
</ns2:country>
</ns2:getCountryResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Then the following data map entries result:
/Body/name/!TEXT! Spain
/Body/population/!TEXT! 46704314
/Body/capital/!TEXT! Madrid
/Body/currency/!TEXT! EUR
For more information about XPath, see Other References in "External Links" on page
1645.

1002 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

11. If you must provide credentials for authentication when connecting to the web service,
for Authentication Type select Basic and then enter credentials for User Name and
Password.
12. For HTTP Headers, enter the names and values that define the operating parameters of
the HTTP transaction.
13. In the Properties pane, enter a Service Name and optionally a Description.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.

14. Click File > Save or click the Save button in the toolbar.
a. In the left pane of the Save Data Service dialog box, select the folder in which to
save the data service. You can double-click a folder to display subfolders.
b. Click OK to save the data service. Creation information is displayed in the
Properties pane.
15. If the data service has not been started, click Start Data Service.
The data service is updated with the connection information. You can view the status of the data
service in the Properties pane. If the data service is stopped, you must start it to make the
result available when printing labels.

Important! An administrator must create an XML Data business rule component


to be used in conjunction with this data service. You cannot create data sources in
Design associated with a SOAP Web Service data service. For more information,
see "xmlData Business Rule Component" on page 1339.

Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Note: If you want to delete a data service, you must stop it before you can delete
it.

Loftware Spectrum 3.0.1 User Guide 1003


Configuring and Administering

Test a JDBC Data Service


To test a JDBC data service, you should test the URL and then preview how the data source is
displayed to Document Designers in Design.
l " Test the JDBC URL for a JDBC Data Service" on page 1005
l " Preview a JDBC Data Service" on page 1006

1004 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Test the JDBC URL for a JDBC Data Service

To test the JDBC connection string for a JDBC data service, use this procedure.
1. Click Data Services.
2. Click File > Open or click the Open button in the toolbar.
3. In the Open dialog box, select a JDBC data service and then click OK.
4. Click the Configuration section.
5. Click Test URL. The Test JDBC URL dialog box displays the data service's connection
information if it has been configured.
6. Click Test. A message describes the success or failure of the test.
Note: If the connection fails, alter the JDBC Connection URL and the
credentials in the Test JDBC URL dialog box, retest, and click Accept Values
when you achieve a successful result. You must click File > Save or Save to
update the configuration with your changes.

Note: For information about previewing how a data service will be displayed to a
Document Designer 1 and how results from a data service will be displayed to a
Data Provider 2, see " Preview a JDBC Data Service" on page 1006.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 1005


Configuring and Administering

Preview a JDBC Data Service

To preview how a JDBC data service will be displayed to a Document Designer 1 and how
results from the data service will be displayed to a person acting as a Data Provider 2, use this
procedure.
Note: For information about testing the JDBC Connection URL and database
credentials service, see " Test the JDBC URL for a JDBC Data Service" on page
1005.
1. Click Data Services.
2. Click File > Open or click the Open button in the toolbar.
3. In the Open dialog box, select a JDBC data service and then click OK.
4. Click the Data Source section, and review which parameters are displayed. Only
parameters available to Document Designers are displayed.
5. Enter sample values for parameters.
6. Click Test Data Service. The Data Source Results dialog box displays the information
that would be provided to a Data Provider.

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

1006 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Start a Data Service


To start a data service, use this procedure.
1. Click Data Services.
2. Click File > Open or click the Open button in the toolbar.
3. In the Open dialog box, select a data service and then click OK.
4. Click Start Data Service.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Loftware Spectrum 3.0.1 User Guide 1007


Configuring and Administering

Update a JDBC Data Service Result Map


The Result Map for a JDBC data service displays the columns that are returned by the query
and allows you to customize their appearance for some types of users. If the query or columns in
the database have changed, you may need to run the query again. Whether this task can be
performed by a Data Service Administrator 1 configuring the data service or by a Document
Designer 2 configuring Database data sources depends on how the data service is configured.
l If the Result Map is configured by a Data Service Administrator as part of the JDBC data
service, then a Data Service Administrator runs the query by using the data service.
These options are not displayed to Document Designers in Database data sources, and
changes to the Result Map configured in the data service are propagated to Database data
sources that use the data service.
l If the Result Map is configured by a Document Designer as part of a Database data
source, then a Document Designer runs the query in each Database data source
associated with that data service. These options are displayed to Document Designers in
Database data sources, and changes configured in the data service are not propagated to
Database data sources that use the data service.

1A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.
2Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

1008 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Determine Where a Result Map is Managed

If you are unsure where a data service is managed and who can run the query for the data service,
use one of these procedures to determine where a result map is managed.
If you are a Data Service Administrator
1. Click Data Services.
2. Click File > Open or click the Open button in the toolbar.
3. In the Open dialog box, select a data service and then click OK.
4. Click the Configuration section.
n If Is Parameter is cleared for the Result Map, then you must manage it in the
data service.
n If Is Parameter is selected for the Result Map, then it is managed in Database
data sources by Document Designers.
If you are a Document Designer
1. Click Design.
2. Open a label template that uses the Database data source.
3. Click the title bar of the Data Sources pane, expand Database, and double-click the
data service.
4. In the Database Data Source dialog box, click Next.
n If the Result Map is displayed, then you can manage it in Database data sources.
n If the Result Map is not displayed, then it is managed by a Data Service
Administrator as part of a data service.

Loftware Spectrum 3.0.1 User Guide 1009


Configuring and Administering

Update a Result Map

To remove any customizations made to the Result Map and populate it with the default column
information from the database, run the query again.
Best Practice
After making a change to the query, always run the query.
If the Result Map is managed as part of the data service
1. Click Data Services.
2. Click File > Open or click the Open button in the toolbar.
3. In the Open dialog box, select a data service and then click OK.
4. Click the Configuration section.
5. Under the Result Map table, click Run Query.
If the Result Map is managed as part of a Database data source
1. Click Design.
2. Open a label template that uses a Database data source.
3. Click the title bar of the Data Sources pane, expand Database, and double-click the
data service.
4. In the Database Data Source dialog box, click Next.
5. Under the Result Map table, click Run Query.
Note: If the Result Map is managed as part of multiple Database data sources and a
change has occurred to the data service that requires all of them to be updated, you
must run the query in each Database data source individually.

1010 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Stop a Data Service


To stop a data service, use this procedure.
Note: You do not have to stop a data service to make changes to its configuration
or for those changes to take effect, but you must save your changes.
1. Click Data Services.
2. Click File > Open or click the Open button in the toolbar.
3. In the Open dialog box, select a data service and then click OK.
4. Click Stop Data Service.

Loftware Spectrum 3.0.1 User Guide 1011


Configuring and Administering

Categorize a Data Service


In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
To assign a tag to a data service in Data Services, use this procedure.

1. In Data Services, click File > Open or click the Open button in the toolbar.
2. In the Open dialog box, select a data service and then click OK.
3. In the right column, click the Tags title bar to expand the pane.
4. Perform one or more of the following actions:
n To add a tag to the object, click . In the Add Tags dialog box, select a
category and a value for the tag, and then click OK.
Note: The list of values available is dependent on the category
selected.
n To change the value of a tag that has been assigned to the object, click the row for
that tag, and then click . Select a value for the tag, and then click OK.
n To remove a tag from the object, click the row for that tag, and then click .
When prompted, click Yes to delete the tag.
Tip: Deleting a tag from a device does not delete the tag category
from Spectrum. You can add a new tag to the device and select that
same category again.

5. Click File > Save or click the Save button in the toolbar.
Built-in Tag Category: Source

A built-in tag category named Source is included with Spectrum. It is designed for use in a tag
that characterizes the origin of an object. If an object supports tags, then a tag with a category of
Source and a value of Spectrum is automatically assigned to it the first time that the object is
saved.
Value Purpose
System The object was built in to Spectrum.
LPS The object was created in Loftware Print Server (LPS) and was migrated to
Spectrum.
Spectrum The object was created in Spectrum.
Unknown The origin of the object is unknown.

1012 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Delete a Data Service


You can delete a data service in Spectrum.
1. Click Data Services.
2. Click File > Open or click the Open button in the toolbar.
3. In the Open dialog box, select a data service and click OK.
4. If the data service is running, click Stop Data Service.
5. Click File > Delete.
The data service is removed from your Spectrum environment.
Tip: If a data service is stopped, you can also delete it from within an Open dialog
box or from within the Data Services pane by right-clicking the data service and
selecting Delete.

Loftware Spectrum 3.0.1 User Guide 1013


Configuring and Administering

Data Services Page


Click Data Services at the top of the LoftwareSpectrum window to display options for
managing data services. A data service is a connection to a database, a URL, or a file external to
Spectrum that can be used to retrieve data for use in a label. Using Spectrum, a Data Service
Administrator 1 can configure and manage data services for use by Document Designers. A
Document Designer 2 can create a Database data source or an Alternate data source that is
associated with a data service and use that data source to incorporate data from a database or a
file into a label template.
When creating the data service, you can specify the type of data service. You cannot change its
type.
lJDBC Data Service: Select to create a read-only connection to a database.
l JDBC Update Data Service: Select to create a connection to a database that allows you

to save changes to the database.


l File Data Service: Select to create a connection to a text file, an image file, or an XML

file that is on the same server as Spectrum, that is on a mapped drive, or that is accessible
via a UNC path that does not require credentials.
l HTTP Data Service: Select to create a connection to a text file, an image file, or an

XML file, or data that is accessible via HTTP or HTTPS.


l Link Data Service: Select to store a connection URL and credentials for accessing a

database so that these parameters can be used by multiple JDBC or JDBC Update data
services.
l SOAP Web Service Data Service: Select to configure a connection to a web service.

For an existing data service, you can view its status (started or stopped). You can also view
information about when and by whom the data service was created and most recently modified.
Important! To enable Spectrum to connect to most types of databases, you must
install a third-party Java Database Connectivity (JDBC) API driver on the
computer where Spectrum is installed. For more information, see " Add a JDBC
Driver to Spectrum" on page 989.

Menu Bar and Toolbar


The following commands are available from the toolbar or the menus in Data Services.
Note: Enter a Service Name that will be easily recognizable to Document
Designers. When creating a data source, the Service Name (but not the
Description) is displayed to Document Designers. JDBC Update data services and
SOAP Web Service data services do not have corresponding data sources in
Design, but are instead managed by using business rules.

1A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.
2Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

1014 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Characters permitted in names


The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name: spaces,
double quotes, single quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum interprets a name.
File Menu Commands
Toolbar
Command Description
Icon
New Data Create a new data service of a specific type.
Service
Open Open an existing data service.
Close Close the displayed data service.

Close All Close all data services that you have open in Data Services.
Save Save the displayed data service.
Save As Save a copy of the displayed data service under a different
name.
Refresh Update the displayed data.

Delete Delete the displayed data service.


Edit Menu Commands
Toolbar
Command Description
Icon
Cancel/Undo Undo the most recent change to the data service that you are
Edits editing.

Data Services Tree


By default, the Data Services tree is hidden. You can display it by clicking the arrow button
along the left edge of the Data Services page. You can double-click an existing data service to
open it. You can right-click a data service to move or delete it.
Tip: You can move an object from one folder to another by dragging the object
from one folder and dropping it into another. Alternatively, you can right-click an
object, select Move to, and select a folder to which to move it.

Configuration
The Configuration section allows you to configure a connection to a database or a file external
to Spectrum and control which parameters are visible to Document Designers.

Loftware Spectrum 3.0.1 User Guide 1015


Configuring and Administering

For each parameter, you can specify a data ref or a value, or allow the Document Designer to
configure the parameter. Selecting the Is Parameter check box for a parameter allows
Document Designers to customize that parameter for each Database data source or Alternate
data source. If the Is Parameter check box is cleared, then the parameter is not displayed in
Database data sources or Alternate data sources.
Important! In most cases, you should clear the Is Parameter check boxes for the
JDBC Connection URL, the database credentials, the URL credentials, and Read
Only Session so that they cannot be changed by a Document Designer. For JDBC
data services, it is recommended that you select the Read Only Session check
box to prevent misuse of the database connection.
You can include a query 1 when configuring a JDBC data service. Alternatively, you can allow
Document Designers to configure the query when they create Database data sources that use the
data service.
For a JDBC data service, the Result Map displays the columns that are returned by the query.
By altering the Result Map, you or a Document Designer can change which columns are
displayed to a person acting as a Data Provider 2 and change the name displayed for each
column in results viewed by Data Providers. Optionally, you can configure a Result Map to limit
which columns are available for use as data sources, and then prevent Document Designers from
viewing or changing the Result Map by clearing the Is Parameter check box. Changes that you
make to the Result Map do not alter the database.
Note: The Result Map is not dynamic. If the columns available in the database
have changed, you must run the query again to see those changes reflected in the
data service.
For more about the options when configuring a data service, see the following:
l " Configuration Parameters for JDBC Data Services" on page 1020
l " Configuration Parameters for Link Data Services" on page 1036
l " Configuration Parameters for File Data Services" on page 1028
l " Configuration Parameters for HTTP Data Services" on page 1032
l " Configuration Parameters for SOAP Web Service Data Services" on page 1038

Data Source
The Data Source section allows you to preview how the query 3 or settings that you have
configured on the Configuration section are displayed to Document Designers. Prompts are
not displayed for any parameter for which the Is Parameter check box is cleared. You can also

1A SQL query that a data service runs on an external database. The query can be entered as part of the data service or can be
passed as a parameter from a Database data source used in the document.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
3A SQL query that a data service runs on an external database. The query can be entered as part of the data service or can be
passed as a parameter from a Database data source used in the document.

1016 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

enter parameters and test the data service to preview how results are displayed to a person acting
as a Data Provider 1.
Note: JDBC Update data services and SOAP Web Service data services do not
have corresponding data sources in Design. They are instead managed by using
business rules.

Buttons
Button Effect
Start Data Starts or stops the selected data service. You can view the status of the data
Service service in the Properties pane.
or Stop Tips about starting and stopping a data service:
Data l After creating a data service, you must save and start it before you can

Service run a query or view the Result Map.


l You do not have to stop a data service to make changes to its

configuration or for those changes to take effect, but you must save your
changes.
l You must stop a data service before you can delete it.

This button is displayed when a data service is viewed.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 1017


Configuring and Administering

Button Effect
Add Allows you to configure custom parameters for the data service. For each
Parameter parameter that you create, you can configure the following:
l Variable Name: Name displayed to Data Service Administrators in the

Configuration section of a data service. If you select Is Parameter


after you create the parameter, the Variable Name is also displayed to a
Document Designer who creates a Database data source associated with
this data service.
l Data Type: Whether the variable must resolve to a String, Integer,

Number, or Boolean value.


After you have added a parameter, it is displayed in the Configuration section.
Regardless of the data type selected, a text box is displayed in the data service
so that a Data Service Administrator or a Document Designer can enter a data
source to connect to the parameter. A message indicating the required data type
is displayed to the Data Service Administrator or Document Designer when that
individual begins to type in the text box for that parameter.
Selecting the Is Parameter check box for a parameter allows Document
Designers who use the data service to customize that parameter for each
Database data source. Clearing the Is Parameter check box hides the parameter
from Document Designers.
A Data Service Administrator can delete a parameter created as part of the data
service. The parameter is removed from existing Database data sources even if
Is Parameter is selected. The default parameters cannot be deleted.
Note: While configuring a Database data source, a Document
Designer can add a custom parameter by clicking the Add
Parameter Field button. A Document Designer can also delete
parameters added to the Database data source.
This button is displayed when either the Configuration section or Data
Source section of a JDBC data service is viewed.
Reset Clears any data entered into fields in the Data Source section for testing.
Form This button is displayed when the Data Source section is viewed.
Test Data Runs the query using the parameters configured. This allows you to see how
Service results are presented to Data Providers.
This button is displayed when the Data Source section of a JDBC data service
is viewed and the data service has been started.

1018 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Button Effect
Test URL Tests whether the JDBC Connection URL and credentials that you have
specified on the Configuration tab provides access to the external database.
If the connection fails, you can alter the JDBC Connection URL and the
credentials in the Test JDBC URL dialog box, retest, and click Accept Values
when you achieve a successful result. You must click Save to update the
configuration with your changes.
This button is displayed when either the Configuration section or Data
Source section of a JDBC data service is viewed.

Loftware Spectrum 3.0.1 User Guide 1019


Configuring and Administering

Configuration Parameters for JDBC Data Services

The following sections and panes may be displayed when you configure a JDBC data service 1
or a Database data source 2.
Configuration
The following options may be displayed in the Configuration section for a JDBC data
service. You can also add custom options. A Data Service Administrator 3 can limit which
options are visible to a Document Designer 4. The Auto Select First Row and Auto Select
Single Row Result options are only displayed when configuring a Database data source.
Important! A Data Service Administrator can select the Is Parameter check
box for a parameter in a data service to allow a Document Designer to
customize that parameter for each Database data source. If the Is Parameter
check box is cleared, then the parameter is not displayed in Database data
sources.

Note: A Data Service Administrator can add custom parameters by clicking the
Add Parameter button when configuring a Data Service. A Document
Designer can add custom parameters by clicking the Add Parameter button
when configuring a Database data source.

Parameter Description
Is Data Whether to obtain the JDBC Connection URL and credentials from a Link
Link data service. This parameter cannot be displayed or configured in Database
data sources.
If cleared, the URL and credentials from this JDBC data service are used.
If selected, the URL and credentials from the Link data service specified in
the Data Link field are used.
Data Link The Link data service from which to obtain the JDBC Connection URL
and credentials. This option is displayed only if Is Data Link is selected.
This parameter cannot be displayed or configured in Database data sources.

1A connection to a database or spreadsheet that is external to Spectrum. A JDBC data service drives Database data sources used
in label templates.
2A connection to a database that acts as a data source and can serve as the data ref for a document field. A Database data source
is associated with a Database data service.
3A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.
4Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

1020 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Parameter Description
JDBC The connection string for the database used for this data service. This
Connection option is displayed only if Is Data Link is not selected. For information
URL about the format, see " JDBC Connection URL Formats" on page 1026.
Note: In most cases, the Data Service Administrator should
clear the Is Parameter check box so that this parameter
cannot be configured in Database data sources by Document
Designers.
Database The user name used when establishing a connection to the database. This
Username option is displayed only if Is Data Link is not selected.
Note: In most cases, the Data Service Administrator should
clear the Is Parameter check box so that this parameter
cannot be configured in Database data sources by Document
Designers.
Database The password associated with the user name used when establishing a
Password connection to the database. This option is displayed only if Is Data Link is
not selected.
Note: In most cases, the Data Service Administrator should
clear the Is Parameter check box so that this parameter
cannot be configured in Database data sources by Document
Designers.
SQL Query The SQL query that the data service runs on the database. The query can
be entered as part of the data service or can be passed as a parameter from a
Database data source used in the label template.
Note: If the Data Service Administrator selects the Is
Parameter check box so that this parameter can be
configured in Database data sources by Document Designers,
then the Data Service Administrator should also select Is
Parameter for Result Map.
Read Only If selected, prevents the user from misusing this connection to make
Session changes to the database during this session. This functionality may vary
with the JDBC driver and database software used.
Note: In most cases, the Data Service Administrator should
clear the Is Parameter check box so that this parameter
cannot be configured in Database data sources by Document
Designers.
Batch Size The maximum number of rows returned by the query. You can specify up
to 1000 rows.

Loftware Spectrum 3.0.1 User Guide 1021


Configuring and Administering

Parameter Description
Session Time (specified in seconds) allowed for a Data Provider 1 to select a row.
Expiration The default value is 300 seconds.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

1022 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Parameter Description
Result Map The columns provided by running the SQL Query. You can configure
which columns are displayed to a Data Provider 1 and available to
Document Designers for use as data sources. You can also configure the
column display names and widths displayed to Data Providers in results.
If the Data Service Administrator clears the Is Parameter check box so
that this parameter cannot be configured in Database data sources by
Document Designers, then the Data Service Administrator should also
clear Is Parameter for SQL Query.
Important! The Result Map is not dynamic. If the columns
available in the database have changed, you must ensure that
the data service is started and run the query again to see those
changes reflected in the data service. In a Database data
source, you must run the query again to retrieve changes to
the associated data service.
l Column Name: The name of the column in the database and as it
is displayed to Document Designers. You cannot change this value
in the Result Map.
l Required: If selected, generates an error if a row in the query result
does not include a value for a the column. You can change this
value in the Result Map.
l Display: If selected, the column is displayed in results for Data
Providers and in the Data Sources pane for Document Designers.
You can change this value in the Result Map.
l Display Name: The name of the column as it is displayed to Data
Providers. You can change this value in the Result Map.
l Type: The data type of values in the column. You cannot change
this value in the Result Map.
l Display Length: The default width that will be used when
displaying the column in the results to Data Providers. Data
providers can manually adjust column widths. Changing this value
does not limit the length of the data available to Data Providers.
You can change this value in the Result Map.
l Run Query: Clear the existing Result Map, run the query, and
populate the Result Map with the default information about the
columns. If you customized the Result map, those changes are
removed.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 1023


Configuring and Administering

Parameter Description
l Is Parameter: Selecting this option allows Document Designers to

customize the Required, Display, Display Name, and Display


Length values in the Result Map for Database data sources
associated with this data service. Clearing this option prevents
Document Designers from viewing or modifying the Result Map,
but they can still view the names of columns for which Display is
selected.
Note: If you clear the Display check box for a particular
column and clear the Is Parameter check box for the Result
Map, then Document Designers cannot use that column as a
data source or display it to Data Providers.
Auto This option for configuring results from a data service is available only
Select First when configuring a Database data source. When rows of data from a
Row database are returned:
l If this option is not selected, the Data Source Results dialog box

is displayed and the Data Provider must manually select a row.


l If this option is selected, the Data Source Results dialog box is

not displayed and the data from the first row returned is inserted
into the form automatically.
Note: If you select this option, it is recommended that you
include at least one Prompt field in the Form that is
populated by the results to provide confirmation to the Data
Provider that the query was run.
Auto This option for configuring results from a data service is available only
Select when configuring a Database data source. If the data service returns only a
Single Row single row:
Result l If this option is not selected, the Data Source Results dialog box

is displayed and the Data Provider must manually click the row to
select it.
l If this option is selected, the Data Source Results dialog box is

not displayed and the data from the row is inserted into the form
automatically.
Note: If you select this option, it is recommended that you
include at least one Prompt field in the Form that is
populated by the results to provide confirmation to the Data
Provider that the query was run.
Data Source

1024 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

The Data Source section allows you to preview how the query 1 or settings that you have
configured on the Configuration section are displayed to Document Designers. Prompts are
not displayed for any parameter for which the Is Parameter check box is cleared. You can
also enter parameters and test the data service to preview how results are displayed to a
person acting as a Data Provider 2.
Note: JDBC Update data services and SOAP Web Service data services do not
have corresponding data sources in Design. They are instead managed by using
business rules.
Properties Pane
The Properties pane allows you to name and describe the data service. It also displays the
type of the data service and status information about the data service.
Option Description
Data The type of data service.
Service l JDBC Data Service

Type l JDBC Update Data Service

l File Data Service

l HTTP Data Service

l Link Data Service

l SOAP Web Service Data Service

1A SQL query that a data service runs on an external database. The query can be entered as part of the data service or can be
passed as a parameter from a Database data source used in the document.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 1025


Configuring and Administering

Option Description
Service Required. A unique name for this data service.
Name Characters permitted in names
The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Note: Enter a Service Name that will be easily recognizable
to Document Designers and administrators. When creating a
data source, the Service Name (but not the Description) is
displayed to Document Designers. JDBC Update data
services and SOAP Web Service data services do not have
corresponding data sources in Design, but are instead
managed by using business rules.
Description A description for this data service.
Service Management Pane
If your Spectrum environment is configured to support distributed services, the Service
Management pane allows you to configure failover of data services between
SpectrumApplicationServers. These options are also available in the Service Management
pane in System Management.
Important! Whenever you add a new device, data service, or integration, you
must ensure that the service is activated on all SpectrumApplicationServers on
which it should be available to run and started on at least one. In an
environment with only one SpectrumApplicationServer, these types of
services are automatically activated and started when they are created. For more
information, see "High Availability with Distributed Services" on page 716.

JDBC Connection URL Formats

LoftwareSpectrum supports data service connections to many common types of databases.


The format for the connection string for several types of databases is shown. For more
information about the format for the connection string, refer to your database software
documentation.
Important! To enable Spectrum to connect to most types of databases, you must
install a third-party Java Database Connectivity (JDBC) API driver on the
computer where Spectrum is installed. For more information, see " Add a JDBC
Driver to Spectrum" on page 989.

1026 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Database
JDBC Connection URL Format Requirements
Type
Oracle jdbc:oracle:thin:@<ServerName_or_ JDBC driver*
IPAddress>:<port>:<sid>
Spectrum
SQL jdbc:sqlserver://<ServerName_or_ JDBC driver
Server IPAddress>:<port>;databaseName=<sid>
Spectrum
MySQL jdbc:mysql://<ServerName_or_ JDBC driver
IPAddress>:3306/<DatabaseName>
Spectrum
Embedded !LOCAL! Local connection to an
embedded database
* A JDBC driver for Oracle 11g and Oracle 12c is installed with Spectrum in most cases.
Contact Loftware's Professional Services Group (PSG) if you have any questions.

Loftware Spectrum 3.0.1 User Guide 1027


Configuring and Administering

Configuration Parameters for File Data Services

The following sections and panes may be displayed when you configure a File data service 1 or
an Alternate data source 2.
Configuration
The following options may be displayed in the Configuration section for a File data service
or an Alternate data source.
Important! A Data Service Administrator 3 can select the Is Parameter
check box for a parameter in a data service to allow a Document Designer 4 to
customize that parameter for each Alternate data source. If the Is Parameter
check box is cleared, then the parameter is not displayed in Alternate data
sources.

Parameter Description
URL The URL pointing to the external file from which data can be retrieved.
For information about the format, see " URL Formats for File Data
Services" on page 1030.
In most cases, the Data Service Administrator should clear the Is
Parameter check box so that this parameter cannot be configured in
Alternate data sources by Document Designers.
Note: A Document Designer who can change this parameter
can access any file.
Result Required. A name by which to refer to the data returned by the data
Name service. To print an external file such as a PDF without associating the file
with a label template, enter the !INLINE_DOCUMENT! reserved key.
This parameter cannot be displayed or customized in an Alternate data
source, therefore no Is Parameter check box is provided for it in a File
data service.

1A connection to a plain text file or an image file that is external to Spectrum. A File data service or an HTTP data service drives
Alternate data sources used in documents.
2A connection to a file external to Spectrum that acts as a data source and can serve as the data ref for a document field. An
Alternate data source is associated with either a File data service or an HTTP data service.
3A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.
4Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

1028 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Parameter Description
Data Type Whether the URL points to an image, plain text, or XML. For a URL that
points to aPDFfile, select Image.
Important! If you select XML for the Data Type, the data
service cannot be used with an Alternate data source, and
must be managed by using a business rule instead.

Note: Spectrum supports images that use an RGB color


model and one of the following file formats: PNG, GIF, JPG,
BMP, or PCX.
Max Size The maximum amount of data to retrieve from the external file for use in
(MB) Spectrum.
Note: A maximum data size of 5 MB is recommended and set
by default.
Data Source
The Data Source section allows you to preview how the query 1 or settings that you have
configured on the Configuration section are displayed to Document Designers. Prompts are
not displayed for any parameter for which the Is Parameter check box is cleared. You can
also enter parameters and test the data service to preview how results are displayed to a
person acting as a Data Provider 2.

Note: JDBC Update data services and SOAP Web Service data services do not
have corresponding data sources in Design. They are instead managed by using
business rules.
Properties Pane
The Properties pane allows you to name and describe the data service. It also displays the
type of the data service and status information about the data service.

1A SQL query that a data service runs on an external database. The query can be entered as part of the data service or can be
passed as a parameter from a Database data source used in the document.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 1029


Configuring and Administering

Option Description
Data The type of data service.
Service l JDBC Data Service

Type l JDBC Update Data Service

l File Data Service

l HTTP Data Service

l Link Data Service

l SOAP Web Service Data Service

Service Required. A unique name for this data service.


Name Characters permitted in names
The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Note: Enter a Service Name that will be easily recognizable
to Document Designers and administrators. When creating a
data source, the Service Name (but not the Description) is
displayed to Document Designers. JDBC Update data
services and SOAP Web Service data services do not have
corresponding data sources in Design, but are instead
managed by using business rules.
Description A description for this data service.
Service Management Pane
If your Spectrum environment is configured to support distributed services, the Service
Management pane allows you to configure failover of data services between
SpectrumApplicationServers. These options are also available in the Service Management
pane in System Management.
Important! Whenever you add a new device, data service, or integration, you
must ensure that the service is activated on all SpectrumApplicationServers on
which it should be available to run and started on at least one. In an
environment with only one SpectrumApplicationServer, these types of
services are automatically activated and started when they are created. For more
information, see "High Availability with Distributed Services" on page 716.

URL Formats for File Data Services

1030 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

LoftwareSpectrum supports File data service connections to URLs that point to files. The
format for URLs to several types of targets is shown. Although the following examples show
URLs for a text file, you can also point to image files.
Important! The computer hosting the target file and the
SpectrumApplicationServer must be operating in a domain environment.
Connections among workgroups are not supported.

Note: Spectrum supports images that use an RGB color model and one of the
following file formats: PNG, GIF, JPG, BMP, or PCX.
Target URL Format Examples
File available via public UNC path such as file://Server/SharedFolder/File.txt
\\Server\SharedFolder\File.txt Credentials must not be required to
access this file.
File on the SpectrumApplicationServer with a file:///C:/Folder/File.txt
path such as C:\Folder\File.txt The file must be hosted on the
SpectrumApplicationServer.

Loftware Spectrum 3.0.1 User Guide 1031


Configuring and Administering

Configuration Parameters for HTTP Data Services

The following sections and panes may be displayed when configuring an HTTP data service 1
or an Alternate data source 2.
Configuration
The following options may be displayed in the Configuration section for an HTTP data
service or an Alternate data source.
Important! A Data Service Administrator 3 can select the Is Parameter
check box for a parameter in a data service to allow a Document Designer 4 to
customize that parameter for each Alternate data source. If the Is Parameter
check box is cleared, then the parameter is not displayed in Alternate data
sources.

Parameter Description
URL The URL pointing to the external file from which data can be retrieved.
For information about the format, see " URL Formats for HTTP Data
Services" on page 1034.
In most cases, the Data Service Administrator should clear the Is
Parameter check box so that this parameter cannot be configured in
Alternate data sources by Document Designers.
Note: A Document Designer who can change this parameter
can access any file.
Result Required. A name by which to refer to the data returned by the data
Name service. To print an external file, such as a PDF, without associating the
file with a label template, enter the !INLINE_DOCUMENT! reserved
key.
This parameter cannot be displayed or customized in an Alternate data
source, therefore no Is Parameter check box is provided for it in an
HTTP data service.
Username The user name used when establishing a connection to the URL.
In most cases, the Data Service Administrator should clear the Is
Parameter check box so that this parameter cannot be configured in
Alternate data sources by Document Designers.

1A connection to plain text data or image data that is external to Spectrum. A File data service or an HTTP data service drives
Alternate data sources used in documents.
2A connection to a file external to Spectrum that acts as a data source and can serve as the data ref for a document field. An
Alternate data source is associated with either a File data service or an HTTP data service.
3A local administrator who creates and configures data services for use by Document Designers who configure Database data
sources and Alternate data sources.
4Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.

1032 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Parameter Description
Password The password associated with the user name used when establishing a
connection to the URL.
In most cases, the Data Service Administrator should clear the Is
Parameter check box so that this parameter cannot be configured in
Alternate data sources by Document Designers.
Data Type Whether the URL points to an image, plain text, or XML. For a URL that
points to aPDFfile, select Image.
Important! If you select XML for the Data Type, the data
service cannot be used with an Alternate data source, and
must be managed by using a business rule instead.

Note: Spectrum supports images that use an RGB color


model and one of the following file formats: PNG, GIF, JPG,
BMP, or PCX.
Max Size The maximum amount of data to retrieve from the external file for use in
(MB) Spectrum.
Note: A maximum data size of 5 MB is recommended and set
by default.
Data Source
The Data Source section allows you to preview how the query 1 or settings that you have
configured on the Configuration section are displayed to Document Designers. Prompts are
not displayed for any parameter for which the Is Parameter check box is cleared. You can
also enter parameters and test the data service to preview how results are displayed to a
person acting as a Data Provider 2.
Note: JDBC Update data services and SOAP Web Service data services do not
have corresponding data sources in Design. They are instead managed by using
business rules.
Properties Pane
The Properties pane allows you to name and describe the data service. It also displays the
type of the data service and status information about the data service.

1A SQL query that a data service runs on an external database. The query can be entered as part of the data service or can be
passed as a parameter from a Database data source used in the document.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 1033


Configuring and Administering

Option Description
Data The type of data service.
Service l JDBC Data Service

Type l JDBC Update Data Service

l File Data Service

l HTTP Data Service

l Link Data Service

l SOAP Web Service Data Service

Service Required. A unique name for this data service.


Name Characters permitted in names
The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Note: Enter a Service Name that will be easily recognizable
to Document Designers and administrators. When creating a
data source, the Service Name (but not the Description) is
displayed to Document Designers. JDBC Update data
services and SOAP Web Service data services do not have
corresponding data sources in Design, but are instead
managed by using business rules.
Description A description for this data service.
Service Management Pane
If your Spectrum environment is configured to support distributed services, the Service
Management pane allows you to configure failover of data services between
SpectrumApplicationServers. These options are also available in the Service Management
pane in System Management.
Important! Whenever you add a new device, data service, or integration, you
must ensure that the service is activated on all SpectrumApplicationServers on
which it should be available to run and started on at least one. In an
environment with only one SpectrumApplicationServer, these types of
services are automatically activated and started when they are created. For more
information, see "High Availability with Distributed Services" on page 716.

URL Formats for HTTP Data Services

1034 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

LoftwareSpectrum supports data service connections to URLs that point to files. The format
for URLs to several types of targets is shown. Although the following examples show URLs for a
text file, you can also point to image files.
Note: Spectrum supports images that use an RGB color model and one of the
following file formats: PNG, GIF, JPG, BMP, or PCX.
Target URL Format Examples
File or data available http://www.example.com/Folder/File.txt
via unsecured link You do not need to enter credentials when creating the data
service, and any credentials entered are disregarded.
File or data available https://www.example.com/Folder/File.txt
via secured link

Loftware Spectrum 3.0.1 User Guide 1035


Configuring and Administering

Configuration Parameters for Link Data Services

The following sections and panes are displayed when you configure a Link data service.
Configuration
The following options are displayed in the Configuration section for a Link data service.
Tip: You can configure multiple JDBC data services to obtain a connection
URL and credentials from a Link data service instead of separately managing
these parameters in each JDBC data service.

Parameter Description
Connection Required. The connection string for the database used for this data service.
URL For information about the format, see " JDBC Connection URL Formats"
on page 1026.
Database The user name used when establishing a connection to the database.
Username
Database The password associated with the user name used when establishing a
Password connection to the database.
Data Source
The Data Source section allows you to preview how the query 1 or settings that you have
configured on the Configuration section are displayed to Document Designers. Prompts are
not displayed for any parameter for which the Is Parameter check box is cleared. You can
also enter parameters and test the data service to preview how results are displayed to a
person acting as a Data Provider 2.
Note: JDBC Update data services and SOAP Web Service data services do not
have corresponding data sources in Design. They are instead managed by using
business rules.
Properties Pane
The Properties pane allows you to name and describe the data service. It also displays the
type of the data service and status information about the data service.

1A SQL query that a data service runs on an external database. The query can be entered as part of the data service or can be
passed as a parameter from a Database data source used in the document.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

1036 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Option Description
Data The type of data service.
Service l JDBC Data Service

Type l JDBC Update Data Service

l File Data Service

l HTTP Data Service

l Link Data Service

l SOAP Web Service Data Service

Service Required. A unique name for this data service.


Name Characters permitted in names
The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Note: Enter a Service Name that will be easily recognizable
to Document Designers and administrators. When creating a
data source, the Service Name (but not the Description) is
displayed to Document Designers. JDBC Update data
services and SOAP Web Service data services do not have
corresponding data sources in Design, but are instead
managed by using business rules.
Description A description for this data service.
Service Management Pane
If your Spectrum environment is configured to support distributed services, the Service
Management pane allows you to configure failover of data services between
SpectrumApplicationServers. These options are also available in the Service Management
pane in System Management.
Important! Whenever you add a new device, data service, or integration, you
must ensure that the service is activated on all SpectrumApplicationServers on
which it should be available to run and started on at least one. In an
environment with only one SpectrumApplicationServer, these types of
services are automatically activated and started when they are created. For more
information, see "High Availability with Distributed Services" on page 716.

Loftware Spectrum 3.0.1 User Guide 1037


Configuring and Administering

Configuration Parameters for SOAP Web Service Data Services

SOAP Web Service data services enable you to interact with web services by using Simple
Object Access Protocol (SOAP). A web service is a platform-independent application that is
hosted on a website. A SOAP implementation of web services provides a Web Services
Description Language (WSDL), which is an XML-based language for defining an interface. A
WSDL describes how a service can be called, what arguments can be used, and what type of data
is expected to be returned.
The following sections and panes may be displayed when configuring a SOAP Web Service data
service. There is no corresponding data source for a SOAP Web Service data service, but there
is a corresponding xmlData business rule component.
Note: Whether the Is Parameter check boxes in a SOAP Web Service data
service are selected or cleared has no impact. Disregard the Data Source section.
Configuration
The following options may be displayed in the Configuration section for a SOAP Web
Service data service.
Parameter Description
WSDL URL The link to a Web Services Description Language (WSDL) that you can
use to communicate with a web service. A WSDL is an XML-based
language for defining an interface. A WSDL describes how a service can
be called, what arguments can be used, and what type of data is
expected to be returned.
Envelope The XML for the SOAP envelope element. This is the root element of
a SOAP message and defines the XML document as a SOAP message.
Web Service The link for connecting to a web service. In many cases, you can click
Address Load From WSDL to automatically obtain the address from the
WSDL. However, for some web services the WSDL provides only a
testing address, and you must type in the production address.
Security A security header that provides credentials for connecting to the web
Header service.
l None: Do not include a security header, or else enter a security

header that you created.


l User Name Token - Plaintext: A template for security header

that is not encrypted is provided. You can customize the


security header to meet the needs of the data service.
l User Name Token - Digest: A template for a security header

that is encrypted is provided. You can customize the security


header to meet the needs of the data service.

1038 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Parameter Description
Result Name The name of the XML Data business rule component to be used. The
default name is WS_RESULT.
For more information, see "xmlData Business Rule Component" on
page 1339.
Result Path The path to the subset of data that you want returned from the web
service.
If the XPath Override check box is selected, this is the XPath
expression of the subset of data that you want returned from the web
service. For more information, see Example: Result Path and XPath
Override.
XPath Whether to define the subset of data that you want returned from the
Override web service by the XPath expression entered in the Result Path field.
For more information, see Example: Result Path and XPath Override.
Authentication The authentication type for connecting to the web service.
Type l None: Do not require authentication.

l Basic: Require a user name and password to connect to the web

service.
User Name The user name of the credentials to use when connecting to the web
service.
Note: Available only if the Authentication Type is
Basic.
Password The password of the credentials to use when connecting to the web
service.
Note: Available only if the Authentication Type is
Basic.
HTTP The names and values that define the operating parameters of the
Headers HTTP transaction.
Example: Result Path and XPath Override
If the configuration of the web service in Data Services contains the following values:
Result Path /getCountryResponse/country
XPath Override
or
Result Path /*[local-name()='Envelope']/*[local-name()='Body']/*[local-
name()='getCountryResponse']/*[local-name()='country']
XPath Override

Loftware Spectrum 3.0.1 User Guide 1039


Configuring and Administering

and the SOAP response from the web service is the following:
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns2:getCountryResponse
xmlns:ns2="http://spring.io/guides/gs-producing-web-service">
<ns2:country>
<ns2:name>Spain</ns2:name>
<ns2:population>46704314</ns2:population>
<ns2:capital>Madrid</ns2:capital>
<ns2:currency>EUR</ns2:currency>
</ns2:country>
</ns2:getCountryResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Then the following data map entries result:
/Body/name/!TEXT! Spain
/Body/population/!TEXT! 46704314
/Body/capital/!TEXT! Madrid
/Body/currency/!TEXT! EUR
For more information about XPath, see Other References in "External Links" on page
1645.
Properties Pane
The Properties pane allows you to name and describe the data service. It also displays the
type of the data service and status information about the data service.
Option Description
Data The type of data service.
Service l JDBC Data Service

Type l JDBC Update Data Service

l File Data Service

l HTTP Data Service

l Link Data Service

l SOAP Web Service Data Service

1040 Loftware Spectrum 3.0.1 User Guide


Managing Data Services

Option Description
Service Required. A unique name for this data service.
Name Characters permitted in names
The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Note: Enter a Service Name that will be easily recognizable
to Document Designers and administrators. When creating a
data source, the Service Name (but not the Description) is
displayed to Document Designers. JDBC Update data
services and SOAP Web Service data services do not have
corresponding data sources in Design, but are instead
managed by using business rules.
Description A description for this data service.
Service Management Pane
If your Spectrum environment is configured to support distributed services, the Service
Management pane allows you to configure failover of data services between
SpectrumApplicationServers. These options are also available in the Service Management
pane in System Management.
Important! Whenever you add a new device, data service, or integration, you
must ensure that the service is activated on all SpectrumApplicationServers on
which it should be available to run and started on at least one. In an
environment with only one SpectrumApplicationServer, these types of
services are automatically activated and started when they are created. For more
information, see "High Availability with Distributed Services" on page 716.

Loftware Spectrum 3.0.1 User Guide 1041


Configuring and Administering

Integrating with Other Applications


You can integrate LoftwareSpectrum with Oracle, SAP ERP, or other applications. By doing
so, you can route print requests initiated by users in other applications so that they are processed
and printed using Spectrum. In many cases, Spectrum can report the status back to the
originating application. You can configure as many integrations as your Spectrum license allows.

1042 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Configuring a Run As User for Integrations


Each integration must be associated with a user account in LoftwareSpectrum under which
print requests from an Oracle application, from an SAP application, or by file drop should be
run. Run As user accounts are typically not interactive. You should create the Run As user for an
integration before you create the integration. You can use the same Run As user for multiple
integrations.
It is recommended that you create a group in Spectrum for Run As users for integrations so that
you can manage permissions for those users as a group. To provide the most commonly needed
role-based permissions, assign the Integration role to the group that you create and then add the
Run As users to that group.
Note: If the process or business rule associated with an integration performs
actions that require permissions beyond those included with the Integration role,
you must ensure that those permissions are granted to the Run As user. For more
information, see "Configuring Access for Processes and Business Rules" on page
1186.

Important: Access in Spectrum requires both role-based permissions1 and object access
permissions2. For a user to be able to perform an action on an object, the user
must directly or indirectly be assigned a role that grants permission to perform that
action on that type of object. Additionally, that particular object must either be in a
folder that directly or indirectly grants the user access permission to perform that
action on that type of object or else that particular object must directly or
indirectly grant permission to the user to perform that action. There are several
permissions that are only role-based or only object-based and do not require a
corresponding permission. Examples include List permission for Folders and all
permissions for ModelStatus (AutoRefresh), Tag Categories, and Devices.
The following object access permissions are typically necessary to support integrations.
Additional permissions may be required to support some processes and business rules.
n Folders containing device groups to be used in conjunction with an integration should
grant the group that you create for Run As users Read and Print permissions for Device
Groups.
n Folders containing label templates, layouts, images, or business rules to be used when
printing via an integration should grant that group Read and Print permissions for
Documents.

1Permissions in Spectrum that are assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned. A user must have both a role-based permission and the corresponding
object access permission to perform an action on an object.
2Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

Loftware Spectrum 3.0.1 User Guide 1043


Configuring and Administering

nFolders containing processes used by integrations should grant that group Read and Print
permissions for Processes.
For more information about configuring users and groups and about granting access to objects,
see "Getting Started with Users and Permissions" on page 569.

1044 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Configure a Job Target Folder


Status information about print jobs is stored in a job target folder. For print jobs processed by
using an integration, you can specify a job target folder when you configure the integration. On-
demand print jobs use the built-in Job Target folder provided with LoftwareSpectrum,
which can be renamed but should not be deleted.
If you would prefer to keep job status information for each integration separate, you can create a
separate job target folder for each integration. If using that approach, it is suggested that you
create subfolders in the built-in Job Target folder to serve as the job target folders for each
integration.
Note: Although the object access permissions1 of a folder can be inherited by
subfolders, subscribing to a job target folder provides you only with status
information for jobs associated with that specific job target folder and does not
include information from any of its subfolders.
To configure a job target folder for an integration, do the following.
1. Click Access Control.
2. Click the folder in which you want to create a folder to serve as a job target folder, and
click Add Folder.
3. Configure the options on the Folder Info tab, and then click Save Folder.
4. Click the Folder Access tab.
5. Grant object access permissions to at least the Run As user for the integration. You can
grant these permissions to the group that you created for Run As users or make them the
Default Permissions for the folder if desired. Grant at least the following object access
permissions: Read, Create, Delete, and Print permissions for Jobs; Read and List
permissions for Folders; Read and Queue permissions for Device Groups.
Tip: To grant permissions only to the group that you created for Run As
users or only to the Run As user for a particular integration, click that user
or group in the Users and Groups tree and drag it to the User/Group
table. In the User/Group table, click a user or group to display a
permissions table specific to that user or group.
Design
Type Read Write Create Delete Admin List Print Publish Reprint Queue
Print
Folders
Users
Groups

1Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

Loftware Spectrum 3.0.1 User Guide 1045


Configuring and Administering

Design
Type Read Write Create Delete Admin List Print Publish Reprint Queue
Print
Roles
Documents
Device
Groups
Servers
Jobs
Processes
Integrations
Data
Services
User
Profiles
Remote
Sites
Facilities
6. Click Save Folder.

1046 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Configuring Triggers to Support Integration


If a Database data source or an Alternate data source must support both integrations and on-
demand printing, then it is necessary to create triggers for the data source. In addition to a trigger
for use with on-demand printing, such as clicking a button, submitting data at a prompt, or
loading a form, you must also create a trigger with a Do Not Run trigger source to support
integrations. For more information, see "Create a Database Data Source" on page 309 or "Create
an Alternate Data Source" on page 318.
Tip: If a Database data source or an Alternate data source will be used only with
integrations and never for on-demand printing, then it is not necessary to create
any triggers for the data source.

Loftware Spectrum 3.0.1 User Guide 1047


Configuring and Administering

File Drop Integration


File Drop integration extends the functionality of other applications so users can print labels
generated with data provided by those applications. A print job is initiated by placing a print job
file into a folder that Spectrum monitors. Spectrum responds by running a process to print the
label or labels. You can configure as many File Drop integrations as your Spectrum license
allows.
Initiating a print job by using file drop can be a useful approach if you need to print from third-
party software other than Oracle or SAP (for which other integration options exist), to print
many labels without having to use Print, or to print multiple labels to multiple devices.
Note: Spectrum supports print job files that use the following file formats: PAS,
CSV, and XML (LPS).

1048 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

File Structure of a Scan Folder

When you create a File Drop integration, you specify a Scan Folder. This is a folder outside of
the Spectrum library to which print job files can be copied so that they can be processed by
Spectrum. When you specify a Scan Folder, Spectrum automatically creates several subfolders in
it.
After you start the integration, Spectrum monitors the Scan Folder for incoming print jobs.
When Spectrum is ready to begin processing a print job, Spectrum moves the job from the Scan
Folder to a subfolder named processing.
n If Spectrum processes a job successfully and if you have configured the File Drop
integration not to archive the job file, then the job file is deleted.
n If Spectrum processes a job successfully and if you have configured the File Drop
integration to archive the original job file and the XML file for the job, then these files
are moved to the processed folder. Preserving these files can be useful for
troubleshooting, but otherwise it is suggested that you do not archive the original job file
or the XML file to reduce the disk space needed.
n If Spectrum encounters a problem while processing a job, the job is moved to the error
subfolder and an error file may be created in that folder with additional information.
Tip: An error file is created only if the error occurs before processing
begins. Otherwise, the error is listed in Status instead.
If a file with a file extension other than one of these that you have configured the integration to
recognize is copied to the Scan Folder, it remains in the Scan Folder and is not processed.

WARNING: Files should never be edited in the Scan Folder. Editing a file in this
folder may strand the associated print job.

Loftware Spectrum 3.0.1 User Guide 1049


Configuring and Administering

Integrate by File Drop

File Drop integration extends the functionality of other applications so users can print labels
generated with data provided by those applications. A print job is initiated by placing a print job
file into a folder that Spectrum monitors.
To create a File Drop integration that allows print job files to be processed by Spectrum, do the
following.
1. Click Integration Management.
2. Click File > New > File Drop to create a File Drop integration.

1050 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

3. In the Configuration section, configure the following details about print request files.
a. For Job Target Folder, select the folder in Spectrum to which status information
about print jobs related to this integration should be directed. Although you can
use the default Job Target folder, it is suggested that you configure a separate job
target folder for each integration.
b. For Default Process, select either a process that you have created that should be
applied to the integration, or else select the Generic Document Process in the
root folder.
c. For Transaction Size, accept the default value unless Technical Support or the
Professional Services Group directs you to change it.
d. For Scan Folder, enter a UNC path to a shared folder or a path to a local folder
on the SpectrumApplicationServer to which print request files will be dropped.
For example, \\Server01\ScanFolder or C:\ScanFolder. If the folder does not
exist, it is created.
Important: For best performance, it is recommended that each Scan
Folder be associated with only one integration so that integrations do
not scan the same job files.
e. For File Type and Extension, select which file types this integration should
process and by what file extension each selected file type is identified. You must
specify a file extension for any file type selected. A file type can be associated with
only one file extension in an integration.
f. For Polling Interval, enter how frequently in milliseconds (ms) Spectrum should
check the Scan Folder for new print job files.
g. You can restrict the order in which incoming jobs are processed.
n To allow the order in which incoming print job files are processed to vary
and to ensure that a blocked job does not block all jobs that follow it, clear
FIFO.
n To require incoming print job files to be processed in the order in which
they are created, select FIFO.
h. To ensure that the XML produced is properly formatted, it is recommended that
you select Validate XML.
i. Except during testing, it is recommended that you clear Archive Original Job
File and Archive XML.
j. Each print job file specifies the device or devices to which the job will be sent.
n To send each job to the device or devices specified in the job, leave this
field blank.
n To override that device selection and send all jobs that use this integration
to a particular device, enter a Device Name.
4. In the Properties pane, enter a description of the purpose of the integration.

Loftware Spectrum 3.0.1 User Guide 1051


Configuring and Administering

5. Click File > Save or click the Save button in the toolbar
a. In the left pane of the Save Integration dialog box, select the folder in which to
save the integration. You can double-click a folder to display subfolders.
b. For Integration Name, enter a name by which the integration will be identified
in Spectrum.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses,
square brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-
colons, and tildes. Additionally, the following characters are permitted but cannot
begin or end the name: spaces, double quotes, single quotes, hyphens,
underscores, periods, and grave accents. For letters, the case that you specify is
displayed, but case is ignored when Spectrum interprets a name.
c. Click OK to save the integration. Creation information is displayed in the
Properties pane.
6. Click Start Integration.
7. To verify that the integration has started, view the Status in the Properties pane.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

1052 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Commands for Use with File Drop Integration

PAS commands, CSV commands, and XML (LPS) commands, including the alternative syntax,
are supported in Spectrum except as noted.
The PAS syntax is a simple ASCII structure that has all the commands, field names, and data for
the labels that are to be printed.The field names in the file match the ones given to their
corresponding fields on the label in Design.Each PAS file can have many different label
requests within it.
PAS and CSV Commands

The following commands apply to the PAS and CSV file syntaxes.The commands for XML
(LPS) are the same as the LPS commands with the exception of beginning with an underscore
(_) instead of an asterisk (*).
Command Description
*FORMAT,<name> The fully-qualified name of the label template to which to send the
data. Each PAS file must begin with this command.
*PRINTERNAME,< The fully-qualified name of the device to which to print.
name>
If you are using *PRINTERNAME, do not use *PRINTERNUMBER.The
latter always takes precedence over the former.
*PRINTERNUMBER,< The LPS device number of the device to which to print.
number>
Note: Use *PRINTERNUMBER only if the PAS file was
generated for use with LPS and if you are not using
*PRINTERNAME.
*JOBNAME,<name> The name of the job for status reporting purposes. The *JOBNAME is
applied to all labels printed within the job.
Note: In Spectrum, the job name is stored in the job
rather than as part of the datamap.
*QUANTITY,< The number of labels to print.
number>
*DUPLICATES,< The number of copies of the label to print. This is useful if you are
number> using incrementing numbers and you need to print multiple copies of
the same number before incrementing it. For example, you may need
to put two labels on a box with the same serial numberone label for
each corner.
*PAGES,<number> The number of pages to print. This is only used if you are using a
layout.
*PRINTLABEL Print the current label. A PAS file generated for use with LPS must
end with the *PRINTLABEL command.

Loftware Spectrum 3.0.1 User Guide 1053


Configuring and Administering

Command Description
*DELINKODBC Override the database. You must provide all data for the labels.
Include this command in your .pas file to turn off the database links
for normal production.
*SENDFORMAT,0 Suppress the sending of the format information to the device. The
device recalls the format from memory and throughput time is
increased. This is supported only on devices that support the pre-
downloading of the fixed fields in your format.
*TRAY,< Specify a paper source. This command is available for Windows
name|number> devices and devices that use the PCL 5 driver. If the device you are
printing to has more than one tray, this command is designed to send
a label to a particular tray on the device.
For Windows drivers, the tray is the name of the tray that supplies
the paper.The name corresponds to the configured tray name in the
driver setup, such as lower or upper, and is not case sensitive.
For PCL5 drivers, the tray is one of the following numbers.
0: Print current page (paper source remains unchanged)
1: Feed paper from main paper source
2: Feed paper by using manual feed
3: Feed envelope by using manual feed
4: Feed paper from alternate paper source
5: Feed from optional large paper source
6: Feed envelope from envelope feeder
7: Select the paper source automatically
8: Feed paper from Tray 1 (right side tray)
20 - 39: Feed paper from High Capacity Input (HCI) Trays 2-21
*INLINE_DOCUMENT Required for printing external files. Print an external file, such as a
PDF, without associating the file with label template.
*INLINE_TYPE Required for printing external files. The list of supported external file
types. For example, INLINE_PDF.
*LABEL_RANGES A set of comma delimited label ranges to reprint in a multi-label or
quantity reprint. When printing external files, this is the range of
pages to print. An asterisk is a wildcard value that resolves to the last
label printed.

1054 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Command Description
*PAGE_HANDLING The page handling for imaged files. Maintains aspect ratios.
ACTUAL_SIZE: Do not increase or decrease the image size on the
page. Default value.
FIT: Increase or decrease the image size as appropriate to fit the
page.
INCREASE: Increase the image size of undersized images only to fit
the page.
DECREASE: Decrease the image size of oversized images only to fit
the page.
CUSTOM: Increase or decrease the image size as specified in
!PAGE_CUSTOM!.
*PAGE_CUSTOM Required if !PAGE_HANDLING! is CUSTOM. For imaged files,
the percentage as an integer value to increase or decrease the image
size on the page. A value greater than 100 will increase the image
size, and a value less than 100 will decrease the image size on the
page. Can be used when printing external files. Default: 100.
*FORCE_IMAGE Whenprinting external files, whether to force the file to print as an
imaged file.
TRUE: An external file is imaged regardless if the target device is
configured and supports the !INLINE_TYPE! natively.
FALSE: Default value.
*TARGET_MEDIA_ Required if !PAGE_HANDLING! is not CUSTOM. For imaged
HEIGHT files, the height of the target media size in thousandths of an inch
(mils), unless specified otherwise in !TARGET_MEDIA_UNITS!.
*TARGET_MEDIA_ For imaged files, the width of the target media size in thousandths of
WIDTH an inch (mils), unless specified otherwise in !TARGET_MEDIA_
UNITS!.
*TARGET_MEDIA_ The target unit of measurement. Can be used when printing external
UNITS files.
INCHES: Thousandths of an inch (mils). Default value.
CM: Centimeter.
MM: Millimeter.
Alternative Commands

You can use the following commands as alternatives to the previously mentioned
commands.The alternative syntax makes it easier for report generation software to create the
file.

Loftware Spectrum 3.0.1 User Guide 1055


Configuring and Administering

Command Alternative Syntax


*FORMAT FORMAT
*PRINTERNAME PRTNAME
*QUANTITY LLMQTY
*PAGES PAGE
*JOBNAME JOBNAME
*PRINTERNUMBER PRTNUM
*DUPLICATES LLMDUP
Note: In Spectrum, the job name is stored in the job rather than as part of the
datamap.

Note: The *PRINTLABEL command has no alternative because it is not used in


CSV syntax.

Note: Null characters are not allowed in PAS files.

1056 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

User Interface: File Drop Integration

The following section and panes are available when you configure a File Drop integration.
Configuration
The following options are available in the Configuration section when you configure a File
Drop integration.
Note: All paths should be relative to the SpectrumApplicationServer.
Option Description Notes
JobTargetFolder The folder in Spectrum to which status Required
information about print jobs related to this
integration should be directed. For more
information, see " Configure a Job Target
Folder" on page 1045.
Default Process A process to be applied to the integration. Required
Although this field is required, you can select
the Generic Document Process in the root
folder if you have not configured a custom
process that should be applied.
Transaction Size Transaction size is used during job Required
management for packaging print job details
into print jobs. Use the default value unless
Loftware Technical Support or Loftware
Professional Services Group directs you to
change it.

Loftware Spectrum 3.0.1 User Guide 1057


Configuring and Administering

Option Description Notes


Scan Folder A UNC path to a shared folder or a path to a Required.
local folder on the For best
SpectrumApplicationServer, such as performance, it is
\\Server01\ScanFolder or C:\ScanFolder. recommended that
The folder that you specify is created if it does each Scan Folder be
not exist. Using a path to a mapped drive is not associated with only
recommended. one integration so
Spectrum monitors the Scan Folder for that integrations do
incoming print job files and creates several not scan the same
subfolders in it that are used for processing job files.
print jobs. The Scan Folder
WARNING: Files should not be must be accessible
edited in this folder. Editing a file by the
in this folder may strand the LoftwareSpectrum
associated print job. If FIFO is Service.
selected and a job file in the Scan
Folder is being edited, then when
Spectrum encounters that job file
in the queue Spectrum is blocked
from continuing to process any
job files using the same
integration.
File Type and Which file types this integration processes and If you select XML
Extension by what file name extension each is Transform, you
recognized. You must specify a file extension must provide the
for any file type selected. A file extension can path to a stylesheet.
be associated with only one file type in an
integration.
Note: Spectrum supports print
job files that use the following
file formats: PAS, CSV, and XML
(LPS).
Polling Interval Frequency in milliseconds (ms) with which Required.
Spectrum checks the Scan Folder for new print 20ms to
job files. One second is equivalent to 1000ms. 999999999ms (11.5
days)

1058 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Option Description Notes


FIFO Whether to require that incoming print job Clearing this option
files be processed in the order in which they may improve printing
are created (that is, on a First In, First Out performance.
(FIFO) basis). If this option is selected, job
files are processed in the order in which they
are created.
Validate XML Whether to verify that the XML produced is Clearing this option
properly formatted. If the XML is not properly
may improve printing
formatted, either an error is reported in Status,
performance.
an error file corresponding to this job is Selecting this option
created in the error subfolder of the Scan is recommended if
Folder, or both. you have selected
XML Transform.
Archive Original Whether to save a copy of the original job file Selecting this option
Job File in the processed subfolder of the Scan Folder is recommended only
when the job is completed. while testing because
it generates
additional files.
Archive XML Whether to save a copy of the XML file Selecting this option
produced by Spectrum in the processed is recommended only
subfolder of the Scan Folder when the job is while testing because
completed. it generates
additional files.
Device Name A device to be associated with the Scan This option may be
Folder. helpful if you cannot
If this field is blank, job files dropped into the include a device
Scan Folder are sent to the device or devices number command in
specified in the print request. your request.
If a Device Name is entered in this field, any
job files dropped into the Scan Folder are sent
to the assigned device regardless of the device
specified in the job file.
Note: You should ensure that
the job files are appropriate for
the resolution available on the
assigned device.

Loftware Spectrum 3.0.1 User Guide 1059


Configuring and Administering

Option Description Notes


Run As A Spectrum user account under which Required.
requests received from outside of Spectrum
are run. This account must have at least the
Integration role or equivalent permissions and
is typically not an interactive user. For more
information, see " Configuring a Run As User
for Integrations" on page 1043.
Properties Pane
The following properties can be configured or viewed in the Properties pane when you view
any type of integration with LoftwareSpectrum.
Option Description
Integration A unique name for this connectivity bridge between Spectrum and another
Name application. Required.
Characters permitted in names
The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Description A description for this integration.
Integration The type of integration. One of the following values is displayed:
Type File Drop, Oracle, SAP RFC, SAP BC-XOM, Event JMS Consumer, Event
JMS Producer, Event Direct Processing, Event ActiveMQ Connection,
Event Oracle AQ Connection, Event File Producer, Event File Consumer,
Event Email Producer, Event Email Consumer, or Event Message
Converter
Service Management Pane
If your Spectrum environment is configured to support distributed services, the Service
Management pane allows you to configure failover of integration services between
SpectrumApplicationServers. These options are also available in the Service Management
pane in System Management.

1060 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Important! Whenever you add a new device, data service, or integration, you
must ensure that the service is activated on all SpectrumApplicationServers on
which it should be available to run and started on at least one. In an
environment with only one SpectrumApplicationServer, these types of
services are automatically activated and started when they are created. For more
information, see "High Availability with Distributed Services" on page 716.

Loftware Spectrum 3.0.1 User Guide 1061


Configuring and Administering

Oracle Integration
Oracle integration extends the functionality of Oracle applications, incorporating
LoftwareSpectrum capabilities so that users can print labels and other Spectrum documents
from Oracle Warehouse Management Solution (WMS), Oracle Mobile Supply Chain, and other
Oracle applications. Print requests initiated by users in Oracle applications can be processed and
printed by Spectrum, and Spectrum reports the status of each request to the originating
application. You can configure as many Oracle integrations as your Spectrum license allows.

1062 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Configure an Oracle User for Spectrum

Before you configure an Oracle integration in Spectrum, you must create the Oracle user
account in Oracle that you plan to use with Spectrum. Spectrum uses the credentials of this
Oracle user account to connect to the Oracle database.
Note: Each Oracle integration in Spectrum must be associated with a different
Oracle user. Only one Oracle user can own the Spectrum client software that is
installed in the Oracle database.
The Oracle user account does not require Oracle database administrator (DBA) privileges. The
following are the minimum permissions required for the Oracle user in Oracle. Replace ORACLE_
USER_FOR_SPECTRUM with the name of the Oracle user.

CREATE ROLE ORACLE_USER_FOR_SPECTRUM_ROLE;


GRANT CREATE VIEW TO ORACLE_USER_FOR_SPECTRUM_ROLE;
GRANT CREATE TABLE TO ORACLE_USER_FOR_SPECTRUM_ROLE;
GRANT CREATE SESSION TO ORACLE_USER_FOR_SPECTRUM_ROLE;
GRANT CREATE SYNONYM TO ORACLE_USER_FOR_SPECTRUM_ROLE;
GRANT CREATE TRIGGER TO ORACLE_USER_FOR_SPECTRUM_ROLE;
GRANT CREATE SEQUENCE TO ORACLE_USER_FOR_SPECTRUM_ROLE;
GRANT CREATE PROCEDURE TO ORACLE_USER_FOR_SPECTRUM_ROLE;
GRANT RESOURCE, ORACLE_USER_FOR_SPECTRUM_ROLE, JAVA_ADMIN,
CONNECT TO ORACLE_USER_FOR_SPECTRUM;

If you are using Oracle Warehouse Management Solution (WMS), the following privileges are
required in addition to the preceding list.
GRANT CREATE ANY PROCEDURE TO ORACLE_USER_FOR_SPECTRUM_ROLE;
GRANT DROP ANY PROCEDURE TO ORACLE_USER_FOR_SPECTRUM_ROLE;

Loftware Spectrum 3.0.1 User Guide 1063


Configuring and Administering

Integrate with Oracle

Oracle integration extends the functionality of Oracle applications, incorporating


LoftwareSpectrum capabilities so that users can print labels from Oracle Warehouse
Management Solution (WMS), Oracle Mobile Supply Chain, and other Oracle applications. You
can configure as many Oracle integrations as your Spectrum license allows.
Before You Begin: You must create the Oracle user account in Oracle that you
plan to use with Spectrum. Spectrum uses the credentials of this Oracle user
account to connect to the Oracle database. For more information, see "Configure
an Oracle User for Spectrum" on page 1063.
Additionally, you must ensure that the Oracle database server can connect to the
SpectrumApplicationServer. Network connectivity to the port that Spectrum
listens on (by default, port 8080) must exist.
To create an Oracle integration that allows print requests from Oracle applications to be
processed by Spectrum, do the following.
1. Click Integration Management.
2. Click File > New > Oracle to create an Oracle integration.

1064 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

3. In the Configuration section, configure the following details about Oracle.


a. For Job Target Folder, select the folder in Spectrum to which status information
about print jobs related to this integration should be directed. Although you can
use the default Job Target folder, it is suggested that you configure a separate job
target folder for each integration.
b. For Default Process, select a process that you have created that should be
applied to the integration or select the Generic Document Process in the root
folder.
c. For Transaction Size, accept the default value unless Technical Support or the
Professional Services Group directs you to change it.
d. For Connect Using, select the type of connection and enter the Oracle database
with which Spectrum should be integrated. Required Spectrum components will
be installed in this Oracle database.
e. For Oracle Host, enter the IP address or host name of the Oracle database
server.
f. For Oracle Port, enter the Oracle SQLNet Listener port number for the Oracle
database server. The default SQLNet Listener port is 1521.
g. For Oracle User and Password, enter Oracle credentials.
h. For Wait for Job Complete, either leave the check box cleared to maximize
performance, or select the check box to require that the next job is not sent until
the current job is complete.
i. For Integrate with Oracle WMS, select the check box if you want to install and
configure components required to support Oracle Warehouse Management
System.
j. For Logging Level, select the degree of detail about print requests to include in
trace files.
k. For Run As, select the Spectrum user account under which print requests from
Oracle applications should be run. This user account must have at least the
Integration role or equivalent permissions.
4. In the Properties pane, enter a name by which the integration will be identified in
Spectrum and a description of its purpose.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.

Loftware Spectrum 3.0.1 User Guide 1065


Configuring and Administering

5. Click File > Save or click the Save button in the toolbar.
a. In the left pane of the Save Integration dialog box, select the folder in which to
save the integration. You can double-click a folder to display subfolders.
b. Click OK to save the integration. Creation information is displayed in the
Properties pane.
6. Click Start Integration.
Note: The first time that an Oracle integration is started, a table, packages,
and Java required by Spectrum are installed in the Oracle database. If the
integration is deleted, they are removed.
7. To verify that the integration has started, view the Status in the Properties pane.
Important! Whenever you add a new device, data service, or integration,
you must ensure that the service is activated on all
SpectrumApplicationServers on which it should be available to run and
started on at least one. In an environment with only one
SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see
"High Availability with Distributed Services" on page 716.

1066 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Loftware on the Oracle MSCA & Warehouse Management System

This section is intended to provide a basic Oracle MSCA and WMS setup necessary to ensure
Loftwares ability to print a label. It is not intended to be a complete install guide or to cover all
variables and options. This covers two Oracle E-Business Suite products: Mobile Supply Chain
Applications (MSCA), which is the telnet/mobile (scanner) device session also known as Oracle
Mobile Apps, and the Oracle Warehouse Management System (WMS). It is important that you
find out what version you are running, as there are some changes in the functionality and
architecture between WMS release versions 11.5.8 and 11.5.9 in forms (desktop) and telnet
(mobile). These screens/functions are noted as needed by version.
This section also covers the asynchronous method of label printing where Oracle drops an XML
file into a directory, and Loftware picks up the XML file, processes it and creates a new
synchronous printing method where Oracle calls the SQL API and writes the XML directly to
the Loftware. This should help you troubleshoot most Oracle setup and configuration issues.
MSCA and WMS Pre-requisites - Please be sure you have the following:
l Oracle Inventory/WMS experience
l System Administrator, Warehouse Manager and Whse Mgmt under Apps user profile

responsibilities, and username must be associated to an employee name in their Oracle


username profile to allow user to perform receiving transactions.
l The MWA server must be installed and configured as well as the Apps INV footprint.

Please have your instance URL for forms and telnet URL or IP address/port number for
your telnet/mobile session available (For example:
http://loftwms.loftwareinc.com:8000, telnet32 172.16.0.45 10200).
If you have access problems with either, see the troubleshooting section at the end of this
section, as some configuration of permissions may be required. PL/SQL experience and access
may be needed to troubleshoot some situations as necessary.
Point of Clarification: The MSCA (Mobile Apps) product does not have separate
setups. It uses the WMS profiles, that is for Label Print Mode, and if
Asynchronous, Label Output Director. Therefore, when you query for profile
options, you query WMS%.
The MSCA product does not include the Compliance Labeling Rules Engine or
LPNs. These are WMS ONLY. At time of printing, MSCA has 9 label types, WMS
has 3 additional LPN type labels for 12 base labels, and the Compliance Labeling
Rules Engine allows you to create variations of those base labels based on variables
you specify (for example: a different shipping label for different ship to addresses).
Please refer to Metalink Oracle Warehouse Management Product Documentation
for more information on MSCA & WMS including user and implementation guides.
Refer to Metalink Oracle Warehouse Management System White Papers for more
information on rules and label customization. The Telnet session is also included
in the WMS product and still requires setup and configuration; see Metalink
document MWA Server and Dispatcher Configuration Quick Start Reference.

Loftware Spectrum 3.0.1 User Guide 1067


Configuring and Administering

Setup for MSCA or WMS

1. Open your browser, and enter your Oracle instance URL


Example: http://loftwms.loftwareinc.com:8000
2. Log on to Apps Logon Links>E-Business Home Page (loftwms/loftware)
n Responsibility= System Administrator
n Navigation path= Profile>System
3. Click System and in the find system profile values enter WMS% in the Profiles box.
Click Find.
n Profile: WMS: Label Print Mode = Synchronous for Oracle Integration or SQL
API method
Note: If this is the first time you have accessed the Oracle Applications,
you may have ActiveX errors or jinitiator may need to be installed; see
troubleshooting section for more information.

Figure A.10: Setup for WMS


4. After selecting the correct mode for your instance, save your work and exit form.
Note: If Asynchronous, then output directory must be specified.
5. Profile: WMS: Label output directory = (for example: /dbfiles/applcsf/outbound)

1068 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Whatever the path specified is, as in the example shown above /dbfiles/applcsf/outbound,
this directory MUST have write permissions by the Oracle Apps. See tech note in the
troubleshooting section to determine if you have proper permissions.
Adding a Printer
1. Apps responsibility= System Administrator
n Install: Printer
n Navigation path= Install>Printer>Register
2. Double click Register.
3. Add <printername>.
Note: Case sensitive, this must match EXACTLY what you set up as your
Device Group Name.
4. Under Type, select printer type label.
5. Add a description of your printer for reference, for example: Bar Code Label Printer1.
See following figure:

Figure A.11: Adding a Printer


6. Save your work; close form.
7. Go to File>Switch responsibility, change to Warehouse Manager.
Setting up Labels
Setting up labels involves the following tasks:
l Defining label formats
l Associating label types to printers
l Associating label types to business flows
l Setting up label format assignment rules (WMS only)
Defining Label Formats

Loftware Spectrum 3.0.1 User Guide 1069


Configuring and Administering

When you define label formats, you are setting up the data fields that you want the system to
include on a particular label. The following figure provides an example of the data that might
appear on a LPN label, which would be created in Loftware Spectrum beforehand. This
"registers" that label in the Oracle WMS system, which needs to match exactly what you saved in
Design. To define this label in the system, you would set up the label fields and License Plate
Number (LPN) as shown in the example.

Figure A.12: LPN Label


Setting up Label Formats
When you set up label formats, you must set up the following:
l Label formats
l Label field variables
l Label to printer assignments
l Label types to business flow assignments

1070 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

How to Set Up Label Formats

Before you can specify label generation points and construct label format rules, you must define
label formats. You define labels in the Define Label Formats window as shown in the following
figure.
1. Navigate to the Define Label Formats window.
Setup>Warehouse Configuration>Printers & Devices>Define Label Formats

Figure A.13: Label Format

Loftware Spectrum 3.0.1 User Guide 1071


Configuring and Administering

Figure A.14: Define Label Formats Window

Note: Name(s) for labels, fields and variables should be the exact same name that
is stored in Loftware Spectrum.
2. In the Label Type field, use the list of values to select the label type for which you want
to define label formats, for example: LPN.
3. Enter a name for the label in the Label Formats region, Name field.
4. Enter an optional description to describe this label format in the Description field.
5. Enter a date on which this label format can no longer be used in the Disable Date field.
This is optional.
6. Select the Default Label check box to identify that this label type is used as the default
label type if the system cannot find a rule that determines the label format (WMS only).
7. Save your work; click the Label Fields button to open the Define Label Field Variable
window.
How to Define Label Field Variables
These instructions assume that you have already defined a label format and you clicked the Label
Fields button to open the Define Label Field Variables window.

1072 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Figure A.15: Defining variables for Label Fields


Note: Only one label format may be specified as the default label.
1. Select the data element that represents the field using the list of values on the label in the
Label Fields section, under the Field Name column.
The label type determines the list of values in this field that you have selected, for
example, License Plate Number, in the Define Label Formats window.
2. Enter a unique text string in the Field Variable Name field that is used as a variable to
represent the data field on the label format.
3. Enter an optional description for the field variable name in the Description field.
4. Repeat steps 1 through 3 to enter additional label fields.
5. Save your work when you are finished.
Note: An indication at bottom left corner of form should be made whether x
record(s) saved or no changes to save.
Associating Label Types to Printers
1. Navigate to Assign Printers to Documents in the desktop under Warehouse Manager
responsibility.Navigation Path = Setup>Warehouse Configuration>Printers &
Devices>Assign Printers to Documents
2. Double click Assign Printers to Documents.
3. Expand the tree for documents.

Loftware Spectrum 3.0.1 User Guide 1073


Configuring and Administering

4. If documents are not displayed, right click documents and add label type.
5. Double click a label type, for example: LPN.
6. Select printer name, level and value from list of values as shown in the figure below.
7. Scroll to right and check box for enable and default for desired value.
8. Save your work and close the form.

Figure A.16: Assign Printers to Documents


Associating Label Types to Business Flows
After you set up label formats and assign them to printers, you must associate them to the
specific warehouse business flow in which you want to use them. This association enables the
label type to be printed automatically (triggered) as part of that business flow. The following
table provides a list of the various business flows and the types of labels that you can associate
to each flow. The horizontal header row of the table lists the various label types available. The
far left vertical column lists the warehouse-related standard business flow. Yes indicates that
the system can generate the label type for that business flow; No indicates that the system
does not generate that label type for the business flow.
LPN LPN Shipping
Mat. Serial LPN Loc. Shipping
Contents Sum Content
Receipt Yes Yes Yes Yes Yes No No No
Inspection Yes Yes Yes Yes Yes No No No

1074 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

LPN LPN Shipping


Mat. Serial LPN Loc. Shipping
Contents Sum Content
Delivery Yes Yes Yes Yes Yes No No No
Put away Yes No Yes Yes Yes No No No
drop
LPN Yes No Yes Yes Yes No No No
Correction
Cross Dock Yes Yes Yes Yes Yes No Yes Yes
Replenishmt. Yes No Yes Yes Yes No No No
Drop
Cycle Count Yes No Yes Yes Yes No No No
Physical Yes No Yes Yes Yes No No No
Count
Material Yes No Yes Yes Yes Yes No No
Status
Update
Cost Group Yes No Yes Yes Yes No No No
Update
Lot Split/ Yes Yes Yes Yes No No No No
Merge
Misc. Alias Yes No Yes Yes Yes No No No
Rect.
Inter-org Yes No Yes Yes Yes No No No
Transfer
Sub- Yes No Yes Yes Yes No No No
inventory
Transfer
LPN No No Yes No No No No No
Generation
Serial # No Yes No No No No No No
Generation
Pick Load Yes No Yes Yes Yes No Yes Yes
Pick Drop Yes No Yes Yes Yes No Yes Yes
Pack/ Yes No Yes Yes Yes No No No
Unpack/
Update LPN

Loftware Spectrum 3.0.1 User Guide 1075


Configuring and Administering

LPN LPN Shipping


Mat. Serial LPN Loc. Shipping
Contents Sum Content
Ship Yes Yes Yes Yes Yes No Yes Yes
Confirm
Carton- Yes No Yes Yes Yes No Yes Yes
ization
at pick
release
How to Associate Label Types to Business Flows
Before you can associate label types to business flows, you must have already defined the
appropriate label format that is compatible with the business flow. For a list of compatible label
formats for business flows, see the Assign Label Types to Business Flows window.
Note: This window is also used to associate label types to business flows.
1. Navigate to the Assign Label Types to Business Flows window.
Setup>Warehouse Configuration>Printers & Devices>Assign Label Types to Business
Flows

Figure A.17: Assign Label Types to Business Flows Window

1076 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

1. Expand the Business Flows icon to display a list of business flows in the left panel of the
window.
2. Select the LPN Generation business flow to associate a label type.
3. Use the list of values in the Label Type field to select the LPN label type to associate it
to the business flow.
Note: The list of values displays only those label types valid for the
business flow.
4. Select the level at which you want to control printing for this label type in the Level
field. Valid values are Site, Application, Responsibility, and User.
5. Select the value for the level that you selected in step 5 in the Value field.
The Value field is disabled if you selected Site as the level in step 5. If you selected
Application, the list of values displays valid applications. If you selected User, the list of
values displays valid users. If you selected Responsibility, the list of values displays valid
responsibilities.
The Enabled check box is automatically selected to indicate that this label type can be
used for generating the label associated with the business flow. Clearing this check box
disables this association, and the label type is not generated for the business flow.
6. Enter any comments about the association that you just created in the Comments field.
7. Save your work; close the form.
Setting Up Label Format Assignment Rules
Note: This applies only to the WMS Compliance Labeling Rules Engine. The rules
engine uses restrictions that are user defined to print variations of the base
registered labels. This piece has been included for reference so that you have a
basic understanding of the Label Rules Engine.
After you define label formats and associate them with the appropriate business flows, you can
define label format assignment rules. Label format assignment rules associate a particular label to
a business object, based on the parameters and restrictions that you specify. For example,
assume that you have defined a LPN label for small hazardous items.
The following figure provides an example of a rule that you might create to generate a LPN
Content label. Recall that Label Format Assignment rules have return values. When WMS
executes this rule, it returns the value LPN_HAZ (if all of the rules restrictions are met) which
represents the label format for the LPN Content label.

Loftware Spectrum 3.0.1 User Guide 1077


Configuring and Administering

Figure A.18: Label Format Assignment Rule


How to Define Label Format Rules
After you associate label types to business flows, you can create label format assignment rules.
You use the WMS Rules window to create these rules. For more information about label format
assignment rules, see Label Format Assignment Rules.

Note: Before you set up label format rules, you should manually plan and design
your rule.
1. Navigate to the WMS Rules window.

WMS Rules Window


2. Select Label Format in the Type field.
3. Enter a name for the label format assignment rule in the Name field.
Note that the Sort Criteria and Consistency tabs are disabled for this type of rule.
4. Enter a description for the label format assignment rule in the Description field.
5. Select the label format that you want the system to generate whenever the rule is
executed using the list of values in the Return Value field.
6. Enter a sequence number for the first restriction on the Restrictions tab, in the Seq field.
7. Use the list of values to select the first business object for the rule in the Object field.

1078 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

8. Enter the value associated with the business object in the Parameter field.
9. Select the operator that represents the rule conditions in the Operator field.
10. Use the list of the values to select the appropriate business object in the second Object
field.
11. Use the list of values or enter the parameter value associated with the second business
object in the second Parameter field.
12. Repeat steps 6 through 9 to add more restrictions to your rule.
13. Enter a weight that specifies the rules execution priority in relation to other label rule
execution priorities in the Weight field located at the bottom of the window. Higher
weighted rules are executed first.
14. Select the Enabled check box if you want to enable the rule.
Note: The User Defined check boxes - User Defined, Enable, and
Common to All Orgs are explained following the instructions on the rule
definition.
15. Clear the Common to All Orgs check box (if selected). Rules should not be selected
across organizations because task types, resources, and departments are all organization
specific.
16. Select the options for the restriction if more than one restriction is specified. This
determines how the restrictions should be considered during execution of the rules.
17. Save your work.
Note: When you enable a rule, the system compiles the rule and checks for
possible syntax errors. If you are having problems and cannot get anything
to work or work consistently, one of the first things to do as a preventative
measure is to Generate All Rules. Responsibility =Warehouse Manager
NAVIGATION = Other>Requests>Requests>Run>Single Request
Query Gen% Select Generate All Rules. Also, if you change any rules, or
enable/disable rules or strategies, you MUST bounce the Telnet server
(MWA) and log out/log back in on the Telnet session/device before
proceeding or your transactions are likely to fail to produce any labels.

Loftware Spectrum 3.0.1 User Guide 1079


Configuring and Administering

Figure A.19: Generating Rules


Transactions to Trigger a Label
Now that the setups are completed, perform a transaction to verify that a label prints.
1. Press Start > Run
2. Start your telnet session (for example: telnet 172.16.0.45 10200) and login.
3. Select default device>login.
4. Select Warehousing>Inventory>Receipts>Misc. Receipts.
5. Select ORG > W1 (if necessary).
6. Hold down the Ctrl key, press L to display a list of values (LOV).
7. Select any valid account; generate an LPN by holding down Ctrl key and pressing G.
8. Print the label you set up to label printer specified; note your LPN number for the next
step.
9. Press the F2 key to return to the menu and log off.
Verify printing using Oracle
After logging into the Apps in your browser, navigate to the Inquiry: View Label Requests
window. Navigation Path= Inquiry>View Label Requests

1080 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Figure A.20: Label Requests History


Note that you can also view the actual .XML tag in the Label Content window for each label
request. By scrolling to the right, you can view LPN number, user, time of request, etc. You can
also choose a new printer and reprint the job should the printer run out of media or the labels
get damaged.

Loftware Spectrum 3.0.1 User Guide 1081


Configuring and Administering

User Interface: Oracle Integration

The following section and panes are available when you configure an Oracle integration.
Configuration
The following options are available in the Configuration section when you configure an
Oracle integration.
Option Description Notes
Job Target The folder in Spectrum to which status information about Required
Folder print jobs related to this integration should be directed. For
more information, see " Configure a Job Target Folder" on
page 1045.
Default A process to be applied to the integration. Although this Required
Process field is required, you can select the Generic Document
Process in the root folder if you have not configured a
custom process that should be applied.
Transaction Transaction size is used during job management for Required
Size packaging print job details into print jobs. Use the default
value unless Loftware Technical Support or Loftware
Professional Services Group directs you to change it.
Connect The type of connection to use and the Oracle system with Required.
Using which Spectrum is integrated. Required Spectrum Types of
components will be installed in this Oracle system. identifier
include the
following:
SID
ServiceName
Oracle IP address or host name of the Oracle database server. Required
Host
Oracle Port The Oracle SQLNet Listener port number for the Oracle Required. The
database server. default
SQLNet
Listener port
is 1521.
Oracle An Oracle user name. Spectrum does not require that this Required
User account have database administrator (DBA) privileges in
Oracle. For more information, see "Configure an Oracle
User for Spectrum" on page 1063.
Password The password for the user name provided in the Oracle Required
User field.

1082 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Option Description Notes


Wait for Whether to wait for the job to finish. Clearing this check By default,
Job box may provide faster performance. If selected, the next this option
Complete job is not sent until the current job is complete. cleared.
Integrate Whether to install and configure components required to By default,
with Oracle support Oracle Warehouse Management System . this option
WMS cleared.
Logging The degree of detail about print requests to include in trace Required. The
Level files (*.trc). More detailed logging may be helpful for default level is
troubleshooting. Less detailed logging improves WARNING.
performance and reduces disk space consumption. Levels include
the following:
SEVERE
WARNING
INFO
CONFIG
FINE
FINER
FINEST
Run As A Spectrum user account under which requests received Required.
from outside of Spectrum are run. This account must have
at least the Integration role or equivalent permissions and is
typically not an interactive user. For more information, see
" Configuring a Run As User for Integrations" on page
1043.
Properties Pane
The following properties can be configured or viewed in the Properties pane when you view
any type of integration with LoftwareSpectrum.
Option Description
Integration A unique name for this connectivity bridge between Spectrum and another
Name application. Required.
Characters permitted in names
The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum
interprets a name.

Loftware Spectrum 3.0.1 User Guide 1083


Configuring and Administering

Option Description
Description A description for this integration.
Integration The type of integration. One of the following values is displayed:
Type File Drop, Oracle, SAP RFC, SAP BC-XOM, Event JMS Consumer, Event
JMS Producer, Event Direct Processing, Event ActiveMQ Connection,
Event Oracle AQ Connection, Event File Producer, Event File Consumer,
Event Email Producer, Event Email Consumer, or Event Message
Converter
Service Management Pane
If your Spectrum environment is configured to support distributed services, the Service
Management pane allows you to configure failover of integration services between
SpectrumApplicationServers. These options are also available in the Service Management
pane in System Management.

Important! Whenever you add a new device, data service, or integration, you
must ensure that the service is activated on all SpectrumApplicationServers on
which it should be available to run and started on at least one. In an
environment with only one SpectrumApplicationServer, these types of
services are automatically activated and started when they are created. For more
information, see "High Availability with Distributed Services" on page 716.

1084 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Integration for Use with SAP Applications


LoftwareSpectrum Integration for use with SAP Applications extends the functionality of
SAP applications, incorporating LoftwareSpectrum capabilities so that users can print labels
from SAP applications. Print requests initiated by users in SAP applications are processed and
printed by Spectrum, and Spectrum reports the status of each request to the originating
application. You can configure as many integrations as your Spectrum license allows.
Spectrum supports label and document printing from SAP applications by using the Remote
Function Call (RFC) listening or Extended Output Management interface (BC-XOM).
Remote Function Call (RFC) listening
This technology allows SAP application programmers to use the Advanced Business Application
Programming (ABAP) language to program or script calls to Spectrum.
Extended Output Management interface (BC-XOM)
This technology allows an SAP Application Server to spool the following types of files to
Spectrum:
l Raw Data Interface (RDI) files
l XMLfor Smart Forms (XSF) files
l XML for SAP Interactive Forms by Adobe (XFP) files
l XML files

Loftware Spectrum 3.0.1 User Guide 1085


Configuring and Administering

Preparing for Integration for Use with SAP Applications

If you want to integrate Loftware Spectrum with SAP ERP, you must perform the tasks
described in this section to prepare for integration.
The user performing the preparation for Integration for use with SAP Applications must have
working knowledge of Spectrum components and of SAP ERP. Some steps involve
configuration within SAP ERP by a SAP Basis Administrator on the SAP Application Server and
are included for information purposes only.
To prepare for Integration for use with SAP Applications, perform the following tasks:
l "Configure the SAP JCo JDK " on page 1086 - Required for all types of Integration for
use with SAP Applications.
l "Install the Command Line Interpreter (CLI)" on page 1088 - For SAP BC-XOM
integrations only.
l "Configure an SAP User for Spectrum" on page 1091 - Required for all types of
Integration for use with SAP Applications.
Configure the SAP JCo JDK

LoftwareSpectrum Integration for use with SAP Applications requires the SAP Java
Connector (JCo) JDK, which includes a JAR package, and other files to be located on the
SpectrumApplicationServer for a non-embedded database deployment. Spectrum uses the JAR
package to receive work and to send back status information from SAP ERP.
Note: These steps are required if you intend to support SAP BC-XOM
integrations or SAP RFC integrations.

Before You Begin: Download the SAP JCo 3.0.16 or later JDK version which can
be obtained from SAP Marketplace. Be sure to download the 64-bit SAP JCo JDK.
The SAP Marketplace requires an authorized login.
Configure the SAP JCo JDK on Windows Server
To configure the SAP JCo JDK, perform the following steps:
1. Stop the Loftware Spectrum service.
2. Add the path of the folder containing the SAP JCo JDK to your System Path
environment variable.
Example

If you downloaded the SAP JCo to C:\sapjco3, adding to the System Path
would look like this:
%JAVA_HOME%\jre\bin;C:\sapjco3

1086 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

3. Copy the sapjco3.jar package of the folder containing the SAP JCo JDK to the following
folder:
Example
C:\Loftware\Spectrum\Spectrum\product\endorsed
4. Restart the Loftware Spectrum service.
Configure the SAP JCo JDK on Linux
To configure the SAP JCo JDK, perform the following steps:
Note: Environment variables must be set system-wide to allow the Loftware
Spectrum service to find the SAP JCo JDK during startup. Contact your Linux
Administrator for assistance as needed.
1. Stop the Loftware Spectrum service.
2. Add the path of the folder containing the SAP JCo JDK to your system-wide PATH
environment variable:
Example
If the SAP JCo JDK is located in /opt/loftware/sapjco, adding to the
$PATH would look like the following example:
export PATH=$PATH:/opt/loftware/sapjco
3. Navigate to your$SPECTRUM_HOME location and create a new folder, named lib_so.
4. Add the $SPECTRUM_HOME/lib_so path to your system-wide LD_LIBRARY_PATH
environment variable.
Example
export LD_LIBRARY_PATH=$LD_LIBRARY_
PATH:/opt/loftware/spectrum/Spectrum/lib_so
5. Copy the libsapjco3.so file from the downloaded SAP JCo JDK folder to the
$SPECTRUM_HOME/lib_so folder.
6. Copy the sapjco3.jar package from the folder containing the SAP JCo JDK to the
following location:
/opt/loftware/spectrum/Spectrum/product/endorsed
7. Start the Loftware Spectrum service.

Loftware Spectrum 3.0.1 User Guide 1087


Configuring and Administering

After Deployment
If you want to support SAP BC-XOM integrations, continue with "Install the Command Line
Interpreter (CLI)" on page 1088. Otherwise, continue with "Configure an SAP User for
Spectrum" on page 1091.
Install the Command Line Interpreter (CLI)

If you intend to support SAP BC-XOM integrations, then you must install the
LoftwareSpectrum Command Line Interpreter (CLI) on the SAP Application Server to
prepare for LoftwareSpectrum Integration for use with SAP Applications.
The CLI is a utility that is run by the SAP Spooler when a print job is submitted from SAP ERP.
The CLI passes the request to the LoftwareSpectrum Integration for use with SAP
Applications. Spectrum applies the appropriate label template, sends the job to the printer, and
then sends the status back to the SAP Spooler.

Note: These steps are required only if you intend to support SAP BC-XOM
integrations.

Note: It is strongly recommended that each SAP Application Server be configured


with its own CLI and a uniquely named CLI log file.
The following steps should be performed by a SAP Basis Administrator on the SAP Application
Server. The configuration for the Loftware Spectrum CLI requires moving files into a folder that
the SAP Logical Output Management System (LOMS) instance can access.

Before You Begin: The Java JDK version 1.8 must be installed on the SAP
Application Server. Also, you must download the 64-bit SAP Java Connector (JCo)
JDK to the SpectrumApplicationServer and configure the SAP JCo JDK. For
more information, see "Configure the SAP JCo JDK " on page 1086.
Install the Loftware Spectrum Command Line Interpreter
To install the CLI on the SAP Application Server, perform the following steps.
1. Extract the files from the download location on the SpectrumApplicationServer:
http://<spectrum-server>:8080/downloads/sapClient-
package.zip
2. Copy the following files to a new folder on the SAP Application Server.
n jdbc.properties
n log4j.xml_EXAMPLE
n MsgResources.properties
n MsgResources_de_DE.properties
n MsgResources_en_US.properties
n MsgResources_es_MX.properties
n MsgResources_fr_FR.properties
n MsgResources_ja_JP.properties

1088 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

n MsgResources_pt_BR.properties
n MsgResources_zh_CN.properties
n MsgResources_zh_TW.properties
n runcli.cmd_EXAMPLE
n runcli.sh_EXAMPLE
n sapcli.jar

Note: The CLI can be in any location, as long as the Output Management
System (OMS) definition in SAP Spool Administration (SPAD) has the
appropriate path in the OMS Submit Command.
3. You must edit the runcli files with the _EXAMPLE suffix to specify the classpath for
sapcli.
Important: The runcli.sh script must have execute permission set.

Note: The script output must be only the single output line generated by
the sapcli request. This format is dictated by SAP, and additional lines are
not allowed. The following is an example.
2.00 4 1 test Print\ request\ accepted\ by\ Loftware\
Spectrum

For a server running the Windows Server operating system, open the runcli.cmd_
EXAMPLE file in a text editor. Change the -cp value C:\saptest\;C\saptest\ to the
fully-qualified path to the folder where the sapcli tool is installed. Change the path for
Java to reference the fully-qualified path to the instance of Java installed on the SAP
Application Server. Save the file as runcli.cmd.
Example
@echo off
rem If JAVA_HOME is not set to the required version
documented in Loftware Spectrum Technical Requirements,
rem you must use the fully-qualified path to the required
version instead of %JAVA_HOME%.
rem Change "C:\saptest\" to the fully-qualified path to the
folder where the sapcli tool is installed.
"%JAVA_HOME%\bin\java.exe" -cp .;C:\saptest\;C:\saptest\*
com.loftware.sapCliClient.SapCli SUBMIT %*
For a Linux server, open the runcli.sh_EXAMPLE file in a text editor. Change the -cp
value, .:/opt/loftware:/opt/loftware/*, to the fully-qualified path to the folder where
the sapcli tool is installed. Change the path for Java to reference the fully-qualified path
to the instance of Java installed on the SAP Application Server. Save the file as runcli.sh.
Linux Example
#!/bin/bash

Loftware Spectrum 3.0.1 User Guide 1089


Configuring and Administering

# If JAVA_HOME is not set to the required version documented


in Loftware Spectrum Technical Requirements,
# you must use the fully-qualified path to the required
version instead of $JAVA_HOME.
# Change /opt/loftware to the fully-qualified path to the
folder where the sapcli tool is installed.
$JAVA_HOME/bin/java -cp .:/opt/loftware:/opt/loftware/*
com.loftware.sapCliClient.SapCli SUBMIT $@

Non-Linux UNIX example


# If JAVA_HOME is not set to the required version documented
in Loftware Spectrum Technical Requirements,
# you must use the fully-qualified path to the required
version instead of $JAVA_HOME.
# Change /opt/loftware to the fully-qualified path to the
folder where the sapcli tool is installed.
$JAVA_HOME/bin/java -cp .:/opt/loftware:/opt/loftware/*
com.loftware.sapCliClient.SapCli SUBMIT $@
4. Open the log4j.xml_EXAMPLE file in a text editor. Change the appender file value
C:/saptest/sapcli.log to the folder where the sapcli tool is installed. Save the file as
log4j.xml.
Example
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration
xmlns:log4j="http://jakarta.apache.org/log4j/">

<!-- Change the appender file value "C:/saptest/sapcli.log" to be the explicit


folder where the sapcli tool is installed. -->
<appender name="FILE"
class="org.apache.log4j.RollingFileAppender">
<param name="file" value="C:/saptest/sapcli.log" />
<param name="MaxFileSize" value="10000KB" />
<param name="MaxBackupIndex" value="5" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%n%p %d{dd-MMM-yyyy HH:mm:ss,SSS} - %C.%M
(%L) Thread: %t%n%m%n" />
</layout>
</appender>

<logger name="com.loftware.sapCliClient">

1090 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

<level value="INFO" />


</logger>

<root>
<level value="ERROR" />
<appender-ref ref="FILE" />
</root>
5. The CLI can be in any location, as long as the Output Management System (OMS)
definition in SAP Spool Administration (SPAD) has the appropriate path in the OMS
Submit Command. OMS commands should include the required quotation marks, as
shown in the following example. For the last parameter, enter RDI, XSF, or XML as
appropriate.
Example (Windows Server)
Path: C:\saptest\
Submit:
runcli.cmd http://172.16.10.19:8080/spectrum-
server/blazeDS/amf "n=BCXOM-1" "&EI" "&EG" "&P" "&F" "&ES"
RDI
Continue with "Configure an SAP User for Spectrum" on page 1091.
Configure an SAP User for Spectrum

Before you configure LoftwareSpectrum Integration for use with SAP Applications, you
must create the SAP user account in SAP ERP that you plan to use with Spectrum. Spectrum
uses the credentials of this SAP user account to connect to the SAP database.
The SAP user must have authorization in SAP ERP for some function modules, function
groups, and data dictionary objects. Obtaining developer access assigned by SAP is required for
developing RFC modules in SAP ERP, and it provides the rest of the authorizations required to
develop and modify an Integration for use with SAP Applications. The SAP user can be a
background user (Communication User), although during development and testing it is
recommended that you provide this SAP user account with dialog access for the purpose of
debugging.
Before You Begin: Before you configure integrations, you must download the 64-
bit SAP Java Connector (JCo) JDK to the SpectrumApplicationServer and
configure the SAP JCo JDK. For more information, see "Configure the SAP JCo
JDK " on page 1086. Also, if you want to support SAP BC-XOM integrations, you
must install the Loftware Spectrum Command Line Interpreter. For more
information, see "Install the Command Line Interpreter (CLI)" on page 1088.

Loftware Spectrum 3.0.1 User Guide 1091


Configuring and Administering

Configure SAP ERP for BC-XOM Communication

If you intend to support SAP BC-XOM integrations, then you must configure SAP ERP to
permit integration of the full BC-XOM interface with LoftwareSpectrum. More than one
integration may point to the same SAP Application Server, but each SAP BC-XOM integration
must be configured to refer to a different Output Management System (OMS).
Note: These steps are required only if you intend to support SAP BC-XOM
integrations.
These procedures should be performed within the SAP Application Server by a system
administrator. You must use an SAP user account with administrative access to the SAP Spool
Administration (SPAD) and related transactions.
Before You Begin: You must create the SAP user account in SAP ERP that you
plan to use with Spectrum. For more information, see "Configure an SAP User for
Spectrum" on page 1091.
The following procedures begin from the SPAD transaction with either Extended or Full
Administration Mode enabled at the transaction.
Configure the Real Output Management System (ROMS)

You must configure the Real Output Management System (ROMS) so that SAP ERP can
initialize the OMS component of Loftware Spectrum.
1. On the Spool Administration: Initial Screen, click the Output management
systems tab, and then next to Real Output Management Systems click Display. The
list of ROMS is displayed.
2. Click to edit the list of ROMS.
3. Click to create a new ROMS.
4. In the OMS Description section, enter a name and a description.

1092 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

5. In the OMS Attributes section:


a. In the Tasking subsection, select Command line.
b. In the Job Status subsection, select Callback.

6. Save the ROMS.


Configure the Logical Output Management System (LOMS)

You must configure the Logical Output Management System (LOMS). This is what SAP ERP
uses to submit jobs to LoftwareSpectrum.
1. From the main SPAD screen, click the Output management systems tab, and next to
LOMS click Display. The list of LOMS is displayed.
2. Click to edit the list of LOMS.
3. Click to create a new LOMS.
4. Assign a Name and Description for the LOMS.

Loftware Spectrum 3.0.1 User Guide 1093


Configuring and Administering

5. On the SAP configuration tab:


a. Select the ROMS that your created in the previous section.
b. Select the same instance from the previous section as the Target for callback.

Figure A.21: SAP Spool Administration LOMS Screen


6. Save the LOMS.
Configure LOMS Commands
You must specify the command to be issued when the LOMS is invoked.
1. From the LOMS display screen, enter the Commands screen by clicking the cascading
paper icon.

1094 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

2. Select the Operating System under which SAP ERP is running.

Figure A.22: SAP Spool Administration Operating System Commands Screen


3. In the Command path section, set the working directory where the Loftware Spectrum
Command Line Interpreter is installed on the SAP Application Server.
Note: This path was determined by the administrator who installed it. For
more information about the Command Line Interpreter, see the
LoftwareSpectrum Installation and Configuration Guide.
4. In the OMS commands section, for the Submit command enter the command to run
the Command Line Interpreter. The syntax for the command is as follows. For the last
parameter, enter RDI, XSF, or XML as appropriate (XFP uses the XML file type in the
command).
runcli.cmd http://<SpectrumServerIPAddress>:8080/spectrum-
server/blazeDS/amf
"n=<IntegrationName>" "&EI" "&EG" "&P" "&F" "&ES" <FileType>
Parameter Description
SpectrumServerIPAddress The IP address of the SpectrumApplicationServer. Due
to the character limit for commands, it is recommended
that you use a numeric IP address rather than a name.

Loftware Spectrum 3.0.1 User Guide 1095


Configuring and Administering

Parameter Description
IntegrationName The name that you will give to an SAP BC-XOM
integration in Spectrum.
Important! When you create the
integration in Spectrum, you must use the
same integration name that you used in the
Submit command.
FileType The type of file RDI, XSF, or XML (XFP uses the
XML file type).
Important! The length of the Submit command is restricted by the 132
character limit on the length of commands. You must ensure that the
integration name is short enough to avoid exceeding the limit. To minimize
the length of the command, you can use the numeric IP address for the
SpectrumApplicationServer.

Note: Avoid using spaces within the path if possible.


Example
runcli.cmd http://172.16.0.0:8080/spectrum-
server/blazeDS/amf
"n=INTEGRATION1" "&EI" "&EG" "&P" "&F" "&ES" RDI
5. Save the command and return to the SPAD screen.
Configure an Output Device

To finish connecting SAP ERP to the LoftwareSpectrum Command Line Interpreter, you
must configure an SAP Output Device and associate it with the LOMS.
1. Click the Devices / servers tab, and next to Output Devices click Display. The list of
Output Devices is displayed.
2. Click to edit the list of Output Devices.
3. Click to create a new Output Device.
4. On the DeviceAttributes tab, for the Device Type select the appropriate device type:
n RDI: UTF-8 PLAIN
n XSF: SAP Smart Forms
n XFP: XFP

If you do not have an appropriate device type in your SAP ERP environment, contact
your SAP Basis Administrator to request that an appropriate device type be created for
use with Spectrum.

1096 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

5. On the Access Method tab:


a. Set the Host Spool Access Method to E: External output management
system.
b. Set the Host printer name.
c. Set the Logical OMS to the one that you created.
d. Save the Output Device.
Important! For each SAP Output Device to be used with Loftware Spectrum, you
must configure a corresponding device in Spectrum.
To configure an SAP BC-XOM integration, see "Integrate with SAP BC-XOM" on page 1098.

Loftware Spectrum 3.0.1 User Guide 1097


Configuring and Administering

Integrate with SAP BC-XOM

LoftwareSpectrum Integration for use with SAP Applications allows Spectrum to register
with an SAP Application Server as a virtual device to which SAP Advanced Business
Application Programming (ABAP) applications and forms can print.
You can configure as many SAP BC-XOM integrations as your Spectrum license allows. More
than one integration may point to the same SAP Application Server, but each must be
configured to refer to a different Output Management System (OMS) with the SAP Spool
Administration (SPAD) transaction of SAP ERP. A single SAP BC-XOM integration can accept
RDI, XSF, XFP, and XML data, but an OMS has a single output device that can only send one
data type. That data type can change on the SAP Application Server without any changes to the
Spectrum integration.
Before You Begin: Before you create each SAP BC-XOM integration, you must
configure SAP ERP to permit integration of the full BC-XOM interface with
Spectrum. The name that you intend to use for the integration must be
incorporated into the Submit command in the Logical Output Management
System (LOMS) on the SAP Application Server. The length of this name must be
12 characters or fewer. For more information, see "Configure SAP ERP for BC-
XOM Communication" on page 1092.
To create an SAP BC-XOM integration that allows print requests from an SAP Application
Server to be processed by Spectrum, do the following.
1. Click Integration Management.
2. Click File > New > SAP BC-XOM to create an SAP BC-XOM integration.
3. In the Configuration section, configure the following details about SAP.
a. For Job Target Folder, select the folder in Spectrum to which status information
about print jobs related to this integration should be directed. Although you can
use the default Job Target folder, it is suggested that you configure a separate job
target folder for each integration.
b. For Default Process, select either a process that you have created that should be
applied to the integration, or else select the Generic Document Process in the
root folder.
c. For Transaction Size, accept the default value unless Technical Support or the
Professional Services Group directs you to change it.
d. For SAP System Name, enter the name of the SAP Application Server, typically
8 characters in length.
e. For SAP Client, enter the three-digit identification number from SAP Transaction
SCC4. This is the client ID with which the SAP user specified by the SAP
Username is authorized to log on.
f. For SAP Username and SAP Password, enter SAP credentials for the
integration to use when connecting.

1098 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

g. If data is needed for certification or other purposes, select Parse RDI or


XSFAudit Data to have Spectrum process audit data.
h. To include form, field, and symbol names in the field names generated from data,
select Use Extended Field Names to Refer to RDI or XSF Data. Otherwise,
only the symbol name is used.
i. For XSF or XFP data, if you selected Use Extended Field Names to Refer to
RDI or XSF Data, you can select Use Legacy Extended Field Separator for
XSF Data to use an underscore (_) as the field separator for extended field names.
Otherwise, the forward slash (/) separator is used.
j. To generate a new label if a duplicate data field name is encountered in RDIdata,
select New Label on Repeat RDI Data Record Field Names.
k. To send the job status to SAP, select Send Job Status to SAP.
l. For OMS, enter the name of the Output Management System to configure to
print to Spectrum.
4. For XSF or XMLStylesheet, you can specify a stylesheet to use for converting XSF,
XFP, or XML data to XML (LPS). Enter the UNCpath to a shared folder or a path to a
local folder on the SpectrumApplicationServer where the stylesheet is stored. The
specified stylesheet must transform XSF,XFP, or XMLfiles to XML (LPS).
Important: Review the following information for your data type.
n XSF: If a stylesheet is not specified and the incoming request is
XSF, the Spectrum built-in stylesheet is used. If you are creating a
custom stylesheet, it is recommended that you use the Spectrum
XSF stylesheet template as a starting point. To view the XSF
stylesheet template, enter the following in the address field of your
browser, where spectrum-server is the name of the server hosting
Spectrum for your organization:
http://spectrum-server:8080/downloads/sap-
smartforms.xsl.template
n XML: If a stylesheet is not specified and the incoming request is
XML, the data must be in XML (LPS) format.
n XFP: If the incoming request is XFP, a stylesheet must be
specified. It is recommended that you use the Spectrum XFP
stylesheet template as a starting point. To view the XFP stylesheet
template, open the sap-xfp.xsl file included in the release package
containing these instructions.
5. To support SAP Load Balancing connection mode to permit multiplexing of
communication with all SAP Systems in your SAP environment, select Load Balance
Connection. Otherwise, clear the check box to use SAP Single Server connection mode
instead.

Loftware Spectrum 3.0.1 User Guide 1099


Configuring and Administering

6. If you selected Load Balance Connection, configure the following options.


a. For SAP Message Server (MSHOST), enter the name or IP address of the
message server that performs load balancing of communication between
application servers in an SAP System. This name must be the same on all
application servers belonging to the same SAP System.
b. For SAP Group, enter the name of the SAP logon group.
c. For SAP System ID (R3NAME), enter the name or IP address of the SAP R/3
System.
d. For SAP Message Server Port (MSSERV), enter the name of the load balancing
service used for SAP.
7. If you cleared Load Balance Connection, configure the following options.
a. For SAP IP Address, enter the IPv4 address of the SAP Application Server.
b. For SAP System Number, enter the two-digit identification number for the SAP
instance to which to connect.
8. For Run As, select the Spectrum user account under which print requests from SAP
applications should be run. This user account must have at least the Integration role or
equivalent permissions.
9. In the Properties pane, enter a name by which the integration will be identified in
Spectrum and a description of its purpose.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Important! For SAP BC-XOM integrations, the Integration Name must
match the name included in the Submit command in the Logical Output
Management System (LOMS) on the SAP Application Server. For more
information, see "Configure SAP ERP for BC-XOM Communication" on
page 1092.

10. Click File > Save or click the Save button in the toolbar.
a. In the left pane of the Save Integration dialog box, select the folder in which to
save the integration. You can double-click a folder to display subfolders.
b. Click OK to save the integration. Creation information is displayed in the
Properties pane.
11. Click Start Integration.
12. To verify that the integration has started, view the Status in the Properties pane.

1100 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

After the integration is started, it becomes available as a virtual device to which SAP ABAP
applications and forms can print until the integration is stopped. If the integration is stopped or
cannot be accessed due to network issues, print requests remain pending.
Tip: To ensure that SAP BC-XOM integrations and SAP RFC integrations can
function successfully, use only uppercase text in the Data Ref fields in label
templates in Design. By default, Data Ref fields are case sensitive.

Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Loftware Spectrum 3.0.1 User Guide 1101


Configuring and Administering

RDI Format Reference for SAP BC-XOM Integrations

From the perspective of SAP ERP, Spectrum acts as an Output Management System (OMS).
SAP ERP sends the data for a request in Raw Data Interface (RDI), XML for Smart Forms
(XSF), or XML format. You can configure the data with values for Spectrum-specific symbol
names to override default values.
The OMS Submit command invokes the CLI to pass RDI data to an SAP BC-XOM integration
in Spectrum. The RDI data should follow the standard SAP RDI format and should include
Spectrum-specific name and value pairs to ensure proper printing.
RDI data has two components:
l The Header contains information about the device, such as the device type and form
name.
l The Data contains the information to be printed. This component can contain

information related to multiple labels.


Each data line in RDI data can contain a name that includes a reference to a form (window), a
field (element), and a symbol name followed by a value to be associated with that name.
Spectrum automatically translates the RDI into XML.
Note: In an SAP BC-XOM integration, you can configure the Use Extended
Field Names to Refer to RDI or XSF Data Records option to control whether
only the symbol name is needed to refer to an RDI data record or whether the
window and element names must also be used in the reference. If you are migrating
from Loftware Connector, it is recommended that you select Use Extended Field
Names to Refer to RDI or XSF Data Records.
The following are the defined names for use with Spectrum override information.
l The defined Window name for Spectrum override information is LABEL.
l The defined Element name for Spectrum override information is HEADER.
The following table lists the Spectrum-specific field names and an explanation of the value
associated with each name.
You can use these symbol names to override values in RDI and XSF headers. Before you can do
so, you must configure these symbol names in SAP ERP and incorporate them into an ABAP
program or SAPscript.
Extended Field
Field Name Value
Name
LABEL_ LW_ Device name (Alias) of the selected device.
HEADER_LW_ PRINTERNAME
PRINTERNAME

1102 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Extended Field
Field Name Value
Name
LABEL_ LW_JOBNAME The name for a specific job in Spectrum.
HEADER_LW_
JOBNAME
LABEL_ LW_TRAY Tray 1
HEADER_LW_
TRAY
LABEL_ LW_QUANTITY Quantity 2
HEADER_LW_
QUANTITY
LABEL_ LW_ Duplicates3
HEADER_LW DUPLICATES Important: For RDI, the LW_
_DUPLICATES DUPLICATES value is used as is. For
XSF and XML, the XML (LPS)
processor subtracts 1 from the LW_
DUPLICATES value.
LABEL_ LW_LABEL The label template to use with a job.
HEADER_LW_
LABEL
LABEL_ LW_PAGES Pages4
HEADER_LW_
PAGES
LABEL_ LW_INLINE_ Required for printing external files. Print an external
HEADER_LW_ DOCUMENT file, such as a PDF, without associating the file with
INLINE_ label template.
DOCUMENT
LABEL_ LW_INLINE_ Required for printing external files. The list of
HEADER_LW_ TYPE supported external file types. For example,
INLINE_TYPE INLINE_PDF.

1To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
2The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
3The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
4The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.

Loftware Spectrum 3.0.1 User Guide 1103


Configuring and Administering

Extended Field
Field Name Value
Name
LABEL_ LW_LABEL_ A set of comma delimited label ranges to reprint in a
HEADER_LW_ RANGES multi-label or quantity reprint. When printing
LABEL_ external files, this is the range of pages to print. An
RANGES asterisk is a wildcard value that resolves to the last
label printed.
LABEL_ LW_PAGE_ The page handling for imaged files. Maintains aspect
HEADER_LW_ HANDLING ratios.
PAGE_ ACTUAL_SIZE: Do not increase or decrease the
HANDLING image size on the page. Default value.
FIT: Increase or decrease the image size as
appropriate to fit the page.
INCREASE: Increase the image size of undersized
images only to fit the page.
DECREASE: Decrease the image size of oversized
images only to fit the page.
CUSTOM: Increase or decrease the image size as
specified in !PAGE_CUSTOM!.
LABEL_ LW_PAGE_ Required if !PAGE_HANDLING! is CUSTOM. For
HEADER_LW_ CUSTOM imaged files, the percentage as an integer value to
PAGE_ increase or decrease the image size on the page. A
CUSTOM value greater than 100 will increase the image size,
and a value less than 100 will decrease the image size
on the page. Can be used when printing external
files. Default: 100.
LABEL_ LW_FORCE_ Whenprinting external files, whether to force the
HEADER_LW_ IMAGE file to print as an imaged file.
FORCE_IMAGE TRUE: An external file is imaged regardless if the
target device is configured and supports the
!INLINE_TYPE! natively.
FALSE: Default value.
LABEL_ LW_TARGET_ Required if !PAGE_HANDLING! is not CUSTOM.
HEADER_LW_ MEDIA_ For imaged files, the height of the target media size
TARGET_ HEIGHT in thousandths of an inch (mils), unless specified
MEDIA_ otherwise in !TARGET_MEDIA_UNITS!.
HEIGHT

1104 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Extended Field
Field Name Value
Name
LABEL_ LW_TARGET_ For imaged files, the width of the target media size
HEADER_LW_ MEDIA_ in thousandths of an inch (mils), unless specified
TARGET_ WIDTH otherwise in !TARGET_MEDIA_UNITS!.
MEDIA_
WIDTH
LABEL_ LW_TARGET_ The target unit of measurement. Can be used when
HEADER_LW_ MEDIA_UNITS printing external files.
TARGET_ INCHES: Thousandths of an inch (mils). Default
MEDIA_UNITS value.
CM: Centimeter.
MM: Millimeter.

Loftware Spectrum 3.0.1 User Guide 1105


Configuring and Administering

XSF and XML Format Reference for SAP BC-XOM Integrations

From the perspective of SAP ERP, Spectrum acts as an Output Management System (OMS).
SAP ERP sends the data for a request in Raw Data Interface (RDI), XML for Smart Forms
(XSF), or other XML format such as XFP. You can configure the data with values for Spectrum-
specific names to override default values.
The OMS Submit command invokes the CLI to pass XSF or XML data to an SAP BC-XOM
integration in Spectrum.
XSF or XML data can have one or more smartxsf elements, each of which maps directly to a
Smart Form. A smartxsf element has two components:
lThe Header contains information about the device, such as the device type and form
name.
l The Data contains the content to be printed.

A new label will occur on smartxsf and data elements. Header fields from the parent smartxsf
element will be copied into the field map when a new data element triggers a new label.
If a custom stylesheet is not configured for an integration, Spectrum uses a built-in stylesheet to
transform the XSFinto XML (LPS). XML must be in XML(LPS) format, or a custom stylesheet
must be specified to transform the XML to XML(LPS).
Header
l general/form is used for documentIDunless an override field is present for this form.
l general/output-device is used for the Spectrum output device unless an override
field is present for this form.
l general/tdcopies is used for the Spectrum quantity value unless an override field is
present for this form.
l general is used to add all general sub elements to the data map.
Example XSF
<header>
<general>
<version>1.14.2</version>
<form>SF_XSF_DEMO1</form>
<language>EN</language>
<device>PRINTER</device>
</general>
</header>

Example XML (LPS) after Transform


<variable name="header/general/version">1.14.2</variable>
<variable name="header/general/form">SF_XSF_DEMO1</variable>
<variable name="header/general/language">EN</variable>

1106 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

<variable name="header/general/device">PRINTER</variable>

Note: In an SAP BC-XOM integration, you can configure the Use Extended
Field Names to Refer to RDI or XSF Data Records option to control whether
only the symbol name is needed to refer to an XSF data record or whether the
window and element names must also be used in the reference.
Data
The following XSF data elements will map directly to Spectrum data refs1 by the value of their
name attribute:
l
sym
l
text
l
include-text
If a data element is a descendent of a table, a suffix "_N" will be added to the field name, where
N is the implicit row number within that table group.

Override Fields
You can use the following field names to override values in XSF and XML headers. Spectrum
override fields are expected to occur as text elements with the appropriate corresponding name
attribute value. Before you can do so, you must configure these names in SAP ERP and
incorporate them into an ABAP program or SAPscript.
Field Name Value
LW_ Device name (Alias) of the selected device.
PRINTERNAME
LW_JOBNAME The name for a specific job in Spectrum.
LW_TRAY Tray 2
LW_QUANTITY Quantity 3
LW_ Duplicates4
DUPLICATES Important: For XSF, XFP, and XML, the XML (LPS)
processor subtracts 1 from the LW_DUPLICATES value.
For RDI, the LW_DUPLICATES value is used as is.
LW_LABEL The label template to use with a job.

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.

Loftware Spectrum 3.0.1 User Guide 1107


Configuring and Administering

Field Name Value


LW_PAGES Pages1
LW_INLINE_ Required for printing external files. Print an external file, such as a PDF,
DOCUMENT without associating the file with label template.
LW_INLINE_ Required for printing external files. The list of supported external file
TYPE types. For example, INLINE_PDF.
LW_LABEL_ A set of comma delimited label ranges to reprint in a multi-label or
RANGES quantity reprint. When printing external files, this is the range of pages
to print. An asterisk is a wildcard value that resolves to the last label
printed.
LW_PAGE_ The page handling for imaged files. Maintains aspect ratios.
HANDLING ACTUAL_SIZE: Do not increase or decrease the image size on the
page. Default value.
FIT: Increase or decrease the image size as appropriate to fit the page.
INCREASE: Increase the image size of undersized images only to fit
the page.
DECREASE: Decrease the image size of oversized images only to fit
the page.
CUSTOM: Increase or decrease the image size as specified in !PAGE_
CUSTOM!.
LW_PAGE_ Required if !PAGE_HANDLING! is CUSTOM. For imaged files, the
CUSTOM percentage as an integer value to increase or decrease the image size on
the page. A value greater than 100 will increase the image size, and a
value less than 100 will decrease the image size on the page. Can be
used when printing external files. Default: 100.
LW_FORCE_ Whenprinting external files, whether to force the file to print as an
IMAGE imaged file.
TRUE: An external file is imaged regardless if the target device is
configured and supports the !INLINE_TYPE! natively.
FALSE: Default value.
LW_TARGET_ Required if !PAGE_HANDLING! is not CUSTOM. For imaged files,
MEDIA_ the height of the target media size in thousandths of an inch (mils),
HEIGHT unless specified otherwise in !TARGET_MEDIA_UNITS!.
LW_TARGET_ For imaged files, the width of the target media size in thousandths of an
MEDIA_ inch (mils), unless specified otherwise in !TARGET_MEDIA_UNITS!.
WIDTH

1The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.

1108 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Field Name Value


LW_TARGET_ The target unit of measurement. Can be used when printing external
MEDIA_UNITS files.
INCHES: Thousandths of an inch (mils). Default value.
CM: Centimeter.
MM: Millimeter.
Example XSF
<window name="INFO" page="FIRST" page-id="001">
<text name="LW_PRINTERNAME" style="SF_XSF_DEMO1"
appmode="append" lang="EN">
<p name="AS">XSFOVERRIDE</p>
</text>
...

Extended Field Names


The name attribute of the sym, text, and include-text elements will be used in the following
way for extended field names:
l sym: window_text_sym or window_include-text_sym
l text and include-text: window_text and window_include-text
Example XSF
<window name="FOOTER" page="FIRST" page-id="001">
<text name="URL" style="SF_XSF_DEMO1" objname="SF_XSF_DEMO_
URL" lang="EN">
<p name="AS">Visit our Web site: <a
href="http://www.sap.com">www.sap.com</a>
<url>www.sap.com</url>
</p>
</text>
<include-text name="FOOTER_INCL" style="SAPADRS"
objname="ADRS_FOOTER" id="ADRS"
object="TEXT" language="EN" client="820">
<p name="SG"/>
</include-text>
</window>

Example XML (LPS) after Transform


<variable name="FOOTER_URL">Visit our Web site: www.sap.com
www.sap.com</variable>
<variable name="FOOTER_FOOTER_INCL"/>

Loftware Spectrum 3.0.1 User Guide 1109


Configuring and Administering

Elements NotProcessed
l Header sub elements: page, archive

l Data sub elements:graphics, address

Note: Window is only used for extended field names. Its descendent text,
include-text, and sym elements will be processed.

l Formatting fields, however table is used to add row index suffixes to table row data

1110 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

XFP Format Reference for SAP BC-XOM Integrations

From the perspective of SAP ERP, Spectrum acts as an Output Management System (OMS).
SAP ERP sends the data for a request in Raw Data Interface (RDI), XML for Smart Forms
(XSF), or other XML format such as XFP. You can configure the data with values for Spectrum-
specific names to override default values.
If the SAP Output Device is configured as Device Type XFP, the OMS Submit command
invokes the CLI to pass the XFP data to an SAP BC-XOM integration in Spectrum.
There are two formats for XMLfor SAP Interactive Forms by Adobe (XFP):
lXFP with context: Mixes some of the structure of the PDF-based form with the data
from an application.
l XFP without context: Contains just the data with none of the form structure and can be

used for performance enhancement.


A custom stylesheet must be configured for incoming XFP requests. It is recommended that
you use the Spectrum XFP stylesheet template as a starting point. To view the XFP stylesheet
template, open the sap-xfp.xsl file included in the release package containing these instructions.
Header
l general/FORM is used for documentIDunless an override field is present for this form.
l general/DEST is used for the Spectrum output device unless an override field is present
for this form.
l general/COPIES is used for the Spectrum quantity value unless an override field is
present for this form.
Example XFP with Context
<header>
<general>
<XFPVERSION>1.0</XFPVERSION>
<XFPTYPE/>
<SAPSID>IDS</SAPSID>
<FORM>Z_SHIPPING_FORM_01</FORM>
<FORMTYPE/>
<IFTYPE/>
<LANGU>de</LANGU>
<COUNTRY>DE</COUNTRY>
<INTERACTIVE/>
<DYNAMIC/>
<DEVICE>PRINTER</DEVICE>
</general>
</header>

Loftware Spectrum 3.0.1 User Guide 1111


Configuring and Administering

Override Fields
You can use the following field names to override values in XFP headers. Spectrum override
fields are expected to occur as text elements with the appropriate corresponding name attribute
value. Before you can do so, you must configure these names in SAP ERP and incorporate them
into an ABAP program or SAPscript.
Field Name Value
LW_ Device name (Alias) of the selected device.
PRINTERNAME
LW_JOBNAME The name for a specific job in Spectrum.
LW_TRAY Tray 1
LW_QUANTITY Quantity 2
LW_ Duplicates3
DUPLICATES Important: For XSF, XFP, and XML, the XML (LPS)
processor subtracts 1 from the LW_DUPLICATES value.
For RDI, the LW_DUPLICATES value is used as is.
LW_LABEL The label template to use with a job.
LW_PAGES Pages4
LW_INLINE_ Required for printing external files. Print an external file, such as a PDF,
DOCUMENT without associating the file with label template.
LW_INLINE_ Required for printing external files. The list of supported external file
TYPE types. For example, INLINE_PDF.
LW_LABEL_ A set of comma delimited label ranges to reprint in a multi-label or
RANGES quantity reprint. When printing external files, this is the range of pages
to print. An asterisk is a wildcard value that resolves to the last label
printed.

1To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
2The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
3The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
4The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.

1112 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Field Name Value


LW_PAGE_ The page handling for imaged files. Maintains aspect ratios.
HANDLING ACTUAL_SIZE: Do not increase or decrease the image size on the
page. Default value.
FIT: Increase or decrease the image size as appropriate to fit the page.
INCREASE: Increase the image size of undersized images only to fit
the page.
DECREASE: Decrease the image size of oversized images only to fit
the page.
CUSTOM: Increase or decrease the image size as specified in !PAGE_
CUSTOM!.
LW_PAGE_ Required if !PAGE_HANDLING! is CUSTOM. For imaged files, the
CUSTOM percentage as an integer value to increase or decrease the image size on
the page. A value greater than 100 will increase the image size, and a
value less than 100 will decrease the image size on the page. Can be
used when printing external files. Default: 100.
LW_FORCE_ Whenprinting external files, whether to force the file to print as an
IMAGE imaged file.
TRUE: An external file is imaged regardless if the target device is
configured and supports the !INLINE_TYPE! natively.
FALSE: Default value.
LW_TARGET_ Required if !PAGE_HANDLING! is not CUSTOM. For imaged files,
MEDIA_ the height of the target media size in thousandths of an inch (mils),
HEIGHT unless specified otherwise in !TARGET_MEDIA_UNITS!.
LW_TARGET_ For imaged files, the width of the target media size in thousandths of an
MEDIA_ inch (mils), unless specified otherwise in !TARGET_MEDIA_UNITS!.
WIDTH
LW_TARGET_ The target unit of measurement. Can be used when printing external
MEDIA_UNITS files.
INCHES: Thousandths of an inch (mils). Default value.
CM: Centimeter.
MM: Millimeter.
Extended Field Names
The XML element names from the XFP data element hierarchy are used for extended field
names, with suffixes added for repeating elements (such as table data).

Loftware Spectrum 3.0.1 User Guide 1113


Configuring and Administering

User Interface: SAP BC-XOM Integration

Extended Output Management (BC-XOM) is an interface allows an SAP Application Server to


spool a Raw Data Interface (RDI), XMLfor Smart Forms (XSF), XML for SAP Interactive
Forms by Adobe (XFP), or XML file to Spectrum.
The following section and panes are available when you configure an SAP BC-XOM integration
by using LoftwareSpectrum Integration for use with SAP Applications.
Important! For SAP BC-XOM integrations, the Integration Name must match
the name included in the Submit command in the Logical Output Management
System (LOMS) on the SAP Application Server. The length of this name must be
12 characters or fewer. For more information, see "Configure SAP ERP for BC-
XOM Communication" on page 1092.
Configuration
The following options are available in the Configuration section when you use
LoftwareSpectrum Integration for use with SAP Applications to configure an SAP BC-
XOM integration.
Option Description
Job Target The folder in Spectrum to which status information about print jobs
Folder related to this integration should be directed. For more information, see "
Configure a Job Target Folder" on page 1045.
Default A process to be applied to the integration. Although this field is required,
Process you can select the Generic Document Process in the root folder if you
have not configured a custom process that should be applied.
Transaction Transaction size is used during job management for packaging print job
Size details into print jobs. Use the default value unless Loftware Technical
Support or Loftware Professional Services Group directs you to change it.
SAP System The name of the SAP Application Server, typically 8 characters in length.
Name
SAP Client The three-digit identification number from SAP Transaction SCC4. This
is the client ID with which the SAP user specified by the SAP
Username is authorized to log on.
SAP An SAP user name.
Username
SAP The password for the user name provided in the SAP Username field.
Password
ParseRDIor If selected, RDI or XSF audit data is processed by Spectrum. Audit data
XSF is not required by Spectrum.
AuditData

1114 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Option Description
Use If selected, the form (window), field (element), and symbol names must
Extended be included when referring to a data map entry generated from an RDI or
Field Names XSF data record. If cleared, only the symbol name is needed to refer to a
to Refer to data record.
RDI or XSF
Data
Use Legacy If selected, an underscore (_) is used as the field separator for extended
Extended field names. Otherwise, the forward slash (/) separator is used.
Field Note: This option is available only if Use Extended Field
Separator for Names to Refer to RDI or XSF Data is selected.
XSF Data
New Label If selected, a new label is generated if a duplicate data field name is
on Repeat encountered during RDI processing.
RDI Data Note: For XSF, a new label is generated on duplicate
Record Field smartxsf and data elements. For XML, specify a custom
Names stylesheet in XSForXMLStylesheet that handles new
label behavior.
Send Job If selected, Spectrum sends the job status to SAP ERP.
Status to
SAP
OMS The name of the Output Management System to configure to print to
Spectrum.

Loftware Spectrum 3.0.1 User Guide 1115


Configuring and Administering

Option Description
XSF or XML For XSF, XFP, or XML data, enter the UNCpath to a shared folder or a
Stylesheet path to a local folder on the SpectrumApplicationServer of the
stylesheet to use for converting data to XML (LPS).
Important: Review the following information for your data
type:
l XSF: If a stylesheet is not specified and the

incoming request is XSF, the Spectrum built-in


stylesheet is used. If you are creating a custom
stylesheet, it is recommended that you use the
Spectrum XSF stylesheet template as a starting point.
To view the XSF stylesheet template, enter the
following in the address field of your browser, where
spectrum-server is the name of the server hosting
Spectrum for your organization:
http://spectrum-
server:8080/downloads/sap-
smartforms.xsl.template
l XML: If a stylesheet is not specified and the
incoming request is XML, the data must be in XML
(LPS) format.
l XFP: If the incoming request is XFP, a stylesheet
must be specified. It is recommended that you use
the Spectrum XFP stylesheet template as a starting
point. To view the XFP stylesheet template, open
the sap-xfp.xsl file included in the release package
containing these instructions.
Load Whether to support SAP Load Balancing connection mode or SAP Single
Balance Server connection mode. SAP Load Balancing permits multiplexing of
Connection communication with all SAP Systems in your environment.
: Use SAP Load Balancing connection mode.
: Use SAP Single Server connection mode.
Note: The mode that you specify determines which options
are displayed immediately following the Load Balance
Connection option.

Note: SAP load balancing is not related to Spectrum


distributed services.

1116 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Option Description
Run As A Spectrum user account under which requests received from outside of
Spectrum are run. This account must have at least the Integration role or
equivalent permissions and is typically not an interactive user. For more
information, see " Configuring a Run As User for Integrations" on page
1043.
SAP Load Balancing Connection Mode
These options are displayed only if the Load Balance Connection check box is selected.
Note: SAP load balancing is not related to Spectrum distributed services.
Option Description
SAP Message The
Server
message server that performs load balancing of communication
(MSHOST) between application servers in an SAP System. This name must be the
same on all application servers belonging to the same SAP System.
SAPGroup The SAP logon group. A load balancing group automatically optimizes the
selection of application server for performance.
SAPSystem The name of the SAP R/3 System.
ID
(R3NAME)
SAP The load balancing service.
Message
Server Port
(MSSERV)
SAP Single Server Connection Mode
These options are displayed only if the Load Balance Connection check box is cleared.
Option Description
SAP IPAddress The IPv4 address of the SAP Application Server.
SAP System Number
The two-digit identification number for the SAP instance to which
to connect.
Properties Pane
The following properties can be configured or viewed in the Properties pane when you view
any type of integration with LoftwareSpectrum.

Loftware Spectrum 3.0.1 User Guide 1117


Configuring and Administering

Option Description
Integration A unique name for this connectivity bridge between Spectrum and another
Name application. Required.
Characters permitted in names
The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Description A description for this integration.
Integration The type of integration. One of the following values is displayed:
Type File Drop, Oracle, SAP RFC, SAP BC-XOM, Event JMS Consumer, Event
JMS Producer, Event Direct Processing, Event ActiveMQ Connection,
Event Oracle AQ Connection, Event File Producer, Event File Consumer,
Event Email Producer, Event Email Consumer, or Event Message
Converter
Service Management Pane
If your Spectrum environment is configured to support distributed services, the Service
Management pane allows you to configure failover of integration services between
SpectrumApplicationServers. These options are also available in the Service Management
pane in System Management.
Important! Whenever you add a new device, data service, or integration, you
must ensure that the service is activated on all SpectrumApplicationServers on
which it should be available to run and started on at least one. In an
environment with only one SpectrumApplicationServer, these types of
services are automatically activated and started when they are created. For more
information, see "High Availability with Distributed Services" on page 716.

1118 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Configure SAP ERP for RFC Communication

If you intend to support SAP RFC integrations, then you must configure an RFC Destination for
the LoftwareSpectrum interface in Transaction SM59. For SAP RFC integrations, Spectrum
uses an SAP RFC Listener to receive print requests initiated by an SAP Application Server.
More than one integration may point to the same SAP Application Server.
Note: These steps are required only if you intend to support SAP RFC
integrations.
These procedures should be performed within the SAP Application Server by a system
administrator.
Before You Begin: You must create the SAP user account in SAP ERP that you
plan to use with Spectrum. For more information, see "Configure an SAP User for
Spectrum" on page 1091.

Configure an RFC Destination

In Transaction SM59 in SAP ERP, you must create an RFC Destination for the
LoftwareSpectrum interface.
1. For RFC destination, enter a name.
2. For Connection Type, select T (TCP/IP connection).
3. For Activation Type click Registration.
4. For Program ID, enter a name.
Important! When creating an SAP RFC integration in Spectrum, you must
enter this name in the RFC Program ID field. More than one integration
may point to the same RFC Program ID.

Loftware Spectrum 3.0.1 User Guide 1119


Configuring and Administering

Figure A.23: An RFC Destination in SM59


Note: This RFC is a Destination RFC, so no SAP function is required to be
created for the RFC. The RFC functions being called reside in Spectrum.
The only SAP coding required is the ABAP call to trigger the print request.

1120 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Figure A.24: SM59 Unicode Options


Note: For Unicode SAP Instances, on the Special Options tab, set the
Char width Target System to Unicode.

Tip: For more information about RFC Destinations, see Connection


Establishment Using Destination (SM59) on the SAP Help Portal,
help.sap.com.
To configure an SAP RFC integration, see "Integrate with SAP RFC" on page 1122.

Loftware Spectrum 3.0.1 User Guide 1121


Configuring and Administering

Integrate with SAP RFC

LoftwareSpectrum Integration for use with SAP Applications allows Spectrum to register
with an SAP Application Server as a program that SAP Advanced Business Application
Programming (ABAP) applications may call and to which they can send print requests.
You can configure as many SAP RFC integrations as your Spectrum license allows. More than
one integration may point to the same SAP Application Server and even to the same RFC
Program ID.
Before You Begin: Before you create SAP RFC integrations, you must create an
RFC Destination for the Spectrum interface in SAP ERP in Transaction SM59. For
more information, see "Configure SAP ERP for RFC Communication" on page
1119.

Note:An SAP RFC integration field value has a limit of 1000 characters.
To create an SAP RFC integration that allows print requests from an SAP Application Server to
be processed by Spectrum, do the following.
1. Click Integration Management.
2. Click File > New > SAP RFC to create an SAP RFC integration.
3. In the Configuration section, configure the following details about SAP.
a. For Job Target Folder, select the folder in Spectrum to which status information
about print jobs related to this integration should be directed. Although you can
use the default Job Target folder, it is suggested that you configure a separate job
target folder for each integration.
b. For Default Process, select either a process that you have created that should be
applied to the integration, or else select the Generic Document Process in the
root folder.
c. For Transaction Size, accept the default value unless Technical Support or the
Professional Services Group directs you to change it.
d. For SAP System Name, enter the name of the SAP Application Server, typically
8 characters in length.
e. For SAP Client, enter the three-digit identification number from SAP Transaction
SCC4. This is the client ID with which the SAP user specified by the SAP
Username is authorized to log on.
f. For SAP Username and SAP Password, enter SAP credentials for the
integration to use when connecting.
g. For SAP Gateway Service, enter the SAP network gateway (port) available for
registration.
h. For Connection Count, enter the maximum number of RFC requests to allow to
be simultaneously processed. Any additional requests are queued until an active
request is completed.

1122 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

i. For RFC Program ID, enter the registered program ID of the RFC program from
the RFC Destination in the SAP Application Server.
j. To ignore empty field names, select Ignore Empty Fields. Otherwise, empty
field names will cause a job to fail.
k. To ignore invalid field names, select Ignore Invalid Field Names. Otherwise,
invalid field names will cause a job to fail.
4. To support SAP Load Balancing connection mode to permit multiplexing of
communication with all SAP Systems in your SAP environment, select Load Balance
Connection. Otherwise, clear the check box to use SAP Single Server connection mode
instead.
5. If you selected Load Balance Connection, configure the following options.
a. For SAP Message Server (MSHOST), enter the name or IP address of the
message server that performs load balancing of communication between
application servers in an SAP System. This name must be the same on all
application servers belonging to the same SAP System.
b. For SAP IP Address (GWHOST), enter the IPv4 address of the SAP
Application Server.
c. For SAP Group, enter the name of the SAP logon group.
d. For SAP System ID (R3NAME), enter the name or IP address of the SAP R/3
System.
e. For SAP Message Server Port (MSSERV), enter the name of the load balancing
service used for SAP.
6. If you cleared Load Balance Connection, configure the following options.
a. For SAP IP Address (GWHOST), enter the IPv4 address of the SAP
Application Server.
b. For SAP System Number, enter the two-digit identification number for the SAP
instance to which to connect.
7. For Run As, select the Spectrum user account under which print requests from SAP
applications should be run. This user account must have at least the Integration role or
equivalent permissions.
8. In the Properties pane, enter a name by which the integration will be identified in
Spectrum and a description of its purpose.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.

Loftware Spectrum 3.0.1 User Guide 1123


Configuring and Administering

9. Click File > Save or click the Save button in the toolbar.
a. In the left pane of the Save Integration dialog box, select the folder in which to
save the integration. You can double-click a folder to display subfolders.
b. Click OK to save the integration. Creation information is displayed in the
Properties pane.
10. Click Start Integration.
11. To verify that the integration has started, view the Status in the Properties pane.
After the integration is started, its associated function becomes available until the integration is
stopped. If the integration is stopped or cannot be accessed due to network issues, print
requests remain pending.
Tip: To ensure that SAP BC-XOM integrations and SAP RFC integrations can
function successfully, use only uppercase text in the Data Ref fields in label
templates in Design. By default, Data Ref fields are case sensitive.

Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

1124 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

ABAP Reference for SAP RFC Integrations

For SAP RFC integrations, LoftwareSpectrum Integration for use with SAP Applications
uses an SAP RFC Listener to receive print requests initiated by the SAP Application Server.
Similar to receiving IDocs, the Listener registers with SAP ERP. This call takes the form of a
CALL FUNCTIONDESTINATION statement in an Advanced Business Application
Programming (ABAP) program in SAP ERP.
Calls to an RFC Destination can be placed in ABAP code in several locations in SAP ERP.
These locations include user exits, business add-ins, workflow, output determination and
custom function modules, reports or transactions.
Important! Initiating an RFC from inside SAP ERP by using the CALL
FUNCTIONDESTINATION statement will trigger a database commit in the
SAP Application Server. For this reason, it may not be desirable to make a
synchronous call from some locations.
In Spectrum, refer to Status for messages about the result of RFC communication related to
Integration for use with SAP Applications.
Tip: For more information about ABAP programming, see ABAP Programming on
the SAP Help Portal, help.sap.com.

Communication Modes for RFC Communication

For SAP RFC integrations, the following modes of communication are possible between SAP
ERP and LoftwareSpectrum. LoftwareSpectrum Integration for use with SAP
Applications provides an ABAP-compatible function for each mode. You can access these
functions in Transaction SE37 in SAP ERP or include them in a program written in ABAP.
l Asynchronous from SAP (LOFTWARE_PRINT_REQUEST): The call from SAP ERP
to Spectrum is asynchronous by nature and thus has no confirmation or status returned.
l Asynchronous to Spectrum (LOFTWARE_PRINT_REQUEST_ACK): The call
returns after the job has been accepted by Spectrum or when a high-level error occurs.
l Synchronous to Spectrum (LOFTWARE_PRINT_REQUEST_CONFIRM): The call
returns after the job as been delivered to the device or when a high-level or device-level
error occurs.
Signatures for RFC Communication

For SAP RFC integrations, the following are examples of CALL FUNCTION statements for
each communication mode.

Loftware Spectrum 3.0.1 User Guide 1125


Configuring and Administering

Example: LOFTWARE_PRINT_REQUEST

call function
'LOFTWARE_PRINT_REQUEST'

destination
'SPECTRUM'

exporting
LABEL= label_name
PRINTER= device_name
JOBNAME= job_name
QUANTITY= quantity
DUPLICATES= duplicates

importing
tables
LABEL_FIELDS= fields.

exceptions
COMMUNICATION_FAILURE= 1 message msg_text
SYSTEM_FAILURE= 2 message msg_text
OTHERS= 3

Example: LOFTWARE_PRINT_REQUEST_ACK

call function
'LOFTWARE_PRINT_REQUEST_ACK

destination
'SPECTRUM'

exporting
LABEL= label_name
PRINTER= device_name
JOBNAME= job_name
QUANTITY= quantity
DUPLICATES= duplicates

importing
CONFIRMATION= confirmation_message

tables
LABEL_FIELDS= fields

exceptions
COMMUNICATION_FAILURE= 1 message msg_text
SYSTEM_FAILURE= 2 message msg_text
OTHERS= 3

1126 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Example: LOFTWARE_PRINT_REQUEST_CONFIRM

call function
'LOFTWARE_PRINT_REQUEST_CONFIRM'

destination
'SPECTRUM'

exporting
LABEL= label_name
PRINTER= device_name
JOBNAME= job_name
QUANTITY= quantity
DUPLICATES= duplicates

importing
CONFIRMATION= confirmation_message

tables
LABEL_FIELDS= fields

exceptions
COMMUNICATION_FAILURE= 1 message msg_text
SYSTEM_FAILURE= 2 message msg_text
OTHERS= 3

Data Types for RFC Communication

For SAP RFC integrations, parameter data types should be defined in SAP ERP as follows.
Category Name Type Description
Export LABEL CHAR255 Label, Label Type, or Label
Parameters Group
PRINTER CHAR255 Device name
JOBNAME CHAR255 Unique name for job, echoed in
Spectrum
QUANTITY INT
DUPLICATES INT
Import CONFIRMATION STRUCTURE Structure describing the results of
Parameters ID (INT) the print request
MSG (TEXT100)

Loftware Spectrum 3.0.1 User Guide 1127


Configuring and Administering

Category Name Type Description


Table LABEL_FIELDS STRUCTURE: List of field names and values
Parameters LABELNUM
(INT)
FIELDNAME
(CHAR60)
FIELDVALUE
(CHAR1000)
The LABELNUM value in the LABEL_FIELDS structure is used to send multiple labels in a
single print request. All of the fields belonging to a particular label should have the same
LABELNUM value. If submitting a request for a single label Job this value can be 0 for all fields.
Example
The following example shows the structure of LABEL_FIELDS to print one label. There will be
a row for each field required.
LABELNUM FIELDNAME FIELDVALUE
0 PART_NUMBER GR1287654
0 CUSTOMER_NUMBER 76234
Keywords
Each of the export parameters can be overridden in any particular label by including a LABEL_
FIELDS record with the appropriate keyword in the FIELDNAME (with the exception of
PRINTER). The following keywords can be used.
l _LABEL
l _JOBNAME
l _QUANTITY
l _DUPLICATES
l _TRAY
l _PAGES
l _INLINE_DOCUMENT
l _INLINE_TYPE
l _LABEL_RANGES
l _PAGE_HANDLING
l _PAGE_CUSTOM
l _FORCE_IMAGE
l _TARGET_MEDIA_HEIGHT
l _TARGET_MEDIA_WIDTH
l _TARGET_MEDIA_UNITS
Stacking Label Requests for RFC Communication

For SAP RFC integrations, multiple Label Requests can be included in a single RFC call.

1128 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Label requests contained in a Stacked Job must be destined for a single device type.
The LABELNUM Field in the LABEL_FIELDS structure represents the individual label
request. For each new label request, this number must be incremented.
Example
The following example shows the structure of LABEL_FIELDS to print two labels. There will
be a row for each field required.
LABELNUM FIELDNAME FIELDVALUE
0 PART_NUMBER GR1287654
0 CUSTOMER_NUMBER 76234
1 PART_NUMBER AB9867221
1 CUSTOMER_NUMBER 998345
Exceptions for RFC Communication

For SAP RFC integrations, if the call from SAP ERP is synchronous, the following SAP ABAP
Exceptions may occur.
Value Short Msg Description
1 COMMUNICATION_ System-level exception indicating a connection or
FAILURE communications failure
2 SYSTEM_FAILURE System-level exception indicating any other unidentified
failure
3 OTHERS

Loftware Spectrum 3.0.1 User Guide 1129


Configuring and Administering

User Interface: SAP RFC Integration

Remote Function Call (RFC) is an interface that allows SAP application programmers to use the
Advanced Business Application Programming (ABAP) language to program or script calls to
Spectrum.
The following section and panes are available when you configure an SAPRFC integration by
using LoftwareSpectrum Integration for use with SAP Applications.
Configuration
The following options are available in the Configuration section when you use
LoftwareSpectrum Integration for use with SAP Applications to configure an SAP RFC
integration.
Note: You must configure each of the options displayed.
Option Description
Job Target Folder The folder in Spectrum to which status information about print
jobs related to this integration should be directed. For more
information, see " Configure a Job Target Folder" on page 1045.
Default Process A process to be applied to the integration. Although this field is
required, you can select the Generic Document Process in the
root folder if you have not configured a custom process that
should be applied.
Transaction Size Transaction size is used during job management for packaging
print job details into print jobs. Use the default value unless
Loftware Technical Support or Loftware Professional Services
Group directs you to change it.
SAP System Name The name of the SAP Application Server, typically 8 characters
in length.
SAP Client The three-digit identification number from SAP Transaction
SCC4.
SAP Username An SAP user name. This is the client ID with which the SAP
user specified by the SAP Username is authorized to log on.
SAP Password The password for the user name provided in the SAP Username
field.
SAPGatewayService The port available for registration.

1130 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Option Description
Connection Count The maximum number of connection threads (concurrent job
requests) that can be open from the SAP Java Connector (JCo) to
the SAP Application Server (identified by the RFC Program ID).
The default for this setting is 20. Consider the maximum number
of connections and total users allowed on the SAP instance when
setting Connection Count.
RFC Program ID The registered server program ID for the RFC destination
defined in the SM59 Transaction Code within the SAP system.
Ignore Empty Fields If selected, empty field names are ignored and do not cause a job
to fail.
Ignore Invalid If selected, invalid field names are ignored and do not cause a job
FieldNames to fail.
Load Balance Whether to support SAP Load Balancing connection mode or
Connection SAP Single Server connection mode. SAP Load Balancing
permits multiplexing of communication with all SAP Systems in
your environment.
: Use SAP Load Balancing connection mode.
: Use SAP Single Server connection mode.
Note: The mode that you specify determines
which options are displayed immediately following
the Load Balance Connection option.

Note: SAP load balancing is not related to


Spectrum distributed services.
Run As A Spectrum user account under which requests received from
outside of Spectrum are run. This account must have at least the
Integration role or equivalent permissions and is typically not an
interactive user. For more information, see " Configuring a Run
As User for Integrations" on page 1043.
SAPLoad Balancing Connection Mode
These options are displayed only if the Load Balance Connection check box is selected.
Note: SAP load balancing is not related to Spectrum distributed services.
Option Description
SAPMessage Server
The message server that performs load balancing of communication
(MSHOST) between application servers in an SAP System. This name must be the
same on all application servers belonging to the same SAP System.

Loftware Spectrum 3.0.1 User Guide 1131


Configuring and Administering

Option Description
SAPIPAddress The IPv4 address of the SAP Application Server.
(GWHOST)
SAPGroup The SAP logon group. A load balancing group automatically optimizes
the selection of application server for performance.
SAPSystem ID The name of the SAP R/3 System.
(R3NAME)
SAP Message The load balancing service.
Server Port
(MSSERV)
SAP Single Server Connection Mode
These options are displayed only if the Load Balance Connection check box is cleared.
Option Description
SAPIPAddress The IPv4 address of the SAP Application Server.
(GWHOST)
SAP System Number The two-digit identification number for the SAP instance to
which to connect.
Properties Pane
The following properties can be configured or viewed in the Properties pane when you view
any type of integration with LoftwareSpectrum.
Option Description
Integration A unique name for this connectivity bridge between Spectrum and another
Name application. Required.
Characters permitted in names
The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Description A description for this integration.
Integration The type of integration. One of the following values is displayed:
Type File Drop, Oracle, SAP RFC, SAP BC-XOM, Event JMS Consumer, Event
JMS Producer, Event Direct Processing, Event ActiveMQ Connection,
Event Oracle AQ Connection, Event File Producer, Event File Consumer,
Event Email Producer, Event Email Consumer, or Event Message
Converter

1132 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Service Management Pane


If your Spectrum environment is configured to support distributed services, the Service
Management pane allows you to configure failover of integration services between
SpectrumApplicationServers. These options are also available in the Service Management
pane in System Management.
Important! Whenever you add a new device, data service, or integration, you
must ensure that the service is activated on all SpectrumApplicationServers on
which it should be available to run and started on at least one. In an
environment with only one SpectrumApplicationServer, these types of
services are automatically activated and started when they are created. For more
information, see "High Availability with Distributed Services" on page 716.

Loftware Spectrum 3.0.1 User Guide 1133


Configuring and Administering

Event Integration
Event integration extends the functionality of other applications so users can perform tasks in
Spectrum using data provided by those applications. Event integration also allows users to
perform tasks in those applications using data provided by Spectrum.
Event integrations act as consumers or producers of events. These types of integrations interact
with connections to data or functionality external to Spectrum called end points. Event
consumers interact with end points to retrieve event messages, and event producers interact
with end points to publish event messages.
Spectrum supports the following types of Event integrations:
l Event JMS Consumer: Java Message Service (JMS) is an application programming
interface (API) that can be used to send messages between clients computers. In
Spectrum, you can use an Event JMS Consumer integration to listen for event messages
from an end point and process them. This type of Event integration is an end point
followed by a processor list, and it can be used in conjunction with an Event JMS
Producer integration.
l Event JMS Producer: You can use an Event JMS Producer integration to post event
messages to an end point. This type of Event integration is a processor list followed by an
end point, and it can be used in conjunction with an Event JMS Consumer integration.
l Event Direct Processing: An integration that allows the creation of processors to
perform a function that can be used by multiple consumers and producers. This type of
Event integration is a processor list.
l Event Socket Consumer: An integration that accepts a direct socket connection. The
connection is one-way and there is no response from Spectrum over the socket the
client connects, sends data, and then closes the connection.
l Event ActiveMQ Connection: Apache ActiveMQ is an open source messaging server.
In Spectrum, you can use an Event ActiveMQ Connection integration to pass event
information between another application and Spectrum. You can use these integrations as
standalone instances or as proxies for other messaging systems. This type of integration
can act as either as an event consumer or an event producer.
l Event Oracle AQ Connection: Oracle Advanced Queuing (AQ) provides message
queuing functionality that is integrated with Oracle Database. In Spectrum, you can use
Event Oracle AQ Connection integrations to pass event information between Oracle and
Spectrum. This type of integration can act as either as an event consumer or an event
producer.
l Event File Producer: An integration that writes files in a specific folder response to a
processor in another Event integration. This type of Event integration is a processor list
followed by an end point, and it can be used in conjunction with an Event File Consumer
integration.

1134 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

lEvent File Consumer: An integration that pulls files into Spectrum when files are saved
in a specific folder. This type of Event integration is an end point followed by a processor
list, and it can be used in conjunction with an Event File Producer integration. It is
conceptually similar to a File Drop integration.
l Event Email Producer: You can use an Event Email Producer integration to generate

email messages.
l Event Email Consumer: You can use an Event Email Consumer integration to listen

for email messages from a user's email account.


l Event Message Converter: You can use an Event Message Converter integration to

convert messages from one type of message to another. For example, you can convert
Spectrum messages about ModelStatus (AutoRefresh) into email messages.
For more information about Event integrations, contact Loftware's Professional Services Group.

Loftware Spectrum 3.0.1 User Guide 1135


Configuring and Administering

Web Services Integration


Web Services integration extends the functionality of other applications so users can print labels
generated with data provided by those applications. It can be used to programmatically initiate
print jobs and query the status of print jobs. You can configure as many Web Services
integrations as your Spectrum license allows.
Web Services is a platform-independent communication mechanism that permits direct
application-to-application interaction. It uses standard protocols and a standard API definition.
Web Services provides the option of either a Simple Object Access Protocol (SOAP) service
over HTTP for submitting complex jobs such as stacked jobs and obtaining detailed status
information, or a representational state transfer (REST) service for submitting simpler jobs and
receiving basic status information. For its API definition, Web Services uses Web Services
Description Language (WSDL).
Initiating a print job by using a Web Services integration can be a useful approach if you need to
programmatically initiate print job or programmatically query the status of a print job.
Note: Web Services integrations are not managed by using the Integration Management
page in Spectrum.

1136 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

REST API for Web Services Integration

The representational state transfer (REST) API for Web Services integration provides basic
functionality. It cannot be used for more complex tasks such as submitting stacked jobs.
Note: Commands may require authentication.
l Retrieve Version (version)
This command retrieves the version number of the REST API that you are using. You
can also use it to verify that the API is running.
http://<Server IP>:8080/spectrum-server/rest/version
l Submit Job (submit)
This command allows you to submit a job to be processed by Spectrum. This command
requires job data and uses the POST method, so pasting into a URL is not supported. For
<DeviceFQN> and <LabelTemplateFQN>, you must provide the fully-qualified name
within Spectrum for a device and a label template or process.
http://<Server IP>:8080/spectrum-
server/rest/submit?device=<DeviceFQN>&document=<LabelTemplateFQN>
Example
http://example.com:8080/spectrum-
server/rest/submit?device=/MyCompany/PDF%20Printer&document=/
MyCompany/Label01
l Job Status (status)
This command allows you to retrieve the status of a specific job processed by Spectrum.
You must specify the job number for the job.
http://<Server IP>:8080/spectrum-server/rest/status/<Job Number>
Example
http://example.com:8080/spectrum-server/rest/status/10000921

Loftware Spectrum 3.0.1 User Guide 1137


Configuring and Administering

l Test SpectrumApplicationServer (echo)


This command can be used by a network load balancer appliance to ping a
SpectrumApplicationServer to confirm whether it is running. The URL can be encoded
as needed.
http://<Server IP>:8080/spectrum-server/rest/echo/<echo message>
Example
http://example.com:8080/spectrum-
server/rest/echo/The%20Spectrum%20Application%20Server%20is%20r
unning.

1138 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

SOAP API for Web Services Integration

The Web Services API is used to create custom font-end applications for Spectrum. The Simple
Object Access Protocol (SOAP) API for Web Services integration provides basic and advanced
functionality, including printing, document searching, device searching, and the ability to submit
stacked jobs.
SOAP

Simple Object Access Protocol (SOAP) is a standard method of transmitting data over computer
networks. SOAP uses XML to encapsulate either a request or a response in an envelope. When
SOAP is implemented, it abstracts the client architecture from the server, so any client
computer that can generate and parse the SOAP envelopes can function. SOAP can be used by a
desktop application, web browser-based application, or mobile application.
SOAP Request

Each SOAP request to Spectrum must be in the format specified by the Spectrum WSDL. Every
SOAP request must have an envelope. For requests to Spectrum, an envelope must include a
Header for authentication and a Body.
The following is the syntax for the SOAP envelope. As noted in the comments, you must insert
a valid Spectrum username and password for the user that is making the request.
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-wssecurity-
secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-wssecurity-
utility-1.0.xsd" soap:actor="UT"
soap:mustUnderstand="1">
<wsse:UsernameToken wsu:Id="UsernameToken-
1"><wsse:Username><!-- Spectrum Username --
></wsse:Username>
<wsse:Password Type="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-username-token-
profile-1.0#PasswordText"><!-- Spectrum Password --
></wsse:Password>
</wsse:UsernameToken></wsse:Security>
</soap:Header>
<!-- Add a Body -->
</soap:Envelope>

Important! You must replace the placeholder comment for the SOAP Body with a
Request Body. See the Functions section that follows for links to samples.

SOAP Response

Loftware Spectrum 3.0.1 User Guide 1139


Configuring and Administering

All responses to a request have a SOAP envelope. Responses typically do not include a Header,
but do include a Body that contains a return element.
The value of the success attribute of the return element determines the contents that follow it.
If there is a successful result (success="true"), then the response data includes a result
element containing data related to the fully-qualified name that was submitted. The result
element may be preceded by one or more additionalData element containing children.
Responses contain one or more Data Transfer Objects (DTOs) that can be used to parse the
result.
Responses also contain an element that references itself, shown below as Response Function.
For example, if a request for getVersion was sent, getVersionResponse would be sent back to
the client computer.
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<!-- Header omitted -->
<soap:Body>
<!-- Response Function -->
<return success="[true|false]">
<!-- Response Data -->
</return>
<!-- End Response Function -->
</soap:Body>
</soap:Envelope>

Tip: For the syntax of a SOAP Response to specific type of SOAP Request, see
the Functions section that follows.

Functions in SOAP Request and SOAP Response

You can view a list of available functions at he following URL, substituting the IP address of
your SpectrumApplicationServer for <Server IP>. The functions are listed in the
SpectrumServices section.
http://<Server IP>:8080/spectrum-server/webServices/
The following is a reference about these functions. The syntax for a SOAP Request Body and
for a SOAP Response Function are included for each.
Operational Functions
The following table describes the operational functions, such as those that relate to print jobs
and to the SOAP API.
Purpose Description Syntax
Get the SOAP version Return the version number of getVersion
the SOAP API.

1140 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Purpose Description Syntax


Submit a print job Submit a specified print job submitJobRequest
for processing and return the
ID of the job. The print job
must be specified as a
UserJobRequestDto.
Get the status of a print job Retrieve the status of a getJobStatus
specified print job. The print
job must be specified by print
job ID number.
Import an image Import an image into the updloadImage
Spectrum environment.
Device Functions
The following table describes the functions that relate to devices and device groups.
Purpose Description Syntax
Get the names of device For a fully-qualified folder in getDeviceGroupNames
groups Spectrum, return a list of all
device groups in that folder.
Device groups in subfolders are
not included.
Get details about a device Given a device group name (not getDeviceGroupDetails
group the fully-qualified path for the
device group), return details about
the device group.
Get the names of device For a given a fully-qualified folder getDeviceNames
connections in Spectrum, return a list of the
device connections in the folder.
Device connections in subfolders
are not included.
Get details about a device Given a device name (not the getDeviceDetails
connection fully-qualified path for the device),
return details about the device.
Label Template Functions
The following table describes the functions that relate to label templates, forms, layouts, images,
reusable objects, applications, business rules, and workflow templates.

Loftware Spectrum 3.0.1 User Guide 1141


Configuring and Administering

Purpose Description Syntax


Get the names of For a fully-qualified folder in getChildFolderNames
subfolders Spectrum, return a list of its
subfolders. Folders within subfolders
are not included.
Get the names of objects For a fully-qualified folder in getDocumentNames
Spectrum, return a list of the names of
all label templates, forms, layouts,
images, reusable objects, applications,
business rules, and workflow templates
in the folder.
Get details about an object Given the fully-qualified path for an getDocumentDetails
label template, form, layout, image,
reusable object, application, business
rule, or workflow template, return
details about the object.
Tag Functions
The following table describes the functions that relate to tag categories and tag values.
Purpose Description Syntax
Categorize an object by Given the fully-qualified Spectrum addTagValueToDocument
adding a tag name of a application, business
rule, data service, device group,
facility, form, image, integration,
label template, layout, process,
remote site, reusable object, user,
or workflow template, a tag
category, and a tag value, this
function adds a tag with the
specified category and value to the
object. If a tag with that category
already exists, the value is replaced.
Get the tag categories that This function returns a list of the getTagCategories
exist in your Spectrum tags categories that exist in your
environment Spectrum environment. Optionally,
the tag values associated with each
tag category can also be returned.
Spectrum WSDL

Web Services Description Language (WSDL) is used to show client computers what functions
are available and how to use them. The WSDL used by Spectrum is automatically generated by

1142 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

using the Java code developed for Web Services. Viewing the Spectrum WSDL can be helpful if
you need more technical detail about the functions, elements, and attributes than is provided in
this guide.
To view the WSDL for your Spectrum environment, see the following URL, substituting the IP
address of your SpectrumApplicationServer for <Server IP>:
http://<Server IP>:8080/spectrum-server/webServices/spectrumservices?wsdl
addTagValueToDocument Function for Web Services Integration

Given the fully-qualified Spectrum name of a label template, form, layout, image, reusable
object, application, business rule, or workflow template, a tag category, and a tag value, this
function adds a tag with the specified category and value to the label template, form, layout,
image, reusable object, application, business rule, or workflow template. If a tag with that
category already is already assigned to the object, the value is replaced. For more information
about tags, see "Tag Management" on page 766.

Important! Content in a Web Services integration is case sensitive. This includes


names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
Replace the comment in the documentFQN element with the fully-qualified name (FQN) of
the a label template, form, layout, image, reusable object, application, business rule, or workflow
template to which you want to assign a tag. Replace the comment in the catName element with
the tag category, and the comment in the tagValue element with the tag value.
<soap:Body>
<ns2:addTagValueToDocument
xmlns:ns2="http://published.webservices.loftware.com/">
<documentFQN><!-- Replace with the FQN of a label template,
form, layout, image, reusable object, application,
business rule, or workflow template --></documentFQN>
<catName><!-- Replace with a tag category --></catName>
<tagValue><!-- Replace with a tag value --></tagValue>
</ns2:addTagValueToDocument>
</soap:Body>

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected

Loftware Spectrum 3.0.1 User Guide 1143


Configuring and Administering

data. For more information, see "SOAP API for Web Services Integration" on page 1139.
<ns2:addTagValueToDocumentResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false]"/>
</ns2:addTagValueToDocumentResponse>

getChildFolderNames Function for Web Services Integration

Given a fully-qualified Spectrum folder name, this function returns a list of any immediate
subfolders. The request is not recursive, so folders within those subfolders are not included.
Tip: You can use this function to retrieve a summary of all of the devices in a
particular folder.

Important! Content in a Web Services integration is case sensitive. This includes


names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
Replace the comment between the parentFolderFQN tags with the fully-qualified name
(FQN) of the folder in your Spectrum environment for which you want to retrieve a list of
subfolders.
<soap:Body>
<ns2:getChildFolderNames
xmlns:ns2="http://published.webservices.loftware.com/">
<parentFolderFQN><!-- Replace with FQN of a folder --
></parentFolderFQN>

</ns2:getChildFolderNames>
</soap:Body>

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
<ns2:getChildFolderNamesResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false]">
<additionalData
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

1144 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

xsi:type="ns2:lwFolderDto">
<id>...</id>
<name>...</name>
<fullyQualifiedName>...</fullyQualifiedName>
</additionalData>
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:type="ns2:lwFolderDto">
<id>...</id>
<name>...</name>
<fullyQualifiedName>...</fullyQualifiedName>
</result>
</return>
</ns2:getChildFolderNamesResponse>
Syntax Tips
Additional information is available about the following items.
lwFolderDto
This complex element contains data describing a folder in a Spectrum environment. It can
include the following elements.
Element Type Description
id long The ID of the folder.
name string The name of the folder.
fullyQualifiedName string The fully-qualified name of the folder.
parentFolderFQN
The fully-qualified name of a folder in your Spectrum environment.
getDeviceDetails Function for Web Services Integration

Given the name of a device, this function returns information about that device.
Important! Content in a Web Services integration is case sensitive. This includes
names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
Replace the comment between the deviceName tags with the name of the device group about
which you want to retrieve information.

Loftware Spectrum 3.0.1 User Guide 1145


Configuring and Administering

Important! For deviceName, do not use the fully-qualified name (FQN) for the
device. Use only the name.
<soap:Body>
<ns2:getDeviceDetails
xmlns:ns2="http://published.webservices.loftware.com/">
<deviceName><!-- Replace with the name of a device --
></deviceName>

</ns2:getDeviceDetails>
</soap:Body>

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
The response includes one result element with data about the device group.
<ns2:getDeviceDetailsResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false]">
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:type="ns2:lwDeviceDto">
<id>...</id>
<name>...</name>
<deviceDetails>
<entry>
<key>...</key>
<value>...</value>
</entry>
...
<entry>
<key>...</key>
<value>...</value>
</entry>
</deviceDetails>
<familyName>...</familyName>
<modelName>...</modelName>
<stats>
<status>...</status>
</stats>
</result>
</return>
</ns2:getDeviceDetailsResponse>
Syntax Tips

1146 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Additional information is available about the following items.


lwDeviceDto
This complex element contains data describing a device. It can include the following
elements.
Element Type Description
id long The ID of the device.
name string The name of the device in Spectrum.
deviceDetails See the deviceDetails entry that follows for more information.
This element is not included in responses to getDeviceNames.
familyName string The family of the device. For examples, see " Device Driver
Options" on page 858.
This element is not included in responses to getDeviceNames.
modelName string The model of the device. For examples, see " Device Driver
Options" on page 858.
This element is not included in responses to getDeviceNames.
stats See the stats entry that follows for more information.
This element is not included in responses to getDeviceNames.
deviceDetails
This complex element is used within an lwDeviceDto element, but is not included in
responses to getDeviceNames. It includes one or more entry elements, each containing
the following elements.
Element Type Description
key string
value string
stats
This complex element is used within an lwDeviceDto element, but is not included in
responses to getDeviceNames. It includes the following element.

Loftware Spectrum 3.0.1 User Guide 1147


Configuring and Administering

Element Type Description


status physicalDeviceStateEnum The status of the device.
The value must be one of the following:
DOWN (The device is unreachable and may be
offline.)
ERRORED (An error occurred when trying to
retrieve the status.)
UNKNOWN (The status of the device is
unknown.)
UP (The device is online.)
getDeviceGroupDetails Function for Web Services Integration

Given the name of a device group, this function returns information about that device group.

Important! Content in a Web Services integration is case sensitive. This includes


names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
Replace the comment between the deviceGroupName tags with the name of the device group
about which you want to retrieve information.
Important! For deviceGroupName, do not use the fully-qualified name (FQN)
for the device group. Use only the name.
<soap:Body>
<ns2:getDeviceGroupDetails
xmlns:ns2="http://published.webservices.loftware.com/">
<deviceGroupName><!-- Replace with the name of a device group
--></deviceGroupName>

</ns2:getDeviceGroupDetails>
</soap:Body>

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
The response includes one result element with data about the device group.

1148 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

<ns2:getDeviceGroupDetailsResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false]">
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:type="ns2:lwDeviceGroupDto">
<id>...</id>
<name>...</name>
<failBack>...</failBack>
<failOverType>...</failOverType>
</result>
</return>
</ns2:getDeviceGroupDetailsResponse>
Syntax Tips
Additional information is available about the following items.
lwDeviceGroupDto
This complex element contains data describing a device group. It can include the following
elements.
Element Type Description
id long The ID of the device group.
name string The name of the device group in Spectrum.
devices See the devices entry that follows for more
information.
This element is not included in responses to
getDeviceGroupDetails.
failBack boolean This is element is not intended for use with
current Spectrum functionality and may be
omitted.
failOverType deviceFailoverTypeEnum This is element is not intended for use with
current Spectrum functionality. If the element
is included, the value should be the following:
LOAD_BALANCED_FIRST_AVAILABLE
devices
This complex element contains data describing a device. It is used within an
lwDeviceGroupDto element and can include the following elements.
Element Type Description
id long The ID of the device.
name string The name of the device.
getDeviceGroupNames Function for Web Services Integration

Loftware Spectrum 3.0.1 User Guide 1149


Configuring and Administering

Given a fully-qualified Spectrum folder name, this function returns a list of information about
every device group in that folder. The request is not recursive, so device groups within
subfolders are not included.
Tip: You can use this function to retrieve a summary of all of the device groups in
a particular folder.

Important! Content in a Web Services integration is case sensitive. This includes


names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
Replace the comment between the parentFolderFQN tags with the fully-qualified name
(FQN) of the folder in your Spectrum environment for which you want to retrieve a summary of
device groups.
<soap:Body>
<ns2:getDeviceGroupNames
xmlns:ns2="http://published.webservices.loftware.com/">
<parentFolderFQN><!-- Replace with FQN of a folder --
></parentFolderFQN>

</ns2:getDeviceGroupNames>
</soap:Body>

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
The response includes one additionalData element for each device group in the folder, and one
result element with data about the folder itself.
<ns2:getDeviceGroupNamesResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false]">
<additionalData
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns2:lwDeviceGroupDto">
<id>...</id>
<name>...</name>

1150 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

<devices>
<id>...</id>
<name>...</name>
</devices>
<failBack>...</failBack>
<failOverType>...</failOverType>
</additionalData>
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:type="ns2:lwFolderDto">
<id>...</id>
<name>...</name>
<fullyQualifiedName>...</fullyQualifiedName>
</result>
</return>
</ns2:getDeviceGroupNamesResponse>
Syntax Tips
Additional information is available about the following items.
lwDeviceGroupDto
This complex element contains data describing a device group. It can include the following
elements.
Element Type Description
id long The ID of the device group.
name string The name of the device group in Spectrum.
devices See the devices entry that follows for more
information.
This element is not included in responses to
getDeviceGroupDetails.
failBack boolean This is element is not intended for use with
current Spectrum functionality and may be
omitted.
failOverType deviceFailoverTypeEnum This is element is not intended for use with
current Spectrum functionality. If the element
is included, the value should be the following:
LOAD_BALANCED_FIRST_AVAILABLE
devices
This complex element contains data describing a device. It is used within an
lwDeviceGroupDto element and can include the following elements.

Loftware Spectrum 3.0.1 User Guide 1151


Configuring and Administering

Element Type Description


id long The ID of the device.
name string The name of the device.
lwFolderDto
This complex element contains data describing a folder in a Spectrum environment. It can
include the following elements.
Element Type Description
id long The ID of the folder.
name string The name of the folder.
fullyQualifiedName string The fully-qualified name of the folder.
parentFolderFQN
The fully-qualified name of a folder in your Spectrum environment.
getDeviceNames Function for Web Services Integration

Given a fully-qualified Spectrum folder name, this function returns a list of information about
every device in that folder. The request is not recursive, so device connections within
subfolders are not included.
Tip: You can use this function to retrieve a summary of all of the devices in a
particular folder.

Important! Content in a Web Services integration is case sensitive. This includes


names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
Replace the comment between the parentFolderFQN tags with the fully-qualified name
(FQN) of the folder in your Spectrum environment for which you want to retrieve a summary of
devices.
<soap:Body>
<ns2:getDeviceNames
xmlns:ns2="http://published.webservices.loftware.com/">
<parentFolderFQN><!-- Replace with FQN of a folder --
></parentFolderFQN>

</ns2:getDeviceNames>
</soap:Body>

1152 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
The response includes one additionalData element for each device in the folder, and one
result element with data about the folder itself.
<ns2:getDeviceNamesResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false]">
<additionalData
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns2:lwDeviceDto">
<id>...</id>
<name>...</name>
</additionalData>
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:type="ns2:lwFolderDto">
<id>...</id>
<name>...</name>
<fullyQualifiedName>...</fullyQualifiedName>
</result>
</return>
</ns2:getDeviceNamesResponse>
Syntax Tips
Additional information is available about the following items.
lwDeviceDto
This complex element contains data describing a device. It can include the following
elements.
Element Type Description
id long The ID of the device.
name string The name of the device in Spectrum.
deviceDetails See the deviceDetails entry that follows for more information.
This element is not included in responses to getDeviceNames.
familyName string The family of the device. For examples, see " Device Driver
Options" on page 858.
This element is not included in responses to getDeviceNames.
modelName string The model of the device. For examples, see " Device Driver
Options" on page 858.
This element is not included in responses to getDeviceNames.

Loftware Spectrum 3.0.1 User Guide 1153


Configuring and Administering

Element Type Description


stats See the stats entry that follows for more information.
This element is not included in responses to getDeviceNames.
deviceDetails
This complex element is used within an lwDeviceDto element, but is not included in
responses to getDeviceNames. It includes one or more entry elements, each containing
the following elements.
Element Type Description
key string
value string
stats
This complex element is used within an lwDeviceDto element, but is not included in
responses to getDeviceNames. It includes the following element.
Element Type Description
status physicalDeviceStateEnum The status of the device.
The value must be one of the following:
DOWN (The device is unreachable and may be
offline.)
ERRORED (An error occurred when trying to
retrieve the status.)
UNKNOWN (The status of the device is
unknown.)
UP (The device is online.)
lwFolderDto
This complex element contains data describing a folder in a Spectrum environment. It can
include the following elements.
Element Type Description
id long The ID of the folder.
name string The name of the folder.
fullyQualifiedName string The fully-qualified name of the folder.
parentFolderFQN
The fully-qualified name of a folder in your Spectrum environment.
getDocumentDetails Function for Web Services Integration

1154 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Given the fully-qualified Spectrum name of a label template, form, layout, image, reusable
object, application, business rule, or workflow template, this function returns information about
that object.
Important! Content in a Web Services integration is case sensitive. This includes
names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
Replace the comment between the documentFQN tags with the fully-qualified name (FQN) of
the label template, form, layout, image, reusable object, application, business rule, or workflow
template about which you want to retrieve information.
<soap:Body>
<ns2:getDocumentDetails
xmlns:ns2="http://published.webservices.loftware.com/">
<documentFQN><!-- Replace with FQN of an object --
></documentFQN>

</ns2:getDocumentDetails>
</soap:Body>

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
The response includes one result element with data about the label template, form, layout,
image, reusable object, application, business rule, or workflow template.
<ns2:getDocumentDetailsResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false]">
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:type="ns2:lwDocumentDto">
<id>...</id>
<name>...</name>
<fullyQualifiedName>...</fullyQualifiedName>
<backgroundFillColor>
<blueValue>...</blueValue>
<greenValue>...</greenValue>

Loftware Spectrum 3.0.1 User Guide 1155


Configuring and Administering

<opacityValue>...</opacityValue>
<redValue>...</redValue>
</backgroundFillColor>
<currentState>...</currentState>
<currentWorkingVersionNumber>...</currentWor
kingVersionNumber>
<docType>...</docType>
<documentDpi>...</documentDpi>
<fieldNames>...</fieldNames>
...
<fieldNames>...</fieldNames>
<fontClassifier>...</fontClassifier>
<height>...</height>
<majorVersion>...</majorVersion>
<minorVersion>...</minorVersion>
<printBackgroundFill>...</printBackgroundFil
l>
<printRotation>...</printRotation>
<shape>...</shape>
<width>...</width>
</result>
</return>
</ns2:getDocumentDetailsResponse>
Syntax Tips
Additional information is available about the following items.
lwDocumentDto
This complex element contains data describing an object such as a label template, form,
layout, image, reusable object, application, business rule, or workflow template. It can
include the following elements.
Element Type Description
id long The ID of the object.
name string The name of the object. To refer
to a specific version of a
version-controlled object,
append a colon followed by the
version number to the end of
the object name.
fullyQualifiedName string The fully-qualified name of the
object.

1156 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Element Type Description


backgroundFillColor See the backgroundFillColor
entry that follows for more
information.
This element is not included in
responses to
getDocumentName.
currentState string For objects that are not version
controlled, the value is typically
SAVED, but may also be
EDITING or FINISHED.
For objects that are version
controlled, the value is usually
either CHECKED_IN or
CHECKED_OUT, but may
also be FINISHED.
This element is not included in
responses to
getDocumentName.
currentWorkingVersionNumber string For a version controlled object,
the version number.
This element is applicable only
to version-controlled objects.
For more information, see "
Managing a Version-Controlled
Environment" on page 701.
This element is not included in
responses to
getDocumentName.
docType documentTypeEnum The type of object.
The value must be one of the
following:
DATAENTRY (form)
DATASOURCE (business rule)
DOCUMENT (label template)
IMAGE
LAYOUT
REUSABLEOBJECT
UNKNOWN (if the object
type cannot be determined)

Loftware Spectrum 3.0.1 User Guide 1157


Configuring and Administering

Element Type Description


documentDpi int The resolution in dots per inch
that objects on the label should
be printed. For more
information, see Document
DPI in "Label Template
Properties" on page 273.
fieldNames string The names of fields in the label
template.
This element is not included in
responses to
getDocumentName.
fontClassifier string The type of fonts to be used on
the label. For more information,
see Font Category in "Label
Template Properties" on page
273.
This element is not included in
responses to
getDocumentName.
height long The vertical span of the printed
label. For more information, see
Height in "Label Template
Properties" on page 273.
majorVersion int This element is applicable only
to version-controlled objects.
For more information, see "
Managing a Version-Controlled
Environment" on page 701.
This element is not included in
responses to
getDocumentName.
minorVersion int This element is applicable only
to version-controlled objects.
For more information, see "
Managing a Version-Controlled
Environment" on page 701.
This element is not included in
responses to
getDocumentName.

1158 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Element Type Description


printBackgroundFill boolean Whether the fill color is
specified in
backgroundFillColor is
printed. For more information,
see Print Fill in "Label
Template Properties" on page
273.
printRotation int The orientation of the printed
label relative to the print stock.
The value should be one of the
following:
0
90
180
270
shape shapeEnum The appearance of the outside
edge of the printed label.
The value must be one of the
following:
RECTANGLE
ROUNDED_RECTANGLE
UNKNOWN
This element is not included in
responses to
getDocumentName.
width long The horizontal span of the
printed label. For more
information, see Width in "Label
Template Properties" on page
273.
backgroundFillColor
This complex element is used within an lwDocumentDto element and contains data
describing the background color, also known as the fill color, for a label template, form,
layout, image, reusable object, application, business rule, or workflow template.
Note: Color printing is possible only if supported by the device and device
driver.

Loftware Spectrum 3.0.1 User Guide 1159


Configuring and Administering

Element Type Description


blueValue int The two-digit value for the blue portion of an RGB color value.
greenValue int The two-digit value for the green portion of an RGB color value.
opacityValue int The opacity of the fill color. The value should be one of the
following:
0 (No fill)
100 (Solid fill)
redValue int The two-digit value for the red portion of an RGB color value.
documentFQN
The fully-qualified name of a label template, form, layout, image, reusable object, application,
business rule, or workflow template in your Spectrum environment.
getDocumentNames Function for Web Services Integration

Given a fully-qualified Spectrum folder name, this function returns a list of information about
every label template, form, layout, image, reusable object, application, business rule, or
workflow template in that folder. The request is not recursive, so objects within subfolders are
not included.
Tip: You can use this function to retrieve a summary of all of the label templates,
forms, layouts, images, reusable objects, applications, business rules, and workflow
templates in a particular folder.

Important! Content in a Web Services integration is case sensitive. This includes


names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
Replace the comment between the parentFolderFQN tags with the fully-qualified name
(FQN) of the folder in your Spectrum environment for which you want to retrieve a summary of
label templates, forms, layouts, images, reusable objects, applications, business rules, and
workflow templates.
<soap:Body>
<ns2:getDocumentNames
xmlns:ns2="http://published.webservices.loftware.com/">
<parentFolderFQN><!-- Replace with FQN of a folder --
></parentFolderFQN>

1160 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

</ns2:getDocumentNames>
</soap:Body>

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
The response includes one additionalData element for each label template, form, layout, image,
reusable object, application, business rule, or workflow template in the folder, and one result
element with data about the folder itself.
<ns2:getDocumentNamesResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false]">
<additionalData
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns2:lwDocumentDto">
<id>...</id>
<name>...</name>
<fullyQualifiedName>...</fullyQualifiedName>
<docType>...</docType>
<documentDpi>...</documentDpi>
<height>...</height>
<printBackgroundFill>...</printBackgroundFil
l>
<printRotation>...</printRotation>
<width>...</width>
</additionalData>
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:type="ns2:lwFolderDto">
<id>...</id>
<name>...</name>
<fullyQualifiedName>...</fullyQualifiedName>
</result>
</return>
</ns2:getDocumentNamesResponse>
Syntax Tips
Additional information is available about the following items.
lwFolderDto
This complex element contains data describing a folder in a Spectrum environment. It can
include the following elements.
Element Type Description
id long The ID of the folder.

Loftware Spectrum 3.0.1 User Guide 1161


Configuring and Administering

Element Type Description


name string The name of the folder.
fullyQualifiedName string The fully-qualified name of the folder.
lwDocumentDto
This complex element contains data describing an object such as a label template, form,
layout, image, reusable object, application, business rule, or workflow template. It can
include the following elements.
Element Type Description
id long The ID of the object.
name string The name of the object. To refer
to a specific version of a
version-controlled object,
append a colon followed by the
version number to the end of
the object name.
fullyQualifiedName string The fully-qualified name of the
object.
backgroundFillColor See the backgroundFillColor
entry that follows for more
information.
This element is not included in
responses to
getDocumentName.
currentState string For objects that are not version
controlled, the value is typically
SAVED, but may also be
EDITING or FINISHED.
For objects that are version
controlled, the value is usually
either CHECKED_IN or
CHECKED_OUT, but may
also be FINISHED.
This element is not included in
responses to
getDocumentName.

1162 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Element Type Description


currentWorkingVersionNumber string For a version controlled object,
the version number.
This element is applicable only
to version-controlled objects.
For more information, see "
Managing a Version-Controlled
Environment" on page 701.
This element is not included in
responses to
getDocumentName.
docType documentTypeEnum The type of object.
The value must be one of the
following:
DATAENTRY (form)
DATASOURCE (business rule)
DOCUMENT (label template)
IMAGE
LAYOUT
REUSABLEOBJECT
UNKNOWN (if the object
type cannot be determined)
documentDpi int The resolution in dots per inch
that objects on the label should
be printed. For more
information, see Document
DPI in "Label Template
Properties" on page 273.
fieldNames string The names of fields in the label
template.
This element is not included in
responses to
getDocumentName.
fontClassifier string The type of fonts to be used on
the label. For more information,
see Font Category in "Label
Template Properties" on page
273.
This element is not included in
responses to
getDocumentName.

Loftware Spectrum 3.0.1 User Guide 1163


Configuring and Administering

Element Type Description


height long The vertical span of the printed
label. For more information, see
Height in "Label Template
Properties" on page 273.
majorVersion int This element is applicable only
to version-controlled objects.
For more information, see "
Managing a Version-Controlled
Environment" on page 701.
This element is not included in
responses to
getDocumentName.
minorVersion int This element is applicable only
to version-controlled objects.
For more information, see "
Managing a Version-Controlled
Environment" on page 701.
This element is not included in
responses to
getDocumentName.
printBackgroundFill boolean Whether the fill color is
specified in
backgroundFillColor is
printed. For more information,
see Print Fill in "Label
Template Properties" on page
273.
printRotation int The orientation of the printed
label relative to the print stock.
The value should be one of the
following:
0
90
180
270

1164 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Element Type Description


shape shapeEnum The appearance of the outside
edge of the printed label.
The value must be one of the
following:
RECTANGLE
ROUNDED_RECTANGLE
UNKNOWN
This element is not included in
responses to
getDocumentName.
width long The horizontal span of the
printed label. For more
information, see Width in "Label
Template Properties" on page
273.
backgroundFillColor
This complex element is used within an lwDocumentDto element and contains data
describing the background color, also known as the fill color, for a label template, form,
layout, image, reusable object, application, business rule, or workflow template.
Note: Color printing is possible only if supported by the device and device
driver.
Element Type Description
blueValue int The two-digit value for the blue portion of an RGB color value.
greenValue int The two-digit value for the green portion of an RGB color value.
opacityValue int The opacity of the fill color. The value should be one of the
following:
0 (No fill)
100 (Solid fill)
redValue int The two-digit value for the red portion of an RGB color value.
parentFolderFQN
The fully-qualified name of a folder in your Spectrum environment.
getJobStatus Function for Web Services Integration

Given a print job ID (such as 10000160), this function returns the status of the print job.
Tip: The submitJobRequest function returns a long value representing a print
job ID, which you can reuse in the getJobStatus function.

Loftware Spectrum 3.0.1 User Guide 1165


Configuring and Administering

Important! Content in a Web Services integration is case sensitive. This includes


names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
Replace the comment between the jobID tags with the long value for a print job ID for a print
job for which you want to obtain the status.
<soap:Body>
<ns2:getJobStatus
xmlns:ns2="http://published.webservices.loftware.com/">
<jobId><!-- Replace with a print job ID --></jobId>
</ns2:getJobStatus>
</soap:Body>

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
The response includes one result element with a requestError that includes the print job ID,
such as 10000160.
<ns2:getJobStatusResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false] ">
<requestError>Unable to locate the status for job with
id ...</requestError>
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xsi:type="xs:string">Completed
</result>
</return>
</ns2:getJobStatusResponse>

getTagCategories Function for Web Services Integration

This function returns a list of the tags categories that exist in your Spectrum environment.
Optionally, the tag values associated with each tag category can also be returned.
Important! Content in a Web Services integration is case sensitive. This includes
names, attributes, and values.

1166 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
To return the tag categories and the tag values associated with each tag category, enter true for
loadTagValues. To return only the tag category names, enter false for loadTagValues.
<soap:Body>
<ns2:getTagCategories
xmlns:ns2="http://published.webservices.loftware.com/">
<loadTagValues>[true|false]</loadTagValues>
</ns2:getTagCategories>
</soap:Body>

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
<ns2:getTagCategoriesResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="true">
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"
xsi:type="ns2:lwTagCategories">
<categories>
<id>...</id>
<name>...</name>
<!-- tagValues elements are
included only if loadTagValues
is set to true in the SOAP
Request. -->
<tagValues>
<id>...</id>
<name>...</name>
<categoryId>...</cate
goryId>
<sortOrder>...</sortO
rder>
</tagValues>

Loftware Spectrum 3.0.1 User Guide 1167


Configuring and Administering

<!-- An additional tagValues


element is added for each tag
value associated with the tag
category. --->
</categories>
<!-- An additional categories element is
added for each tag category in the Spectrum
environment. --->
</result>
</return>
</ns2:getTagCategoriesResponse>
Example: Response to a Request for Tag Categories
The following is an example of a response to a getTagCategories request in which
loadTagValues was set to true.
<ns2:getTagCategoriesResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="true">
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"
xsi:type="ns2:lwTagCategories">
<categories>
<id>10000000</id>
<name>TestTagCategory</name>
<tagValues>
<id>10000010</id>
<name>TestTagValue</n
ame>
<categoryId>10000000<
/categoryId>
<sortOrder>0</sortOrd
er>
</tagValues>
<tagValues>
<id>10000011</id>
<name>val2</name>
<categoryId>10000000<
/categoryId>
<sortOrder>1</sortOrd
er>
</tagValues>
</categories>
<categories>
<id>100000</id>
<name>Source</name>

1168 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

<tagValues>
<id>1000001</id>
<name>System</name>
<categoryId>100000</c
ategoryId>
<sortOrder>1</sortOrd
er>
</tagValues>
<tagValues>
<id>1000002</id>
<name>LPS</name>
<categoryId>100000</c
ategoryId>
<sortOrder>2</sortOrd
er>
</tagValues>
<tagValues>
<id>1000003</id>
<name>Spectrum</name>
<categoryId>100000</c
ategoryId>
<sortOrder>3</sortOrd
er>
</tagValues>
<tagValues>
<id>1000004</id>
<name>Unknown</name>
<categoryId>100000</c
ategoryId>
<sortOrder>4</sortOrd
er>
</tagValues>
</categories>
</result>
</return>
</ns2:getTagCategoriesResponse>
Syntax Tips
Additional information is available about the following items.
lwTagCategories
This complex element contains data describing all tag categories in the Spectrum
environment. Depending on the SOAP Request, the tag values associated with each tag
category may also be included.
categories

Loftware Spectrum 3.0.1 User Guide 1169


Configuring and Administering

This complex element contains data describing one tag category. In the SOAP Response, an
instance of this element is included for each tag category in the Spectrum environment.
Element Type Description
id long The ID of the tag category.
name string The name of the tag category.
tagValues See the tagValues entry that follows for more information.
tagValues
Each instance of this complex element describes one tag value associated with a tag category.
If loadTagValues is set to true in getTagCategories in the SOAP Request, then the
SOAP Response includes an instance of this complex element for each tag value within a
categories element. If loadTagValues is set to false, then tagValues elements are not
included in the SOAP Response.
Element Type Description
id long The ID of the tag value.
name string The name of the tag value.
categoryId long The ID of the tag category with which this tag value is associated.
sortOrder int The order in which this tag value is displayed when the tag values
associated with this tag category are displayed in the Spectrum user
interface.
getVersion Function for Web Services Integration

This function returns the version number of the SOAP API that you are using. You can use this
command to verify that the API is running. This function does not have any parameters for
which you must provide information.
Important! Content in a Web Services integration is case sensitive. This includes
names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
<soap:Body>
<tns:getVersion
xmlns:tns="http://published.webservices.loftware.com/" />
</soap:Body>

1170 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
The response includes one result element containing a string value representing a SOAP API
version number, such as 2.1, in place of the ellipsis.
<ns2:getVersionResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false]">
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xsi:type="xs:string">...
</result>
</return>
</ns2:getVersionResponse>

submitJobRequest Function for Web Services Integration

Given the parameters for a print job request, this function submits the print job for processing.
The response includes the print job ID number.
Important! Content in a Web Services integration is case sensitive. This includes
names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.
<soap:Body>
<ns2:submitJobRequest
xmlns:ns2="http://published.webservices.loftware.com/">
<jobRequest>
<clientCode>SoapSampleApp</clientCode>
<folderUrl><!-- Replace with the FQN for the
folder containing the label template --
></folderUrl>
<jobData>
<entryList>
<name>...</name>
<value>...</value>

Loftware Spectrum 3.0.1 User Guide 1171


Configuring and Administering

</entryList>
<!-- Add more entryList elements
as needed to supply data to
Spectrum. -->
<!-- You can nest entryList
elements. Notice that parent
entryList elements do not
include value.
-->
<entryList>
<name>...</name>
<entryList>
<name>...
</name>
<value>..
.</value>
</entryList>
</entryList>
</jobData>
</jobRequest>
</ns2:submitJobRequest>
</soap:Body>
Example: A Simple Print Request
The following example is for a simple print request for a label template with no Prompt fields.
<soap:Body>
<ns2:submitJobRequest
xmlns:ns2="http://published.webservices.loftware.com/">
<jobRequest>
<clientCode>SoapSampleApp</clientCode>
<folderUrl>/Default/Label
Templates</folderUrl>
<jobData>
<entryList>
<name>!DESTINATION!</
name>
<value>/Default/IP_
ZPL_II</value>
</entryList>
<entryList>
<name>!DOCUMENT_
URL!</name>

1172 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

<value>/Default/Label
Templates/test_
text</value>
</entryList>
<!-- In the following nested
entryList, /Body/fieldname is
configured. Notice that parent
entryList elements do not
include value. You can nest more
entryList elements as needed.
-->
<entryList>
<name>Body</name>
<entryList>
<name>fie
ldname</n
ame>
<value>Te
xt
Value</va
lue>
</entryList>
</entryList>
<!-- Add more entryList elements
as needed to supply data to
Spectrum -->
</jobData>
</jobRequest>
</ns2:submitJobRequest>
</soap:Body>

Tip: If you are creating a more complex print request, refer to the Spectrum
WSDL for additional detail about the syntax. For more information, see the
"Spectrum WSDL" section in "SOAP API for Web Services Integration" on page
1139.

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
The response includes one result element that includes a long value representing the print job
ID, such as 10000160.
<ns2:submitJobRequestResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false]">

Loftware Spectrum 3.0.1 User Guide 1173


Configuring and Administering

<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xsi:type="xs:long">...
</result>
</return>
</ns2:submitJobRequestResponse>
Syntax Tips
Additional information is available about the following items.
jobRequest
This complex element can include the following elements.
Element Type Description
clientCode string
folderUrl string
jobData See the jobData entry that follows for more information.
jobData
This complex element is used within a jobRequest element and contains entryList elements
that provide the parameters for the print job. You can include as many entryList elements as
needed, and you can nest entryList elements.
Element Type Description
name string
value string If you nest entryList elements, do not include a value in the parent
entryList element.
updloadImage Function for Web Services Integration

Given the byte array representing an image, import that image into the Spectrum environment.
Note: Spectrum supports images that use an RGB color model and one of the
following file formats: PNG, GIF, JPG, BMP, or PCX.

Important! Content in a Web Services integration is case sensitive. This includes


names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.

SOAP Request Body


The following is a template for a Body that you can include in a SOAP Request. For more
information, see "SOAP API for Web Services Integration" on page 1139.

1174 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Replace the comment in the parentFolderFQN element with the fully-qualified name (FQN)
of the folder in your Spectrum environment where you want to save the image, and the
comment in the name element with the name to be used for the image in the Spectrum
environment. Replace the comment in the data element with a byte array representing the
image.
Important: When importing an image, it is recommended that you save it to the
Images\User Images folder. An image that will be used only as part of a
Variable Image may be saved to any folder in Spectrum. Otherwise, for an image to
be available to add to a label template, you must save it to the Images\User
Images folder, the Images\Stock Images folder, or a subfolder of one of those
folders.

Note: Spectrum does not differentiate between images with different file name
extensions, so you must give each image that you import a name that is unique
within the folder where it is saved.
<soap:Body>
<ns2:updloadImage
xmlns:ns2="http://published.webservices.loftware.com/">
<parentFolderFQN><!-- Replace with FQN of a folder --
></parentFolderFQN>
<name><!-- Replace with the name for the image in Spectrum --
></name>
<data><!-- Replace with the byte array representing the image --
></data>

</ns2:updloadImage>
</soap:Body>

SOAP Response Function


The following is the structure of the Response Function expected as part of a SOAP Response
received in response to the preceding type of SOAP Request. Any ellipses indicate expected
data. For more information, see "SOAP API for Web Services Integration" on page 1139.
<ns2:updloadImageResponse
xmlns:ns2="http://published.webservices.loftware.com/">
<return success="[true|false]"/>
</ns2:updloadImageResponse>
Syntax Tips
Additional information is available about the following items.
data
A byte array representing an image. The type for this element is base64binary.
name
The name by which the image will be identified in your Spectrum environment.

Loftware Spectrum 3.0.1 User Guide 1175


Configuring and Administering

Note: The following characters are permitted in the name: letters, numbers,
parentheses, square brackets, ampersands, asterisks, plus signs, equal signs,
commas, semi-colons, and tildes. Additionally, the following characters are
permitted but cannot begin or end the name: spaces, double quotes, single
quotes, hyphens, underscores, periods, and grave accents. Names are limited to
255 characters.
parentFolderFQN
The fully-qualified name of a folder in your Spectrum environment.

1176 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Categorize an Integration
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
To assign a tag to an integration in Integration Management, use this procedure.

1. In Integration Management, click File > Open or click the Open button in the
toolbar.
2. In the Open dialog box, select an integration and then click OK.
3. In the right column, click the Tags title bar to expand the pane.
4. Perform one or more of the following actions:
n To add a tag to the object, click . In the Add Tags dialog box, select a
category and a value for the tag, and then click OK.
Note: The list of values available is dependent on the category
selected.
n To change the value of a tag that has been assigned to the object, click the row for
that tag, and then click . Select a value for the tag, and then click OK.
n To remove a tag from the object, click the row for that tag, and then click .
When prompted, click Yes to delete the tag.
Tip: Deleting a tag from a device does not delete the tag category
from Spectrum. You can add a new tag to the device and select that
same category again.

5. Click File > Save or click the Save button in the toolbar.
Built-in Tag Category: Source

A built-in tag category named Source is included with Spectrum. It is designed for use in a tag
that characterizes the origin of an object. If an object supports tags, then a tag with a category of
Source and a value of Spectrum is automatically assigned to it the first time that the object is
saved.
Value Purpose
System The object was built in to Spectrum.
LPS The object was created in Loftware Print Server (LPS) and was migrated to
Spectrum.
Spectrum The object was created in Spectrum.
Unknown The origin of the object is unknown.

Loftware Spectrum 3.0.1 User Guide 1177


Configuring and Administering

Delete an Integration
You can delete an integration in Spectrum.
1. Click Integration Management.
2. Click File > Open or click the Open button in the toolbar.
3. In the Open dialog box, select an integration and click OK.
4. Click File > Delete.
The integration is removed from your Spectrum environment.
Tip: You can also delete an integration from within an Open dialog box or from
within the Integrations pane by right-clicking the integration and selecting
Delete.

1178 Loftware Spectrum 3.0.1 User Guide


Integrating with Other Applications

Integration Management Page


Click Integration Management at the top of the LoftwareSpectrum window to display
options for configuring integration with other applications. By configuring integration options,
you can route print processes initiated by users in other applications so that they are processed
and printed using Spectrum. You can integrate Spectrum with Oracle or SAP ERP, or you can
use file drop to integrate with other applications. You can create multiple integrations for each
application.
Note: Web Services integrations are not managed by using the Integration Management
page in Spectrum.

Menu Bar and Toolbar


The following commands are available from the toolbar or the menus in Integration
Management.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name: spaces,
double quotes, single quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum interprets a name.
File Menu Commands
Toolbar
Command Description
Icon
New Create a new integration of a specific type.
Integration
Open Open an existing integration.
Close Close the current integration.

Close All Close all integrations that you have open in Integration
Management.
Save Save the integration.
Save As Save a copy of the integration under a different name.
Refresh Update the displayed data.

Delete Delete the displayed integration.

Loftware Spectrum 3.0.1 User Guide 1179


Configuring and Administering

Edit Menu Commands


Toolbar
Command Description
Icon
Cancel/Undo Undo the most recent change to the integration that you are
Edits editing.

Integrations Tree
By default, the Integrations tree is hidden. You can display it by clicking the arrow button
along the left edge of the Integration Management page. The Integrations tree displays
integrations that have been created. You can double-click an existing integration to open it. You
can right-click an integration to move or delete it.
Tip: You can move an object from one folder to another by dragging the object
from one folder and dropping it into another. Alternatively, you can right-click an
object, select Move to, and select a folder to which to move it.

1180 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Implementing Business Logic


LoftwareSpectrum allows advanced administrators to design business rules and processes that
provide enhanced flexibility and allow you to incorporate business logic. For example, you can
define business rules to dynamically select devices and label templates, populate label data, apply
conditional formatting to labels, and release or cancel specific print jobs in a device queue.
You can add logic directly to forms, streamlining the on demand print process. You can improve
accuracy and reduce the need for data entry because the software can determine which label
templates to use, which devices to print to, and which validation rules to apply.

What Processes and Business Rules Are


A process is an object in Spectrum that binds together all of the components to be used when
responding to a print request. Among other items, those components may include a label
template, layout, device, and a business rule to be used when processing a print request.
A business rule is a collection of component sets or business rule components that can be used
to incorporate logic or to add, change, or remove data or print parameters after a print request is
submitted but before printing occurs. Business rules are similar to form rules, but provide more
robust functionality. Business rules can be designed using the Configurator or programmed using
XML.

What Processes and Business Rules Can Do


Processes provide you with opportunities to override job properties and change the handling of
a job by incorporating business rules. You can use processes and business rules to handle
incoming jobs differently depending on their properties or other factors, or to enforce required
settings.
If you are migrating from a Loftware Print Server (LPS) environment, you can use processes and
business rules to perform the same functions as LPS Connector filters.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

Loftware Spectrum 3.0.1 User Guide 1181


Configuring and Administering

How Processes Work


When you submit a print request by using an integration or on demand print, a process is run. By
default, the process binds together the design and data sources from a label template and the
components from a business rule if one is specified. Additionally, the label template, business
rule, or the process itself may specify a layout. The process routes the output to a device to
produce printed labels.

Spectrum comes with a default process that you can use called the Generic Document Process.
This process does not apply any business rules or otherwise alter the print request. If you want
to override properties of print requests or apply business rules, you can create new processes
and configure them to meet your needs.
A process can be selected either when configuring an integration or when printing on demand:
n When configuring an integration in Integration Management, an administrator must
select a process to be run automatically whenever that integration is used to submit a
print job created in another application.
n When printing on demand in Print, a Data Provider may select a process to run instead of
selecting a label template. When this approach is used, either the process or its business
rule must specify a label template.
Important! It is recommended that you do not alter the Generic Document
Process. This process is used when a Data Provider selects a label template in
Print and uses it to print labels. You can also associate it with integrations if you
do not want to apply a business rule.

1182 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Getting Started with Business Rules in XML, Processes, and


Integrations
Before you begin, you must research the decision points, constraints, and sources of data that
impact labels and printing in your scenario. Based on your research, determine what approach to
use and what components to create.
If you have identified a need for business logic beyond what can easily be incorporated into data
sources in a label template, then you should consider using processes and business rules to fulfill
that need. For an overview of the capabilities of business rules and processes, see
"Implementing Business Logic" on page 1181.
If your scenario requires a custom process but does not require a business rule, proceed to the
"Create a Process" section. Otherwise, proceed to the following section.

Create a Business Rule


If you have identified a need for business logic beyond what can be incorporated into data
sources, create a business rule to provide what you need. It is recommended that you write a
business rule in a text editor intended for use with extensible markup language (XML), and then
copy and paste the business rule into Spectrum.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.
You can use the examples of business rules provided in this guide as a starting point for creating
a business rule to meet your needs. For more information, see "Examples of Business Rules
Using XML" on page 1210.
Tip: If you are migrating from an environment in which a Loftware Connector
filter was used, you can achieve the same functionality by using business rules. For
more information, see "Business Rules to Replace Loftware Connector Filters" on
page 1209.
If you need to incorporate different functionality than what is shown in the examples, refer to
the Business Rule Reference for information about creating and configuring business rule
components. For more information, see "Business Rule Reference" on page 1229.
Important! You should familiarize yourself with how to specify whether Spectrum
should look for a value in the job, in the process, in the system properties, or in a
row of data from a database. For more information, see "Location Prefixes" on page
1359.
When you are ready to copy and paste the business rule that you have created into Spectrum, see
"Create a Business Rule in XML" on page 1189.

Loftware Spectrum 3.0.1 User Guide 1183


Configuring and Administering

Create a Process
If you have created a business rule or if you want to override the label template, layout, or
device to be used when processing a print request, you must create a process to run the business
rule or to specify overriding values. For each value to which that the process refers, consider the
impact of the location prefix and the ability of the business rule to override values in the
process.
Important! You should familiarize yourself with how to specify whether Spectrum
should look for a value in the job, in the process, in the system properties, or in a
row of data from a database. For more information, see "Location Prefixes" on page
1359.

Note: If the process that you create is intended to be run by a Data Provider in
Print rather than by using an integration, you must ensure that either the process
or the business rule run by the process specifies a label template to be used.
For more information, see "Create a Simple Process" on page 1192, "Create a Generator
Process" on page 1194, or "Create a Reprint Process" on page 1196.

Create an Integration
Unless the process that you created is intended to be run only by a Data Provider 1 in Print,
you must create an integration so that you can route print requests initiated by users in Oracle,
SAP, or other applications so that they are processed and printed using Spectrum.
On the Configuration tab of the integration that you create, for the Default Process select the
process that you have created. For more information, see "Integrating with Other Applications"
on page 1042.

Test the Business Rule, Process, and Integration


After you have completed any configuration that includes a business rule, process, or
integration, you should test the result to ensure that the output produced contains the expected
data, is formatted correctly, and is routed to the intended device.
You must also ensure that users who are expected to run or to view the status of a process and
any associated business rule are granted the role-based permissions and the object access
permissions they require. This includes not only permissions to access processes and business
rules, but also permissions to access objects with which those processes and business rules
interact. For more information, see "Configuring Access for Processes and Business Rules" on
page 1186.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

1184 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Getting Started with Workflow Templates


In LoftwareSpectrum, you can use workflows to track and manage the creation and
modification of label templates, while automating the approval and publishing process.
A workflow template is a collection of steps1 and possible progressions2 defined by XML
that can be applied to a label template to create an instance of the workflow. The workflow
template can call Event integrations (for example, an Event Email Producer) to extend the
capabilities of workflow outside of Spectrum.
A workflow template is created in Process Design, which can then be applied to a label
template in Design . Application Architect is used to create a custom front-end interface for the
workflow. You may have multiple workflow templates in your Spectrum environment.

1The states an item goes through when applied to a workflow.


2The transitions between the steps in a workflow.

Loftware Spectrum 3.0.1 User Guide 1185


Configuring and Administering

Configuring Access for Processes and Business Rules


You must ensure that users who are expected to run a process or business rule are granted the
permissions they require. This includes not only permissions to access processes and business
rules, but also permissions to access objects with which a process or a business rule interacts.

Who is the user who runs a process or a business rule?


Processes and business rules can be run indirectly, but there must always be a user account
associated with the running of a process or a business rule.
n For a process specified by an integration, the user for that process and any business rule
that it runs is the Run As user for the integration specified in Integration
Management. Such users should have the Integration role or its equivalent.
n For a process run as on-demand print job, the user for that process and the business rule
that it runs is the user who is printing the label by using Print. Such users should have
the Document Printer 1 role or its equivalent.

What are the basic permissions required?


At a minimum, the following permissions are required to use processes and run business rules.
However, because processes and business rules may perform actions on other objects, additional
permissions are typically required.
n To use a process, a user must have Read and Print permissions for Processes.
n If a business rule is associated with the process, then the user must also have Read and
Print permission for Documents.
n To generate, view, and print status information about a job, a user must have Create,
Read, and Print permissions for Jobs.

What other permissions are required?


If the process or the business rule performs actions on other objects, then the user who runs the
process must have the necessary permissions to perform those actions on those objects. Most
commonly, Read and Print permissions are required for folders containing objects such as label
templates, layouts, and images.

1Person or process that acts as a Data Provider, entering data into a form or other data entry view for a document that was
configured by a Document Designer. Also a default role in Spectrum.

1186 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Important: Access in Spectrum requires both role-based permissions1 and object access
permissions2. For a user to be able to perform an action on an object, the user
must directly or indirectly be assigned a role that grants permission to perform that
action on that type of object. Additionally, that particular object must either be in a
folder that directly or indirectly grants the user access permission to perform that
action on that type of object or else that particular object must directly or
indirectly grant permission to the user to perform that action. There are several
permissions that are only role-based or only object-based and do not require a
corresponding permission. Examples include List permission for Folders and all
permissions for ModelStatus (AutoRefresh), Tag Categories, and Devices.
For more information about configuring users and groups and about granting access to objects,
see "Getting Started with Users and Permissions" on page 569.

1Permissions in Spectrum that are assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned. A user must have both a role-based permission and the corresponding
object access permission to perform an action on an object.
2Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

Loftware Spectrum 3.0.1 User Guide 1187


Configuring and Administering

Creating Objects to Support Business Logic


You can create objects in Spectrum to support business logic.

1188 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Create a Business Rule in XML

Before you begin creating a business rule for use with LoftwareSpectrum, you should identify
the decision points, constraints, and sources of data that impact labels and printing. If you
identify a need for business logic beyond what can easily be incorporated into data sources in a
label template, then you may need a business rule. You can use the information that you have
collected about your organization's procedures for printing labels to write business rules to
support those procedures.
You can create a simple business rule by using the Configurator 1, or you can perform
preliminary development of a business rule in Configurator and then switch to the XML Editor
if necessary. The XML Editor allows you to program the business rule in extensible markup
language (XML). However, you must complete any development for which you intend to use
Configurator before you begin editing the business rule in the XML Editor. For more
information, see "Create a Business Rule in Configurator" on page 440.

Tip: If you are writing a business rule or a portion of a business rule in XML, it is
recommended that you write it in a text editor intended for use with XML, and
then copy and paste the business rule into Spectrum. For information about
business rule components and the syntax of business rules, see "Business Rule
Reference" on page 1229.
To add a business rule to Spectrum, do the following.
1. If you want to perform preliminary development by using the Configurator, you must do
so before you begin to edit the business rule in XML. To perform preliminary
development by using the Configurator, see "Create a Business Rule in Configurator" on
page 440.
2. If you do not want to perform preliminary development by using the Configurator, click
Process Design.
a. Click File > New > Business Rule or click the New Business Rule button
in the toolbar to create a new business rule.
b. In the Properties pane, enter a Description of the business rule, including its
purpose.
3. When you are ready to program the business rule by using XML, in Process Design,
click the XML section.
4. Click Enable XML Editor, and then click OK to activate the XML Editor.
Important! After you enable the XML Editor, you can edit the business
rule in XML. However, you can no longer edit it by using the Configurator.
This change cannot be undone.

1In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.

Loftware Spectrum 3.0.1 User Guide 1189


Configuring and Administering

5. If you performed preliminary development by using the Configurator, but also used a text
editor to program XML to add to the business rule, do the following.
a. In the text editor in which you created XML to add to the business rule, copy the
XML.
b. In the XML Editor in Spectrum, position the insertion point where you want to
add the XMLthat you copied from the text editor.
c. Right click, and select Paste.
6. If you did not use the Configurator, but did use a text editor to program XML to add to
the business rule, do the following.
a. In the text editor in which you created XML for the business rule, copy the XML.
b. In the XML Editor in Spectrum, select the text of the placeholder business rule
that you are going to replace.
c. Right click, and select Paste.
7. If you did not use either the Configurator or a text editor, in the XML Editor inSpectrum
program the business rule by using XML. For information about business rule
components and the syntax of business rules, see "Business Rule Reference" on page
1229.
8. To neaten the indentation and spacing of the business rule, click Format XML.
9. To check whether the XML is properly formatted, click Validate Business Rule.
10. Click File > Save or click the Save button in the toolbar.
11. If the business rule has not previously been saved, in the left pane of the Save Business
Rule dialog box, click the folder in which you want to save the business rule. You can
double-click a folder to display subfolders.
a. Enter a name for the business rule in the Business Rule Name box.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses,
square brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-
colons, and tildes. Additionally, the following characters are permitted but cannot
begin or end the name: spaces, double quotes, single quotes, hyphens,
underscores, periods, and grave accents. For letters, the case that you specify is
displayed, but case is ignored when Spectrum interprets a name.
b. Click OK to save the business rule. If you have omitted any items for which
default values exist, they are automatically added to the business rule when you
save it.
Tip: Because default values may be added to a business rule when
you save it in Spectrum, after saving the business rule it is
recommended that you copy and paste it back into the text editor
that you used to create it so that you have the most recent version
available in the editor if you need to make changes.

1190 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Note: The first time you save a business rule to a version-controlled folder, the
business rule is automatically checked out. When you are finished editing it, be
sure to click File > Check In to save and check in your version, and make it
available for others to check out.

Next Steps

Create a process to run the business rule and receive data from it. For more information, see
"Create a Simple Process" on page 1192, "Create a Generator Process" on page 1194, or "Create
a Reprint Process" on page 1196.

Loftware Spectrum 3.0.1 User Guide 1191


Configuring and Administering

Create a Simple Process

In LoftwareSpectrum, you can configure a simple process to override job properties and
change the handling of a job by incorporating a business rule. You can use a simple process and a
business rule to handle incoming jobs differently depending on conditions, enforce required
settings, perform data retrieval from a database, substitute different printing and formatting
attributes, change paths, or repeat execution by using loops.
Note: If you want business logic to be implemented when the process is run, you
should first create a business rule that the process can run. For more information,
see "Create a Business Rule in XML" on page 1189.
To create a simple process that has the potential to run a business rule and to alter print
requests, do the following.
1. Click Process Design.
2. Click File > New > Process or click the New Process button in the toolbar to
create a new process.
3. In the Properties pane, enter a Description for the process.
4. For Process Type, select Simple.
5. Specify the path to the business rule, the path to the label template, and the path to the
device to be used with this process. For any of these properties for which you do not
want to override the value specified in the job, accept the default value.
Important: If you override the path to the label template in the Document
field, it is typically recommended that you enter the same path in the Data
Entry field. Also, in the Layout field you should either enter #{!LAYOUT_URL}
to use the layout associated with the label template specified in the
Document field or else explicitly specify the path to a layout.

6. Click File > Save or click the Save button in the toolbar.

1192 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

7. In the Save Process As dialog box, enter a Process Name.


Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Note: If users who print labels are expected to select the process, use a
name that will have meaning for them. The description is not displayed to a
Data Provider 1 in Print, only to administrators who have access to
Process Design or Access Control.
8. In the left pane of the Save Process As dialog box, click the folder in which you want to
save the process. You can double-click a folder to display subfolders.
9.
Click OK to save the process.
Note: The first time you save a process to a version-controlled folder, the process
is automatically checked out. When you are finished editing it, be sure to click File
> Check In to save and check in your version, and make it available for others to
check out.

Tip: For information about the default values in processes, see "Simple Process
Properties" on page 1378.

Note: Any overrides that you specify in the process may in turn be overridden by
the business rule.

Next Steps

A process can be run automatically whenever a particular integration is used to submit a print job
created in another application, or a process can be manually selected by a Data Provider when
printing on-demand in Spectrum. To configure an integration to run this process, see
"Integrating with Other Applications" on page 1042.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 1193


Configuring and Administering

Create a Generator Process

In LoftwareSpectrum, you can configure a generator process to enable one print request to
generate additional print requests that use the same label template, another label template, or
multiple label templates. This can be useful for situations in which a set of related printed labels
is required for each job.
Note: If you want business logic to be implemented when the process is run, you
should first create a business rule that the process can run. For more information,
see "Create a Business Rule in XML" on page 1189.
To create a generator process that has the potential to run a business rule and to alter print
requests, do the following.
1. Click Process Design.
2. Click File > New > Process or click the New Process button in the toolbar to
create a new process.
3. In the Properties pane, enter a Description for the process.
4. For Process Type, select Generator.
5. For Job Source, you must specify the path to a business rule that includes a dataPipe
business rule component.
6. Click File > Save or click the Save button in the toolbar.
7. In the Save Process As dialog box, enter a Process Name.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Note: If users who print labels are expected to select the process, use a
name that will have meaning for them. The description is not displayed to a
Data Provider 1 in Print, only to administrators who have access to
Process Design or Access Control.
8.
In the left pane of the Save Process dialog box, click the folder in which you want to
save the process. You can double-click a folder to display subfolders.
9. Click OK to save the process.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

1194 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Note: The first time you save a process to a version-controlled folder, the process
is automatically checked out. When you are finished editing it, be sure to click File
> Check In to save and check in your version, and make it available for others to
check out.

Tip: For information about the default values in processes, see "Generator Process
Properties" on page 1383.

Note: Any overrides that you specify in the process may in turn be overridden by
the business rule or job source.

Next Steps

A process can be run automatically whenever a particular integration is used to submit a print job
created in another application, or a process can be manually selected by a Data Provider when
printing on-demand in Spectrum. To configure an integration to run this process, see
"Integrating with Other Applications" on page 1042.

Loftware Spectrum 3.0.1 User Guide 1195


Configuring and Administering

Create a Reprint Process

In LoftwareSpectrum, you can configure a reprint process to enable one print request to print
the same label template multiple times. A Reprint process will print an image of the label that
was just printed successfully and store it in a configurable file system location.
Note: If you want business logic to be implemented when the process is run, you
should first create a business rule that the process can run. For more information,
see "Create a Business Rule in XML" on page 1189.
To create a reprint process that has the potential to run a business rule and to alter print
requests, do the following.
1. Click Process Design.
2. Click File > New > Process or click the New Process button in the toolbar to
create a new process.
3. In the Properties pane, enter a Description for the process.
4. For Process Type, select Reprint.
5. Specify the path to the business rule and the path to the device to be used with this
process. For any of these properties for which you do not want to override the value
specified in the job, accept the default value.
6. Click File > Save or click the Save button in the toolbar.
7. In the Save Process As dialog box, enter a Process Name.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
Note: If users who print labels are expected to select the process, use a
name that will have meaning for them. The description is not displayed to a
Data Provider 1 in Print, only to administrators who have access to
Process Design or Access Control.
8. In the left pane of the Save Process dialog box, click the folder in which you want to
save the process. You can double-click a folder to display subfolders.
9. Click OK to save the process.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

1196 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Note: The first time you save a process to a version-controlled folder, the process
is automatically checked out. When you are finished editing it, be sure to click File
> Check In to save and check in your version, and make it available for others to
check out.

Tip: For information about the default values in processes, see " Reprint Process
Properties" on page 1387.

Note: Any overrides that you specify in the process may in turn be overridden by
the business rule or job source.

Next Steps

A process can be run automatically whenever a particular integration is used to submit a print job
created in another application, or a process can be manually selected by a Data Provider when
printing on-demand in Spectrum. To configure an integration to run this process, see
"Integrating with Other Applications" on page 1042.

Loftware Spectrum 3.0.1 User Guide 1197


Configuring and Administering

Create a Workflow Template

Tip: It is recommended that you write a workflow template in a text editor


intended for use with extensible markup language (XML), and then copy and paste
the workflow template into Spectrum.
To add a workflow template to Spectrum, do the following.
1. Click Process Design.

2. Click File > New > Workflow Template or click the New Workflow Template
button in the toolbar to create a new workflow template.
3. In the Properties pane, enter a Description for the workflow template, including its
purpose.
4. In the text editor in which you created the workflow template, copy the workflow
template.
5. In Spectrum, select the text of the placeholder workflow template that you are going to
replace, right click, and select Paste.
6. To neaten the indentation and spacing of the workflow template, click Format XML.
7. To check whether the XML is properly formatted, click Validate Workflow XML.
8. Click File > Save or click the Save button in the toolbar.
9. In the Save Workflow Template As dialog box, enter a Workflow Template Name.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name:
spaces, double quotes, single quotes, hyphens, underscores, periods, and grave accents.
For letters, the case that you specify is displayed, but case is ignored when Spectrum
interprets a name.
10. In the left pane of the Save Workflow Template dialog box, click the folder in which
you want to save the workflow template. You can double-click a folder to display
subfolders.
11. Click OK to save the workflow template. If you have omitted any items for which
default values exist, they are automatically added to the workflow template when you
save it.
Note: The first time you save a workflow to a version-controlled folder, the
workflow is automatically checked out. When you are finished editing it, be sure to
click File > Check In to save and check in your version, and make it available for
others to check out.

1198 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Tip: Because default values may be added to a workflow template when you save it
in Spectrum, after saving the workflow template it is recommended that you copy
and paste it back into the text editor that you used to create it so that you have the
most recent version available in the editor if you need to make changes.

Next Steps

Create event integrations for the steps and progressions. For more information, see "Event
Integration" on page 1134.

Loftware Spectrum 3.0.1 User Guide 1199


Configuring and Administering

Categorize a Process, Business Rule, or Workflow Template


In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
To assign a tag to a process, business rule, or workflow template in Process Design, use this
procedure.

1. In Process Design, click File > Open or click the Open button in the toolbar.
2. In the Open dialog box, select a process, business rule, or workflow template and then
click OK.
3. In the right column, click the Tags title bar to expand the pane.
4. Perform one or more of the following actions:
n To add a tag to the object, click . In the Add Tags dialog box, select a
category and a value for the tag, and then click OK.
Note: The list of values available is dependent on the category
selected.
n To change the value of a tag that has been assigned to the object, click the row for
that tag, and then click . Select a value for the tag, and then click OK.
n To remove a tag from the object, click the row for that tag, and then click .
When prompted, click Yes to delete the tag.
Tip: Deleting a tag from a device does not delete the tag category
from Spectrum. You can add a new tag to the device and select that
same category again.

5. Click File > Save or click the Save button in the toolbar.
Built-in Tag Category: Source

A built-in tag category named Source is included with Spectrum. It is designed for use in a tag
that characterizes the origin of an object. If an object supports tags, then a tag with a category of
Source and a value of Spectrum is automatically assigned to it the first time that the object is
saved.
Value Purpose
System The object was built in to Spectrum.
LPS The object was created in Loftware Print Server (LPS) and was migrated to
Spectrum.
Spectrum The object was created in Spectrum.
Unknown The origin of the object is unknown.

1200 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Delete a Process, Business Rule, or Workflow Template


You can delete a process, business rule, or workflow template in Spectrum.
1. Click Process Design.
2. Click File > Open or click the Open button in the toolbar.
3. In the Open dialog box, select a process, business rule, or workflow template and click
OK.
4. Click File > Delete.
The process, business rule, or workflow template is removed from your Spectrum environment.
Tip: You can also delete a process, business rule or workflow template from within
an Open dialog box or from within the Navigation pane by right-clicking the
object and selecting Delete.

Loftware Spectrum 3.0.1 User Guide 1201


Configuring and Administering

Print External Files


You can use Spectrum to print files that were created outside of Spectrum while still saving
auditing data. For example, you can configure Spectrum to print a PDF file from a public server
or URL. The file is "passed through" to the specified device for printing, without the need to
create or select a label template.
Printing external or "pass through" files requires a device configured to support pass through
files, a method of specifying the file to print, and a method of sending the print job.
1. Configure a Device
You can use the following approaches to configure a device to support printing pass through
files.
l Use an Existing Device: If you have an existing device in Spectrum that supports
native printing for the type of file you want to print, such as a PCL1 device, you can
configure that device to support pass through files. Open the device in Device
Management, click the Advanced tab, and then select the appropriate check box or
boxes under Pass Through File Types.
Important: If your device supports native printing for a file type and that
file type is selected, the file is sent to the device to be printed as is. If your
device does not support native printing for a file type and that file type is
not selected, then the file is converted to an image and sent to the device to
be printed.
l Add a Pass ThroughDevice: If you do not have an existing device in Spectrum that
supports native printing for the type of file you want to print, you can " Create a Pass
Through Device Connection" on page 814. A Pass Though device connection should
only be used when the target device supports native printing for the file type.
2. Specify a File
Once a device that supports pass through files is configured, you can use the following
approaches to specify an external file to print. These approaches add the file data to the datamap
using the key !INLINE_DOCUMENT!, which can then be used for printing.
l Browse and Select a File in Print: You can create an application with a File Selector
Form Rule which allows users to browse and select a file from outside of Spectrum.

1Printer Command Language, a printer control language from Hewlett-Packard.

1202 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

l Use a Data Source: You can configure a data source, such as a Data Entry data
source 1, Database data source 2, Alternate data source 3, or Filedata service 4 to
point to a file outside of Spectrum. For more information, see "Configuring Label Data
Sources" on page 305.
l Use an Integration: You can reference an external file as a job from an integration
inSpectrum such as Oracle, SAP BC-XOM, File Drop, and Web Services.
Note: It is recommended that you do not use SAP RFC integrations to
print external files, as the file size is bound to the current field value limit of
1000 characters.
3. Send the Print Job
After the file to print has been specified, you can use the following approaches to send the print
job to the device configured to support pass through files.
Use a Process and On-Demand Print: You can create a process and an application
l

with a Job Request Form Rule which uses the process to allow users to submit a print
request.
l Use a Process and a Business Rule: You can create a process which references a

business rule to allow users to submit a print request.


These approaches require a process with the following properties on the Configuration tab:
Property Value
Document !INLINE_DOCUMENT!
Device The full path in Spectrum for the device configured to support pass
through files.
Example
/Default/PassThroughDevice

The process must also have the following data map entries on the Data Map tab:
Name Value
!INLINE_DOCUMENT!
A location in the datamap.
Example
${/myExternalPDF/data}

1A type of data source that allows a Data Provider to enter a value by using a prompt or a button.
2A connection to a database that acts as a data source and can serve as the data ref for a document field. A Database data source
is associated with a Database data service.
3A connection to a file external to Spectrum that acts as a data source and can serve as the data ref for a document field. An
Alternate data source is associated with either a File data service or an HTTP data service.
4The view that is displayed to a user on the Print page that allows the user to enter information for a label. A Document Designer
can configure this view in the Form view on the Design page.

Loftware Spectrum 3.0.1 User Guide 1203


Configuring and Administering

Name Value
!INLINE_TYPE! A type of file.
Example
INLINE_PDF

Note: In Status, all pass through files use the Document name !INLINE_
DOCUMENT!, therefore it is recommended that you set a meaningful job name
which can be used to identify the file when searching print jobs. The job name can
be specified in an integration, data source, or business rule.

1204 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Examples

Using a Form, Application, and Process


The following example uses a Pass Throughdevice connection and allows users to browse,
select, and send a pass through file to a device from an application in Print.
1. In Device Management, create a pass through device connection. For more
information, see " Create a Pass Through Device Connection" on page 814.
2. In Process Design, createand save a new simple process with the following values:
n Document: !INLINE_DOCUMENT!
n Device: Your pass through device
n On the DataMap tab, add the key name !INLINE_DOCUMENT! with the value
${/myImportedFile/data}.
n On the DataMap tab, add the key name !INLINE_TYPE! with the value INLINE_PDF.
3. In Design, create and save a new form with two Button controls. Name one button
SelectButton and the other PrintButton.
4. Create a new application that uses your new form as the Start Form.
5. Add a FileSelector form rule to the application with the Import operation. For Data
Ref, enter /myImportedFile. For more information, see "File Selector Form Rule" on page
409.
6. Add a Job Request form rule to the application with the Print option. For Process,
select your new process. For more information, see "Job Request Form Rule" on page
413.
7. Add a trigger on the form in the application with the following values:
n Trigger Source: SelectButton
n Trigger Event: onClick
n Trigger Type: Form Rule
n Form Rules: Your new FileSelector form rule

For more information, see "Create a Trigger to Run a Rule" on page 297.
8. Add another trigger on the form in the application with the following values:
n Trigger Source: PrintButton
n Trigger Event: onClick
n Trigger Type: Form Rule
n Form Rules: Your new Job Request form rule
9. Save the application.
10. Select the new application in Print, click the Select button to select a pass through file,
and then click thePrint button to send the pass through file to the device.
Using a Data Service, Business Rule, and Process
The following example uses an existing device connection, selects a file using a file data service,
and sends the print job using a process and a business rule.

Loftware Spectrum 3.0.1 User Guide 1205


Configuring and Administering

1. In Device Management, open an existing device, click the Advanced tab, and then
select the PDF check box under Pass Through File Types. Save the device.
2. In Data Services, create and save a FileData Service with the following values:
n URL: The file path to a valid pass through PDF file
n Result Name: !INLINE_DOCUMENT!
n Data Type: Image
3. In Process Design, create and save a business rule that retrieves data from the new
FileData Service and merges it into the datamap. For more information, see "Retrieve
Data from a Database (XML)" on page 1224.
4. In Process Design, createand save a new simple process with the following values:
n Business Rule: Your new business rule
n Document: !INLINE_DOCUMENT!
n Device: Your pass through device
n On the DataMap tab, add the key name !INLINE_DOCUMENT! with the value
${/myImportedFile}.
n On the DataMap tab, add the key name !INLINE_TYPE! with the value INLINE_PDF.
5. Select the new process in Print and then click thePrint button to send the pass through
file to the device.

1206 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Configure Job Handling Options

When printing pass through files, you can configure the page range, orientation, sizing and
handling, color mode, and whether the file prints as an imaged file. For more information, see
"Reserved Keys" on page 1487.

Loftware Spectrum 3.0.1 User Guide 1207


Configuring and Administering

Configure Auditing Data


By default, a copy of the label template used to print a label is saved for auditing only if the label
template is not version controlled. However, you can instead configure Spectrum to always save
a copy of the label template or never save a copy of the label template.
Note: In the following procedure, <SPECTRUM_HOME> refers to a folder on the
SpectrumApplicationServer, such as C:\Loftware\Spectrum\Spectrum or
/opt/loftware/spectrum/Spectrum, in which the Spectrum application is
installed. Although the procedure uses backslashes in operating system paths, you
should use forward slashes if required by your operating system.
To configure whether a copy of the label template used to print a label is saved for auditing, do
the following:
1. In Process Design, open a process for which you want to configure whether auditing
data is saved.
a. For Audit Type, select Static.
b. For Audit Mask, select Data. Select additional options as needed.
c. Save the process.
d. Repeat the for each process for which you want to configure whether auditing data
is saved.
2. From a command prompt on the SpectrumApplicationServer, navigate to the following
folder:
<SPECTRUM_HOME>\bin
3. Run one of the following commands to configure whether a copy of the label template is
saved.
n To always save a copy of the label template, run the following command.
sputils set-value saveFormat always printing
n To never save a copy of the label template, run the following command.
sputils set-value saveFormat never printing
n To save a copy of the label template only if the label template is not version
controlled, run the following command. This is the default value if you have never
run either of the previous commands.
sputils set-value saveFormat default printing

1208 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Business Rules to Replace Loftware Connector Filters


If you are migrating from a Loftware Print Server (LPS) environment, you can create business
rules to perform the same functions as Loftware Connector filters that you used with LPS.
Loftware Connector
Spectrum Business Rule Example
Filter
Format Substitution "Replace the Label Template (XML)" on page 1211
Print Attribute "Change Print Attributes (XML)" on page 1214
Substitution
Data Lookup "Retrieve Data from a Database (XML)" on page 1224
Instance Expansion "Generate Related Labels Using Multiple Label Templates (XML)" on
page 1227

Loftware Spectrum 3.0.1 User Guide 1209


Configuring and Administering

Examples of Business Rules Using XML


The following are examples of business rules created by using the XML Editor.

Tip: For a tag assigned to an object, you can use a script in a data source or in a
business rule to retrieve the tag value. Tag-related functions are also available by
using Web Services calls.

1210 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Replace the Label Template (XML)

You can use a business rule to determine which label template to use when processing a print
request. The business rule can create a request for a particular label template based on data in the
print request. For example, you can convert a request for a generic shipping label to a customer-
specific shipping label based on the customer ID.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Tip: If you always want to use the same label template when a particular simple
process is run, you can specify the path to that label template in the Document
field for the process. You do not need to use a business rule unless you also want
to implement business logic.
The following business rule changes a shipping label template based on the customer ID
specified for the job. The SHIPPING_XREF table in the database includes columns named
CUSTOMER_ID and SHIPPING_LABEL. This business rule can be run by a simple process.
Note: This business rule requires the existence of a JDBC data service that
establishes a connection to a database. In the data service, Is Parameter is
selected for the SQL Query. For more information, see " Managing Data Services"
on page 979.
<?xml version="1.0" encoding="UTF-8"?>
<businessRules configuratorSupport="false">
<businessRule>

<dataService name="LOOKUP_DATASERVICE" namespace="Body" sticky="true"


failOnNoRows="false" mergeRowToJobData="false">

<!-- Triggered by ENQUEUE event. -->


<triggers>
<trigger eventTrigger="ENQUEUE" priority="0"/>
</triggers>

<!-- Query the database using the customer ID to find the appropriate
label template. -->
<parameters>
<parameter parameterKey="query" resolveValue="true">
<parameterValue>SELECT SHIPPING_LABEL FROM LW_QA.SHIPPING_XREF
WHERE CUSTOMER_ID=${/Body/company}</parameterValue>
</parameter>
</parameters>

<!-- Check whether the request is for a shipping label. -->


<executionCondition>
<equalsIgnoreCase failOnFalseCondition="false">

Loftware Spectrum 3.0.1 User Guide 1211


Configuring and Administering

<trueLogMessage>*** DETECTED SHIPPING LABEL


***</trueLogMessage>
<left type="KEY" valueType="STRING">
<value>${!DOCUMENT_URL!}</value>
</left>
<right type="LITERAL" valueType="STRING">
<value>SHIPPING</value>
</right>
</equalsIgnoreCase>
</executionCondition>

<children>
<mapOperations name="UPDATEMAP" namespace="Body">

<!-- The mapOperations business rule component is triggered by


the SET_FORMAT event, which occurs once for each row returned by the database
query -->
<triggers>
<trigger eventTrigger="SET_FORMAT" priority="0"/>
</triggers>

<!-- Assign the final label template. -->


<operations>
<operation action="OVERRIDE" dataType="STRING"
literalValue="false" operation="PUT">

<!-- Name (key) for the label template -->


<targetKey>/!DOCUMENT_URL!</targetKey>

<!-- Value for SHIPPINGLABEL returned from the current


row of the database. This value is the fully-qualified path to the label
template in Spectrum (such as /Loftware/Portsmouth/Labels/PortShip). -->
<value>@{SHIPPING_LABEL}</value>

</operation>
</operations>

</mapOperations>
</children>

<!-- Path to a data service in Spectrum -->


<dataServiceUrl>/Loftware Inc/BRE/dsvc1</dataServiceUrl>

<!-- Create a custom event to occur once for each row returned by the
database query. Mapping tables should only return one row of data for the
query. If more are returned, only the last row returned is used. -->
<perRowEvents>
<rowEvent eventName="SET_FORMAT" includeSiblings="false"/>
</perRowEvents>

1212 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

</dataService>

</businessRule>
</businessRules>

Loftware Spectrum 3.0.1 User Guide 1213


Configuring and Administering

Change Print Attributes (XML)

You can use a business rule to perform print attribute substitution, changing values for print
attributes such as the device name, job name, Quantity, and Duplicates based on business logic
or on an existing request-level attribute. A request-level attribute is a default attribute for a label
template in the print request. If the label template does not define an attribute and there is no
lookup, then the request attribute is used.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Tip: If you always want to use the same value for a print attribute when a particular
simple process is run, you can specify the value for that print attribute in the field
for it in the process. You do not need to use a business rule unless you also want
to implement business logic.
The following business rule changes the label quantity (number of times to print a label using
the same data) to 2 for a specific shipping label template. This business rule can be run by a
simple process.
Note: This business rule requires the existence of a JDBC data service that
establishes a connection to a database. In the data service, Is Parameter is
selected for the SQL Query. For more information, see " Managing Data Services"
on page 979.
<?xml version="1.0" encoding="UTF-8"?>
<businessRules configuratorSupport="false">
<businessRule>

<mapOperations name="UPDATEMAP" namespace="Body">

<!-- Triggered by ENQUEUE event. -->


<triggers>
<trigger eventTrigger="ENQUEUE" priority="0"/>
</triggers>

<!- Check whether the request is for a specific shipping label. -->
<executionCondition>
<equalsIgnoreCase failOnFalseCondition="false">
<trueLogMessage>*** DETECTED SHIPPING LABEL
***</trueLogMessage>
<left type="KEY" valueType="STRING">
<value>${!DOCUMENT_URL!}</value>
</left>
<right type="LITERAL" valueType="STRING">
<value>/Default/Label Templates/Shipping</value>
</right>
</equalsIgnoreCase>

1214 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

</executionCondition>

<!-- Override the existing label quantity. -->


<operations>
<operation action="OVERRIDE" dataType="INTEGER"
literalValue="true" operation="PUT">
<!-- Name (key) for quantity. -->
<targetKey>/!QUANTITY!</targetKey>
<value>2</value>
</operation>
</operations>

</mapOperations>

</businessRule>
</businessRules>

Loftware Spectrum 3.0.1 User Guide 1215


Configuring and Administering

Access Label Data Sources (XML)

Normally, if the Delink Data Source property of a process is true, then data sources in the
label template are disregarded except for Database and Alternate data sources. Conversely, if it is
false, then Spectrum uses all data sources in the label template. However, if it is false, when the
business rule specified by the process is run, any business rule components that would be
triggered by the LABELevent are not run.
In some situations, you may want to run business rule components that are triggered by the
LABEL event, but also have access to all data sources in the label template. To accomplish this,
set Delink Data Source to true and use a Reference business rule component to load the label
data sources into the datamap.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.
In the process, if Delink Data Source is set to true, then the following business rule loads all
data sources specified in the label template into the datamap.
<?xml version="1.0" encoding="UTF-8"?>
<businessRules configuratorSupport="false">
<businessRule>

<reference name="LABEL_DATA_LOOKUP" namespace="Body">


<triggers>
<trigger eventTrigger="LABEL" priority="0" propagation="AFTER"/>
</triggers>
<referencePath>!DOCUMENT_DEFAULT!</referencePath>
</reference>

</businessRule>
</businessRules>

Tip: If you want to access the data sources in the label template but disregard one
of them, you can override the data from a specific label data source by changing the
data for that key in the datamap. You can use a Map Operations business rule
component to accomplish this without changing the data source in the label
template.

1216 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Specify an Email Address for a Device Connection (XML)

In Device Management, you can create a device connection that allows you to print to a PDF
file or print to a PNG file and send the file to an email address. When configuring the options on
the Connection tab for such a device connection, you can enter email settings that include
static values and static patterns. However, for greater flexibility, you can enter the name of a
data map entry 1 for each of these options instead. You can use a business rule to assign values
to those data map entries by using a mapOperations business rule component, and you can
change the values as needed.
Tip: For information about configuring these types of device connections, see "
Create a Print-to-PDF Device Connection" on page 799 or " Create a Print-to-
Image Device Connection" on page 801.
When used in conjunction with an appropriate device connection, the following business rule
sends PDF files to different email addresses for approval depending on the region for which the
label template was designed. In this example, the organization stores label templates for each
region in a separate folder in their Spectrum environment. The organization has a print-to-PDF
device connection with an Email connection type so that PDF files can be sent via email. For
the To option on the Connection tab, the name of a data map entry has been entered rather
than a static value or a pattern. The business rule specifies a value for that data map entry.
Note: This business rule requires the existence of a print-to-PDF device
connection for which the To option on the Connection tab has a value of
${/Email/Reviewer}. The choice of name has no special significance, but the
name entered on the Connection tab and the name used in the business rule must
match.

Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Tip: If you always want to use the same value for a data map entry when a
particular simple process is run, you can specify the value for that data map entry in
the process. You do not need to use a business rule unless you also want to
implement business logic.
<?xml version="1.0" encoding="UTF-8"?>
<businessRules configuratorSupport="false">
<businessRule>

<!-- If the PDF is for the Americas region, send the PDF to the Reviewer
for that region. -->
<mapOperations name="SEND_TO_AMERICAS_REVIEWER" namespace="Body">

1A name (key) and value pair in the data map for a job.

Loftware Spectrum 3.0.1 User Guide 1217


Configuring and Administering

<!-- Triggered by ENQUEUE event. -->


<triggers>
<trigger eventTrigger="ENQUEUE" priority="0"/>
</triggers>

<!- Check whether the label template is in the Americas folder. -->
<executionCondition>
<equalsIgnoreCase failOnFalseCondition="false">
<trueLogMessage>*** DETECTED AMERICAS LABEL
***</trueLogMessage>
<left type="KEY" valueType="STRING">
<value>${!DOCUMENT_URL!}</value>
</left>
<right type="LITERAL" valueType="STRING">
<value>/Default/Label Templates/Americas</value>
</right>
</equalsIgnoreCase>
</executionCondition>

<!-- Specify the email address for the Americas Reviewer. -->
<operations>
<operation action="OVERRIDE" dataType="STRING" literalValue="true"
operation="PUT">
<!-- Name (key) for To email address in the Connection tab for
the device. -->
<targetKey>${/Email/Reviewer}</targetKey>
<value>AmericasReviewer@example.com</value>
</operation>
</operations>

</mapOperations>

<!-- If the PDF is for the Europe region, send the PDF to the Reviewer
for that region. -->
<mapOperations name="SEND_TO_EUROPE_REVIEWER" namespace="Body">

<!-- Triggered by ENQUEUE event. -->


<triggers>
<trigger eventTrigger="ENQUEUE" priority="0"/>
</triggers>

<!- Check whether the label template is in the Europe folder. -->
<executionCondition>
<equalsIgnoreCase failOnFalseCondition="false">
<trueLogMessage>*** DETECTED EUROPE LABEL ***</trueLogMessage>
<left type="KEY" valueType="STRING">
<value>${!DOCUMENT_URL!}</value>
</left>
<right type="LITERAL" valueType="STRING">

1218 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<value>/Default/Label Templates/Europe</value>
</right>
</equalsIgnoreCase>
</executionCondition>

<!-- Specify the email address for the Europe Reviewer. -->
<operations>
<operation action="OVERRIDE" dataType="STRING" literalValue="true"
operation="PUT">
<!-- Name (key) for To email address in the Connection tab for
the device. -->
<targetKey>${/Email/Reviewer}</targetKey>
<value>EuropeReviewer@example.com</value>
</operation>
</operations>

</mapOperations>

<!-- If the PDF is for the Asia Pacific region, send the PDF to the
Reviewer for that region. -->
<mapOperations name="SEND_TO_ASIA_PACIFIC_REVIEWER" namespace="Body">

<!-- Triggered by ENQUEUE event. -->


<triggers>
<trigger eventTrigger="ENQUEUE" priority="0"/>
</triggers>

<!- Check whether the label template is in the Asia Pacific folder.
-->
<executionCondition>
<equalsIgnoreCase failOnFalseCondition="false">
<trueLogMessage>*** DETECTED ASIA PACIFIC LABEL
***</trueLogMessage>
<left type="KEY" valueType="STRING">
<value>${!DOCUMENT_URL!}</value>
</left>
<right type="LITERAL" valueType="STRING">
<value>/Default/Label Templates/Asia Pacific</value>
</right>
</equalsIgnoreCase>
</executionCondition>

<!-- Specify the email address for the Asia Pacific Reviewer. -->
<operations>
<operation action="OVERRIDE" dataType="STRING" literalValue="true"
operation="PUT">
<!-- Name (key) for To email address in the Connection tab for
the device. -->
<targetKey>${/Email/Reviewer}</targetKey>

Loftware Spectrum 3.0.1 User Guide 1219


Configuring and Administering

<value>AsiaPacificReviewer@example.com</value>
</operation>
</operations>

</mapOperations>

</businessRule>
</businessRules>

1220 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Retrieve Detailed Device Status (XML)

You can use a business rule to query a device for its status and for information about the device.
You can use this data to respond differently to jobs when an error has occurred on the device or
when the device is configured in a particular way.
For a reference of reserved keys related to detailed device status, see "Reserved Keys" on page
1487.
Important! The detailedDeviceStatus and detailedDeviceInfo business rule
components are supported for use only with cab, Datamax-O'Neil, PCL,
QuickLabel, SATO, and Zebra devices.

Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Fail a print job if the resolution of the device is not 300


In this example, the print job is failed if the resolution of the device specified in the job is not
300. To achieve this, device information is retrieved, including the resolution configured on the
device. Because the device name is not specified, this business rule is not limited to processing
jobs only from a particular device.
<?xml version="1.0" encoding="UTF-8"?>
<businessRules configuratorSupport="false">
<businessRule>

<!-- Retrieve data about the device. -->


<detailedDeviceInfo name="BCCTEST" namespace="detailedInfo">
<triggers>
<trigger eventTrigger="ENQUEUE" priority="0"/>
</triggers>
</detailedDeviceInfo>

<!-- Use data about the device to fail the print job if the resolution
is not 300. -->
<mapOperations name="BCCTEST2" namespace="detailedInfo">
<triggers>
<trigger eventTrigger="ENQUEUE" priority="1"/>
</triggers>
<executionCondition>
<equalsIgnoreCase failOnFalseCondition="true">
<trueLogMessage>RESOLUTION 300</trueLogMessage>
<falseLogMessage>RESOLUTION NOT 300</falseLogMessage>
<left type="KEY" valueType="STRING">
<value>${/detailedInfo/DDI_RESOLUTION}</value>
</left>
<right type="LITERAL" valueType="STRING">
<value>300</value>

Loftware Spectrum 3.0.1 User Guide 1221


Configuring and Administering

</right>
</equalsIgnoreCase>
</executionCondition>
<operations>
</operations>
</mapOperations>

</businessRule>
</businessRules>

Fail a print job if the device is paused


In this example, the print job is failed if the device is paused. To achieve this, device status
information is retrieved, including whether the device is paused. Because the device name is
specified in the business rule, the effect of this business rule is limited to jobs received from
that device.
<?xml version="1.0" encoding="UTF-8"?>
<businessRules configuratorSupport="false">
<businessRule>

<!-- Retrieve data about the specified device. -->


<detailedDeviceStatus name="BCCTEST" namespace="detailedStatus"
deviceName="/Default/ZebraDevice01">
<triggers>
<trigger eventTrigger="ENQUEUE" priority="0"/>
</triggers>
</detailedDeviceStatus>

<!-- Use data about the device to fail the print job if the device is
paused. -->
<mapOperations name="BCCTEST2" namespace="detailedStatus">
<triggers>
<trigger eventTrigger="ENQUEUE" priority="1"/>
</triggers>
<executionCondition>
<equalsIgnoreCase failOnFalseCondition="true">
<trueLogMessage>NOTPAUSED</trueLogMessage>
<falseLogMessage>PAUSED</falseLogMessage>
<left type="KEY" valueType="STRING">
<value>${/detailedStatus/DDS_PAUSED}</value>
</left>
<right type="LITERAL" valueType="STRING">
<value>FALSE</value>
</right>
</equalsIgnoreCase>
</executionCondition>
<operations>
</operations>

1222 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

</mapOperations>

</businessRule>
</businessRules>

Loftware Spectrum 3.0.1 User Guide 1223


Configuring and Administering

Retrieve Data from a Database (XML)

You can use a business rule to perform data lookup, retrieving and incorporating information
that was not available in the original print request. For example, you could compute a product
number based on a serial number or retrieve an origin and other values based on a lot number.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.
The following examples use a lot number supplied with the print request to query a database
table. Data returned from the query is used to populate the MAP fields /Body/origin and
/Body/location, which are used by the shipping001 label template. The MTL_LOT_
NUMBERS table in the database includes columns named PLACE_OF_ORIGIN, LOCATION,
and LOT_NUMBER. This business rule can be run by a simple process.
Note: This business rule requires the existence of a JDBC data service that
establishes a connection to a database. In the data service, Is Parameter is
selected for the SQL Query. For more information, see " Managing Data Services"
on page 979.

Retrieve data without merging into the datamap

In this example, after this business rule is run, the data retrieved from the database is not
available in the datamap.
<?xml version="1.0" encoding="UTF-8"?>
<businessRules configuratorSupport="false">
<businessRule>

<dataService name="DATA_LOOKUP" namespace="Body" sticky="true"


failOnNoRows="false" mergeRowToJobData="false">

<!-- Triggered by ENQUEUE event. -->


<triggers>
<trigger eventTrigger="ENQUEUE" priority="0"/>
</triggers>

<!-- Query the database by using the lot number to find other fields.
-->
<parameters>
<parameter parameterKey="query" resolveValue="true">
<parameterValue>SELECT * FROM LW_QA.MTL_LOT_NUMBERS WHERE LOT_
NUMBER=${/Body/lot_number}</parameterValue>
</parameter>
</parameters>

<children>
<mapOperations name="UPDATEMAP" namespace="Body">

1224 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- The mapOperations business rule component is triggered by


the SET_MAP event, which occurs once for every row returned by the query. -->
<triggers>
<trigger eventTrigger="SET_MAP" priority="0"/>
</triggers>

<!-- Set print attribute values to row data. -->


<operations>
<operation action="OVERRIDE" dataType="STRING"
literalValue="false" operation="PUT">
<!-- Name (key) for the origin -->
<targetKey>/Body/origin</targetKey>
<!-- Value for the origin returned from row in the
database. @{} is row data. -->
<value>@{PLACE_OF_ORIGIN}</value>
</operation>
<operation action="OVERRIDE" dataType="STRING"
literalValue="false" operation="PUT">
<!-- Key (name) for the location -->
<targetKey>/Body/location</targetKey>
<!-- Value for the location returned from the current row
of the database. @{} is row data-->
<value>@{LOCATION}</value>
</operation>
</operations>

</mapOperations>
</children>

<!-- Path to a data service in Spectrum -->


<dataServiceUrl>/Default/BRE/LPS Translation Data
Service</dataServiceUrl>

<!-- Create a custom event to occur once for each row returned by the
database query. Mapping tables should only return one row of data for the
query. If more are returned, only the last row returned is used. -->
<perRowEvents>
<rowEvent eventName="SET_MAP" includeSiblings="false"/>
</perRowEvents>

</dataService>

</businessRule>
</businessRules>

Retrieve data and merge into the datamap

Loftware Spectrum 3.0.1 User Guide 1225


Configuring and Administering

In this example, after this business rule is run, the data retrieved from the database is available in
the datamap in /Body/dbData/{COLUMN_NAME}, which you can use as a data ref when
designing label templates.
<?xml version="1.0" encoding="UTF-8"?>
<businessRules configuratorSupport="false">
<businessRule>

<dataService name="dbData" namespace="Body" sticky="true"


failOnNoRows="false" mergeRowToJobData="true">

<!-- Triggered by ENQUEUE event. -->


<triggers>
<trigger eventTrigger="ENQUEUE" priority="0"/>
</triggers>

<!-- Query the database by using the lot number to find other fields.
-->
<parameters>
<parameter parameterKey="query" resolveValue="true">
<parameterValue>SELECT * FROM LW_QA.MTL_LOT_NUMBERS WHERE LOT_
NUMBER=${/Body/lot_number}</parameterValue>
</parameter>
</parameters>

<!-- Path to a data service in Spectrum -->


<dataServiceUrl>/Loftware Inc/BRE/dsvc1</dataServiceUrl>

</dataService>

</businessRule>
</businessRules>

1226 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Generate Related Labels Using Multiple Label Templates (XML)

You can use a business rule to cause one print request to generate additional print requests that
use the same label template or other label templates. This can be useful for situations in which a
set of related printed labels is required for each job, such as a bill of lading for a shipment and a
label for each item in the shipment.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Important! The following example is a special type of business rule called a Job
Source. To use this business rule, you must create a generator process and enter
the path to this special business rule in the Job Source field.
The following business rule generates four labels from a single print request.
<?xml version="1.0" encoding="UTF-8"?>
<businessRules configuratorSupport="false" id="0">

<businessRule>

<forLoop name="PER_LABEL_TASKS" namespace="Body" direction="INCREMENT"


maxLength="5" mergeRowToJobData="false" minLength="1" mode="NUMERIC" step="1">

<triggers>
<trigger eventTrigger="ENQUEUE" priority="1"/>
</triggers>

<children>
<dataPipe name="LABEL_GENERATOR_PIPE" namespace="Body"
targetProcessor="LABEL_GENERATOR">
<triggers>
<trigger eventTrigger="GENERATE_LABEL" priority="5"/>
</triggers>
</dataPipe>
</children>

<!-- For Loop functionality -->


<startValue>0</startValue>
<endValue>3</endValue>
<loopEvents eventName="GENERATE_LABEL" includeSiblings="false"/>

</forLoop>

</businessRule>

<dataProcessors>

<processGenerator name="LABEL_GENERATOR">

Loftware Spectrum 3.0.1 User Guide 1227


Configuring and Administering

<process ignoreErrors="false">
<processUrl>/Default/Generic Document Process</processUrl>
<data>
<entry name="Body">
<value>${/Body}</value>
</entry>
<entry name="!DOCUMENT_URL!">
<value>/Default/Label1</value>
</entry>
<entry name="!DESTINATION!">
<value>/Default/PDF Printer</value>
</entry>
</data>
</process>
</processGenerator>

</dataProcessors>

</businessRules>

1228 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Business Rule Reference


The following reference provides information about the XML syntax for each type of business
rule component. The use of common items such as location prefixes and triggers is also
explained.
n "Business Rules" on page 1230
n "Business Rule Components" on page 1231
n "Triggers and Events" on page 1346
n "Triggers" on page 1346
n "Events" on page 1347
n "Conditions and Operators" on page 1353
n "Conditions" on page 1353
n "Logical Operations and Comparisons" on page 1355
n "Data and Parameters" on page 1359
n "Location Prefixes" on page 1359
n "Reserved Keys" on page 1487
n "Default Data" on page 1360
n "Parameters" on page 1363
n "Children" on page 1366
n "Business Rules for Generator Processes" on page 1367

Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

Loftware Spectrum 3.0.1 User Guide 1229


Configuring and Administering

Business Rules

A business rule is a collection of component sets or business rule components that can be used
to incorporate logic or to add, change, or remove data or print parameters after a print request is
submitted but before printing occurs. Business rules are similar to form rules, but provide more
robust functionality. Business rules can be designed using the Configurator or programmed using
XML.
Best Practice
Use priority values to control the execution order of business rule components.
Additionally, within a business rule it is recommended that you list peer business
rule components in execution order so that the business rule will be easier for
others to understand.
A business rule must use the following structure and adhere to XML syntax.

Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<?xml version="1.0" encoding="UTF-8"?>
<businessRules configuratorSupport="true|false">
<businessRule>
<!-- Specify a set of business rule components. -->
</businessRule>
</businessRules>

Syntax Tips

Additional information is available about the following items.


configuratorSupport
Whether the business rule can be edited in Basic view. The default value is true.
Value Description
true The business rule is composed of component blocks and can be edited in Basic
view.
false The business rule must be edited in Advanced view.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

1230 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Business Rule Components

You can use a business rule component to add or change data in the datamap, to incorporate
conditional or loop logic, or to implement branching. Additionally, you can use JavaScript within
some types of business rule components to change data in the datamap. The following tables
summarize the purpose of each type of business rule component that you can use in a business
rule in LoftwareSpectrum.
Note: You can nest business rule components to perform complex operations.
Best Practice
Use priority values to control the execution order of business rule components.
Additionally, within a business rule it is recommended that you list peer business
rule components in execution order so that the business rule will be easier for
others to understand.

Adding and Changing Data


Component Type Purpose Syntax
DataMap Operations Add, remove, or change data map entries. mapOperations
Data Service Add rows of data from an external database to dataService
the datamap.
Comparable to a Database data source, a File
data source, or an HTTP data source.
Date/Time Calculate and return the date and time of dateTime
processing, adding it to the datamap.
Comparable to a Date/Time data source.
Export Data Convert data in a structure of data map entries exportData
in Spectrum to an equivalent string of text or
binary data. This data can be used in other
applications that accept data in CSV or XML
format.
Import Data Convert a string of data from CSV or importData
XMLformat to an equivalent structure of data
map entries for use in Spectrum.
Increment/Decrement Return the value of a counter that is increased incDec
or decreased for each printed label in a print
job, adding the value of the counter to the
datamap.
Comparable to an Inc/Dec data source.
Static Add default data or other parameters to the static
datamap.

Loftware Spectrum 3.0.1 User Guide 1231


Configuring and Administering

Component Type Purpose Syntax


XML Data Add data extracted from XML to the data map. xmlData
Tip: This type of business rule
component can be used in
conjunction with a SOAP Web
Service data service.

Retrieving Status and Information


Component Type Purpose Syntax
Detailed Device Info Query a device for device information. This detailedDeviceInfo
is typically information about a device that is
not likely to change between print jobs, such
as information about the hardware model,
firmware version, and amount of installed
memory in the device.
Detailed Device Status Query a device for device status detailedDeviceStatus
information. This is typically information
about whether the device is offline and
whether error conditions exist that would
prevent printing.
Security Information Add the user name, user domain, and user securityInfo
profile information associated with a print
request to the datamap.

Using Conditional and Loop Logic


Component Type Purpose Syntax
Conditional Determine whether to perform an action based conditional
on the result of a comparison of values or the
result of a logical operation.
For Loop Repeat an action a specified number of times. forLoop
While Loop Repeat an action as long as specified conditions whileLoop
continue to be true and the maximum number
of iterations has not been exceeded.

Using JavaScript to Change Data


Component Type Purpose Syntax
DataMap Entry Script Add read-only data map entries by using mapScript
JavaScript and return a value.
Comparable to a Formula data source.

1232 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Component Type Purpose Syntax


DataMap Script Make changes to the datamap by using dataMapScript
JavaScript.
Format Script Make changes to the properties of a label formatScript
template and to the datamap by using
JavaScript.

Branching
Component Type Purpose Syntax
Data Pipe For use in business rules for generator dataPipe
processes. From one print request, generate
additional print requests. Each print request
may use a different label template.
Reference Load content from another business rule into reference
the current business rule. You can also load
data sources from a label template into the
datamap.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

conditional Business Rule Component

A Conditional business rule component allows you to determine whether to perform an action
based on the result of a comparison of values or the result of a logical operation.
The following is the syntax for a Conditional business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<conditional name="This_component" namespace="Parent_of_component"
configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->

Loftware Spectrum 3.0.1 User Guide 1233


Configuring and Administering

<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />

1234 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
<!-- To allow a child to run only if the condition is
true, set the trigger in the child business rule
component to an event name specified in
trueConditionEvents. -->
<!-- To allow a child to run only if the condition is
false, set the trigger in the child business rule
component to an event name specified in
falseConditionEvents. -->
</children>

<!-- Conditional functionality -------------------------------->


<condition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation, a
comparison, or a data map entry state operation. You
can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</condition>

<trueConditionEvents>
<!-- Definition of an event that occurs if the
condition is true. -->
<trueEvent eventName="Event_if_true"
includeSiblings="false|true"/>
</trueConditionEvents>

Loftware Spectrum 3.0.1 User Guide 1235


Configuring and Administering

<falseConditionEvents>
<!-- Definition of an event that occurs if the
condition is false. -->
<falseEvent eventName="Event_if_false"
includeSiblings="false|true"/>
</falseConditionEvents>
</conditional>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1236 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Type of Component Block


2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.

Loftware Spectrum 3.0.1 User Guide 1237


Configuring and Administering

Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

dataMapScript Business Rule Component

A DataMap Script is a business rule component that allows you to make changes to the
datamap by using JavaScript. A DataMap Script can alter values in the datamap or add a value
to the datamap, but unlike a DataMap Entry Script (mapScript) it does not return a value.
The following is the syntax for a DataMap Script.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<dataMapScript name="This_component" namespace="Parent_of_component"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->

1238 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

Loftware Spectrum 3.0.1 User Guide 1239


Configuring and Administering

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>

<!-- DataMap Script functionality --------------------------->


<!-- Enter JavaScript designed to make changes to the datamap. -->
<script>JavaScript</script>
</dataMapScript>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.

1240 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

configuratorType
For a business rule component that was generated by using the Configurator 1, this attribute
is a numeric identifier that usually indicates what type of component block2 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat

1In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
2In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

Loftware Spectrum 3.0.1 User Guide 1241


Configuring and Administering

Value Type of Component Block


20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.

1242 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

dataService Business Rule Component

A Data Service business rule component allows you to retrieve rows of data from a database,
spreadsheet, file, or URL that is external to Spectrum. A Data Service can initiate row events to
be processed by other business rule components. A Data Service business rule component is
similar to a Database data source, a File data source, or an HTTP data source.
Before You Begin: In Data Services, an administrator must create the data
service with which you intend to associate the Data Service business rule
component. You can use any type of data service. For more information, see "
Managing Data Services" on page 979.
The following is the syntax for a Data Service business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<dataService name="This_component" namespace="Parent_of_component"
failOnNoRows="true|false"
mergeRowToJobData="true|false"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->

Loftware Spectrum 3.0.1 User Guide 1243


Configuring and Administering

<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->

1244 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- To cause any data map entries within the


parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
<!-- You can use a perRowEvent as the trigger for a
child business rule component to cause the child to run
once for each row of the database that is processed.-->
</children>

Loftware Spectrum 3.0.1 User Guide 1245


Configuring and Administering

<!-- Data Service functionality ------------------------------>


<!-- Specify a path to an existing data service in Spectrum. -->
<dataServiceUrl>Path</dataServiceUrl>

<!-- If you specify a stopRowProcessingCondition, no further rows


are processed when the condition is evaluated as true. -->
<stopRowProcessingCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation, a
comparison, or a data map entry state operation. You
can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</stopRowProcessingCondition>

<!-- If you specify a skipCurrentRowCondition, the current row is


not processed when the condition is evaluated as true. Processing
continues with the next row. -->
<skipCurrentRowCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation, a
comparison, or a data map entry state operation. You
can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</skipCurrentRowCondition>

<perRowEvents>
<!-- You can create a custom event to occur once for
each row of data returned by the database query
specified in the data service. -->
<rowEvent eventName="Event_if_iterating_through_a row"
includeSiblings="false|true"/>
</perRowEvents>
</dataService>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.

1246 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

is a numeric identifier that usually indicates what type of component block1 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete

1In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

Loftware Spectrum 3.0.1 User Guide 1247


Configuring and Administering

For information about different types of component blocks, see "Component Blocks" on
page 463.
failOnNoRows
This optional attribute of a dataService business rule component allows you to control
whether a print job detail should fail if the database query returns no data. The default value
is false.
Value Description
false If the query returns no data, this does not cause a process error.
true If the query returns no data, the print job detail fails and a process error is
indicated in Status.
mergeRowToJobData
Required for a dataService, forLoop, or whileLoop business rule component. Optional for a
securityInfo business rule component. This attribute specifies whether a row of data
retrieved from a database should be copied into the job data of the datamap, or whether it
should exist in the datamap only as current row data. The default value is false.
Tip: For a securityInfo business rule component, it is typically recommended
that you set mergeRowToJobData to true so that the profile, user name, and
domain are saved to the datamap.
Value Description
false The data retrieved from the database exists in the datamap only as current row
data that child business rule components can access, but peer business rule
components cannot.

1248 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Description
true The data retrieved from the database exists in the datamap as current row data
that child business rule components can access, but peer business rule
components cannot.
The row data is also copied to the job data portion of the datamap for this
business rule component. Peer and child business rule components can access
this job data in the datamap.
When the row data is merged into the job data, the mergePolicy used is
MERGE_NONE and the action used is OVERRIDE. These are not
configurable.
Example
A dataService business rule component named DBQUERY exists
in the Body namespace and retrieves a value for PRINTERNAME
from a database. If mergeRowToJobData is true, then peers of
the dataService business rule component can access the value of
PRINTERNAME in the datamap by using
${/Body/DBQUERY/PRINTERNAME}.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.

Loftware Spectrum 3.0.1 User Guide 1249


Configuring and Administering

Value Description
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

dateTime Business Rule Component

A Date/Time business rule component returns the date and time on the
SpectrumApplicationServer when this business rule component is run. This value is added to
the datamap and can be referenced by using the fully-qualified name of the Date/Time business
rule component. The capabilities of a Date/Time business rule component are comparable to
those of a Date/Time data source.
The following is the syntax for a Date/Time business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be

1250 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

named or specified by you.


<dateTime name="This_component" namespace="Parent_of_component"
daysToAdd="Offset_from_time_of_processing"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND"

sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">


<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

Loftware Spectrum 3.0.1 User Guide 1251


Configuring and Administering

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the

1252 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

potential to run once per triggering of the business


rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>
</dateTime>
Syntax Tips
Additional information is available about the following items.
action
For a business rule component that can return a value, this property determines whether that
value remains in the datamap when the business rule component finishes running and returns
control to its parent business rule component. The default value is OVERRIDE.
Note: The impact of a business rule component returning control to its parent
is also affected by mergePolicy.

Value Description
OVERRIDE When control is returned to the parent, the value produced by the
business rule component is retained for the data map entry, replacing any
previous value for the data map entry.
NOT_ When control is returned to the parent, the value produced by the
EXISTS business rule component is retained for the data map entry only if a data
map entry with that name did not exist prior to the execution of this
business rule component. Otherwise, the previous value for the data map
entry is reinstated.
DELETE When control is returned to the parent, the data map entry is deleted from
the datamap.
APPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the end of the old value.
PREPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the beginning of the old value.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.

Loftware Spectrum 3.0.1 User Guide 1253


Configuring and Administering

For a business rule component that was generated by using the Configurator 1, this attribute
is a numeric identifier that usually indicates what type of component block2 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data

1In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
2In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1254 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Type of Component Block


23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
dataType
This object has a type that describes the data that it returns or to which it refers. The default
value is STRING.
Note: For a parameter, the dataType specifies the data type of the parameter
value.

Value Description
STRING An object of this type is a text string. Any number included is treated as
text.
Tip: For a parameter in a dataService business rule
component, the result map for a JDBC data service can be
represented as a string.
INTEGER An object of this type is a signed integer value.
NUMBER An object of this type has a signed decimal value.
BOOLEAN An object of this type has a value of true or false.
BINARY An object of this type is an array of bytes.
DATE An object of this type is a time value stored in milliseconds since 1970.
daysToAdd
To return a time different from the time of processing, specify a positive or negative amount
of time in days, relative to the time of processing. A positive number returns a time later than
the time of processing. The default value is 0, which causes the time of processing to be
returned.
mergePolicy
For a business rule component that returns a value, this property (in conjunction with the
mergePolicy of its parent business rule component) determines whether the returned value
remains in the datamap when the business rule component finishes running and returns
control to its parent. The default value is MERGE_ALL.
Note: The impact of a business rule component returning control to its parent
is also affected by action.

Loftware Spectrum 3.0.1 User Guide 1255


Configuring and Administering

Value in Par-
Value Description
ent
MERGE_ALL MERGE_ALL When the business rule component is finished
or MERGE_ or MERGE_ running, the data map entry containing the value
TO_PARENT FROM_CHILD that it returns remains in the datamap.
MERGE_ALL MERGE_ When the business rule component is finished
or MERGE_ NONE or running, the data map entry containing the value
TO_PARENT MERGE_TO_ that it returns is removed from the datamap.
PARENT
MERGE_ Any When the business rule component is finished
NONE or running, the data map entry containing the value
MERGE_ that it returns is removed from the datamap.
FROM_CHILD
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky

1256 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

detailedDeviceInfo Business Rule Component

A Detailed Device Information business rule component allows you to query a device for
detailed device information. This is typically information about a device that is not likely to
change between print jobs, such as information about the hardware model, firmware version, and
amount of installed memory in the device.
Other information can be retrieved by using a Detailed Device Status business rule component.
For information, see "detailedDeviceStatus Business Rule Component" on page 1262.
For a reference of reserved keys related to detailed device status and information, see "Reserved
Keys" on page 1487.
For examples of how to use these keys in a business rule, see "Retrieve Detailed Device Status
(XML)" on page 1221.
Important! The detailedDeviceStatus and detailedDeviceInfo business rule
components are supported for use only with cab, Datamax-O'Neil, PCL,
QuickLabel, SATO, and Zebra devices.
The following is the syntax for a Detailed Device Information business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.

Loftware Spectrum 3.0.1 User Guide 1257


Configuring and Administering

About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<detailedDeviceInfo name="This_component" namespace="Parent_of_component"
deviceName="Device_to_query"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the

1258 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

business rule is run. For more information, see "Parameters" on


page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule

Loftware Spectrum 3.0.1 User Guide 1259


Configuring and Administering

component will not run unless its own trigger event


occurs. -->
</children>
</detailedDeviceInfo>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as
part of a component block. Refer to the configuratorType of the parent of this
business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1260 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Type of Component Block


7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
deviceName
The fully-qualified name of a device connection in Spectrum. If this optional attribute is
omitted from a detailedDeviceInfo or detailedDeviceStatus business rule component, then
the device that the user specified for the print job is queried.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.

Loftware Spectrum 3.0.1 User Guide 1261


Configuring and Administering

Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

detailedDeviceStatus Business Rule Component

A Detailed Device Status business rule component allows you to query a device for detailed
device status information. This is typically information about whether the device is offline and
whether error conditions exist that would prevent printing.
Other information can be retrieved by using a Detailed Device Information business rule
component. For information, see "detailedDeviceInfo Business Rule Component" on page
1257.
For a reference of reserved keys related to detailed device status and information, see "Reserved
Keys" on page 1487.
For examples of how to use these keys in a business rule, see "Retrieve Detailed Device Status
(XML)" on page 1221.

1262 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Important! The detailedDeviceStatus and detailedDeviceInfo business rule


components are supported for use only with cab, Datamax-O'Neil, PCL,
QuickLabel, SATO, and Zebra devices.
The following is the syntax for a Detailed Device Status business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<detailedDeviceStatus name="This_component" namespace="Parent_of_component"
deviceName="Device_to_query"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->

Loftware Spectrum 3.0.1 User Guide 1263


Configuring and Administering

<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"

1264 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>
</detailedDeviceStatus>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as
part of a component block. Refer to the configuratorType of the parent of this
business rule component to determine the type of component block.

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

Loftware Spectrum 3.0.1 User Guide 1265


Configuring and Administering

Tip: This attribute is automatically included in business rule components


generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
deviceName
The fully-qualified name of a device connection in Spectrum. If this optional attribute is
omitted from a detailedDeviceInfo or detailedDeviceStatus business rule component, then
the device that the user specified for the print job is queried.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a

1266 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

exportData Business Rule Component

Loftware Spectrum 3.0.1 User Guide 1267


Configuring and Administering

An Export Data business rule component allows you to convert data in a structure of data map
entries in Spectrum to an equivalent string of text or binary data . This data can be used in other
applications that accept data in CSV or XML format.
Tip: You can use an Import Data business rule component to convert a string of
data from CSV or XML format to a namespace containing a structure of data map
entries.
The following is the syntax for an Export Data business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<exportData name="This_component" namespace="Parent_of_component"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

1268 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

Loftware Spectrum 3.0.1 User Guide 1269


Configuring and Administering

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>

<!-- Export Data functionality -->


<!-- The value for each of the following can be a static value or
the fully-qualified name of a data map entry containing the value.
-->

<!-- Required. The fully-qualified namespace under which the data


to be converted is stored in the datamap. -->
<sourceDataRef>namespace</sourceDataRef>

<!-- Required. The format to which the data is being converted.


This value is not case sensitive. -->
<dataFormat>CSV|XML</dataFormat>

<!-- The type of file format to which data is being converted. If


STRING, data is inserted as text. If BINARY, data is base 64
encoded. This value is not case sensitive. The default value is
STRING. -->
<dataType>STRING|BINARY</dataType>

<!-- Required. The fully-qualified data map entry for which the
value is the converted data. -->
<targetDataRef>data_map_entry</targetDataRef>
</exportData>
Syntax Tips
Additional information is available about the following items.
action

1270 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

For a business rule component that can return a value, this property determines whether that
value remains in the datamap when the business rule component finishes running and returns
control to its parent business rule component. The default value is OVERRIDE.
Note: The impact of a business rule component returning control to its parent
is also affected by mergePolicy.

Value Description
OVERRIDE When control is returned to the parent, the value produced by the
business rule component is retained for the data map entry, replacing any
previous value for the data map entry.
NOT_ When control is returned to the parent, the value produced by the
EXISTS business rule component is retained for the data map entry only if a data
map entry with that name did not exist prior to the execution of this
business rule component. Otherwise, the previous value for the data map
entry is reinstated.
DELETE When control is returned to the parent, the data map entry is deleted from
the datamap.
APPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the end of the old value.
PREPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the beginning of the old value.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

Loftware Spectrum 3.0.1 User Guide 1271


Configuring and Administering

block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
dataType
This object has a type that describes the data that it returns or to which it refers. The default
value is STRING.
Note: For a parameter, the dataType specifies the data type of the parameter
value.

1272 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Description
STRING An object of this type is a text string. Any number included is treated as
text.
Tip: For a parameter in a dataService business rule
component, the result map for a JDBC data service can be
represented as a string.
INTEGER An object of this type is a signed integer value.
NUMBER An object of this type has a signed decimal value.
BOOLEAN An object of this type has a value of true or false.
BINARY An object of this type is an array of bytes.
DATE An object of this type is a time value stored in milliseconds since 1970.
mergePolicy
For a business rule component that returns a value, this property (in conjunction with the
mergePolicy of its parent business rule component) determines whether the returned value
remains in the datamap when the business rule component finishes running and returns
control to its parent. The default value is MERGE_ALL.
Note: The impact of a business rule component returning control to its parent
is also affected by action.

Value in Par-
Value Description
ent
MERGE_ALL MERGE_ALL When the business rule component is finished
or MERGE_ or MERGE_ running, the data map entry containing the value
TO_PARENT FROM_CHILD that it returns remains in the datamap.
MERGE_ALL MERGE_ When the business rule component is finished
or MERGE_ NONE or running, the data map entry containing the value
TO_PARENT MERGE_TO_ that it returns is removed from the datamap.
PARENT
MERGE_ Any When the business rule component is finished
NONE or running, the data map entry containing the value
MERGE_ that it returns is removed from the datamap.
FROM_CHILD
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a

Loftware Spectrum 3.0.1 User Guide 1273


Configuring and Administering

systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

forLoop Business Rule Component

A For Loop is a business rule component that allows you to repeat an action a given number of
times. One potential use of For Loop is to iterate through rows of a database or a table.

1274 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Tip: To prevent runaway looping if a conditional trigger always returns true, it is


recommended that you specify the maximum number of iterations allowed.

Note: When incrementing an alphanumeric series, by default the series begins with
zero, progresses through the numerical digits, and then progresses through letters.
The following is the syntax for a For Loop.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<forLoop name="This_component" namespace="Parent_of_component"
direction="INCREMENT|DECREMENT"
mode="NUMERIC|UPPERCASE_ALPHA|UPPERCASE_ALPHANUM|HEXADECIMAL|CUSTOM"
step="Integer_by_which_to_increment/decrement"
maxLength="integer"
minLength="integer"
maxIterations="integer"
mergeRowToJobData="true|false"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.

Loftware Spectrum 3.0.1 User Guide 1275


Configuring and Administering

You can nest operations to create a more complex


expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->

1276 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
<!-- To run a child business rule component once per
iteration of the loop, set the trigger for the child
business rule component to the event defined in
loopEvents. -->
</children>

<!-- For Loop functionality ----------------------------------->


<!-- If the mode is CUSTOM, specify the custom sequence in
increasing value from left to right. Do not use any separators
between the items in the sequence. To use an item that includes
multiple characters, enclose the item in single quotation marks. --
>
<!-- If the mode for this business rule component is anything other
than CUSTOM, omit the sequence. -->
<sequence>string</sequence>

<!-- The startValue must be of the type specified by the mode. -->
<startValue>value</startValue>

<!-- The minValue must be of the type specified by the mode. -->
<minValue>value</minValue>

<!-- The endValue must be of the type specified by the mode. -->

Loftware Spectrum 3.0.1 User Guide 1277


Configuring and Administering

<endValue>value</endValue>

<!-- Specify a rowKey only if you are using the forLoop to iterate
through rows. -->
<rowKey>key</rowKey>

<!-- The loopEvent is the definition of an event to symbolize the


occurrence of a new iteration of the loop. This event occurs at the
beginning of each iteration of the loop. -->
<loopEvents>
<loopEvent eventName="Custom_Event"
includeSiblings="true|false" />
</loopEvents>
</forLoop>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1278 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Type of Component Block


0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
mergeRowToJobData
Required for a dataService, forLoop, or whileLoop business rule component. Optional for a
securityInfo business rule component. This attribute specifies whether a row of data
retrieved from a database should be copied into the job data of the datamap, or whether it
should exist in the datamap only as current row data. The default value is false.
Tip: For a securityInfo business rule component, it is typically recommended
that you set mergeRowToJobData to true so that the profile, user name, and
domain are saved to the datamap.
Value Description
false The data retrieved from the database exists in the datamap only as current row
data that child business rule components can access, but peer business rule
components cannot.

Loftware Spectrum 3.0.1 User Guide 1279


Configuring and Administering

Value Description
true The data retrieved from the database exists in the datamap as current row data
that child business rule components can access, but peer business rule
components cannot.
The row data is also copied to the job data portion of the datamap for this
business rule component. Peer and child business rule components can access
this job data in the datamap.
When the row data is merged into the job data, the mergePolicy used is
MERGE_NONE and the action used is OVERRIDE. These are not
configurable.
Example
A dataService business rule component named DBQUERY exists
in the Body namespace and retrieves a value for PRINTERNAME
from a database. If mergeRowToJobData is true, then peers of
the dataService business rule component can access the value of
PRINTERNAME in the datamap by using
${/Body/DBQUERY/PRINTERNAME}.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.

1280 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Description
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

formatScript Business Rule Component

A Format Script is a business rule component that allows you to make changes to the properties
of a label template and to the datamap by using JavaScript. A Format Script does not return a
value. The capabilities of a Format Script are comparable to those of a Script data source, except
that methods for character-level formatting are not supported.
The following is the syntax for a Format Script.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be

Loftware Spectrum 3.0.1 User Guide 1281


Configuring and Administering

named or specified by you.


<formatScript name="This_component" namespace="Parent_of_component"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>

1282 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- Parameters are stored as data map entries that


include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>

Loftware Spectrum 3.0.1 User Guide 1283


Configuring and Administering

<!-- Format Script functionality ----------------------------->


<!-- Enter JavaScript designed to make changes to the datamap. -->
<script>JavaScript</script>
</formatScript>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as
part of a component block. Refer to the configuratorType of the parent of this
business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1284 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Type of Component Block


7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.

Loftware Spectrum 3.0.1 User Guide 1285


Configuring and Administering

Value Description
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

importData Business Rule Component

An Import Data business rule component allows you to convert a string of data from CSV or
XMLformat to an equivalent structure of data map entries for use in Spectrum.
Tip: You can use an Export Data business rule component to convert data in a
namespace from a structure of data map entries to a string of data in CSV or XML
format.
The following is the syntax for an Import Data business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be

1286 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

named or specified by you.


<importData name="This_component" namespace="Parent_of_component"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>

Loftware Spectrum 3.0.1 User Guide 1287


Configuring and Administering

<!-- Parameters are stored as data map entries that


include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>

1288 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- Import Data functionality -->


<!-- The value for each of the following can be a static value or
the fully-qualified name of a data map entry containing the value.
-->

<!-- Required. The fully-qualified name of the data map entry


containing the data to be converted. -->
<sourceDataRef>data_map_entry</sourceDataRef>

<!-- Required. The format of the source data. This value is not
case sensitive. -->
<dataFormat>CSV|XML</dataFormat>

<!-- If dataFormat is CSV, whether the source data includes a


header row. If false, then COLUMN1, COLUMN2, and so on, are used as
the names of the columns in the converted data. The default value
is true. -->
<hasHeaderRow>true|false</hasHeaderRow>

<!-- If dataFormat is CSV, the character optionally used to enclose


the data of one cell in the source data. The default value is a
double quotation mark ("). -->
<textQualifier>character</textQualifier>

<!-- Required. The fully-qualified namespace under which the


converted data is stored in the datamap. -->
<targetDataRef>namespace</targetDataRef>
</importData>
Syntax Tips
Additional information is available about the following items.
action
For a business rule component that can return a value, this property determines whether that
value remains in the datamap when the business rule component finishes running and returns
control to its parent business rule component. The default value is OVERRIDE.
Note: The impact of a business rule component returning control to its parent
is also affected by mergePolicy.

Value Description
OVERRIDE When control is returned to the parent, the value produced by the
business rule component is retained for the data map entry, replacing any
previous value for the data map entry.

Loftware Spectrum 3.0.1 User Guide 1289


Configuring and Administering

Value Description
NOT_ When control is returned to the parent, the value produced by the
EXISTS business rule component is retained for the data map entry only if a data
map entry with that name did not exist prior to the execution of this
business rule component. Otherwise, the previous value for the data map
entry is reinstated.
DELETE When control is returned to the parent, the data map entry is deleted from
the datamap.
APPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the end of the old value.
PREPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the beginning of the old value.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as
part of a component block. Refer to the configuratorType of the parent of this
business rule component to determine the type of component block.

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1290 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Tip: This attribute is automatically included in business rule components


generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
dataType
This object has a type that describes the data that it returns or to which it refers. The default
value is STRING.
Note: For a parameter, the dataType specifies the data type of the parameter
value.

Loftware Spectrum 3.0.1 User Guide 1291


Configuring and Administering

Value Description
STRING An object of this type is a text string. Any number included is treated as
text.
Tip: For a parameter in a dataService business rule
component, the result map for a JDBC data service can be
represented as a string.
INTEGER An object of this type is a signed integer value.
NUMBER An object of this type has a signed decimal value.
BOOLEAN An object of this type has a value of true or false.
BINARY An object of this type is an array of bytes.
DATE An object of this type is a time value stored in milliseconds since 1970.
mergePolicy
For a business rule component that returns a value, this property (in conjunction with the
mergePolicy of its parent business rule component) determines whether the returned value
remains in the datamap when the business rule component finishes running and returns
control to its parent. The default value is MERGE_ALL.
Note: The impact of a business rule component returning control to its parent
is also affected by action.

Value in Par-
Value Description
ent
MERGE_ALL MERGE_ALL When the business rule component is finished
or MERGE_ or MERGE_ running, the data map entry containing the value
TO_PARENT FROM_CHILD that it returns remains in the datamap.
MERGE_ALL MERGE_ When the business rule component is finished
or MERGE_ NONE or running, the data map entry containing the value
TO_PARENT MERGE_TO_ that it returns is removed from the datamap.
PARENT
MERGE_ Any When the business rule component is finished
NONE or running, the data map entry containing the value
MERGE_ that it returns is removed from the datamap.
FROM_CHILD
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a

1292 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

incDec Business Rule Component

An Increment/Decrement business rule component returns the value of a counter that is


increased or decreased for each printed label in a print job. This value is added to the datamap

Loftware Spectrum 3.0.1 User Guide 1293


Configuring and Administering

and can be referenced by using the fully-qualified name of the Increment/Decrement business
rule component.
The starting value for each print job is entered by the user at print time or is configured as part
of the business rule component. The capabilities of an Increment/Decrement business rule
component are comparable to those of an Inc/Dec data source.
Tip: When incrementing an alphanumeric series, by default the series begins with
zero, progresses through the numerical digits, and then progresses through letters.
The following is the syntax for an Increment/Decrement business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<incDec name="This_component" namespace="Parent_of_component"
direction="INCREMENT|DECREMENT"
mode="NUMERIC|UPPERCASE_ALPHA|UPPERCASE_ALPHANUM|HEXADECIMAL|CUSTOM"
step="integer"
maxLength="integer"
minLength="integer"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND"

sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">


<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see

1294 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

"Conditions" on page 1353. -->


<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing

Loftware Spectrum 3.0.1 User Guide 1295


Configuring and Administering

events, and error processing events that you can use as


triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
<!-- Any business rule components to be run if the
trigger event for this incDec business rule component
occurs. -->
</children>

<!-- Increment/Decrement functionality ------------------->


<!-- If the mode is CUSTOM, specify the custom sequence in
increasing value from left to right. Do not use any separators
between the items in the sequence. To use an item that includes
multiple characters, enclose the item in single quotation marks. --
>
<!-- If the mode for this business rule component is anything other
than CUSTOM, omit the sequence. -->
<sequence>string</sequence>

<!-- The startValue must be of the type specified by the mode. -->
<startValue>value</startValue>

1296 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- The minValue must be of the type specified by the mode. To


optimize performance, ensure that minValue and endValue include the
same number of digits. You can pad minValue with leading zeros as
needed. -->
<minValue>value</minValue>

<!-- The endValue must be of the type specified by the mode. -->
<endValue>value</endValue>
</incDec>
Syntax Tips
Additional information is available about the following items.
action
For a business rule component that can return a value, this property determines whether that
value remains in the datamap when the business rule component finishes running and returns
control to its parent business rule component. The default value is OVERRIDE.

Note: The impact of a business rule component returning control to its parent
is also affected by mergePolicy.

Value Description
OVERRIDE When control is returned to the parent, the value produced by the
business rule component is retained for the data map entry, replacing any
previous value for the data map entry.
NOT_ When control is returned to the parent, the value produced by the
EXISTS business rule component is retained for the data map entry only if a data
map entry with that name did not exist prior to the execution of this
business rule component. Otherwise, the previous value for the data map
entry is reinstated.
DELETE When control is returned to the parent, the data map entry is deleted from
the datamap.
APPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the end of the old value.
PREPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the beginning of the old value.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.

Loftware Spectrum 3.0.1 User Guide 1297


Configuring and Administering

configuratorType
For a business rule component that was generated by using the Configurator 1, this attribute
is a numeric identifier that usually indicates what type of component block2 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat

1In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
2In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1298 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Type of Component Block


20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
dataType
This object has a type that describes the data that it returns or to which it refers. The default
value is STRING.
Note: For a parameter, the dataType specifies the data type of the parameter
value.

Value Description
STRING An object of this type is a text string. Any number included is treated as
text.
Tip: For a parameter in a dataService business rule
component, the result map for a JDBC data service can be
represented as a string.
INTEGER An object of this type is a signed integer value.
NUMBER An object of this type has a signed decimal value.
BOOLEAN An object of this type has a value of true or false.
BINARY An object of this type is an array of bytes.
DATE An object of this type is a time value stored in milliseconds since 1970.
mergePolicy
For a business rule component that returns a value, this property (in conjunction with the
mergePolicy of its parent business rule component) determines whether the returned value
remains in the datamap when the business rule component finishes running and returns
control to its parent. The default value is MERGE_ALL.
Note: The impact of a business rule component returning control to its parent
is also affected by action.

Value in Par-
Value Description
ent
MERGE_ALL MERGE_ALL When the business rule component is finished
or MERGE_ or MERGE_ running, the data map entry containing the value
TO_PARENT FROM_CHILD that it returns remains in the datamap.

Loftware Spectrum 3.0.1 User Guide 1299


Configuring and Administering

Value in Par-
Value Description
ent
MERGE_ALL MERGE_ When the business rule component is finished
or MERGE_ NONE or running, the data map entry containing the value
TO_PARENT MERGE_TO_ that it returns is removed from the datamap.
PARENT
MERGE_ Any When the business rule component is finished
NONE or running, the data map entry containing the value
MERGE_ that it returns is removed from the datamap.
FROM_CHILD
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.

1300 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

mapOperations Business Rule Component

A DataMap Operations business rule component allows you to add, remove, or change data map
entries. It does not return a value.
The following is the syntax for a DataMap Operations business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<mapOperations name="This_component" namespace="Parent_of_component"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this

Loftware Spectrum 3.0.1 User Guide 1301


Configuring and Administering

business rule component to run. For more information, see


"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>

1302 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- You can define pre-processing events, post-processing


events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>

<!-- DataMap Operations functionality --------------------->


<!-- Specify changes to be made to data map entries in the
datamap. -->
<operations>
<!-- For each operation, you must specify an operation
and a literalValue. All other attributes are optional.
-->
<operation operation="PUT|DELETE|REMOVE"
literalValue="false|true"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND"
>
<!-- The name (key) for the data map entry

Loftware Spectrum 3.0.1 User Guide 1303


Configuring and Administering

for which data is to be added, changed, or


removed. Depending on the task, this can be
the name for an existing data map entry or
the name for a new data map entry to be
created. -->
<targetKey>name</targetKey>

<!-- If adding or changing a data map entry,


the value to be associated with the name. --
>
<value>value</value>
</operation>
</operations>
</mapOperations>
Syntax Tips
Additional information is available about the following items.
action
For a business rule component that can return a value, this property determines whether that
value remains in the datamap when the business rule component finishes running and returns
control to its parent business rule component. The default value is OVERRIDE.
Note: The impact of a business rule component returning control to its parent
is also affected by mergePolicy.

Value Description
OVERRIDE When control is returned to the parent, the value produced by the
business rule component is retained for the data map entry, replacing any
previous value for the data map entry.
NOT_ When control is returned to the parent, the value produced by the
EXISTS business rule component is retained for the data map entry only if a data
map entry with that name did not exist prior to the execution of this
business rule component. Otherwise, the previous value for the data map
entry is reinstated.
DELETE When control is returned to the parent, the data map entry is deleted from
the datamap.
APPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the end of the old value.
PREPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the beginning of the old value.
alias

1304 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

Loftware Spectrum 3.0.1 User Guide 1305


Configuring and Administering

Value Type of Component Block


16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
dataType
This object has a type that describes the data that it returns or to which it refers. The default
value is STRING.

Note: For a parameter, the dataType specifies the data type of the parameter
value.

Value Description
STRING An object of this type is a text string. Any number included is treated as
text.
Tip: For a parameter in a dataService business rule
component, the result map for a JDBC data service can be
represented as a string.
INTEGER An object of this type is a signed integer value.
NUMBER An object of this type has a signed decimal value.
BOOLEAN An object of this type has a value of true or false.
BINARY An object of this type is an array of bytes.
DATE An object of this type is a time value stored in milliseconds since 1970.
literalValue
The literalValue attribute is a required Boolean value that indicates whether the value in any
data map entries specified by the operation should be treated as a literal value and used in its
current form, or whether the value should be resolved to a value in the datamap.
Value Description
false If the value in the data map entry is in the form of a key, resolve the key to a
value in the datamap.
true If the value in the data map entry is in the form of a key, use the text as is. Do
not resolve the key to a value in the datamap.
mergePolicy

1306 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

For a business rule component that returns a value, this property (in conjunction with the
mergePolicy of its parent business rule component) determines whether the returned value
remains in the datamap when the business rule component finishes running and returns
control to its parent. The default value is MERGE_ALL.
Note: The impact of a business rule component returning control to its parent
is also affected by action.

Value in Par-
Value Description
ent
MERGE_ALL MERGE_ALL When the business rule component is finished
or MERGE_ or MERGE_ running, the data map entry containing the value
TO_PARENT FROM_CHILD that it returns remains in the datamap.
MERGE_ALL MERGE_ When the business rule component is finished
or MERGE_ NONE or running, the data map entry containing the value
TO_PARENT MERGE_TO_ that it returns is removed from the datamap.
PARENT
MERGE_ Any When the business rule component is finished
NONE or running, the data map entry containing the value
MERGE_ that it returns is removed from the datamap.
FROM_CHILD
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.

Loftware Spectrum 3.0.1 User Guide 1307


Configuring and Administering

Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
operation
The operation to perform on the data map entry.
Value Description
PUT Add or change the specified data map entry.
DELETE If the specified data map entry exists in a previous scope, mark it as deleted.
Requests for that key will return NULL or notExists.
A data map entry that has been deleted can be restored (un-deleted) by using
the REMOVE operation.
REMOVE If the specified data map entry is not marked as deleted, this operation
removes the data map entry from the current scope of the datamap. The
data map entry cannot be un-deleted.
If the specified data map entry is already marked as deleted, this operation
removes the deletion marker so that the data map entry is restored (un-
deleted).
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

1308 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

mapScript Business Rule Component

A DataMap Entry Script is a business rule component that allows you to provide read-only data
map entries. A DataMap Entry Script also returns a value that is added to the datamap and that
can be referenced by using the fully-qualified name of the DataMap Entry Script. The
capabilities of a DataMap Entry Script are comparable to those of a Formula data source.
The following is the syntax for a DataMap Entry Script.
Important! Patterns for character-level formatting and for values returned from
data map entries are governed by the Java syntax for regular expressions.
Escape sequences are required for the following characters. Precede the character
with a backslash.
<>()[]{}|^-=+*$!?.\
By default, literal text within a pattern is case sensitive. You can make a pattern
case insensitive by beginning it with the special construct (?i). If you configure
both patterns and ranges in a Character-Level format source, ranges are resolved
before patterns.
For more information about Java syntax for regular expressions, see The Java
Tutorials: Regular Expressions on the Oracle website.

Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<mapScript name="This_component" namespace="Parent_of_component"
customScript="true|false"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND"

sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">


<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->

Loftware Spectrum 3.0.1 User Guide 1309


Configuring and Administering

<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->

1310 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>

<!-- DataMap Script functionality --------------------------->


<!-- Enter JavaScript designed to make changes to the datamap. -->
<script>JavaScript</script>
</mapScript>
Syntax Tips

Loftware Spectrum 3.0.1 User Guide 1311


Configuring and Administering

Additional information is available about the following items.


action
For a business rule component that can return a value, this property determines whether that
value remains in the datamap when the business rule component finishes running and returns
control to its parent business rule component. The default value is OVERRIDE.
Note: The impact of a business rule component returning control to its parent
is also affected by mergePolicy.

Value Description
OVERRIDE When control is returned to the parent, the value produced by the
business rule component is retained for the data map entry, replacing any
previous value for the data map entry.
NOT_ When control is returned to the parent, the value produced by the
EXISTS business rule component is retained for the data map entry only if a data
map entry with that name did not exist prior to the execution of this
business rule component. Otherwise, the previous value for the data map
entry is reinstated.
DELETE When control is returned to the parent, the data map entry is deleted from
the datamap.
APPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the end of the old value.
PREPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the beginning of the old value.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1312 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.

Value Type of Component Block


0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
customScript
The customScript attribute is an optional Boolean value that indicates whether the user is
granted Read or Read Only access to the datamap. The default value for customScript is

Loftware Spectrum 3.0.1 User Guide 1313


Configuring and Administering

false.
Value Description
false The user is granted Read Only access to data map entries.
true The user is granted Read access to data map entries.
dataType
This object has a type that describes the data that it returns or to which it refers. The default
value is STRING.
Note: For a parameter, the dataType specifies the data type of the parameter
value.

Value Description
STRING An object of this type is a text string. Any number included is treated as
text.
Tip: For a parameter in a dataService business rule
component, the result map for a JDBC data service can be
represented as a string.
INTEGER An object of this type is a signed integer value.
NUMBER An object of this type has a signed decimal value.
BOOLEAN An object of this type has a value of true or false.
BINARY An object of this type is an array of bytes.
DATE An object of this type is a time value stored in milliseconds since 1970.
mergePolicy
For a business rule component that returns a value, this property (in conjunction with the
mergePolicy of its parent business rule component) determines whether the returned value
remains in the datamap when the business rule component finishes running and returns
control to its parent. The default value is MERGE_ALL.
Note: The impact of a business rule component returning control to its parent
is also affected by action.

Value in Par-
Value Description
ent
MERGE_ALL MERGE_ALL When the business rule component is finished
or MERGE_ or MERGE_ running, the data map entry containing the value
TO_PARENT FROM_CHILD that it returns remains in the datamap.

1314 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value in Par-
Value Description
ent
MERGE_ALL MERGE_ When the business rule component is finished
or MERGE_ NONE or running, the data map entry containing the value
TO_PARENT MERGE_TO_ that it returns is removed from the datamap.
PARENT
MERGE_ Any When the business rule component is finished
NONE or running, the data map entry containing the value
MERGE_ that it returns is removed from the datamap.
FROM_CHILD
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.

Loftware Spectrum 3.0.1 User Guide 1315


Configuring and Administering

Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

reference Business Rule Component

A Reference is a business rule component that loads business rule components from another
business rule into the current business rule.
Best Practice
When calling a sibling business rule component that you did not write (for example,
by using a reference business rule component), use a separate event instead of using
includeSiblings to propagate an event.

Tip: For an example of how to use a Reference business rule component to load
data sources from a label template into the datamap, see "Access Label Data
Sources (XML)" on page 1216.
The following is the syntax for a Reference business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<reference name="This_component" namespace="Parent_of_component"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->

1316 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->

Loftware Spectrum 3.0.1 User Guide 1317


Configuring and Administering

<!-- To cause any data map entries within the


parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>

<!-- Reference functionality --------------------------------->

1318 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- Specify the full path to a business rule in Spectrum.


Alternatively, to use data sources configured in the label
template, specify !DOCUMENT_DEFAULT!. -->
<referencePath>Path_in_Spectrum</referencePath>
</reference>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as
part of a component block. Refer to the configuratorType of the parent of this
business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

Loftware Spectrum 3.0.1 User Guide 1319


Configuring and Administering

Value Type of Component Block


7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.

1320 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Description
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

securityInfo Business Rule Component

A Security Info business rule component saves the user name, user domain, and user profile
information associated with a print request to the datamap when this business rule component
is run.
The values added to the datamap can be referenced by using the following reserved keys, which
are under the namespace and name that you specify in the business rule component.
Reserved
Description
Key
profile The user profile of the user associated with the print request. In the data map,
a user profile is represented by the reserved keys that are children of profile.
For more about user profiles, see "Configuring User Profiles" on page 781.
userdomain The domain (if any) specified in Spectrum for the user associated with the
print request.
username The Spectrum user name of the user associated with the print request.
The following is the syntax for a Security Info business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Loftware Spectrum 3.0.1 User Guide 1321


Configuring and Administering

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<securityInfo name="This_component" namespace="Parent_of_component"
mergeRowToJobData="true|false"
failOnError ="true|false"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">

1322 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>

Loftware Spectrum 3.0.1 User Guide 1323


Configuring and Administering

<!-- You can create child business rule components to be run


whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>
</securityInfo>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1324 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Type of Component Block


1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
failOnError
For a securityInfo business rule component, this attribute specifies whether the job should
fail if an error occurs when attempting to find the user or the profile. The default value is
true.
Value Description
true If an error occurs when Spectrum attempts to find the user or the profile, then
the job fails.
false If an error occurs when Spectrum attempts to find the user or the profile, the
job may proceed.
mergeRowToJobData
Required for a dataService, forLoop, or whileLoop business rule component. Optional for a
securityInfo business rule component. This attribute specifies whether a row of data
retrieved from a database should be copied into the job data of the datamap, or whether it
should exist in the datamap only as current row data. The default value is false.

Loftware Spectrum 3.0.1 User Guide 1325


Configuring and Administering

Tip: For a securityInfo business rule component, it is typically recommended


that you set mergeRowToJobData to true so that the profile, user name, and
domain are saved to the datamap.
Value Description
false The data retrieved from the database exists in the datamap only as current row
data that child business rule components can access, but peer business rule
components cannot.
true The data retrieved from the database exists in the datamap as current row data
that child business rule components can access, but peer business rule
components cannot.
The row data is also copied to the job data portion of the datamap for this
business rule component. Peer and child business rule components can access
this job data in the datamap.
When the row data is merged into the job data, the mergePolicy used is
MERGE_NONE and the action used is OVERRIDE. These are not
configurable.
Example
A dataService business rule component named DBQUERY exists
in the Body namespace and retrieves a value for PRINTERNAME
from a database. If mergeRowToJobData is true, then peers of
the dataService business rule component can access the value of
PRINTERNAME in the datamap by using
${/Body/DBQUERY/PRINTERNAME}.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a

1326 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

static Business Rule Component

A Static business rule component allows you to add default data or parameters to the datamap.
The following is the syntax for a Static business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.

Loftware Spectrum 3.0.1 User Guide 1327


Configuring and Administering

About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<static name="This_component" namespace="Parent_of_component"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- For a static business rule component, you typically specify


default data or parameters. -->
<!-- Default data ------------------------------------------->
<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->

1328 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business

Loftware Spectrum 3.0.1 User Guide 1329


Configuring and Administering

rule component. However, a child business rule


component will not run unless its own trigger event
occurs. -->
</children>
</static>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as
part of a component block. Refer to the configuratorType of the parent of this
business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1330 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Type of Component Block


7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.

Loftware Spectrum 3.0.1 User Guide 1331


Configuring and Administering

Value Description
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

whileLoop Business Rule Component

A While Loop is a business rule component that allows you to repeat an action as long as
specified conditions continue to be true and the maximum number of iterations has not been
exceeded.
Tip: To prevent runaway looping if a conditional trigger always returns true, it is
recommended that you specify the maximum number of iterations allowed.
The following is the syntax for a While Loop.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be

1332 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

named or specified by you.


<whileLoop name="This_component" namespace="Parent_of_component"
maxIterations="integer"
mergeRowToJobData="true|false"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->

Loftware Spectrum 3.0.1 User Guide 1333


Configuring and Administering

<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->

1334 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- To run a child business rule component once per


iteration of the loop, set the trigger for the child
business rule component to the event defined in
loopEvents. -->
</children>

<!-- While Loop functionality -------------------------------->


<!-- Specify a rowKey only if you are using the whileLoop to
iterate through rows. -->
<rowKey>key</rowKey>

<beforeCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation, a
comparison, or a data map entry state operation. You
can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
<!-- The beforeCondition is evaluated before the child
business rule components have been run for this
iteration of the loop. -->
<!-- If the beforeCondition is true, loopEvents occur,
children are evaluated, and then the afterCondition is
evaluated. -->
<!-- If the beforeCondition is false, loopEvents do not
occur, children are evaluated, the afterCondition is
not evaluated, and no further iterations of the loop
occur. -->
</beforeCondition>

<afterCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation, a
comparison, or a data map entry state operation. You
can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
<!-- The afterCondition is evaluated after the child
business rule components have been run for this
iteration of the loop.
<!-- If this afterCondition is true and the number of
iterations has not exceeded maxIterations, then a new
iteration begins and the beforeCondition (if one
exists) is evaluated again. -->
<!-- If the afterCondition is false, then no further
iterations of the loop occur. -->
</afterCondition>

<!-- The loopEvent is the definition of an event to symbolize the


occurrence of a new iteration of the loop. This event occurs at the
beginning of each iteration of the loop. -->

Loftware Spectrum 3.0.1 User Guide 1335


Configuring and Administering

<loopEvents>
<loopEvent eventName="Custom_Event"
includeSiblings="true|false" />
</loopEvents>
</whileLoop>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1336 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Type of Component Block


5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
mergeRowToJobData
Required for a dataService, forLoop, or whileLoop business rule component. Optional for a
securityInfo business rule component. This attribute specifies whether a row of data
retrieved from a database should be copied into the job data of the datamap, or whether it
should exist in the datamap only as current row data. The default value is false.
Tip: For a securityInfo business rule component, it is typically recommended
that you set mergeRowToJobData to true so that the profile, user name, and
domain are saved to the datamap.
Value Description
false The data retrieved from the database exists in the datamap only as current row
data that child business rule components can access, but peer business rule
components cannot.

Loftware Spectrum 3.0.1 User Guide 1337


Configuring and Administering

Value Description
true The data retrieved from the database exists in the datamap as current row data
that child business rule components can access, but peer business rule
components cannot.
The row data is also copied to the job data portion of the datamap for this
business rule component. Peer and child business rule components can access
this job data in the datamap.
When the row data is merged into the job data, the mergePolicy used is
MERGE_NONE and the action used is OVERRIDE. These are not
configurable.
Example
A dataService business rule component named DBQUERY exists
in the Body namespace and retrieves a value for PRINTERNAME
from a database. If mergeRowToJobData is true, then peers of
the dataService business rule component can access the value of
PRINTERNAME in the datamap by using
${/Body/DBQUERY/PRINTERNAME}.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.

1338 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Description
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

xmlData Business Rule Component

An XML Data business rule component can be used to convert data that is in an XML format
into data map entries. This type of business rule component can be used to produce data map
entries from XML data, such as the XML data received from a SOAP Web Service data service.
Important! If you are using an XML Data business rule component in conjunction
with a SOAP Web Service data service, the Result Name specified in the SOAP
Web Service data service must be the name of the XMLData business rule
component.
The following is the syntax for an XML Data business rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.

Loftware Spectrum 3.0.1 User Guide 1339


Configuring and Administering

Important! In an XMLData business rule component, you must specify


dataType and resultName attributes.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<xmlData name="This_component" namespace="Parent_of_component"
resolveValue="true|false"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,
a comparison, or a data map entry state operation.
You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

1340 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an
error. For more information, see "Events" on page 1347. -->
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>

Loftware Spectrum 3.0.1 User Guide 1341


Configuring and Administering

<!-- The child business rule components have the


potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>

<!-- XML Data functionality ------------------->


<!-- You can specify an xPath expression to filter the XML data,
potentially omitting irrelevant portions of the data. If
xPathExpression is specified, it indicates what to omit. If
xPathExpression is not specified, then all of the data is returned.
-->
<xPathExpression>xPath expression</xPathExpression>

<!-- Required. You must specify the XML data to be converted into
data map entries. The XMLdata must use UTF-8 encoding without a
byte order mark (BOM). Whether data is the XML itself or a key
pointing to the XML data is determined by resolveValue. -->
<data>XML data to convert to data map entries</data>
</xmlData>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.
If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as
part of a component block. Refer to the configuratorType of the parent of this
business rule component to determine the type of component block.

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1342 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Tip: This attribute is automatically included in business rule components


generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.
Value Type of Component Block
0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a

Loftware Spectrum 3.0.1 User Guide 1343


Configuring and Administering

leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
resolveValue
For a parameter value, whether to treat any data map entries within the parameter value literal
text or resolve them to their associated values. The default value is false.
For an XML Data business rule component, whether to treat the value of data as literal XML
data or as a data map entry pointing to XML data. The default value is false.
Value Description
true For a parameter value, any data map entries within the parameter value are
resolved to their associated values at run time.
For an XML Data business rule component, the value of data is interpreted as a
data map entry that points to XML data, and is resolved to the value to which
the data map entry points at run time.
false For a parameter value, the parameter value is interpreted as literal text.
For an XML Data business rule component, the value of data is interpreted as
literal XML.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.

1344 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Value Description
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

Loftware Spectrum 3.0.1 User Guide 1345


Configuring and Administering

Triggers and Events

A trigger is a part of a business rule component that controls if and when that business rule
component is run based on if and when an event occurs.
l "Triggers" on page 1346
l "Events" on page 1347
Triggers

A trigger is a part of a business rule component that controls if and when that business rule
component is run.
Best Practice
Use priority values to control the execution order of business rule components.
Additionally, within a business rule it is recommended that you list peer business
rule components in execution order so that the business rule will be easier for
others to understand.
The following is the syntax for a trigger.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event" priority="integer"
propagation="NONE|BEFORE|AFTER"/>
</triggers>
Syntax Tips
Additional information is available about the following items.
eventTrigger
Required. The name of an event associated with a business rule component that determines
when during the processing of the business rule that business rule component is run.
You can use built-in events (ENQUEUE, PRINTJOBDETAIL, or LABEL) or custom
events as triggers. Built-in events refer to points in time during processing and do not need
to be created. Custom events must be defined and named before they can be used as triggers.
For more information, see "Events" on page 1347.
Note: If a business rule component includes both a global Conditional and a
trigger Conditional, then the business rule component is run only if both
Conditionals are true. That is, a logical AND operation is performed on the two
Conditionals.

1346 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

priority
Required. An integer that serves as a prioritization number for a business rule component. If
the triggers for two business rule components use the same event, then the business rule
component with the lower priority value is run first.
Important! If multiple business rule components use the same eventTrigger,
you must specify a unique priority for the trigger in each of these business
rule components to ensure the intended prioritization.
propagation
Optional. If the event specified in the trigger of a business rule component occurs and if the
business rule component has children, the event can be automatically applied to the children.
This attribute of a trigger controls whether the event is applied to the children. Additionally,
this attribute controls whether the event is applied to the children before or after the
business rule component is run, which affects whether data provided by the business rule
component is available to its children. If propagation is not specified, the default value
NONE is used.
Tip: For a securityInfo business rule component that includes children, it is
typically recommended that you set propagation to AFTER so that the data
added to the datamap by the business rule component is available to its
children.
Value Description
NONE The event is not automatically applied to children.
BEFORE Before the business rule component is run, the event is automatically applied
to any children. Data provided by this business rule component is not
available to its children.
AFTER After the business rule component is run, the event is automatically applied
to any children. Data provided by this business rule component is available
to its children.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

Events

An event is an occurrence during processing that can be used to trigger the running of one or
more business rule components. Unlike a built-in event, a custom event must be defined and
named before it can be used as a trigger.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.
Built-in Events

Loftware Spectrum 3.0.1 User Guide 1347


Configuring and Administering

Built-in events (ENQUEUE, PRINTJOBDETAIL, or LABEL) exist automatically and do not


need to be created before they can be used as triggers.
ENQUEUE
The ENQUEUE event causes a business rule component to run during the job submit phase,
before the job is queued for printing. This event occurs for each job in a stacked job. As a best
practice, it is recommended that you use the ENQUEUE event to run database or other process
intensive business rule components.
PRINTJOBDETAIL
The PRINTJOBDETAIL event causes a business rule component to run when a job is removed
from the queue to be printed.
LABEL
If Delink Data Source is set to true in the process, then business rule components triggered by
the LABEL event are run before each label is printed. In this case, Spectrum does not use data
sources defined in the label template except for Database and Alternate data sources.
If Delink Data Source is set to false in the process, then Spectrum uses all data sources
defined in the label template. In this case, when the business rule is run, any business rule
components that would be triggered by the LABELevent are not run.
Tip: You can run business rule components that are triggered by the LABEL
event, but also have access to all data sources in the label template. To do so, set
Delink Data Source to true and use a Reference business rule component to load
the label data sources into the datamap. For more information, see "Access Label
Data Sources (XML)" on page 1216.
Best Practice
In most cases, it is recommended that you use the LABEL event as the trigger for
running incDec, dateTime, and mapScript business rule components.
Custom Events
Custom events typically refer to a result of a business rule component. Unlike a built-in event,
you must define and name a custom event so that you can use it as a trigger. Some examples of
custom events include when a condition is true, when a condition is false, or when a row of data
from a database is processed.
The following is the syntax for defining a custom event. You must specify the type of custom
event where indicated. Note that the type of custom event is singular only if the item is nested
within tags that use the plural form.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<Type_of_custom_events>

1348 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<Type_of_custom_event eventName="Custom_Event"
includeSiblings="true|false">
</Type_of_custom_events>

Loftware Spectrum 3.0.1 User Guide 1349


Configuring and Administering

Types of Custom Events


The timing of custom events is determined by the type of event, which indicates when or if it
occurs during the processing of a business rule component. Some types custom events can be
included in any kind of business rule component, while others are limited to a few specific kinds
of business rule components. The following are types of custom events.
Events for any business rule component
preProcessEvent
An event that occurs before the business rule component in which it is defined is processed.
You can define this type of event in any business rule component and use it to trigger a child
business rule component to be evaluated before the parent is processed. For example, you
can use a preProcessEvent to cause a state by running other business rule components before
the one in which this event is defined.
<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>
postProcessEvent
An event that occurs after the business rule component in which it is defined is processed.
You can define this type of event in any business rule component and use it to trigger a child
business rule component to run after the parent is processed. For example, you can use a
postProcessEvent to run a business rule component after this one to cause or reset a state.
<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>
errorProcessEvent
An event that occurs only if an error occurs during processing of the business rule
component in which it is defined. You can define this type of event in any business rule
component and use it to trigger a child business rule component to run if an error occurs
during processing of the parent business rule component. For example, you can use an
errorProcessEvent to respond to an error condition by running another business rule
component.
<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>
Events for conditional business rule components
trueEvent

1350 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

An event that occurs only if a conditional business rule component is evaluated as true. You
can use a trueEvent as the trigger for a child business rule component of a conditional
business rule component to cause the child to run only if the condition is true. For more
information, see "conditional Business Rule Component" on page 1233.
<trueConditionEvents>
<trueEvent eventName="Custom_Event" includeSiblings="true|false"
/>
</trueConditionEvents>
falseEvent
An event that occurs only if a conditional business rule component is evaluated as false. You
can use a falseEvent as the trigger for a child business rule component of a conditional
business rule component to cause the child to run only if the condition is false. For more
information, see "conditional Business Rule Component" on page 1233.
<falseConditionEvents>
<falseEvent eventName="Custom_Event"
includeSiblings="true|false" />
</falseConditionEvents>
Event for dataService business rule components
rowEvent
An event that occurs when a row of data from a database is processed. You can use a
perRowEvent as the trigger for a child business rule component of a dataService business
rule component to cause the child to run once for each row of the database that is processed.
For more information, see "dataService Business Rule Component" on page 1243.
<perRowEvents>
<rowEvent eventName="Custom_Event" includeSiblings="true|false"
/>
</perRowEvents>
Event for forLoop and whileLoop business rule components
loopEvent
An event that occurs once per iteration of a forLoop or whileLoop. You can use a loopEvent
as the trigger for a child business rule component of a forLoop or a whileLoop to cause the
child to run once per iteration of the loop. For more information, see "forLoop Business Rule
Component" on page 1274 or "whileLoop Business Rule Component" on page 1332.
<loopEvents>
<loopEvent eventName="Custom_Event" includeSiblings="true|false"
/>
</loopEvents>

Loftware Spectrum 3.0.1 User Guide 1351


Configuring and Administering

Syntax Tips
includeSiblings
Required. This property of an event determines whether the event is propagated to peers of the
business rule component when the event occurs.
Best Practice
When calling a sibling business rule component that you did not write (for example,
by using a reference business rule component), use a separate event instead of using
includeSiblings to propagate an event.
Value Description
false The event is propagated to children of the business rule component, but not to
peers.
true The event is propagated to children and peers of the business rule component.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

1352 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Conditions and Operators

A condition is a logical expression that can be used to control whether an associated business
rule component or other object can run. A condition can include logical operators, comparison
operators, and the data map entry state operator. These operators can be used to define special
conditions in a conditional, whileLoop, or dataService business rule component, or to define an
executionCondition in any type of business rule component.
l "Conditions" on page 1353
l "Logical Operations and Comparisons" on page 1355
Conditions

A condition is a logical expression resulting in a value of true or false. If a condition is false, it


can prevent an associated business rule component or other object from running.
The following is the syntax for defining a condition. Some types of conditions can be included
in any kind of business rule component, while others are limited to a specific kind of business
rule component.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<Type_of_condition>
<!-- Logical expression resulting in a condition of true or false.
You can perform a logical operation, a comparison, or a data map
entry state operation. You can nest operations to create a more
complex expression. For more information, see "Logical Operations
and Comparisons" on page 1355. -->

</Type_of_condition>

Types of Conditions
The following are types of conditions.
Condition for any business rule component
executionCondition
A condition that can limit whether a business rule component can run. You can define an
execution condition for any type of business rule component.
Value Description
true The business rule component may run.
false The business rule component does not run.

Loftware Spectrum 3.0.1 User Guide 1353


Configuring and Administering

Condition for conditional business rule components


condition
A condition that can limit whether a conditional business rule component can run.
Value Description
true The conditional business rule component may run.
false The conditional business rule component does not run.
For more information, see "conditional Business Rule Component" on page 1233.
Conditions for dataService business rule components
stopRowProcessingCondition
A condition in a dataService business rule component that can prevent further database rows
from being processed by the business rule component.
Value Description
true No further rows are processed by the dataService business rule component.
false The dataService business rule component may continue to run.
skipCurrentRowCondition
A condition in a dataService business rule component that allows you to avoid processing a
row. Processing continues with the next row.
Value Description
true The current row is not processed by the dataService business rule component.
Processing continues with the next row.
false The dataService business rule component may process the current row.
For more information, see "dataService Business Rule Component" on page 1243.
Conditions for whileLoop business rule components
beforeCondition
A condition in a whileLoop business rule component that is evaluated for each iteration of
the loop before child business rule components are run.
Value Description
true In a whileLoop business rule component, loopEvents occur, children are
evaluated, and then the afterCondition is evaluated.
false In a whileLoop business rule component, loopEvents do not occur, children are
evaluated, the afterCondition is not evaluated, and no further iterations of the
loop occur.
afterCondition

1354 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

A condition in a whileLoop business rule component that is evaluated for each iteration of
the loop after child business rule components are run.
Value Description
true In a whileLoop business rule component, if the number of iterations has not
exceeded maxIterations, then a new iteration begins and the beforeCondition (if
one exists) is evaluated again.
false In a whileLoop business rule component, no further iterations of the loop occur.
For more information, see "whileLoop Business Rule Component" on page 1332.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

Logical Operations and Comparisons

When defining a condition, you can include logical operators, comparison operators, and the data
map entry state operator. These operators can be used to define special conditions in a
conditional, whileLoop, or dataService business rule component, or to define an
executionCondition in any type of business rule component. Each operation results in a value of
true or false, and you can nest operations to produce complex expressions.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
Logical Operators
You can use the following logical operators.
Operator Description
and The result is true if the results of all child operations are true.
nand The result is true if the result of at least one child operation is false.
or The result is true if the result of at least one child operation is true.
nor The result is true if the results of all child operations are false.
The following is the syntax for logical operations that can be used when defining a condition.
<and|nand|or|nor failOnFalseCondition="false|true">
<falseLogMessage>Text written to log if condition is
false</falseLogMessage>
<trueLogMessage>Text written to log if condition is
true</trueLogMessage>

Loftware Spectrum 3.0.1 User Guide 1355


Configuring and Administering

<!-- Optional. Child operations can be nested to produce a more


complex expression. Each operation results in a condition of true
or false. -->
</and|nand|or|nor>
Comparison Operators
You can use the following comparison operators.
Operator Description
equals The result is true if the left and right values are equal. This
comparison is case sensitive.
notEquals The result is true if the left and right values are not equal. This
comparison is case sensitive.
equalsIgnoreCase The result is true if the left and right values are equal. This
comparison is case insensitive.
notEqualsIgnoreCase The result is true if the left and right values are not equal. This
comparison is case insensitive.
greaterThan The result is true if the left value is greater than the right value.
This comparison is case sensitive.
lessThan The result is true if the left value is less than the right value. This
comparison is case sensitive.
Important! Specifying the type is required for each value being compared.
Depending on the type, that value can be interpreted as a literal value or as a data
map entry name (key).

Note: If you use an empty string as a value in a comparison, it is interpreted as a


null value 1 instead. You can test for an empty string by using a mapState operator
with stateCheck="NOT_EMPTY" and inverseResult="true".

Note: A comparison operator cannot have child business rule components.


The following is the syntax for comparison operations that can be used when defining a
condition.
<equals|notEquals|equalsIgnoreCase|notEqualsIgnoreCase|greaterThan|lessThan
failOnFalseCondition="false|true">
<falseLogMessage>Text written to log if condition is
false</falseLogMessage>
<trueLogMessage>Text written to log if condition is
true</trueLogMessage>
<!-- When defining the left, a value is required for type. -->
<left type="KEY|LITERAL"
valueType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE">

1A value that is unknown. A null value is different from an empty string or a zero value.

1356 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<value>string</value>
</left>
<!-- When defining the right, a value is required for type. -->
<right type="KEY|LITERAL"
valueType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE">
<value>string</value>
</right>
</equals|notEquals|equalsIgnoreCase|notEqualsIgnoreCase|greaterThan|lessThan>
DataMap Entry State Operator
You can use the data map entry state operator to determine whether a specified data map entry
exists and whether it contains a value.
Note: When using a mapState operator, you must specify a the name of a data map
entry as the value for key. A data map entry state operator cannot have child
business rule components.

Operator Description
mapState The result is true if the data map entry specified by key has the state specified
by stateCheck and the result is not inverted.
If the result is inverted, then the result is true if the data map entry specified by
key does not have the state specified by stateCheck.
The following is the syntax for a data map entry state operation that can be used when defining a
condition.
<mapState failOnFalseCondition="false|true"
key="Path" stateCheck="EXISTS|NOT_NULL|NOT_EMPTY" inverseResult="false|true">
<falseLogMessage>Text written to log if condition is
false</falseLogMessage>
<trueLogMessage>Text written to log if condition is
true</trueLogMessage>
</mapState>
Syntax Tips
Additional information is available about the following items.
failOnFalseCondition
This attribute of a logical operation or a comparison specifies whether the job should fail if
the value retrieved from the datamap does not match the literal value returned by the logical
operation. The default value is false.
Value Description
true If the value retrieved from the datamap does not match the literal value
returned by the logical operation, then the job fails.

Loftware Spectrum 3.0.1 User Guide 1357


Configuring and Administering

Value Description
false If the value retrieved from the datamap does not match the literal value
returned by the logical operation, then the job does not fail due to this
condition.
inverseResult
For a data map entry state (mapState) operator, whether to invert the result of the
comparison of the state of the data map entry specified by key and the value of stateCheck.
The default value is false.
Value Description
true If the state of the data map entry specified by key and the value of stateCheck
are equivalent, then the mapState operation returns false. Otherwise, the
operation returns true.
false The result of the comparison is not altered.
key
Required for a data map entry state (mapState) operator. The name of the data map entry to
be reviewed.
stateCheck
For a data map entry state (mapState) operator, the value to compare to the state of the data
map entry specified by key. The default value is EXISTS.
Value Description
EXISTS The data map entry exists in the datamap.
Note: It is possible for the value to be an empty string or to
never have been specified.
NOT_ The data map entry exists in the datamap and a value has been specified
NULL for it.
Note: It is possible for the value to be an empty string.
NOT_ The data map entry exists in the datamap and the value is not an empty
EMPTY string.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

1358 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Data and Parameters

In LoftwareSpectrum, the data available or generated when responding to a print request is


stored in a datamap. A datamap can include job data, the process, system properties, and the
current row if processing rows of data. By including a location prefix when you configure a value
in a process or a business rule, you can control where Spectrum looks for data and in what order.
l "Location Prefixes" on page 1359
l "Default Data" on page 1360

l "Parameters" on page 1363

Tip: In addition to data map entries that you create, there are built-in data map
entries. The names of these built-in data map entries are reserved keys. For more
information, see "Reserved Keys" on page 1487.

Location Prefixes

When configuring a value in a process or a business rule, you can direct Spectrum to look for the
data in the job data, the process, system properties, or the current row if processing rows of data.
You can direct Spectrum to check only one of these locations for the key (name), or to check
more than one of these locations in a specified order.
Prefix Effect
$ or Look for the key in the job data and return the associated value. If the key is not
$# found in the job data, look in the process.
# or #$Look for the key in the process and return the associated value. If the key is not
found in the process, look in the job data.
$$ Look for the key in the job data and return the associated value. If the key is not
found, do not look for it in other locations.
## Look for the key in the process and return the associated value. If the key is not
found, do not look for it in other locations.
% Look for the key in the system properties and return the associated value. If the
key is not found and no other location is specified, do not look for it in other
locations.
@ Look for the key in the row of data currently being processed and return the
associated value. If the key is not found and no other location is specified, do not
look for it in other locations.
Complex Lookup Examples
You can use several prefixes in combination so that you can look for a key in more than one
location, specifying the order in which to check the locations. You can also use a value retrieved
from one key as the key or part of the key for a second lookup.

Loftware Spectrum 3.0.1 User Guide 1359


Configuring and Administering

Example Result
@%$#{/Body/Category}
This prefix and key cause Spectrum to look for a key named
/Body/Category in several locations, stopping when it is found, and to
return the associated value. Spectrum first looks for the key in the row
of data currently being processed. If the key is not found there, then
Spectrum looks for it in the system properties, then the job data, and
then the process. When the key is found, the value is returned and the
lookup ends without checking any remaining locations.
${@{column1}} This complex prefix and key cause Spectrum to look for a key named
column1 in the row of data currently being processed. If found, the
value of column1 is then used as a key for a lookup in the job data,
and the associated value from the job data is returned.
$${Color@{column1}}
This complex prefix and key cause Spectrum to look for a key named
column1 in the row of data currently being processed. If found, the
value of column1 preceded by the text row is used as a key for a
lookup in the job data, and the value associated with that key is
returned.
For example, if column1=Blue in a particular row, then Spectrum
would look for a key named ColorBlue in the job and return the value
associated with that key.
Default Data

You can create default data entries within a business rule component. Each default data entry
becomes a data map entry that includes a name (key) and a value.
The following is the syntax for specifying default data entries.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: If you create a default data entry, you must specify a name and a value. Do
not begin and end the name with an exclamation point (!), because that syntax is
used for reserved keys.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<defaultData>
<entry name="Name_of_data_map_entry"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_CHILD|MERGE_TO_
PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">

1360 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

<value>Value_of_data_map_entry</value>
</entry>
</defaultData>
Syntax Tips
Additional information is available about the following items.
action
For a business rule component that can return a value, this property determines whether that
value remains in the datamap when the business rule component finishes running and returns
control to its parent business rule component. The default value is OVERRIDE.
Note: The impact of a business rule component returning control to its parent
is also affected by mergePolicy.

Value Description
OVERRIDE When control is returned to the parent, the value produced by the
business rule component is retained for the data map entry, replacing any
previous value for the data map entry.
NOT_ When control is returned to the parent, the value produced by the
EXISTS business rule component is retained for the data map entry only if a data
map entry with that name did not exist prior to the execution of this
business rule component. Otherwise, the previous value for the data map
entry is reinstated.
DELETE When control is returned to the parent, the data map entry is deleted from
the datamap.
APPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the end of the old value.
PREPEND If the data map entry existed before the business rule component was run,
then when control is returned to the parent the new value for the data
map entry is concatenated onto the beginning of the old value.
dataType
This object has a type that describes the data that it returns or to which it refers. The default
value is STRING.
Note: For a parameter, the dataType specifies the data type of the parameter
value.

Loftware Spectrum 3.0.1 User Guide 1361


Configuring and Administering

Value Description
STRING An object of this type is a text string. Any number included is treated as
text.
Tip: For a parameter in a dataService business rule
component, the result map for a JDBC data service can be
represented as a string.
INTEGER An object of this type is a signed integer value.
NUMBER An object of this type has a signed decimal value.
BOOLEAN An object of this type has a value of true or false.
BINARY An object of this type is an array of bytes.
DATE An object of this type is a time value stored in milliseconds since 1970.
mergePolicy
For a business rule component that returns a value, this property (in conjunction with the
mergePolicy of its parent business rule component) determines whether the returned value
remains in the datamap when the business rule component finishes running and returns
control to its parent. The default value is MERGE_ALL.
Note: The impact of a business rule component returning control to its parent
is also affected by action.

Value in Par-
Value Description
ent
MERGE_ALL MERGE_ALL When the business rule component is finished
or MERGE_ or MERGE_ running, the data map entry containing the value
TO_PARENT FROM_CHILD that it returns remains in the datamap.
MERGE_ALL MERGE_ When the business rule component is finished
or MERGE_ NONE or running, the data map entry containing the value
TO_PARENT MERGE_TO_ that it returns is removed from the datamap.
PARENT
MERGE_ Any When the business rule component is finished
NONE or running, the data map entry containing the value
MERGE_ that it returns is removed from the datamap.
FROM_CHILD
name
Required for a default data entry. The name is a string used to identify the data map entry.
value
Required for a default data entry. The literal value to be associated with name in the
datamap.

1362 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Tip: A default data value should not include references to other data map
entries. If a reference to another data map entry is included, it will not be
resolved to the value of that data map entry.

Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

Parameters

You can create parameters within a business rule component. Each parameter becomes a data
map entry that includes a name (key) and a value. The value can be a literal value or can include a
reference to another data map entry that is resolved at run time.
Note: You should not define parameters in a conditional business rule component.

Tip: You can configure whether the value of each parameter remains fixed
throughout the execution of a business rule component by configuring the sticky
attribute of the business rule component.
The following is the syntax for specifying parameters.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: If you create a parameter, you must specify a name for it as the value for
parameterKey. You are not required to specify parameterValue. Do not begin
and end the name with an exclamation point (!), because that syntax is used for
reserved keys.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<parameters>
<parameter parameterKey="Name_of_parameter" dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>
Syntax Tips
Additional information is available about the following items.
dataType
This object has a type that describes the data that it returns or to which it refers. The default

Loftware Spectrum 3.0.1 User Guide 1363


Configuring and Administering

value is STRING.
Note: For a parameter, the dataType specifies the data type of the parameter
value.

Value Description
STRING An object of this type is a text string. Any number included is treated as
text.
Tip: For a parameter in a dataService business rule
component, the result map for a JDBC data service can be
represented as a string.
INTEGER An object of this type is a signed integer value.
NUMBER An object of this type has a signed decimal value.
BOOLEAN An object of this type has a value of true or false.
BINARY An object of this type is an array of bytes.
DATE An object of this type is a time value stored in milliseconds since 1970.
parameterKey
Required for a parameter. The name of the parameter being created.
parameterValue
The initial value of the parameter. This value must be of the type specified by dataType. If
this value includes a data map entry, whether it is resolved to the value of that data map entry
at run time is determined by resolveValue. The value of the parameter can be changed at run
time by the business rule.
Representing a result map
For a parameter in a dataService business rule component, the result map for a JDBC data
service can be represented as a string in which the values for the columns are separated by
vertical bars.
The following is an example of a result map.
Column Name Required Display Display Name Type Display Length
QUANTITY Quantity number 5
The following is the string representation of the preceding result map:
QUANTITY|true|true|Quantity|number|5
resolveValue
For a parameter value, whether to treat any data map entries within the parameter value literal
text or resolve them to their associated values. The default value is false.

1364 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

For an XML Data business rule component, whether to treat the value of data as literal XML
data or as a data map entry pointing to XML data. The default value is false.
Value Description
true For a parameter value, any data map entries within the parameter value are
resolved to their associated values at run time.
For an XML Data business rule component, the value of data is interpreted as a
data map entry that points to XML data, and is resolved to the value to which
the data map entry points at run time.
false For a parameter value, the parameter value is interpreted as literal text.
For an XML Data business rule component, the value of data is interpreted as
literal XML.
Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

Loftware Spectrum 3.0.1 User Guide 1365


Configuring and Administering

Children

For each business rule component you have the option of specifying child business rule
components. Whenever an event occurs that triggers a business rule component to run, its child
business rule components also have the potential to run. However, a child business rule
component will only run if its own trigger event occurs.
Events in a business rule component can be used as triggers for child business rule components.
For example, in a conditional business rule component, you can configure individual child
business rule components to be triggered only when the condition is true or only when the
condition is false.
Including child business rule components is not required. However, some types of business rule
components (such as a forLoop) may have no practical effect if they do not have child business
rule components.
Each child business rule component can have child business rule components of its own.
Best Practice
Use priority values to control the execution order of business rule components.
Additionally, within a business rule it is recommended that you list peer business
rule components in execution order so that the business rule will be easier for
others to understand.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: There is no tag named child.


<children>
<!-- Specify child business rule components. -->
</children>

Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

1366 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Business Rules for Generator Processes

A job source is a special type of business rule that is required by generator processes. It must
include both a business rule and data processors. The business rule must contain a Data Pipe
business rule component. The data processors must include a Process Generator, which creates
additional print requests.
A job source must use the following structure and adhere to XML syntax.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<?xml version="1.0" encoding="UTF-8"?>
<businessRules>

<businessRules configuratorSupport="true|false">
<!-- Required. Specify a dataPipe business rule component.
For more information, see "dataPipe Business Rule Component" on page
1368. -->

<!-- Optional. Specify other business rule components.


For more information, see "Business Rule Components" on page 1231. -->
</businessRule>

<dataProcessors>
<!-- Required. Specify a processGenerator. -->
<processGenerator name="This_component">
<process ignoreErrors="false|true">

<!-- Required. Specify the path to a process in Spectrum. -->


<processUrl>Path_in_Spectrum</processUrl>

<!-- Provide data to the process. You can include


multiple entries. -->
<data>
<!-- The name and value may be either static data or a
location prefix and key referring to a data map entry. -->
<entry name="Name_of_data_map_entry">
<value>Value_of_data_map_entry</value>
</entry>
</data>

</process>
</processGenerator>
</dataProcessors>

Loftware Spectrum 3.0.1 User Guide 1367


Configuring and Administering

</businessRules>

Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

dataPipe Business Rule Component

A Data Pipe is a business rule component that allows you to create new print job details. This
business rule component is used in conjunction with Generator processes.
The following is the syntax for a Data Pipe.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Note: For each business rule component, most elements and attributes are
optional, but you should specify enough to achieve the functionality that you
intend. In most cases, you can omit attributes that are not relevant to your task and
default values will be used. You must specify a name and a namespace. Except
where otherwise indicated, attributes accept string values.
Important! In a Data Pipe, for targetProcessor you must provide the name of
the processGenerator from the Job Source business rule of the generator
process.
About the syntax documentation

Vertical bars indicate that you must choose one of the options shown. Italicized items can be
named or specified by you.
<dataPipe name="This_component" namespace="Parent_of_component"
targetProcessor="Name_of_processGenerator"
sticky="true|false" configuratorType="Block_type_ID" alias="Data_reference">
<!-- Triggers -------------------------------------------------->
<!-- Required. Specify which event will cause this business rule
component to run. For more information, see "Triggers" on page
1346. -->
<triggers>
<trigger eventTrigger="ENQUEUE|PRINTJOBDETAIL|LABEL|Custom_Event"
priority="integer" propagation="NONE|BEFORE|AFTER"/>
</triggers>

<!-- Execution condition ----------------------------------->


<!-- You can specify a condition that must be true for this
business rule component to run. For more information, see
"Conditions" on page 1353. -->
<executionCondition>
<!-- Logical expression resulting in a condition of
true or false. You can perform a logical operation,

1368 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

a comparison, or a data map entry state operation.


You can nest operations to create a more complex
expression. For more information, see "Logical
Operations and Comparisons" on page 1355. -->
</executionCondition>

<!-- Default data ------------------------------------------->


<!-- You can specify default data to be added to the datamap.
For more information, see "Default Data" on page 1360. -->
<defaultData>
<!-- Default data entries are stored as data map
entries that include a name (key) and a value. When
defining an entry, name and value are required. -->
<entry name="Name_of_data_map_entry"

dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
mergePolicy="MERGE_ALL|MERGE_NONE|MERGE_FROM_
CHILD|MERGE_TO_PARENT"
action="OVERRIDE|NOT_EXISTS|DELETE|APPEND|PREPEND">
<value>Value_of_data_map_entry</value>
</entry>
</defaultData>

<!-- Parameters -------------------------------------------->


<!-- You can create parameters, which are evaluated when the
business rule is run. For more information, see "Parameters" on
page 1363. -->
<parameters>
<!-- Parameters are stored as data map entries that
include a name (key) and a value. When defining a
parameter, parameterKey is required. -->
<!-- To cause any data map entries within the
parameter value to be resolved to their associated
values at run time, set resolveValue to true. -->
<parameter parameterKey="Name_of_parameter"
dataType="STRING|INTEGER|BOOLEAN|NUMBER|BINARY|DATE"
resolveValue="true|false">
<parameterValue>Initial_value_of_
parameter</parameterValue>
</parameter>
</parameters>

<!-- Common custom events ------------------------------>


<!-- You can define pre-processing events, post-processing
events, and error processing events that you can use as
triggers. By using these events as triggers for other business
rule components, you can cause a state to occur before or after
this business rule component is run, or you can respond to an

Loftware Spectrum 3.0.1 User Guide 1369


Configuring and Administering

error. For more information, see "Events" on page 1347. -->


<preProcessingEvents>
<preProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</preProcessingEvents>

<postProcessingEvents>
<postProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</postProcessingEvents>

<errorProcessingEvents>
<errorProcessEvent eventName="Custom_Event"
includeSiblings="true|false" />
</errorProcessingEvents>

<!-- Child business rule components ------------------------>


<!-- You can create child business rule components to be run
whenever the trigger event for this business rule component occurs.
-->
<children>
<!-- The child business rule components have the
potential to run once per triggering of the business
rule component. However, a child business rule
component will not run unless its own trigger event
occurs. -->
</children>
</dataPipe>
Syntax Tips
Additional information is available about the following items.
alias
An alias is a data reference for a business rule component. It is comparable to a data ref1 in
a label template.
configuratorType
For a business rule component that was generated by using the Configurator 2, this attribute
is a numeric identifier that usually indicates what type of component block3 the business
rule component is part of.

1Data reference. The data source used to populate a field with a value. An Input Data Ref is the data source from which a Prompt
field obtains data.
2In Process Design, the graphical interface for configuring a business rule by creating component sets, each containing component
blocks that are run when a particular trigger event occurs.
3In a business rule designed in Configurator, an element that either adds or changes data, incorporates conditional or loop logic, or
implements branching. The XML represented by a component block includes one or more business rule components.

1370 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

If the value of the attribute is 0, then it indicates one of the following about the type of
component block:
l None: The business rule component was created by using the XML Editor or a
version of Spectrum prior to Spectrum 3.0, and therefore is not part of a component
block.
l Block fragment: The business rule component was generated by the Configurator as

part of a component block. Refer to the configuratorType of the parent of this


business rule component to determine the type of component block.
Tip: This attribute is automatically included in business rule components
generated by the Configurator. If you are editing a business rule by using the
XML Editor, you do not need to add this attribute, and you can either ignore or
delete existing instances of this attribute with no effect on the functionality of
the business rule.

Value Type of Component Block


0 None or block fragment
1 Conditional
2 Format Date/Time
4 Run Data Map Script
5 Get First Row
7 Print
8 Configure Test Data
10 Run Another Component Set
11 Conditional List
12 Run Another Business Rule
13 Repeat for All Rows
16 Prepend/Append
17 Conditional True/False
18 Update
19 Fixed Repeat
20 Log Data
23 Delete
For information about different types of component blocks, see "Component Blocks" on
page 463.
name
Required for a business rule component or a default data entry. The name is a string used to
identify the business rule component or, for a default data entry, the data map entry.

Loftware Spectrum 3.0.1 User Guide 1371


Configuring and Administering

For a securityInfo or systemDiagnostics business rule component, the name and


namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
namespace
Required for a business rule component. The namespace is a string used to identify the
parent of the business rule component specified by the name attribute. Do not include a
leading slash.
For a securityInfo or systemDiagnostics business rule component, the name and
namespace indicate the path to the data saved in the datamap. Alternatively, for a
systemDiagnostics business rule component if the name and the namespace are empty
strings, then the diagnostic information is saved to the !DIAGNOSTICS! namespace.
Value Description
Body The namespace for fields in a label template created in Design is Body.
Note: Integrations automatically prefix paths in the print job
file with /Body where needed.
runtime The namespace for system properties is runtime.
Custom You can create custom namespaces that are named at your discretion. The
Namespace children of a namespace should always be business rule components, not
other namespaces.
sticky
If parameters are used in the business rule component, whether the value of each parameter
remains fixed throughout the execution of the business rule component. The default value is
false.
Value Description
true The values of parameters in the business rule component remain fixed
throughout the execution of the business rule component. If the value is a data
ref, the value initially obtained for the data ref is used for the duration of the
execution of the business rule component.
false The values of parameters in the business rule component can be overridden
during the execution of the business rule component. If the value is a data ref
and the value of that data ref changes during the execution of the business rule
component, then the current value of the data ref is used.
targetProcessor
The targetProcessor attribute is a required string value for which you must enter the name
of the processGenerator specified in the Job Source business rule. This is the
processGenerator that is used to generate additional labels.

1372 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Tip: For assistance with a business rule that you have created or to have Loftware
create business rules for you, contact Loftware's Professional Services Group.

Loftware Spectrum 3.0.1 User Guide 1373


Configuring and Administering

Process Design Page


Click Process Design at the top of the LoftwareSpectrum window to display options for
managing business rules, processes, and workflow templates.
A process is an object in Spectrum that binds together all of the components to be used when
responding to a print request. Among other items, those components may include a label
template, layout, device, and a business rule to be used when processing a print request.
A business rule is a collection of component sets or business rule components that can be used
to incorporate logic or to add, change, or remove data or print parameters after a print request is
submitted but before printing occurs. Business rules are similar to form rules, but provide more
robust functionality. Business rules can be designed using the Configurator or programmed using
XML.
Important! It is recommended that you do not alter the Generic Document
Process. This process is used when a Data Provider 1 selects a label template in
Print and uses it to print labels. You can also associate it with integrations if you
do not want to apply a business rule.
A workflow template is a collection of steps2 and possible progressions3 defined by XML
that can be applied to a label template to create an instance of the workflow. The workflow
template can call Event integrations (for example, an Event Email Producer) to extend the
capabilities of workflow outside of Spectrum.

Menu Bar and Toolbar


The following commands are available from the toolbar or the menus in Process Design.
Characters permitted in names
The following characters are permitted in the name: letters, numbers, parentheses, square
brackets, ampersands, asterisks, plus signs, equal signs, commas, semi-colons, and tildes.
Additionally, the following characters are permitted but cannot begin or end the name: spaces,
double quotes, single quotes, hyphens, underscores, periods, and grave accents. For letters, the
case that you specify is displayed, but case is ignored when Spectrum interprets a name.
File Menu Commands
Toolbar
Command Description
Icon
New Process Create a new process.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
2The states an item goes through when applied to a workflow.
3The transitions between the steps in a workflow.

1374 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Toolbar
Command Description
Icon
New Business Create a new business rule.
Rule
New Workflow Create a new workflow template.
Template
Open Open an existing process, business rule, or workflow template.
Close Close the current process, business rule, or workflow template.

Close All Close all processes, business rules, and workflow templates that
you have open in Process Design.
Save Save the displayed process, business rule, or workflow template.
Save As Save a copy of the displayed process, business rule, or workflow
template under a different name.
Refresh Update the displayed data.

Delete Delete the displayed process, business rule, or workflow template.


Edit Menu Commands
Toolbar
Command Description
Icon
Cancel/Undo Undo the most recent change to the current process or workflow
Edits template.
Note: This command is not available when editing
a business rule.

Other Commands
The following commands are available from the toolbar in Process Design.
Toolbar
Command Description
Icon
Delete Trigger or Delete the selected component set (identified by
Delete Block its trigger) or the selected component block.
Tip: This command is available only
if you are editing a business rule in
the Configurator view and have
selected a component set or a
component block.

Loftware Spectrum 3.0.1 User Guide 1375


Configuring and Administering

Toolbar
Command Description
Icon
View Details Display the Block Details view of the selected
component set.
Tip: This command is available only
if you are editing a business rule in
the Configurator view and have
selected a component set in the
Business Rule Summary.

1376 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Navigation Tree

By default, the Navigation tree is hidden. You can display it by clicking the arrow button along
the left edge of the Process Design page. You can double-click an existing process, business
rule, or workflow template to open it. You can right-click a process, business rule, or workflow
template to move or delete it.
Tip: You can move an object from one folder to another by dragging the object
from one folder and dropping it into another. Alternatively, you can right-click an
object, select Move to, and select a folder to which to move it.

Loftware Spectrum 3.0.1 User Guide 1377


Configuring and Administering

Simple Process Properties

Simple processes are appropriate for performing data retrieval from a database, substituting
different printing and formatting attributes, changing paths, restricting execution based on
conditions, and repeating execution by using while or for loops.
The following sections and panes are displayed when a simple process is created or opened in
Process Design.

Configuration
When a process is created or opened in Process Design and Simple is selected for the
Process Type, the following options are displayed under Configuration.
Tip: The default values under Configuration are the names of data map entries.
The location prefixes for the default names cause Spectrum to look for values for
these names first in the job data, and if not found there to look for them in the
process data, which is displayed when you click DataMap. For more information,
see "Location Prefixes" on page 1359 and "Reserved Keys" on page 1487.

Property Description
Process Required. Whether to display the properties for a simple process, generator
Type process, or reprint process.
l Simple

l Generator

l Reprint

Audit How nested processes should determine which data to save to an audit table in
Type Spectrum.
l Static: Save the data as defined by the Audit Mask property in the

manner specified by the Audit Procedure property.


l Parameter: Save the data as defined in a job.

1378 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Property Description
Audit When a label is printed, what auditing data about the label to save to an audit
Mask table in Spectrum. You can select multiple options. If no options are selected,
then only general auditing values are saved.
l Data: Save the data necessary to print the label.

l Stream: Save all print streams sent to the device.

l Image: Save an image file of each label.

l PDF: Save a PDF file of each label.

l XML Data: Save an XML representation of the data necessary to print

the label.
Note: This property is displayed only if Static is selected for the
Audit Type property. If Reprint is selected for the Process
Type, then the only value option available for Audit Mask is
Data.
Audit How nested processes should determine which values to use when saving data
Procedure to an audit table in Spectrum.
l Overwrite: The values from the parent process are ignored.

l Inherit: The values from the parent process are used.

l Merge: The values from the parent process are combined with the

current values.
Note: This property is displayed only if Static is selected for the
Audit Type property.
Audit The specified name of the key in an audit table for the bitmask value
Key representing the Audit Mask and Audit Procedure values.
The default value is ${AUDIT_MASK!}.
Note: This property is displayed only if Parameter is selected
for the Audit Type property.

Loftware Spectrum 3.0.1 User Guide 1379


Configuring and Administering

Property Description
Delink Whether Spectrum is prevented from using data sources defined in the label
Data template.
Source l If true, Spectrum does not use data sources defined in the label template

except for Database and Alternate data sources.


l If false, Spectrum uses all data sources defined in the label template.

However, when the business rule is run, any business rule components
that would be triggered by the LABELevent are not run.
Tip: You can run business rule components that are triggered by
the LABEL event, but also have access to all data sources in the
label template. To do so, set Delink Data Source to true and use
a Reference business rule component to load the label data
sources into the datamap. For more information, see "Access
Label Data Sources (XML)" on page 1216.
Ignore Whether processing the print request continues if an error is encountered.
Errors l If true, continue processing the request until it is completed.

l If false, stop processing the request as soon as error is encountered.

Note: This property is displayed only if Generator is selected for


the Process Type property.

Process Parameters
Property Description Values
Business Required. The full path in Spectrum for a business rule to be run Path to
Rule when this process is used. a
If you do not want to run a business rule, enter ${!DATASOURCE_ business
URL!}. rule
Document Required. The full path in Spectrum for the label template to be used Path to
with this process. a label
Note: In most cases, the Document and Data Entry template
fields should contain the same path. Otherwise, for on-
demand printing the process would use the label design
from one label template and the data entry form from
another label template.
Device Required. The full path in Spectrum for the device to be used with Path to
this process. a device

1380 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Property Description Values


Data The full path in Spectrum for the label template that includes the data Path to
Entry entry form to be displayed to a Data Provider 1 when this process is a label
used for on-demand printing. template
Note: In most cases, the Document and Data Entry
fields should contain the same path. Otherwise, for on-
demand printing the process would use the label design
from one label template and the data entry form from
another label template.
Layout The full path in Spectrum for the layout to be used with this process. Path to
a layout
Print Parameters
The default name for each of the following properties refers to the value specified in the job. If
no value is specified in the job, then the value specified in the Print Job Detail Data table is
used. This table can be displayed by clicking DataMap in the process.
l Quantity 2
l Duplicates3
l Pages4
l Tray 5

DataMap
The DataMap section allows you to enter and view data map entries for print job detail data.
Each data map entry consists of a name (key) and value pair in the datamap for a print request.

Properties Pane
The Properties pane allows you to name and describe a process. You can also view information
about when and by whom the process was created and most recently modified.

Tags Pane
Add or change the tags assigned to the process.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
2The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
3The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
4The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
5To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.

Loftware Spectrum 3.0.1 User Guide 1381


Configuring and Administering

In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
For more information, see "Categorize a Process, Business Rule, or Workflow Template" on
page 1200.

1382 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Generator Process Properties

Generator processes can be used to enable one print request to generate additional print requests
that use the same label template, another label template, or multiple label templates. This can be
useful for situations in which a set of related printed labels is required for each job.
The following sections and panes are displayed when a generator process is created or opened in
Process Design.

Configuration
When a process is created or opened in Process Design and Generator is selected for the
Process Type, the following options are displayed under Configuration.
Tip: The default values under Configuration are the names of data map entries.
The location prefixes for the default names cause Spectrum to look for values for
these names first in the job data, and if not found there to look for them in the
process data, which is displayed when you click DataMap. For more information,
see "Location Prefixes" on page 1359 and "Reserved Keys" on page 1487.

Property Description
Process Required. Whether to display the properties for a simple process, generator
Type process, or reprint process.
l Simple

l Generator

l Reprint

Audit How nested processes should determine which data to save to an audit table in
Type Spectrum.
l Static: Save the data as defined by the Audit Mask property in the

manner specified by the Audit Procedure property.


l Parameter: Save the data as defined in a job.

Loftware Spectrum 3.0.1 User Guide 1383


Configuring and Administering

Property Description
Audit When a label is printed, what auditing data about the label to save to an audit
Mask table in Spectrum. You can select multiple options. If no options are selected,
then only general auditing values are saved.
l Data: Save the data necessary to print the label.

l Stream: Save all print streams sent to the device.

l Image: Save an image file of each label.

l PDF: Save a PDF file of each label.

l XML Data: Save an XML representation of the data necessary to print

the label.
Note: This property is displayed only if Static is selected for the
Audit Type property. If Reprint is selected for the Process
Type, then the only value option available for Audit Mask is
Data.
Audit How nested processes should determine which values to use when saving data
Procedure to an audit table in Spectrum.
l Overwrite: The values from the parent process are ignored.

l Inherit: The values from the parent process are used.

l Merge: The values from the parent process are combined with the

current values.
Note: This property is displayed only if Static is selected for the
Audit Type property.
Audit The specified name of the key in an audit table for the bitmask value
Key representing the Audit Mask and Audit Procedure values.
The default value is ${AUDIT_MASK!}.
Note: This property is displayed only if Parameter is selected
for the Audit Type property.

1384 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Property Description
Delink Whether Spectrum is prevented from using data sources defined in the label
Data template.
Source l If true, Spectrum does not use data sources defined in the label template

except for Database and Alternate data sources.


l If false, Spectrum uses all data sources defined in the label template.

However, when the business rule is run, any business rule components
that would be triggered by the LABELevent are not run.
Tip: You can run business rule components that are triggered by
the LABEL event, but also have access to all data sources in the
label template. To do so, set Delink Data Source to true and use
a Reference business rule component to load the label data
sources into the datamap. For more information, see "Access
Label Data Sources (XML)" on page 1216.
Ignore Whether processing the print request continues if an error is encountered.
Errors l If true, continue processing the request until it is completed.

l If false, stop processing the request as soon as error is encountered.

Note: This property is displayed only if Generator is selected for


the Process Type property.

Process Parameters
Property Description Values
Business The full path in Spectrum for a business rule to be run when this Path to
Rule process is used. a
business
rule
Job Required. The full path in Spectrum for a business rule that includes a Path to
Source dataPipe business rule component so that it can generate additional a
print requests. You can also include other business rule components. business
That business rule is run when this process is used. rule
If a business rule is also specified in the Business Rule field, the one
in the Business Rule field is processed before the one in the Job
Source field.
Device The full path in Spectrum for the device to be used with this process. Path to
a device

Loftware Spectrum 3.0.1 User Guide 1385


Configuring and Administering

Property Description Values


Data The full path in Spectrum for the label template that includes the data Path to
Entry entry form to be displayed to a Data Provider 1 when this process is a label
used for on-demand printing. template
Layout The full path in Spectrum for the layout to be used with this process. Path to
a layout

DataMap
The DataMap section allows you to enter and view data map entries for print job detail data.
Each data map entry consists of a name (key) and value pair in the datamap for a print request.

Properties Pane
The Properties pane allows you to name and describe a process. You can also view information
about when and by whom the process was created and most recently modified.

Tags Pane
Add or change the tags assigned to the process.
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
For more information, see "Categorize a Process, Business Rule, or Workflow Template" on
page 1200.

1Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

1386 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Reprint Process Properties

Reprint processes can be used to enable one print request to print the same label template
multiple times. A Reprint process will print an image of the label that was just printed
successfully and store it in a configurable file system location.
The following sections and panes are displayed when a reprint process is created or opened in
Process Design.

Configuration
When a process is created or opened in Process Design and Reprint is selected for the
Process Type, the following options are displayed under Configuration.
Tip: The default values under Configuration are the names of data map entries.
The location prefixes for the default names cause Spectrum to look for values for
these names first in the job data, and if not found there to look for them in the
process data, which is displayed when you click DataMap. For more information,
see "Location Prefixes" on page 1359 and "Reserved Keys" on page 1487.

Property Description
Process Required. Whether to display the properties for a simple process, generator
Type process, or reprint process.
l Simple

l Generator

l Reprint

Audit How nested processes should determine which data to save to an audit table in
Type Spectrum.
l Static: Save the data as defined by the Audit Mask property in the

manner specified by the Audit Procedure property.


l Parameter: Save the data as defined in a job.

Loftware Spectrum 3.0.1 User Guide 1387


Configuring and Administering

Property Description
Audit When a label is printed, what auditing data about the label to save to an audit
Mask table in Spectrum. You can select multiple options. If no options are selected,
then only general auditing values are saved.
l Data: Save the data necessary to print the label.

l Stream: Save all print streams sent to the device.

l Image: Save an image file of each label.

l PDF: Save a PDF file of each label.

l XML Data: Save an XML representation of the data necessary to print

the label.
Note: This property is displayed only if Static is selected for the
Audit Type property. If Reprint is selected for the Process
Type, then the only value option available for Audit Mask is
Data.
Audit How nested processes should determine which values to use when saving data
Procedure to an audit table in Spectrum.
l Overwrite: The values from the parent process are ignored.

l Inherit: The values from the parent process are used.

l Merge: The values from the parent process are combined with the

current values.
Note: This property is displayed only if Static is selected for the
Audit Type property.
Audit The specified name of the key in an audit table for the bitmask value
Key representing the Audit Mask and Audit Procedure values.
The default value is ${AUDIT_MASK!}.
Note: This property is displayed only if Parameter is selected
for the Audit Type property.

1388 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Property Description
Delink Whether Spectrum is prevented from using data sources defined in the label
Data template.
Source l If true, Spectrum does not use data sources defined in the label template

except for Database and Alternate data sources.


l If false, Spectrum uses all data sources defined in the label template.

However, when the business rule is run, any business rule components
that would be triggered by the LABELevent are not run.
Tip: You can run business rule components that are triggered by
the LABEL event, but also have access to all data sources in the
label template. To do so, set Delink Data Source to true and use
a Reference business rule component to load the label data
sources into the datamap. For more information, see "Access
Label Data Sources (XML)" on page 1216.
Ignore Whether processing the print request continues if an error is encountered.
Errors l If true, continue processing the request until it is completed.

l If false, stop processing the request as soon as error is encountered.

Note: This property is displayed only if Generator is selected for


the Process Type property.

Process Parameters
Property Description Values
Business Required. The full path in Spectrum for a business rule to be Path to a
Rule run when this process is used. business rule
If you do not want to run a business rule, enter ${!DATASOURCE_
URL!}.
Device Required. The full path in Spectrum for the device to be used Path to a
with this process. device
Layout The full path in Spectrum for the layout to be used with this Path to a
process. layout
Print Parameters
The default name for each of the following properties refers to the value specified in the job. If
no value is specified in the job, then the value specified in the Print Job Detail Data table is
used. This table can be displayed by clicking DataMap in the process.

Loftware Spectrum 3.0.1 User Guide 1389


Configuring and Administering

Property Description Values


Reprint How the reprint target value is interpreted. sibling
TargetType l Sibling: For stacked jobs and nested process designs, job
print the process immediately before it by default, or
specify a relative index to the reprint process and print a
different sibling.
l Job: For on demand reprints, reprint every print job detail

within the listed job to the same target printer.


Reprint If the Reprint Target Type is Sibling, this value specifies the Positive
Target ID number of previous sibling processes to traverse when integer or
determining which process is to be reprinted. The default value Target Job's
is 1, which will reprint the previous sibling process in the local Job ID
containers process list.
If the Reprint Target Type is Job, this value is the target job's
Job ID.
Label Specifies a set of comma delimited label ranges to reprint in a Single
Ranges multi-label or quantity reprint. value or a
An asterisk is a wildcard value that resolves to the last label hyphen
printed. delimited
Example
range of
values
A value of 1,3,4-6,9-10 would print labels
1,3,4,5,6,9 and 10.
Additional Print Parameters include the following:
l Duplicates1
l Pages2
l Tray 3

DataMap
The DataMap section allows you to enter and view data map entries for print job detail data.
Each data map entry consists of a name (key) and value pair in the datamap for a print request.

1The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
2The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
3To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.

1390 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Properties Pane
The Properties pane allows you to name and describe a process. You can also view information
about when and by whom the process was created and most recently modified.

Tags Pane
Add or change the tags assigned to the process.
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
For more information, see "Categorize a Process, Business Rule, or Workflow Template" on
page 1200.

Loftware Spectrum 3.0.1 User Guide 1391


Configuring and Administering

Business Rule Properties

A business rule is a collection of component sets or business rule components that can be used
to incorporate logic or to add, change, or remove data or print parameters after a print request is
submitted but before printing occurs. Business rules are similar to form rules, but provide more
robust functionality. Business rules can be designed using the Configurator or programmed using
XML.
The following sections and panes are displayed when a business rule is created or opened in
Process Design.

Library
When editing a business rule in the Configurator, a list of triggers, component blocks, and
reusable rules that can be dragged and dropped into the business rule is displayed.
For more information about the different types of triggers and component blocks and about
reusable rules, see "Business Rule Configurator Reference" on page 459.

Configurator
The Configurator is a graphical interface for configuring a business rule by creating component
sets, each containing component blocks that are run when a particular trigger event occurs.
Business Rule Summary
The Business Rule Summary is a canvas onto which you can drag triggers for component sets.
For information about each type of event that can serve as a trigger, see "Triggers in
Configurator" on page 460.

Tip: The name of a Custom trigger must match the name of a Custom event.
Block Details
The Block Details view is a canvas onto which you can drag component blocks or reusable rules
to be included in a component set. You can drag and drop component blocks to indicate the
order in which they should run.

XML
The XML section allows you to view and edit the XML of business rule components, including
the triggers that govern when they run.
Example
You could create a business rule that includes logic to route print requests to
specific devices depending on the data associated with the print request. For
example, if some print requests include a color version of a logo and some include
only a black and white version of a logo, then a business rule could route the print
request that included the color logo to a color device.

1392 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Commands
Command Description
Enable XML Editor By default, the XML Editor is disabled when you create a business
rule, and you can configure the business rule by using the
Configurator. If you enable the XML Editor, the Configurator can
no longer be used to modify the business rule, and you must use
the XML Editor instead.
Note: This command is displayed only if the
business rule was created by using Configurator and
the XML Editor has not been enabled.
Format XML Neaten the indentation and spacing of the XML of the business
rule.
Note: This command is displayed only if the XML
Editor has been enabled for the business rule or if
the business rule was created prior to Spectrum 3.0.
Validate Business Rule Perform validation of the business rule syntax and formatting.
Note: This command is displayed only if the XML
Editor has been enabled for the business rule or if
the business rule was created prior to Spectrum 3.0.
Test Business Rule Specify trigger events and run the business rule to test it. No
process is used.
Important! When you test a business rule, that
business rule is run and can affect the Spectrum
environment. For example, testing a business rule
that is designed to alter a label template, to change a
value in a database, to submit a job, or to cancel a job
actually performs those actions.

Note: This command is displayed only if the XML


Editor has been enabled for the business rule or if
the business rule was created prior to Spectrum 3.0.

Properties Pane
The Properties pane allows you to name and describe the business rule. You can also view
information about when and by whom the business rule was created and most recently modified.

Tags Pane
Add or change the tags assigned to the business rule.

Loftware Spectrum 3.0.1 User Guide 1393


Configuring and Administering

In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
For more information, see "Categorize a Process, Business Rule, or Workflow Template" on
page 1200.

1394 Loftware Spectrum 3.0.1 User Guide


Implementing Business Logic

Workflow Template Properties

A workflow template is a collection of steps1 and possible progressions2 defined by XML


that can be applied to a label template to create an instance of the workflow. The workflow
template can call Event integrations (for example, an Event Email Producer) to extend the
capabilities of workflow outside of Spectrum.
The following section and panes are displayed when a workflow template is created or opened in
Process Design.

Configuration
The Configuration section allows you to enter workflow templates steps and progressions.
Commands
Command Description
Format XML Neaten the indentation and spacing of the XML of the workflow
template.
Validate Workflow Perform validation of the workflow template syntax and formatting.
XML

Properties Pane
The Properties pane allows you to name and describe the workflow template. You can also
view information about when and by whom the workflow template was created and most
recently modified.

Tags Pane
Add or change the tags assigned to the workflow template.
In Spectrum, users can categorize certain objects by assigning tags to them. Each tag has a
category and a value. A tag can be assigned to an application, business rule, data service, device
group, facility, form, image, integration, label template, layout, process, remote site, reusable
object, user, or workflow template. For a version-controlled object, tags cannot be changed in a
previously checked-in version.
For more information, see "Categorize a Process, Business Rule, or Workflow Template" on
page 1200.

1The states an item goes through when applied to a workflow.


2The transitions between the steps in a workflow.

Loftware Spectrum 3.0.1 User Guide 1395


Configuring and Administering

Using Cross Reference Table Applications


Spectrum includes powerful cross reference table applications that allow administrators and
advanced users to quickly access and manage customer-specific cross reference tables from
within the Spectrum user interface. You can use the application to create cross reference tables,
and then import data to the table or use the application to add data. Customer cross reference
tables reside in their own schema within the Spectrum database called LOFTXREF.
For example, you could use a cross reference table application to view and modify effective
dates for your label templates and to automatically verify the dates before the label template can
be used for printing.
Important: If you are using the Loftware-supplied embedded database, data from
these tables is not permitted for use outside of Spectrum. For example, you
cannot copy data from a table in Spectrum to an external database. This data is for
Spectrum-use only.

1396 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

What Cross Reference Table Applications Are


A cross reference table application is a ready-made application that serves as a "front-end
interface" to the cross reference tables that you have created. The following applications are
provided in the Cross Reference Table App folder in Spectrum:
l XrefUserApplication allows users to view and modify data in the tables
l XrefAdminApplication allows Administrators view and modify data in the tables, as
well as create, modify, and delete tables in the database

Loftware Spectrum 3.0.1 User Guide 1397


Configuring and Administering

What Cross Reference Table Applications Can Do


Depending on your permissions and the user profile assigned to you, you can use a cross
reference table application in Print to view, search, create, edit, and delete tables in your
database, view audit records, and import and export data using a CSV file.
Tip: For assistance with cross reference table applications or to have Loftware
create a custom cross reference table application for you, contact Loftware's
Professional Services Group. See "Contact Loftware" on page 31.

1398 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

How Cross Reference Table Applications Work


A cross reference table application uses Application Architect1 to link numerous forms,
business rules, and data services together to allow you to access and manage data in your cross
reference tables. All relevant objects are provided in the Cross Reference Table App folder in
Spectrum.
When you create a cross reference table, the table and its audit table are added to the
LOFTXREF schema in the database. A pair of data services is also created for the table a
JDBC Data Service for READ access, and a JDBCUpdateData Service for UPDATE access.
The data services are automatically saved in the Cross Reference Table App folder and
started.
Example

If you create a cross reference table named MYTABLENAME, the table and its
audit table named MYTABLENAME_A exist in the LOFTXREF schema, and
two JDBC data services named MYTABLENAME_READand
MYTABLENAME_UPDATE are created in the Cross Reference Table App
folder.
Default Columns in a Cross Reference Table
When you create a cross reference table, the table includes the following columns by default.
Data
Column Name Description
Type
ID Number The internal identification number of the cross reference table
row. ID numbers of deleted rows are not reused.
CREATED DateTime The date and time when the row was created.
MODIFIED DateTime The date and time when the last edit was made to the row.
CREATED_ String The user name of the user who created the row.
ISSUER
LAST_ String The user name of the user who last edited the row.
UPDATED_
ISSUER
Columns in an Audit Record Table
A cross reference table audit record includes the following columns, where O_ is the old audit
record value and N_ is the new audit record value.

1A framework that allows you to use Design to create custom applications that interface with Spectrum.

Loftware Spectrum 3.0.1 User Guide 1399


Configuring and Administering

Column Name Data Type Description


ID Number The internal identification number of the audit record
row.
AUDIT_ACTION String The type of audit action performed on the cross
reference table row: CREATE, INSERT, UPDATE, or
DELETE.
AUDIT_DATE DateTime The date and time when the audit action was
performed on the cross reference table row.
O_ID Number The internal identification number of the cross
reference table row. This field is empty for rows with
an AUDIT_ACTIONof INSERT.
N_ID Number The internal identification number of the cross
reference table record or row.
O_CREATED DateTime The date and time when the row was created. The
value is NA for rows with an AUDIT_ACTIONof
INSERT.
N_CREATED DateTime The date and time when the row was created.
O_MODIFIED DateTime The date and time when the last audit auction was
performed on the row. The value is NA for rows with
an AUDIT_ACTIONof INSERT.
N_MODIFIED DateTime The date and time when the new audit action was
performed on the row.
O_CREATED_ String The user name of the user who created the row. This
ISSUER field is empty for rows with an AUDIT_ACTIONof
INSERT.
N_CREATED_ String The user name of the user who created the row.
ISSUER
O_LAST_ String The user name of the last user who edited the row.
UPDATED_ISSUER
O_LAST_ String The user name of the user who edited the row.
UPDATED_ISSUER
O_ String, The old data in the cross reference table row in the
MYCOLUMNNAME Number, or MYCOLUMNNAMEcolumn.
Date/Time
N_ String, The new data in the cross reference table row in the
MYCOLUMNNAME Number, or MYCOLUMNNAMEcolumn.
Date/Time

1400 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

Note: Cross reference tables cannot be synchronized in a multi-site deployment of


Spectrum. If you are using a multi-site deployment, you must use the Export CSV
and Import CSV buttons or the Transfer utility to matchcross reference table data
from the headquarters to each facility. For more information, see" Export Data
from a Cross Reference Table" on page 1422 and " Import Data to a Cross
Reference Table" on page 1421, or see the Loftware Spectrum Migrate and Transfer
Guide.

Loftware Spectrum 3.0.1 User Guide 1401


Configuring and Administering

ConfiguringAccess for Cross Reference Tables


You must ensure that users who are expected to use the cross reference table applications are
granted the permissions they require. This includes not only role-based permissions and access
to the XrefAdminApplication or XrefUserApplication, but also permissions to access the data
services and objects with which the applications interact.

1402 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

Who are the users who need access to the cross reference table applications?

The users who need access to the cross reference table applications depend on your
organization's needs. You can configure permissions on the cross reference table folder,
applications, and data services, as well as customize roles to meet the needs of your organization.
Example
Suppose you determine you need two types of crossreference tableapplications
users:
l Users who can view and modify data in the tables using the
XrefUserApplication
l Users who can view and modify data in the tables, as well as create, edit, and
delete tables in the database using the XrefAdminApplication

Loftware Spectrum 3.0.1 User Guide 1403


Configuring and Administering

What are the basic permissions required?

The permissions required depend on the cross reference table application. By default, users such
as a Document Designer 1 or DocumentPrinter 2 can see the Cross Reference Table App
folder and its contents (that is, List permission for Folders and Read permission for Documents,
Processes, and Data Services is granted on the Cross ReferenceTable App folder). However,
only a Local Admin3 can open and use the applications in Print by default.
XrefUserApplication

Access to the XrefUserApplication requires certain role-based permissions4 and object


access permissions5.
Role Permissions
At a minimum, a user must have page access to Print and have the following permissions
granted to use the XrefUserApplication:
l Data Services: READ, WRITE, CREATE, DELETE, PRINT
l DeviceGroups: READ, PRINT
l Devices: READ, PRINT
l Documents: READ, PRINT
l Folders:READ
l Integrations: READ
l JVM Processes: READ
l Jobs: READ, CREATE, PRINT
l Model Status: READ
l Processes: READ, PRINT
l Servers: READ
Object Permissions
The following permissions must be granted on the Cross Reference Table App folder for the
user or group:
l Folders: Read, List
l Documents: Read, Write, Create, Delete, Admin, Print, Reprint
l DeviceGroups: Print, Reprint

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2The view that is displayed to a user on the Print page that allows the user to enter information for a label. A Document Designer
can configure this view in the Form view on the Design page.
3A Spectrum role with all permissions except those needed for role administration.
4Permissions in Spectrum that are assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned. A user must have both a role-based permission and the corresponding
object access permission to perform an action on an object.
5Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

1404 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

l Servers: Print
l Jobs:Read, Create, Print, Reprint

l Processes: Read, Print

l Integrations: Print

l Data Services: Read, Print

Important: Although you can grant permissions on specific objects in the folder,
it is simpler to grant permissions on the entire folder for a user or group and then
control READ permission on the applications in the folder. For example, to allow a
group to use the XrefUserApplication but not the XrefAdminApplication, it is
recommended that you can grant the above permissions on the Cross Reference
Table App folder for a group and then deny Read permission on the
XrefAdminApplication.
Example
To allow a user to view and modify data in the tables using the XrefUserApplication,
you could do the following:
1. In Access Control, create a new role named XrefUser with the permissions
listed above at a minimum.
2. Create a new group named XrefUserGroup and assign the XrefUser role to the
group.
3. Assign the XrefUserGroup group to the users who need access to the
XrefUserApplication, or create a new user named XrefUser and assign the
XrefUserGroup group to the user.
4. Onthe CrossReference Table App folder, configure folder access for the
XrefUserGroup as listed above.
5. On the XrefAdminApplication, deny Read permission for the XrefUserGroup.
As their permissions do not allow them to use the XrefAdminApplication
without receiving an error, this may help avoid confusion by preventing users
in this group from being able to see the XrefAdminApplication in Print.
XrefAdminApplication

Access to the XrefAdminApplication requires certain role-based permissions and object access
permissions.
Role Permissions
At a minimum, a user must have page access to Access Control, Print, and Data Services and
have the following permissions granted to use the XrefAdminApplication:
l Data Services: READ, WRITE,CREATE, DELETE, PRINT
l Device Groups: READ, PRINT, QUEUE
l Devices: READ, PRINT
l Documents: READ, WRITE, PRINT

Loftware Spectrum 3.0.1 User Guide 1405


Configuring and Administering

l Folders:READ, WRITE
l Groups: READ
l Integrations: READ, PRINT
l JVM Processes: READ, PRINT
l Jobs: READ, WRITE, CREATE, DELETE, PRINT
l Model Status:READ
l Processes: READ, PRINT
l Roles:READ
l Servers: READ, PRINT
l Tag Categories:READ
l UserProfiles: READ, WRITE
l Users: READ
Object Permissions
The following permissions must be granted on the Cross Reference Table App folder for the
user or group:
l Folders: Read, List
l Documents: Read, Write, Create, Delete, Admin, Print, Reprint
l DeviceGroups: Print, Reprint
l Servers: Print
l Jobs:Read, Create, Print, Reprint
l Processes: Read, Print
l Integrations: Read, Print
l Data Services: Read, Write,Create, Delete, Admin, Print
Example
To allow a user to view and modify data in the tables, as well as create and delete
tables in the database using the XrefAdminApplication, you could do the following:
1. In Access Control, create a new role named XrefAdmin with the permissions
listed above at a minimum.
2. Create a new group named XrefAdminGroup and assign the XrefAdmin role to
the group.
3. Assign the XrefAdminGroup group to the users who need access to the
XrefAdminApplication, or create a new user named XrefAdmin and assign the
XrefAdminGroup group to the user.
4. Onthe CrossReference Table App folder, configure folder access for the
XrefAdminGroup as listed above.

1406 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

What other permissions are required?

If you configure permissions as described above, a user with access to the XrefUserApplication
can view and modify data for every table created by or imported to the XrefAdminApplication.
If desired, you can prevent a user or group from being able to view or modify data for a specific
table.
Prevent a user or group from viewing a table

You can prevent a user or group from being able to see (and therefore, also prevent the user
from being able to modify) a specific table in the application by denying Read permission on
both the READ and UPDATE data services for the table. A user who is denied Read permission
on data services for a table does not see the table as an option in the View Data drop-down list
in the application.
Example
To prevent XrefUser from viewing or modifying a table named TABLENAME, do
the following:
1. In Access Control, click the TABLENAME_READ data service.
2. On theData Service Access tab, drag the XrefUser from the Users and
Groups tree at the right of the window to the User/Group table.
3. Deny Read permission for the user.
4. Click Save Data Service.
5. Click the TABLENAME_UPDATE data service.
6. On theData Service Access tab, drag the XrefUser from the Users and
Groups tree at the right of the window to the User/Group table.
7. Deny Read permission for the user.
8. Click Save Data Service.
Prevent a user or group from modifying a table

You can allow a user or group to see a table in the application, but prevent them from being able
to modify the data by denying Write permission on both the READ and UPDATE data services
for the table. A user who is denied Write permission on data services for a table can select the
table as an option in the View Data drop-down list in the application, but receives an error if
they try to edit the data.

Loftware Spectrum 3.0.1 User Guide 1407


Configuring and Administering

Create a Cross Reference Table


You can use the Create Table page of the XrefAdminApplication to create new cross reference
tables. For more information on cross reference tables, see "How Cross Reference Table
Applications Work" on page 1399. To transfer an existing cross reference table from one
Spectrum instance to another, see the Loftware Spectrum Migrate and Transfer Guide.
Tip: For assistance with cross reference table applications or to have Loftware
create a custom cross reference table for you, contact Loftware's Professional
Services Group. See "Contact Loftware" on page 31.
To create a new cross reference table using the XrefAdminApplication, perform the following
steps:
1. Click Print.
2. In the Documents tree, open the Cross Reference Table App folder and select the
XrefAdminApplication.
3. UnderTable Actions, click Create.
4. Enter a name for the table, and then click Create. A message is displayed confirming the
table and two data services have been created.
Note: Avoid using any Oracle Database Reserved Words for table or
column names. Cross reference table and column names can include
uppercase and lowercase alphanumeric characters only.
You can now add columns and data to the table. For more information, see " Edit Columns in a
Cross Reference Table" on page 1409 and " Edit Data in a Cross Reference Table" on page 1417.

1408 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

Edit Columns in a Cross Reference Table


After you " Create a Cross Reference Table" on page 1408, you can add, delete, and reorder
columns in the table, as well as edit column names and types, using the Edit Columns page of
the XrefAdminApplication. To edit data in a cross reference table, see " Edit Data in a Cross
Reference Table" on page 1417.
Tip: For assistance with cross reference table applications or to have Loftware
create a custom cross reference table application for you, contact Loftware's
Professional Services Group. See "Contact Loftware" on page 31.
To access the Edit Columns page of the XrefAdminApplication, perform the following steps:
1. Click Print.
2. In the Documents tree, open the Cross Reference Table App folder and select the
XrefAdminApplication.
3. UnderTable Actions, click EditColumns.
4. Under EditColumns, select a table from the drop-down list. The DisplayOrder,
ColumnName, and DataType for each column in the table are displayed and you can
now "Reorder a Column" on page 1410, "Add a Column" on page 1411, "Edit a Column
Name" on page 1412, "Change a Column Type" on page 1413, and "Delete a Column" on
page 1414.

Loftware Spectrum 3.0.1 User Guide 1409


Configuring and Administering

Reorder a Column

To reorder a column in a cross reference table, perform the following steps:


1. On the Edit Columns page of the XrefAdminApplication, select a table from the drop-
down list. The columns in the table are displayed.
2. Under Reorder Columns, select the row of the column you want to reorder, and then
click Up or Down as desired. The display order of the column is modified.

1410 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

Add a Column

To add a column to a cross reference table, perform the following steps:


1. On the Edit Columns page of the XrefAdminApplication, select a table from the drop-
down list. The columns in the table are displayed.
2. Under Add a Column, enter a name for the column.
Important: Avoid using any Oracle Database Reserved Words for table or
column names. Cross reference table and column names can include
uppercase and lowercase alphanumeric characters only.
3. Select a data type for the column from the Type drop-down list:
Type Description
String A column of this type contains text strings. Any number included
is treated as text.
Number A column of this type contains signed decimal values.
Date/Time A column of this type contains date and time values in the format:
yyyy/MM/dd hh24:mi:ss (year, month number, two-digit date,
hour, minutes, seconds in 24-hour format) .
Example

2017/01/04 13:43:28
4. Click Add. A message is displayed confirming the column has been added.
You can now add data to the table. For more information, see " Edit Data in a Cross Reference
Table" on page 1417.

Loftware Spectrum 3.0.1 User Guide 1411


Configuring and Administering

Edit a Column Name

To edit a name of a column in a cross reference table, perform the following steps:
1. On the Edit Columns page of the XrefAdminApplication, select a table from the drop-
down list. The columns in the table are displayed.
2. Under Edit Column, select a column from the drop-down list.
3. Enter the new column name in the New Name field, and then click Rename. The new
column name is displayed.
Important: Avoid using any Oracle Database Reserved Words for table or
column names. Cross reference table and column names can include
uppercase and lowercase alphanumeric characters only.

1412 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

Change a Column Type

To change a type of column in a cross reference table, perform the following steps:
Note: You can only change a column type if the column does not contain data.
1. On the Edit Columns page of the XrefAdminApplication, select a table from the drop-
down list. The columns in the table are displayed.
2. Under Edit Column, select a column from the drop-down list.
3. Select the new data type from the Type drop-down list, and then clickChange Type.
The new column data type is displayed.

Loftware Spectrum 3.0.1 User Guide 1413


Configuring and Administering

Delete a Column

To delete a column in a cross reference table, perform the following steps:


Important:If you delete a column, all data in the column is also deleted.
1. On the Edit Columns page of the XrefAdminApplication, select a table from the drop-
down list. The columns in the table are displayed.
2. Under Delete Column, select a column to delete from the drop-down list.
3. Click Delete. The deleted column is no longer displayed.

1414 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

View Data in a Cross Reference Table


After a cross reference table is created, you can use the View Data page of the
XrefUserApplication or the XrefAdminApplication (depending on your permissions) to view
and search for data in the table. You can also " Edit Data in a Cross Reference Table" on page
1417, " Import Data to a Cross Reference Table" on page 1421, and " Export Data from a Cross
Reference Table" on page 1422.
To access the View Data page, perform the following steps:
1. Click Print.
2. In the Documents tree, open the Cross Reference Table App folder and do one of
the following:
n If you do not have administrative permissions, select the XrefUserApplication.
n If you have administrative permissions, select the XrefAdminApplication, and
then click View Data.
3. Next to View Data, select a table from the drop-down list. The names of the columns in
the table are displayed. To view the contents of the table, see "Search for Data in a Table"
on page 1416.

Loftware Spectrum 3.0.1 User Guide 1415


Configuring and Administering

Search for Data in a Table

To search the contents of a cross reference table, perform the following steps:
1. On the View Data page, select a table from the drop-down list. The names of the
columns in the table are displayed.
2. Under Search Data, select the criteria by which to search. You can search one or
multiple columns and criteria.
Criteria Description
Column Which column in the table to search.
Operator The search operator. Options include EQUALS, NOT EQUALS,
GREATER THAN, GREATER THAN OR EQUALS, LESS
THAN, LESS THAN OR EQUALS, LIKE, NOT LIKE, IS NULL,
and IS NOT NULL.
Value The data to search for. This field is case sensitive.
Example
You could use the following criteria to view all the data in a table:
Column Operator Value
ID ISNOTNULL
3. Click Search. A message is displayed in the log pane with the number of rows returned
by the search criteria, and the data meeting the criteria is displayed in the table.
4. If more than 25 rows are returned, use the Previous and Next buttons to view more
results, or change the Rows PerPage number.
5. To clear the criteria used in a previous search, click Clear.

1416 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

Edit Data in a Cross Reference Table


After a cross reference table is created, you can use the View Data page of the
XrefUserApplication or the XrefAdminApplication (depending on your permissions) to insert,
update, or delete rows and data in the table. You can also search and " View Data in a Cross
Reference Table" on page 1415, " Import Data to a Cross Reference Table" on page 1421, and "
Export Data from a Cross Reference Table" on page 1422.
To access the View Data page, perform the following steps:
1. Click Print.
2. In the Documents tree, open the Cross Reference Table App folder and do one of
the following:
n If you do not have administrative permissions, select the XrefUserApplication.
n If you have administrative permissions, select the XrefAdminApplication, and
then click View Data.
3. Next to View Data, select a table from the drop-down list. The names of the columns in
the table are displayed. To view the contents of the table, see "Search for Data in a Table"
on page 1416.

Loftware Spectrum 3.0.1 User Guide 1417


Configuring and Administering

Insert Row

To add a row to a cross reference table, perform the following steps:


1. On the View Data page, select a table from the drop-down list. The names of the
columns in the table are displayed.
2. Under Edit Data, enter data in the fields for each column as desired.
3. Under Insert Row, click Insert. A message is displayed in the log pane confirming the
inserted row.
Note: The data displayed for a table in the View Data page is not dynamically
updated. To view updated data, perform a new search on the table. For more
information, see "Search for Data in a Table" on page 1416.

1418 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

Update Row

To modify the contents of a row in a cross reference table, perform the following steps:
1. On the View Data page, select a table from the drop-down list. The names of the
columns in the table are displayed.
2. Under Edit Data, enter the ID of the row you want to edit and then click Load. The
data for the row is displayed in the fields for each column below.
Tip: If you do not know the row ID, perform a search for the row and
obtain the ID. For more information, see "Search for Data in a Table" on
page 1416.
3. Modify the data in the fields for each column as desired.
4. Under Update Row, click Update. A message is displayed in the log pane confirming
the updated row.
Note: The data displayed for a table in the View Data page is not dynamically
updated. To view updated data, perform a new search on the table. For more
information, see "Search for Data in a Table" on page 1416.

Loftware Spectrum 3.0.1 User Guide 1419


Configuring and Administering

Delete Row

To delete a row from a cross reference table, perform the following steps:
1. On the View Data page, select a table from the drop-down list. The names of the
columns in the table are displayed.
2. Under Edit Data, enter the ID of the row you want to edit and then click Load. The
data for the row is displayed in the fields for each column below.
Tip: If you do not know the row ID, perform a search for the row and
obtain the ID. For more information, see "Search for Data in a Table" on
page 1416.
3. Under Delete Row, click Delete. A message is displayed in the log pane confirming the
deleted row.
Note: The data displayed for a table in the View Data page is not dynamically
updated. To view updated data, perform a new search on the table. For more
information, see "Search for Data in a Table" on page 1416.

1420 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

Import Data to a Cross Reference Table


You can add columns and data to a cross reference table by importing data from a comma-
delimited text file (CSV) file. Before you import, review the following information:
lTo prevent your system from becoming unresponsive, do not import more than 5,000
rows in a single CSV file.
l The cross reference table must already exist in Spectrum. For more information, see "

Create a Cross Reference Table" on page 1408.


l The names of the columns in the file to be imported must match the names of the

columns in the existing table in Spectrum.


l The type of data in the columns (String, Number, or Date/Time) in the file to be

imported must match the data type of the columns in the existing table in Spectrum.
l Data that is imported without anID number is inserted as a new row and assigned an ID.

l Data that is imported with a unique assigned ID number is inserted as a new row with the

ID provided.
l Data that is imported with an existing ID number overwrites the previous data in the

existing row.
To import data to a cross reference table, perform the following steps:
1. Click Print.
2. In the Documents tree, open the Cross Reference Table App folder and select the
XrefUserApplication.
3. On the View Data page, select a table from the drop-down list. The names of the
columns in the table are displayed.
4. Click Import CSV. The Import Data page is displayed.
5. On the ImportData page, click Select File.
6. In the browser's Open dialog box, select the CSV file you want to import and then
clickOpen.
7. On the Import Data page, review the displayed data for accuracy.
8. Review and resolve any issues displayed under Warnings.
9. Click Commit. A message is displayed confirming the rows have been committed.
10. Click Back to View Data to search or edit data. For more information, see " View Data
in a Cross Reference Table" on page 1415.

Loftware Spectrum 3.0.1 User Guide 1421


Configuring and Administering

Export Data from a Cross Reference Table


To export data from a cross reference table to a comma-delimited text file (CSV) file, perform
the following steps:
Important: If you are using the Loftware-supplied embedded database, data from
these tables is not permitted for use outside of Spectrum. For example, you
cannot copy data from a table in Spectrum to an external database. This data is for
Spectrum-use only.
1. Click Print.
2. In the Documents tree, open the Cross Reference Table App folder and select the
XrefUserApplication.
3. On the View Data page, select a table from the drop-down list. The names of the
columns in the table are displayed.
4. Perform a search on the table for the data you want to export. For more information, see
"Search for Data in a Table" on page 1416.
5. Click ExportCSV. The Export dialog box is displayed when the file is ready.
6. In the Export dialog box, click OK.
7. In your browser's Save As dialog box, do the following:
a. Select a location to save your file.
b. Enter a file name.
c. Select or enter .csv for the file type.
d. Click Save.
You can now open and view this file in a spreadsheet application such as Microsoft Excel.

1422 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

Delete a Cross Reference Table or Data in a Table


You can use the Delete Table page of the XrefAdminApplication to delete the contents of a
cross reference table, an entire cross reference table including its contents, or an entire cross
reference table including its contents and data services.
To access the Delete Table page of the XrefAdminApplication, perform the following steps:
1. Click Print.
2. In the Documents tree, open the Cross Reference Table App folder and select the
XrefAdminApplication.
3. UnderTable Actions, click Delete.
4. Select a table from the drop-down list.
5. To delete only the data in a table and keep the table, click Delete Contents. A message
is displayed confirming the contents have been deleted.
6. To delete the data in a table as well as the table, click Delete Table.
Warning:If you delete a table, all data in the table is destroyed.
7. To delete the data services that were created for the table:
a. Click Stop Data Services.
b. When the message is displayed confirming the data services have been
successfully stopped, click Delete Data Services. A message is displayed
confirming the data services have been deleted.

Loftware Spectrum 3.0.1 User Guide 1423


Configuring and Administering

View Cross Reference Table Audit Records


You can use the View Audit Records page of the XrefAdminApplication to view and search for
cross reference table audit records, as well as export data in the audit record table. For more
information on audit tables, see "How Cross Reference Table Applications Work" on page 1399.
Note: If a cross reference table on one SpectrumApplicationServer is transferred
to another SpectrumApplicationServer, the audit table will display the timestamp
and user of the transfer request.
To view audit records for a cross reference table, perform the following steps:
1. Click Print.
2. In the Documents tree, open the Cross Reference Table App folder and select the
XrefAdminApplication.
3. UnderAudit Information, click View Audit Records.
4. Select a table from the drop-down list. The names of the columns in the table are
displayed. To view the contents of the table, see "Search for Data in a Table Audit
Record" on page 1425.

1424 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

Search for Data in a Table Audit Record

To search the contents of a cross reference table audit record, perform the following steps:
1. On the View Audit Records page, select a table from the drop-down list. The names of
the columns in the audit table are displayed.
2. Under Search Data, select the criteria by which to search. You can search one or
multiple columns and criteria.
Criteria Description
Column Which column in the table to search.
Operator The search operator. Options include EQUALS, NOT EQUALS,
GREATER THAN, GREATER THAN OR EQUAL, LESS THAN,
LESS THAN OR EQUAL, LIKE, NOT LIKE, IS NULL, and IS
NOT NULL.
Value The data to search for. This field is case sensitive.
Example
You could use the following criteria to view all the data in the audit table:
Column Operator Value
ID ISNOTNULL
3. Click Search. A message is displayed in the log pane with the number of rows returned
by the search criteria, and the data meeting the criteria is displayed in the table.
4. If more than 25 rows are returned, use the Previous and Next buttons to view more
results, or change the Rows PerPage number.
5. To clear the criteria used in a previous search, click Clear.

Loftware Spectrum 3.0.1 User Guide 1425


Configuring and Administering

Export Data from a Audit Record Table

To export data from a cross reference table audit record to a comma-delimited text file (CSV)
file, perform the following steps:
1. On the View Audit Records page, select a table from the drop-down list. The names of
the columns in the audit table are displayed.
2. Perform a search on the table for the data you want to export. For more information, see
"Search for Data in a Table Audit Record" on page 1425.
3. Click ExportCSV. The Export dialog box is displayed when the file is ready.
4. In the Export dialog box, click OK.
5. In your browser's Save As dialog box, do the following:
a. Select a location to save your file.
b. Enter a file name.
c. Select or enter .csv for the file type.
d. Click Save.
You can now open and view this file in a spreadsheet application such as Microsoft Excel.

1426 Loftware Spectrum 3.0.1 User Guide


Using Cross Reference Table Applications

Troubleshooting

The following topics contain tips for troubleshooting issues with LoftwareSpectrum.

Loftware Spectrum 3.0.1 User Guide 1427


Troubleshooting

Event (Application) Logging


Event logging is the recording of the actions performed by the Spectrum Application, at a high
level, in a set of text files. Event logs can be used by administrators and technical support
engineers to monitor system performance and diagnose potential problems. Event logs also
maintain a record of system activity for future reference.
Loftware Spectrum uses Apache log4j 2 Logging Services for log message handling. See
Welcome to Log4j 2 (http://logging.apache.org/log4j/2.x/manual/index.html) on the Apache
Logging Services website for detailed information. This topic describes how the Spectrum-
specific event logging is configured, and where it can be customized.
Loftware Spectrum logs information, error, and warning messages to a set of log files. The log
files that are created can be found in the Spectrum logs folder. Log files will "roll over" at the
interval configured in the log4j2.xml file. The previous file will be compressed and renamed
with a timestamp.

1428 Loftware Spectrum 3.0.1 User Guide


Event (Application) Logging

Log4j 2 Configuration File


Apache log4j 2 is configured with an XML file. The default log4j2.xml file can be found in the
following location after Spectrum is installed:
<SPECTRUM_HOME>\product\conf
Note: <SPECTRUM_HOME> represents the folder on the
SpectrumApplicationServer in which the Spectrum application is installed. For
example, in WindowsServer this might be C:\Loftware\Spectrum\Spectrum,
and in Linux this might be /opt/loftware/spectrum/Spectrum.

Loftware Spectrum 3.0.1 User Guide 1429


Troubleshooting

Logging Levels
The following are the different types of messages that may be included in a log for
LoftwareSpectrum:
lFatal error messages: These messages indicate situations in which the application must
shut down or is unusable.
l Error messages: These messages indicate that the application is in an unexpected and

possibly compromised state. A user may have performed an action that compromised the
application.
l Warning messages: These messages indicate that something unintended and notable

occurred in the application, or may indicate an important application state change. The
application may have acted in a way that is a cause for concern, but has not impacted the
stability of the application. A user may have made a mistake, but has not compromised
the application.
l Informational messages: These messages indicate that something notable occurred,

such as the printing of a label and the startup or shutdown of Spectrum. These messages
may provide helpful information if a problem is occurring, but their existence does not
indicate a problem.
l Debugging messages: These messages provide debugging information that may help a

technical support engineer or a developer at Loftware diagnose a problem with the


application.
The following logging levels can be set in log4j2.xml. The logging level is set independently for
each log.
Level Description
OFF No messages are added to the log.
FATAL Only fatal error messages are included in the log.
ERROR Only fatal error messages and error messages are included in the log.
WARN Only fatal error, error, and warning messages are included in the log.
INFO Fatal error, error, warning, and informational messages are included in the
log. For some environments, this level may be more verbose than is
desirable except when troubleshooting a problem.
DEBUG Fatal error, error, warning, informational, and debugging messages are
included in the log.
Note: This level should be used only when directed by
Loftware Technical Support.

1430 Loftware Spectrum 3.0.1 User Guide


Event (Application) Logging

Level Description
TRACE Fatal error, error, warning, informational, and debugging messages are
included in the log, as well as tracing where defined.
Note: This level should be used only when directed by
Loftware Technical Support.
ALL Messages of all types are included in the log.
Note: This level should be used only when directed by
Loftware Technical Support.

Loftware Spectrum 3.0.1 User Guide 1431


Troubleshooting

Configure Log Files


You can adjust the information logged from Spectrum by editing the custom_log4j2.xml file. To
configure logging levels, begin by navigating to the custom_log4j2.xml file in the following
location after Spectrum is installed:
<SPECTRUM_HOME>\product\conf
Note: <SPECTRUM_HOME> represents the folder on the
SpectrumApplicationServer in which the Spectrum application is installed. For
example, in WindowsServer this might be C:\Loftware\Spectrum\Spectrum,
and in Linux this might be /opt/loftware/spectrum/Spectrum.

1432 Loftware Spectrum 3.0.1 User Guide


Event (Application) Logging

Adjust Rollover Triggers

Rollover triggers are configured within the <RollingFile> element by setting the <Policies>
element. A rollover trigger can be size-based and time-based.
The following example defines two rollover triggers: when the log file size reaches 200 MB and
when the current date no longer matches the logs start date.
<RollingFile name="CRITICAL_MONTHLY_ROLL" fileName="${LOG_
DIR}/spectrum-critical.log"
filePattern="${LOG_DIR}/spectrum-critical.%d{yyyy-
MM}-%i.log.gz">
<PatternLayout pattern="${PATTERN}" charset="UTF-8" />
<Policies>
<SizeBasedTriggeringPolicy size="200 MB" />
<TimeBasedTriggeringPolicy />
</Policies>
</RollingFile>

Loftware Spectrum 3.0.1 User Guide 1433


Troubleshooting

Configure Appenders

The default appender is configured within the <Root> element by using the <AppenderRef>
element.
<Root level="warn">
<AppenderRef ref="DAILY_ROLL" />
</Root>

You can also configure the appender at the logger level.


<Logger name="critical.com.loftware.spectrum" level="INFO"
additivity="false">
<AppenderRef ref="CRITICAL_MONTHLY_ROLL" />
</Logger>

1434 Loftware Spectrum 3.0.1 User Guide


Event (Application) Logging

Package-Level Loggers

Package-level loggers, which are commented out by default, can be customized for
troubleshooting purposes. You can enable and configure logging for packages by uncommenting
the corresponding node and adjusting the level.
The following example in the <LOGGER Groupings> section defines the logging
configuration of the com.loftware.model.StartupInitializer package:
<!--
<Logger name="com.loftware.model.StartupInitializer"
level="DEBUG" />
-->

Loftware Spectrum 3.0.1 User Guide 1435


Troubleshooting

Spectrum Log Files


Loftware Spectrum logs information, error, and warning messages to a set of log files. The log
files that are created can be found in the Spectrum logs folder. Log files "roll over" at the
interval configured in the log4j2.xml file. The previous file is compressed and renamed with a
timestamp.
Tip: For more information about logging levels and types of messages, see
"Logging Levels" on page 1430.

1436 Loftware Spectrum 3.0.1 User Guide


Event (Application) Logging

System Log (spectrum.log)

The System Log is the default log for Spectrum. It provides a full, lifetime view of the
application. All messages are captured in this log, so the other logs can be reconciled against this
one to provide additional context if needed. The default logging level for this log is WARN.

Loftware Spectrum 3.0.1 User Guide 1437


Troubleshooting

Critical Event Log (spectrum-critical.log)

The Critical Event Log includes messages about issues that are critical to the functioning of
Spectrum. The default logging level for this log is INFO. Depending on the logging level
configured, information such as the following may be included.
l Startup and shutdown information (if the logging level is INFO level or better).
l Licensing changes (if the logging level is INFO level or better).
l Fatal error messages (if the logging level is FATAL or better).
l Any appropriate error messages (if the logging level is ERROR or better).

1438 Loftware Spectrum 3.0.1 User Guide


Event (Application) Logging

Driver Install Log (spectrum-drv-install-svc.log)

The Driver Install Log captures information about device driver service. The default logging
level is DEBUG.

Loftware Spectrum 3.0.1 User Guide 1439


Troubleshooting

Integration Event Log (spectrum-integration.log)

The Integration Event Log captures information for Java MessageService(JMS) integrations.
Spectrum supports the Event JMS Consumer and the Event JMS Producer integrations. For
more information, see "Event Integration" on page 1134.
The default logging level for this log is INFO. Depending on the logging level configured,
information such as the following may be included.
l Messages sent between client computers.
l Custom user log messages, such as logs entered in the JavaScript for integrations.

1440 Loftware Spectrum 3.0.1 User Guide


Event (Application) Logging

Printing Event Log (spectrum-print.log)

The Printing Event Log captures every meaningful state transition in the lifetime of a job and a
print job detail as they progress through Spectrum, as well as any issues that occur. Device
connection information is included.
The default logging level for this log is INFO. Depending on the logging level configured,
information such as the following may be included.
l The beginning and end of each print job.
l The printing state for each job.
l The printing state for each print job detail.
l The destination (device) for each job.
l The label template and layout for each job.
l The requester of the print job.
l Any errors that occur during printing.

Loftware Spectrum 3.0.1 User Guide 1441


Troubleshooting

Security Event Log (spectrum-security.log)

The Security Event Log includes messages about actionspositive and negativerelated to
security. The default logging level for this log is INFO. Depending on the logging level
configured, information such as the following may be included.
l User additions, modifications, or deletions (if the logging level is INFO level or better).
The user name is included.
l Security problems (if the logging level is WARN or better). For example, a user without
the necessary permissions attempting to perform an action, or an administrator attempting
to create an object without providing a required parameter. In many cases, the Spectrum
user interface will prevent these issues, but those not prevented by the user interface are
recorded in the Security Event Log.
l User logins and logouts (if the logging level is INFO level or better). The user name is
included.

1442 Loftware Spectrum 3.0.1 User Guide


Event (Application) Logging

SOAP Web Service Log (spectrum-soap.log)

The SOAP Web Service log captures information about SOAP Web Service Data Service
requests. The default logging level is WARN.

Loftware Spectrum 3.0.1 User Guide 1443


Troubleshooting

Entity Sync Log (spectrum-sync-entity.log)

The Entity Sync Log includes information about objects1 replicated from headquarters to
facilities during synchronization in a multi-site deployment. The default logging level is
DEBUG.

1An item in Spectrum such as a role, group, user, business rule, application, workflow template, data service, form, image,
integration, job, label template, layout, device, device group, process, reusable object, facility, Remote Site, Spectrum Application
Server, or server process.

1444 Loftware Spectrum 3.0.1 User Guide


Event (Application) Logging

Transaction Sync Log (spectrum-sync-transaction.log)

The Transaction Sync Log includes information about transactional data1 replicated from
facilities to headquarters during synchronization in a multi-site deployment. The default logging
level is DEBUG.

1In a multi-site deployment of Spectrum, information about recent synchronizations that can be used for auditing. During a
transaction sync, this data can be replicated from a facility to headquarters.

Loftware Spectrum 3.0.1 User Guide 1445


Troubleshooting

User Event Log (user-rules.log)

The User Event Log can be turned on to show user-defined log messages from business rules.
The default logging level for this log is INFO.

1446 Loftware Spectrum 3.0.1 User Guide


Event (Application) Logging

View Log Files


To view log files, navigate to one of the following log file locations on the
SpectrumApplicationServer.
Note: <SPECTRUM_HOME> represents the folder on the
SpectrumApplicationServer in which the Spectrum application is installed. For
example, in WindowsServer this might be C:\Loftware\Spectrum\Spectrum,
and in Linux this might be /opt/loftware/spectrum/Spectrum.
For Spectrum Application activity log files, go to the <SPECTRUM_HOME>\product\webapps\logs
folder.
Example

Windows C:\Loftware\Spectrum\Spectrum\product\webapps\logs
Linux /opt/loftware/spectrum/Spectrum/product/webapps/logs
For Spectrum Application Server log files, go to the <SPECTRUM_HOME>\product\logs
folder.
Example

Windows C:\Loftware\Spectrum\Spectrum\product\logs
Linux /opt/loftware/spectrum/Spectrum/product/logs
Note: For Linux users, the folder and files within <SPECTRUM_
HOME>/product/logs are owned by the Spectrum user that installed Spectrum.

Loftware Spectrum 3.0.1 User Guide 1447


Troubleshooting

Troubleshoot General Issues


Tip: You can check the version of LoftwareSpectrum and obtain information
about its components, the SpectrumApplicationServer, and your Spectrum
license (including the integrations allowed) by clicking in the Spectrum
title bar. You can save a copy of the information by clicking the Copy to
Clipboard button in the About Loftware Spectrum dialog box and pasting into
an application such as a word processor.
Symptom Resolution
A Security service not This message indicates that you are unable to connect to
available message is displayed. the database used by Spectrum. This may be because you
do not have the necessary permissions, because the server
is offline, or because your network connection has failed.
Error #2032 is displayed on These error messages indicate that a problem has caused
the login page for Spectrum or all available memory or processor resources to be
a GC overhead limit consumed. Contact Loftware Technical Support for
exceeded error message is assistance.
displayed elsewhere in
Spectrum.
Time values entered in hours, See "Time Values in Spectrum" on page 1449.
minutes, or seconds do not
produce the intended effect.
Data appearing on the printed See " Troubleshoot Label Data Sources" on page 1457.
label was not what was
expected.
Labels are not printed in the See " Troubleshoot Layouts" on page 1461.
expected layout.
Users cannot see, open, or See " Troubleshoot Access Control (Permissions)" on
select a label template, folder, page 1450.
user, or other object.
Users cannot print using a label See " Troubleshoot Access Control (Permissions)" on
template or process. page 1450.
Users cannot log in to In a Spectrum environment with distributed services, all
Spectrum. SpectrumApplicationServers that are online must be
accessible to each client computer. For example, a firewall
should not be blocking a client computer's network access
to any SpectrumApplicationServer.

1448 Loftware Spectrum 3.0.1 User Guide


Troubleshoot General Issues

Time Values in Spectrum


Most time values in LoftwareSpectrum must be entered in whole milliseconds (ms). The
following equivalents may be helpful.
1 second = 1,000ms
1 minute = 60,000ms
1 hour = 3,600,000ms
1 day = 86,400,000ms
To convert a specific value to or from milliseconds, conversion websites such as The Calculator
Site (http://www.thecalculatorsite.com/conversions/time.php) may be helpful.

Date/Time Values
Date/time values in Spectrum, including those obtained from a Database data source, are stored
in a special milliseconds format. You can use a Script data source to convert a date/time value to
a human readable format. For more information, see "Script Examples: Change the Format of a
Date" on page 387.

Loftware Spectrum 3.0.1 User Guide 1449


Troubleshooting

Troubleshoot Access Control (Permissions)


For an overview of critical concepts in access control for LoftwareSpectrum, see " Controlling
Access in Spectrum" on page 560.
Important: Access in Spectrum requires both role-based permissions1 and object access
permissions2. For a user to be able to perform an action on an object, the user
must directly or indirectly be assigned a role that grants permission to perform that
action on that type of object. Additionally, that particular object must either be in a
folder that directly or indirectly grants the user access permission to perform that
action on that type of object or else that particular object must directly or
indirectly grant permission to the user to perform that action. There are several
permissions that are only role-based or only object-based and do not require a
corresponding permission. Examples include List permission for Folders and all
permissions for ModelStatus (AutoRefresh), Tag Categories, and Devices.

Symptom Resolution
Users cannot See " Controlling Access in Spectrum" on page 560. In particular, review
see, open, or the flowchart in "Order of evaluation limits inheritance" in the "Access
select a label Concepts in Spectrum" section.
template, folder,
user, or other
object.
Users cannot To print, a user requires Read, Create, and Print permissions for
print using a Documents. Both role-based permissions and object access permissions
label template orare required.
process. For more information, see " Controlling Access in Spectrum" on page
560. Review the flowchart in "Order of evaluation limits inheritance" in
the "Access Concepts in Spectrum" section.
Users cannot see To see or change a device queue, a user requires Read and Queue
a device queue permissions for Device Groups. For more information, see " Configuring
for a device. Device Access" on page 611.

1Permissions in Spectrum that are assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned. A user must have both a role-based permission and the corresponding
object access permission to perform an action on an object.
2Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

1450 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Access Control (Permissions)

Symptom Resolution
Permissions for Although a user inherits the roles of a group in which the user has
a user are not membership, those roles are displayed only on the Roles tab for the
displayed where group, not on the Roles tab for the user or the Users tab for the role. As
expected. a best practice, it is recommended that you configure permissions for
roles, assign roles to groups, and add users to groups.
Administrators One of the following approaches may resolve the issue:
are unable to l To assign a role to a user, Admin and Read permissions for Roles

assign roles to are required. By default, a user with the Local Admin role has
users. both of these privileges for roles. However, if the Do not allow
Local Administrator to assign this role to other users check
box is selected on the Permissions tab for the role, then users
with Local Admin receive only Read privileges for the role. This
check box can only be configured by a user who has both the
Local Admin and ROLE_ADMINISTRATOR roles.
l If you are a ROLE_ADMINISTRATOR or SuperAdmin and are

unable to drag and drop a role onto a group or a user, do the


following. First, click and release the role. Next, click, drag, and
drop the role onto a group or a user.
The Reprint By default, role-based Reprint permissions are provided to the
feature or role- SuperAdmin user and the Local Admin role, but are not included in any
based Reprint other built-in roles such as Document Designer or Document Printer. If
permissions are users should be able to use the reprint feature, then the SuperAdmin
not displayed. user or an administrator with the ROLE_ADMINISTRATOR role can
assign Reprint permissions to other roles.
Where a user For each user, you must grant Read permission for Users so that the user
name should be name can be displayed to other users where appropriate, such as in
displayed, Status.
User-
AccessDenied
is displayed
instead.
In Print, the To use Print Preview, a user should have a role with Print permission for
Preview button Documents, have Print permission for Documents for folders containing
is not displayed label templates and images to be previewed, and have Allow Print
to some users. Preview selected in User Preferences.

Loftware Spectrum 3.0.1 User Guide 1451


Troubleshooting

Symptom Resolution
A Security See "Troubleshoot General Issues" on page 1448.
service not
available
message is
displayed.
Users are unable If a Security service not available message is displayed, see
to log into "Troubleshoot General Issues" on page 1448.
Spectrum. If using LDAP authentication, see "Troubleshoot LDAP
Authentication" on page 1479.

1452 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Data Services

Troubleshoot Data Services


For information about how to administer data services, see " Managing Data Services" on page
979. For information about managing access to data services, see " Controlling Access in
Spectrum" on page 560.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Important! In an environment with distributed services, to permit a user to


perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.

Important! If you delete a custom parameter from a JDBC data service, the
parameter is automatically removed from any Database data sources associated with
that data service.

Note: The maximum length for a string parameter is 4,000 characters.

Symptom Resolution
An error message occurred The data service is not running. Save and start the data service
when attempting to run a before attempting to run a query.
query for the first time.
Changing a JDBC data A Database data source contains a copy of the configuration
service does not produce in the JDBC data service rather than a link to it. For more
any change in the label data.
information about the behavior to expect, see " Managing
Data Service Parameters" on page 986.
Deleting a custom If the Data Service Administrator deletes a custom parameter
parameter from a JDBC data in the JDBC data service, that parameter is automatically
service causes the removed from the associated data sources. For more
parameter to vanish from information about the behavior to expect, see " Managing
existing Database data Data Service Parameters" on page 986.
sources.

Loftware Spectrum 3.0.1 User Guide 1453


Troubleshooting

Symptom Resolution
A JDBC data service will To enable Spectrum to connect to most types of databases,
not run and the following you must install a third-party Java Database Connectivity
message is displayed: No (JDBC) API driver on the SpectrumApplicationServer. For
suitable driver. more information, see " Add a JDBC Driver to Spectrum" on
page 989.
A Channel disconnected This message may be displayed during an attempt to use a data
error is displayed when source if the data service has failed and is not load balanced
retrieving data by using a by using distributed services in Spectrum.
data entry form that points If the data service is configured to fail over to another
to a data source. SpectrumApplicationServer, this message may still be
displayed because there is a brief interruption during failover.
Use one of the following approaches to resolve the issue:
l Eliminate the potential for this error by using

distributed services to configure the data service to be


load balanced.
l If the data service is configured to fail over to another

SpectrumApplicationServer by using distributed


services, instruct the user to click OKto close the
error message, wait for a few seconds so that the
service can fail over, and try again to use the form
again.

1454 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Design

Troubleshoot Design
For information about designing label templates and layouts, see "Designing Labels and Forms"
on page 117. For information about managing access to label templates, layouts, see "
Controlling Access in Spectrum" on page 560.
Symptom Resolution
A printed label includes the wrong See " Troubleshoot Label Data Sources" on page
data. 1457.
A Text Box field is not printing as See " Troubleshoot Label Data Sources" on page
intended. 1457.
Labels are not printed in the See " Troubleshoot Layouts" on page 1461.
expected layout.
Label Specific Options are not See " Troubleshoot Label Specific Options" on page
having the intended effect. 1460.
After opening a label template, the If the label or the form has very large dimensions or
Label view, Form view, or both contains an extremely large number of objects, it may
are not displayed. be exceeding the memory available to your web
browser. Using a 64-bit web browser may resolve the
issue.
In Preview, only an outline of the If the label or the form has very large dimensions or
label design is displayed. contains an extremely large number of objects, it may
be exceeding the memory available to your web
browser. Using a 64-bit web browser may resolve the
issue.
When attempting to save a label If the label or the form has very large dimensions or
template, a contains an extremely large number of objects, it may
Server.Acknowledge.Failed error be exceeding the memory available to your web
or a Warning: Unresponsive browser. Using a 64-bit web browser may resolve the
plugin error is displayed. issue.
Time values entered in hours, See "Time Values in Spectrum" on page 1449.
minutes, or seconds do not
produce the intended effect.
Users cannot see, open, or select a See " Troubleshoot Access Control (Permissions)" on
label template, folder, user, or page 1450.
other object.

Loftware Spectrum 3.0.1 User Guide 1455


Troubleshooting

Symptom Resolution
A label template that was migrated You can view information about issues that occurred
from an LPS environment to during migration from an LPS environment to a
Spectrum produces printed labels Spectrum environment.
that differ from those printed using In Design, open the label template and click the
LPS. Label view.
In the Properties pane, review the Migration and
Migrated properties.
If Migrated with issues is displayed, click the
icon in the Migrated property to display a report of
all migration issues.
If you have a concern about a specific field, click that
field. In the Properties pane, if Migrated with
issues is displayed, click the icon to display a tool
tip showing migration issues for that field.

1456 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Design

Troubleshoot Label Data Sources


For information about how to configure a label data source, see "Configuring Label Data
Sources" on page 305.
Symptom Resolution
A printed One of the following approaches may resolve the issue:
label l Check each property of the field that has the potential to limit the

includes the length of the data. For example, if a text field refers to a label data
wrong data. source, you must ensure that the Chars Per Line, # Lines, and Max
Chars for the field are great enough to accommodate the expected
data. Similar properties exist for Barcode fields. For Text Box fields,
printed data can be truncated by the Text Box Overrun Mode. For
more about this mode, see "System Management Page" on page 775.
l If the label data source is a Date/Time data source, an administrator

should confirm that the clock on the SpectrumApplicationServer is


set correctly.
l If you are running a custom process, an administrator should verify

that neither the process nor a business rule is overriding the label data
source or affecting the output in an unanticipated manner.
A Text Box The following factors can affect the how text in a Text Box field is displayed:
field is not l Data in a Text Box field automatically wraps at the end of each line if

printing as the text would otherwise extend beyond the envelope of the field.
intended. When line wrapping occurs, the line break is either at the end of a
word or after a hyphen, en-dash, or em-dash. If a word is too wide to
fit in the field, a line break occurs within the word at the edge of the
envelope.
l If more data is received for a Text Box field than will fit, the Text

Box Overrun Mode determines how Spectrum responds. However,


this mode can be configured in multiple places. For information about
precedence when it is configured in multiple places and about the
available values, see "System Management Page" on page 775.
l If enabled, Dynamic Font Sizing can alter the font size and aspect ratio

of characters. For more information, see the Font section in "Text


Properties" on page 140.
A custom If the Data Service Administrator deletes a custom parameter in the JDBC
parameter data service, that parameter is automatically removed from the associated data
has sources. For more information about the behavior to expect, see " Managing
disappeared Data Service Parameters" on page 986.
from a
Database
data source.

Loftware Spectrum 3.0.1 User Guide 1457


Troubleshooting

Symptom Resolution
A Database Any Database data source or Alternate data source used in a label template
data source that must support on-demand printing must have at least one trigger 1. If the
or an data source must support both on-demand printing and integrations, then it
Alternate must have at least two triggers, including one with a Do Not Run trigger
data source source. If the data source does not need to support on-demand printing, then
is failing to no triggers are required. For more information, see "Triggers in Design" on
query the page 419.
associated
data service.
Data If the label template must support on-demand printing and includes a
sources in a Database data source and an Alternate data source (or more than one of
label either), review the triggers for the data sources. Determine whether triggers
template are with the same combination of trigger source, trigger event, and trigger key (if
being run in any) are used by more than one data source in the label template, regardless of
the wrong the type of data source. If so, it may be necessary to configure values for
order. trigger priority 2 to manage the order in which the data sources are run. For
more information, see "Triggers in Design" on page 419.
When The dialog box displays only Database data sources and Alternate data sources
adding a for which the selected field or form has is not already configured as a trigger
trigger via source.
the l In the Properties pane, you can confirm whether a trigger already

Properties exists for the data source.


pane, no l In the Data Sources pane, you can confirm whether a particular data

data sources source exists.


are listed in
the dialog
box.

1A means of running a data source, form rule, or business rule. Includes a trigger source if interactive (such as a button, a prompt,
or a form) and a trigger event (such as clicking a button, entering text at a prompt, loading a form, or submitting a job). For
example, you can specify a particular button as a trigger source that Data Providers can click to perform a query of a database.
2The order in which data sources, form rules, or business rules that have otherwise identical triggers are run. Trigger values are
compared only if the triggers have the same trigger source, trigger event, and trigger key (if any). The type of data source is
irrelevant. Among data sources, form rules, or business rules with otherwise identical triggers, the data source with the lowest
value for trigger priority is run first.

1458 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Design

Symptom Resolution
An Some drivers provide native support for Inc/Dec behavior, which may
Inc/Dec improve performance. To optimize performance, ensure that the Minimum
data source Value and Maximum Value include the same number of digits. The
is causing a Minimum Value can be padded with leading zeros.
job to
complete
more
slowly.

Loftware Spectrum 3.0.1 User Guide 1459


Troubleshooting

Troubleshoot Label Specific Options


For information about overriding device options by using Label Specific Options (LSOs), see
"Override Device Options with Label Specific Options" on page 125. For information about
specific device options, see " Device Driver Options" on page 858.
Symptom Resolution
The values When overriding the Paper Size or Paper Source option for a server
for Paper spooler device, you are not limited to selecting from the values displayed.
Size and Type in a custom value instead of selecting from the drop-down list.
Paper
Source do
not include
the values
needed.
The Selecting the Print as Image property for a Barcode field overrides the
appearance option for the relevant symbology on the Barcode Imaging tab for both
of a barcode LSOs and device options, and the barcode is sent as an image. Selecting Print
varies as Image removes any potential device variation when natively encoding the
depending barcode data. If you have cleared Print as Image, selecting Override in the
on the LSO and selecting the relevant symbology also causes barcodes to be
device generated by Spectrum and printed as an image.
used.
An LSO An LSO is part of a label template. After configuring an LSO, you must save
was the label template so that the LSO configuration will be retained.
configured,
but later
disappeared.

1460 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Design

Troubleshoot Layouts
For information about using layouts, see "Managing Label Templates" on page 89. For
information about managing access to layouts, see " Controlling Access in Spectrum" on page
560.
Tip: If you are working with a label template, layout, or image that is in a version-
controlled folder and problematic changes have been made to it, an administrator
can roll back to a previous version of that label template, layout, or image.

Symptom Resolution
Changes to a If label templates and layouts are designed in one folder and copied to
layout are not another, by default the label templates in the second folder are still
reflected in the associated with the layouts in the original folder. Associate the label
output from a templates in the second folder with the intended layouts.
label template to Best Practices
which the layout
If label templates that you create are typically copied from
is attached.
one folder to another, it is recommended that you save
layouts and label templates in separate folders to prevent
confusion.
The label image is If you use a Datamax (DPL) or Intermec (IPL) printer to print a label
anchored to the that is less than the media size (for example, print a 4"4" label to a
bottom of the printer with 4"6" stock), the label image will be anchored to the
output rather than bottom of the output due to DPL and IPL using a coordinate system in
the top. which the point of origin is at the bottom. Use the Print Rotation
property of the label to rotate the label image 180.
An existing layout If the layout is version controlled, then it must be published before it
is not available to can be attached to a label template. For more information about version
be attached to a control, see "Working in a Version-Controlled Environment " on page
label template. 79 or " Managing a Version-Controlled Environment" on page 701.
Additionally, appropriate access to the layout must be granted the user.
For more information, see " Controlling Access in Spectrum" on page
560.

Loftware Spectrum 3.0.1 User Guide 1461


Troubleshooting

Troubleshoot Devices
For information about managing device connections, see " Managing Devices" on page 794. For
information about managing access to device connections, see " Controlling Access in
Spectrum" on page 560.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Important! In an environment with distributed services, to permit a user to


perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.
Symptom Resolution
Problems are See " Troubleshoot a RemoteSpooler(LPR) Connection" on page
encountered when 1465.
configuring a
remotespooler(LPR)
connection by using a
TCP/IP device
connection with LPR
protocol.
Problems are See " Troubleshoot a TCP/IP Device Connection" on page 1467.
encountered when
configuring a
TCP/IPdevice
connection with
Standard protocol.
Problems are Go to Device Management, click the device in the AllDevices
encountered when a pane, verify that the correct USB Port is selected, and then click
configured USB device Save.
connected to a Linux
operating system is
moved to a different
USBport.

1462 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Devices

Symptom Resolution
The Remote Print Reinstall the Remote Print Agent. The correct Remote Site Name
Agent is unable to and Remote Site ID can be obtained from the Remote Site in Device
connect to Spectrum Management.
because the Remote
Site Name or Remote
Site ID is incorrect.
A thermal printer is For thermal printers, always set the resolution to what is reported
exhibiting unexpected by the device.
behavior.
A QuickLabel device If a QuickLabel device is in sleep mode when Spectrum sends a
enters an Errored state print job to it, the device may enter an Errored state. To resolve
when a print job is sent this issue, restart the QuickLabel device.
to it.
A QuickLabel device For QuickLabel devices, always set the label template size to
is exhibiting match the stock size.
unexpected behavior.
Print jobs are not If the configuration of a NeuraLabel device inSpectrum does not
printing from a match the media in the device, an error may occur at the device
NeuraLabel device, resulting in failed print jobs. Because the error occurs at the
even though the status device, Spectrum reports the status as Completed. To resolve,
in Spectrum is check that your configuration matches the media in the device.
Completed. For more information, see " NeuraLabel Device Driver" on page
899.

Loftware Spectrum 3.0.1 User Guide 1463


Troubleshooting

Symptom Resolution
Font recall is not For Zebra devices, x.14 or later firmware is required to support
performing as font commands.
expected. For font recall1 to function, the font file for each combination of
font and style must be loaded into device memory. If the font file
is not loaded into device memory at the location that you specified
in Spectrum, then the device's default font is used for font recall.
Font recall is not supported for Spectrum's built-in fonts.
If the font installed in Spectrum and the font loaded into device
memory are not the same, you may have unexpected results.
If a field includes any of the following characteristics, then the
font alone cannot be used to format the text and Spectrum must
generate an image of the formatted text for that field. When this
approach is necessary, font recall cannot be applied for the field.
l Text is rotated into a non-cardinal orientation.

l Text is centered.

l Text both contains a backslash (\) and is right-justified.

l Text is in a Text Box field.

l Character-level formatting is applied to text.

l The Fit to Envelope feature is applied to text.

For more information about font recall, see " Fonts for Zebra
Devices" on page 951.
Label Specific Options See " Troubleshoot Label Specific Options" on page 1460.
are not having the
intended effect.

1The ability to reference a font and style at print time by using a font file stored in device memory. Using font recall can reduce the
amount of data in the print stream and therefore improve performance.

1464 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Devices

Troubleshoot a RemoteSpooler(LPR) Connection


If you encounter a problem when attempting to configure a remotespooler(LPR) connection by
using a TCP/IP device connection with LPR protocol, do the following to troubleshoot the
issue.
Note: Before you can use a remotespooler(LPR) connection with Spectrum, you
must configure the client computer to support such connections. For more
information, see "Requirements for Spectrum Client Computers" on page 47.

Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Important! In an environment with distributed services, to permit a user to


perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.
1. Test the device connection to diagnose the issue.
a. In Spectrum, click Device Management.
b. In the All Devices pane, click the device for which there is a problem.
c. On the Connection tab, click Test Connection.
d. Review the message displayed.
2. On the Connection tab, verify that the IP Address field contains an IP address or DNS
name, not the name localhost.
3. Verify that the computer to which the device is connected is accessible via IP address or
DNS name.
4. Verify that the computer to which the device is connected has been configured to allow
Spectrum to use a remotespooler(LPR) connection. For more information, see .
5. In Control Panel, click Administrative Tools and double-click Services. Ensure that
the LPD Service is running.
6. In Control Panel, ensure that the driver used by the device is Windows
Generic/Generic Text Spooler.

Loftware Spectrum 3.0.1 User Guide 1465


Troubleshooting

7. Review the Windows Event Log for relevant events to diagnose the issue.
a. In Control Panel, click Administrative Tools and double-click Event Viewer.
b. In the Event Viewer, click Custom Views and then click Administrative
Events.
c. Review the details of events for which the Source is Spooler-LPDSVC and the
Event ID is a number from 4000 through 4009.
d. If the Event ID is 4009, note whether the name of the device shown in the event
is as expected.
8. If the device name was entered correctly but does not appear to be valid, it may be
necessary to configure a registry value in the Windows Registry on the computer to
which the device is connected.
a. In the Registry Editor, navigate to HKEY_LOCAL_
MACHINE\SYSTEM\CurrentControlSet\Control\Print.
b. If the DnsOnWire registry value exists, set its value data to 1. If it does not exist,
create a new DWORD (32-bit) Value named DnsOnWire and set its value data
to 1.

1466 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Devices

Troubleshoot a TCP/IP Device Connection


If you encounter a problem when attempting to configure a TCP/IP device connection with
Standard protocol, do the following to troubleshoot the issue.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Important! In an environment with distributed services, to permit a user to


perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.
1. Test the device connection to diagnose the issue.
a. In Spectrum, click Device Management.
b. In the All Devices pane, click the device for which there is a problem.
c. On the Connection tab, click Test Connection.
d. Review the message displayed.
2. Verify that the device is connected is accessible via IP address or DNS name.

Loftware Spectrum 3.0.1 User Guide 1467


Troubleshooting

Troubleshoot Distributed Services


For information about managing distributed services, see "High Availability with Distributed
Services" on page 716. For information about managing access to SpectrumApplicationServers
in an environment with distributed services, see " Controlling Access in Spectrum" on page 560.
For troubleshooting information specific to data services, integration, or device connections, see
"Troubleshoot Data Services" on page 1453, "Troubleshoot Integrations, Processes, and
Business Rules" on page 1470, or " Troubleshoot Devices" on page 1462.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Important! In an environment with distributed services, to permit a user to


perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.

Important! The Font Management Service should be activated and started on all
SpectrumApplicationServers to ensure consistent fonts.

Note: The Service Management pane is primarily relevant if your Spectrum


environment includes two or more SpectrumApplicationServers installed as a
distributed environment. For information about how to create a distributed
Spectrum environment, see the LoftwareSpectrum Installation and Configuration Guide.

1468 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Distributed Services

Symptom Resolution
A Channel disconnected This message may be displayed during an attempt to use a
error is displayed when data source if the data service has failed and is not load
retrieving data by using a balanced by using distributed services in Spectrum.
data entry form that points If the data service is configured to fail over to another
to a data source. SpectrumApplicationServer, this message may still be
displayed because there is a brief interruption during failover.
Use one of the following approaches to resolve the issue:
l Eliminate the potential for this error by using

distributed services to configure the data service to be


load balanced.
l If the data service is configured to fail over to another

SpectrumApplicationServer by using distributed


services, instruct the user to click OKto close the
error message, wait for a few seconds so that the
service can fail over, and try again to use the form
again.

Loftware Spectrum 3.0.1 User Guide 1469


Troubleshooting

Troubleshoot Integrations, Processes, and Business Rules


For information about how to configure an integration, see "Integrating with Other
Applications" on page 1042. For information about configuring a process or a business rule, see
"Implementing Business Logic" on page 1181.
For information about managing access to integrations, see " Controlling Access in Spectrum" on
page 560. For information about configuring access to processes and business rules, see
"Configuring Access for Processes and Business Rules" on page 1186.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Important! In an environment with distributed services, to permit a user to


perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.

Tip: You can check the version of LoftwareSpectrum and obtain information
about its components, the SpectrumApplicationServer, and your Spectrum
license (including the integrations allowed) by clicking in the Spectrum
title bar. You can save a copy of the information by clicking the Copy to
Clipboard button in the About Loftware Spectrum dialog box and pasting into
an application such as a word processor.
Symptom Resolution
Problems are occurring with a File Drop See " Troubleshoot File Drop Integration" on
integration. page 1471.
Problems are occurring with an Oracle See " Troubleshoot Oracle Integration" on
integration. page 1475.
Problems are occurring with an Integration See " Troubleshoot Integration for Use with
for use with SAP Applications. SAP Applications" on page 1477.

1470 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Integrations, Processes, and Business Rules

Troubleshoot File Drop Integration


For information about how to configure a File Drop integration, see "File Drop Integration" on
page 1048. For information about managing access to integrations, see " Controlling Access in
Spectrum" on page 560.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Important! In an environment with distributed services, to permit a user to


perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.

Tip: You can check the version of LoftwareSpectrum and obtain information
about its components, the SpectrumApplicationServer, and your Spectrum
license (including the integrations allowed) by clicking in the Spectrum
title bar. You can save a copy of the information by clicking the Copy to
Clipboard button in the About Loftware Spectrum dialog box and pasting into
an application such as a word processor.
Symptom Resolution
No print job You must determine whether the issue is due to the integration, the process
files are and business rule, or the device and device driver.
printing One of the following approaches may resolve the issue:
l Verify that the integration is running by checking for the presence of

the Stop Integration button in the File Drop integration. If it is not


running, click Start Integration.
l Verify that the Scan Folder exists and is accessible. If Spectrum has

been able to access the Scan Folder, it contains three subfolders


(error, processed, and processing). If they are deleted, they are
automatically re-created.
l If the preceding approaches do not resolve the issue, see the

resolutions listed in the following row.

Loftware Spectrum 3.0.1 User Guide 1471


Troubleshooting

Symptom Resolution
One or One of the following approaches may resolve the issue:
more print l Verify that the job file has one of the file extensions specified in the

job files are File Drop integration.


not printing l Ensure that the Polling Interval is not excessively long. 1000ms is

equivalent to 1 second. 999,999,999ms is equivalent to 11.5 days.


l If FIFO is selected, check whether a file of a recognized file type is

in the Scan Folder and is locked. (A file may be locked if it is open for
editing.) If so, either unlock the file, remove the file, or clear the
FIFO check box.
l Click Status and search for job files that were submitted but not

printed. For detailed information about a job, double-click the job


record. Also, with the job record selected, click the Information title
bar at the bottom of the right column to expand the Information
pane and display more details about the job.

1472 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Integrations, Processes, and Business Rules

Symptom Resolution
l To obtain information to help diagnose the issue, select Archive

Original Job File and Archive XML and then resubmit the job. If
the Archive Original Job File and Archive XML options are
selected, the job file should appear in the Scan Folder and then move
to one of its subfolders.
l Scan Folder: If the job is in this folder, it has not yet been

processed. Ensure that files in this folder are not locked. Files
should not be edited in this folder.
l processing: If the job is in this subfolder, Spectrum has begun

to process it. Ensure that files in this folder are not opened for
editing or locked for any other reason.
l processed: If the job is in this subfolder, it has been

completed successfully.
l error: If the job is in this subfolder, Spectrum attempted to

process it but encountered a problem. The .err file associated


with the job may provide information about the problem. If it
indicates that the job file was not parsed correctly and if the
Validate XML check box is cleared, select Validate XML
and submit the print request again.
Tip: A .err file is created in the error subfolder
only if the error occurs before processing begins.
Otherwise, the error is listed in Status instead.

Note: After you have resolved the issue, it is


recommended that you clear Archive Original Job File
and Archive XMLso that you do not accumulate
unnecessary archive files. Selecting these options
generates the files in the processed folder.
Print jobs Review the Device Name field. To route all print jobs to the same device,
are not enter a device name in this field. To allow print jobs to be routed to the
being routed device specified within the print job, leave this field blank.
to the
expected
device

Loftware Spectrum 3.0.1 User Guide 1473


Troubleshooting

Symptom Resolution
Code 10008 If you clicked Status, double-clicked a job record, and Code 10008 was
under Job displayed, then the Run As user account for the integration may not have the
Error necessary object access permissions1 for an object used by the job. For
more information, see " Configuring a Run As User for Integrations" on page
1043.
Code 10016 If you clicked Status, double-clicked a job record, clicked a row in the
under Process Errors table, and Code 10016 was displayed, then the job file may
Process include an incorrect path. Correct the path and copy the job file to the Scan
Errors Folder again.
Performance Any of the following configuration changes may improve performance.
when using l Ensure that the Archive Original Job File and Archive XML check

File Drop boxes are cleared.


integration l Evaluate whether the Polling Interval is appropriate. 1000ms is

is too slow equivalent to 1 second. 999,999,999ms is equivalent to 11.5 days.


l Clear the FIFO check box.

l Clear the Validate XML check box.

l If you do not need to restrict print jobs to a particular device, clear

the Device Name field.

1Permissions in Spectrum associated with a specific object or with a folder that control what actions can be performed on that
object or on objects within that folder. Each object has default permissions that can be overridden by exceptions for a specific
group or user. A user must have both a role-based permission and the corresponding object access permission to perform an
action on an object.

1474 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Integrations, Processes, and Business Rules

Troubleshoot Oracle Integration


For information about how to configure an Oracle integration, see "Oracle Integration" on page
1062. For information about managing access to integrations, see " Controlling Access in
Spectrum" on page 560.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Important! In an environment with distributed services, to permit a user to


perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.

Tip: You can check the version of LoftwareSpectrum and obtain information
about its components, the SpectrumApplicationServer, and your Spectrum
license (including the integrations allowed) by clicking in the Spectrum
title bar. You can save a copy of the information by clicking the Copy to
Clipboard button in the About Loftware Spectrum dialog box and pasting into
an application such as a word processor.
Symptom Resolution
Problems are If print jobs are not printing, you must determine whether the issue is
encountered due to the integration, the process and business rule, or the device and
with an Oracle device driver.
integration.

Loftware Spectrum 3.0.1 User Guide 1475


Troubleshooting

Symptom Resolution
After Spectrum After you perform an upgrade of Spectrum, you must update each Oracle
is upgraded, an integration before it can be run. This is part of the Spectrum upgrade
Oracle process, but exists as a separate step to provide you with flexibility about
integration will when you schedule updates to Oracle integrations.
not run. To update an Oracle integration, attempt to start the integration. If the
integration has not been updated, an Oracle Integration Update
Required dialog box is displayed and provides you with an opportunity
to perform the update.
Important! Updating one Oracle integration does not
update any other Oracle integration. You must update each
Oracle integration separately.
The creation of Verify that an Oracle user account has been created in Oracle for use
an Oracle with Spectrum. Spectrum uses the credentials of this Oracle user account
integration fails. to connect to the Oracle database. For more information, see "Configure
an Oracle User for Spectrum" on page 1063.
Verify that the Oracle database server can connect to the
SpectrumApplicationServer. Network connectivity to the port that
Spectrum listens on (by default, port 8080) must exist.

1476 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Integrations, Processes, and Business Rules

Troubleshoot Integration for Use with SAP Applications


For information about how to configure a LoftwareSpectrum Integration for use with SAP
Applications, see "Integration for Use with SAP Applications" on page 1085. For information
about managing access to integrations, see " Controlling Access in Spectrum" on page 560.
Important! Whenever you add a new device, data service, or integration, you must
ensure that the service is activated on all SpectrumApplicationServers on which it
should be available to run and started on at least one. In an environment with only
one SpectrumApplicationServer, these types of services are automatically
activated and started when they are created. For more information, see "High
Availability with Distributed Services" on page 716.

Important! In an environment with distributed services, to permit a user to


perform administrative tasks related to services you must assign Read and Write
permissions for Servers. These permissions must be assigned for each server in
Access Control. Examples of administrative tasks related to services include
creating a data service, a device connection, or an integration. Core services can
only be configured by the SuperAdmin user.

Tip: You can check the version of LoftwareSpectrum and obtain information
about its components, the SpectrumApplicationServer, and your Spectrum
license (including the integrations allowed) by clicking in the Spectrum
title bar. You can save a copy of the information by clicking the Copy to
Clipboard button in the About Loftware Spectrum dialog box and pasting into
an application such as a word processor.
Symptom Resolution
Problems are One of the following approaches may resolve the issue:
encountered l If print jobs are not printing, you must determine whether the issue

with an is due to the integration, the process and business rule, or the
integration for device and device driver.
use with SAP l In label templates in Design, ensure that only uppercase text is

applications. used in the Data Ref fields. By default, Data Ref fields are case
sensitive.
l In SAP BC-XOMintegrations, ensure that the Integration Name

matches the name included in the Submit command in the Logical


Output Management System (LOMS) on the SAPApplication
Server. The length of this name must be 12 characters or fewer.
For more information, see "Configure SAP ERP for BC-XOM
Communication" on page 1092.

Loftware Spectrum 3.0.1 User Guide 1477


Troubleshooting

Note: Loftware Connector for SAP Applications uses a configuration file


(saprfc.ini). This file is not used by Spectrum. Instead, configuration is performed
in integrations within Spectrum.

1478 Loftware Spectrum 3.0.1 User Guide


Troubleshoot LDAP Authentication

Troubleshoot LDAP Authentication


For information about configuring LDAP authentication, see "Configuring Authentication" on
page 743. For information about managing Spectrum users, see " Controlling Access in
Spectrum" on page 560.
Tip: By default, LDAP communication between a client application and a server
application is not encrypted. However, you can secure LDAP communication by
using LDAP over SSL(LDAPS). To use LDAPS with Spectrum, obtain a copy of
your SSL certificate from your LDAP server and import the certificate into the Java
certificate keystore on the SpectrumApplicationServer. For more information, see
Importing the LDAP Server's Certificate (http://docs.oracle.com/cd/E19509-
01/820-3399/auto22/index.html). StartTLS and Simple Authentication and
Security Layer (SASL) are not supported.

Symptom Resolution
Users are If authentication has failed unexpectedly, one of the following approaches
unable to log in may resolve the issue:
to Spectrum. l Ensure that the user has an account configured in Spectrum with

the same user name.


1
l If a base distinguished name (DN ) is included in the Provider

URL, ensure that the URL does not end with a slash.
l Ensure that the correct port is included in the Provider URL. The

default port for LDAP over SSL (LDAPS) is 636. The default port
for LDAP is 389.
l Review the Provider URL and the Search Base to ensure that

the resulting search base is as intended. You can specify a Search


Base in the Search Base field, as part of the Provider URL, or
both. If both, they are concatenated with the portion in the Search
Base field first.
If a Security service not available message is displayed to users, see
"Troubleshoot General Issues" on page 1448.
If your Spectrum environment is configured to support single-sign on
(SSO) using Integrated Windows authentication, ensure that users' web
browsers are configured to support the Kerberos version 5 protocol.

1Distinguished name. A unique entry in a directory managed using Lightweight Directory Access Protocol (LDAP).

Loftware Spectrum 3.0.1 User Guide 1479


Troubleshooting

Symptom Resolution
After If errors such as "java.lang.IllegalStateException: Cannot unload the page
configuring file when it is not loaded" appear in the Spectrum log file after configuring
single-sign on, single-sign on (SSO) using Integrated Windows authentication, do the
errors appear in following:
the log file. 1. Stop the Loftware Spectrum service.
2. Delete the following file from the SpectrumApplicationServer:
<SPECTRUM_HOME>\product\jms-data\db-1.log
3. Restart the Loftware Spectrum service.

1480 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Printed Labels

Troubleshoot Printed Labels


Symptom Resolution
Some characters do Check your device firmware to ensure that it supports UTF-8. Older
not print correctly devices may not support this encoding. The effect of printing labels
on older devices. to unsupported devices is that characters above ASCII 127 may not
be handled correctly on printed labels.
Some barcode data For Zebra ZPL II devices, use x.17 or later firmware. Spectrum
does not print supports Zebra ZPL II devices with x.10 or later firmware.
correctly on older However, Code 128 barcode data that appears after a hyphen may be
Zebra devices. truncated if firmware older than x.17 is used.
A printed label See " Troubleshoot Label Data Sources" on page 1457.
includes the wrong
data.
A Text Box field is See " Troubleshoot Label Data Sources" on page 1457.
not printing as
intended.
Labels are not See " Troubleshoot Layouts" on page 1461.
printed in the
expected layout.
No output was See " Troubleshoot by Using Status" on page 1482 and "
produced or the Troubleshoot Devices" on page 1462.
output produced was
not what you
intended.
Font recall is not See " Troubleshoot Devices" on page 1462.
performing as
expected.

Loftware Spectrum 3.0.1 User Guide 1481


Troubleshooting

Troubleshoot by Using Status


If you have attempted to print and either received no output or the output received was not
what you intended, perform the following troubleshooting steps to identify the source of the
problem.
Tip: For information about how to use Status, see " Managing Job and Device
Status" on page 515.
1. Determine whether a job affected by the issue that you are attempting to troubleshoot
exists by finding that job in the Jobs section of Status. For more information, see "
Search Print Jobs" on page 530.
2. Review the Status column to determine whether the job is complete. For information
about a value for Job Status, see Status When Viewing by Jobs.
3. Double-click the row for the job to open the Job Inspector, and review the information
on the Errors tab. If Process IDs are listed, click each Process ID to display additional
information about the process. If there are errors, review the descriptions displayed.
4. Determine whether the job produced printed output.
5. Review the format of the printed label. If the format is incorrect, review the label
template in Design and any integration, process, or business rule that was used for the
job.
6. Review the data that appears on the printed label. If the data is incorrect, double-click the
row for the job to open the Job Inspector and review the information on the Data tab
and compare it to the label template and any integration, process, or business rule that
was used for the job. Additionally, see " Troubleshoot Label Data Sources" on page 1457.
7. Review the characters and the barcode data that appear on the printed label. If some
characters or barcode data are not printed correctly, see " Troubleshoot Printed Labels"
on page 1481.
8. If you are using a layout, review the position of the printed labels relative to each other.
If they are not organized as expected, review the layout in Design or see " Troubleshoot
Layouts" on page 1461.

1482 Loftware Spectrum 3.0.1 User Guide


Troubleshoot Printed Labels

References

The following topics provide reference material relevant to more than one page in
LoftwareSpectrum.

Loftware Spectrum 3.0.1 User Guide 1483


References

Open and Save As Dialog Boxes


Open and Save As dialog boxes display all folders that you have the necessary permissions to
view. Within the folders, only objects relevant to the page and that you have the necessary
permissions to view are displayed. You can move, delete, and display information about folders
and other objects.
Note: The folder in which in which an object is saved, in which an object is
opened, in which a folder is created, or in which a search is performed is the folder
that is selected in the navigation tree and shown in the breadcrumbs along the top
of the dialog box. This is true regardless of which folder is selected in the object
list in the middle pane.

Tip: In a Save As dialog box, you can create a subfolder within the selected folder
by clicking the Add Folder button.

Navigation Tree
The left pane of an Open or Save As dialog box contains a navigation tree.
Command Description
Display To display the contents of a folder, double-click the folder in the navigation tree.
Contents The contents of the folder are displayed in the object list in the middle pane.
Delete To delete a folder and its contents, right-click the folder and then click Delete.
Notes:
l A folder can only be deleted if you have Delete permissions

for every object in the folder and its subfolders.


l If you attempt to delete a folder and it is not removed, the

folder may contain other folders or objects for which you do


not have List or Delete permissions.
Move To move a folder, click and drag the folder to a new location. Alternatively, you
can right-click the folder and then click Move to.

Object List
The middle pane of an Open or Save As dialog box displays a list of the objects in the folder
selected in the navigation tree.

1484 Loftware Spectrum 3.0.1 User Guide


Open and Save As Dialog Boxes

Command Description
Display To display details about a folder, click the folder in the object list once.
Details Information about the folder is displayed in the Details pane.
To display details about an object other than a folder, click the object once.
Information about the object is displayed in the Details pane. If the object
supports tags, then the Tags pane is displayed and lists the value for each tag
category assigned to the object.
Display To display the contents of a folder, double-click the folder in the object list. The
Contents contents of the folder are displayed in the object list in the middle pane.
Delete To delete an object, right-click the object and then click Delete.
Move To move an object, click and drag the object to a new folder. Alternatively, you
can right-click the object and then click Move to.

Search Box
The Search box allows you to search for objects within a folder and its subfolders.
Command Description
Search If you do not know where to find a particular object, in the navigation tree click
the top-level folder, type part of the name of the object into the search box, and
click the Search button. Search results are displayed in the object list pane.
Note: Only the folder selected in the navigation tree and its
subfolders are searched.

Loftware Spectrum 3.0.1 User Guide 1485


References

Barcode Properties and Script Methods


You can design barcodes by using any of the following means:
lConfiguring the properties of barcode fields in the user interface in Design
l Using script methods in Script data sources in Design

l Using script methods in business rules in Process Design

The following topics are comparable references for barcode properties and script methods.
l "Barcode Properties and Symbologies" on page 204
l "Script Methods for Barcodes" on page 347

1486 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Reserved Keys
The reserved keys listed in the following topics can be used in Process Design. Some may also
be used in Design or displayed in Status.

Loftware Spectrum 3.0.1 User Guide 1487


References

Miscellaneous Reserved Keys


The following reserved keys can be used in Process Design. Some may also be used in Design
or displayed in Status.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.
Reserved Key Description
!DOCUMENT_DEFAULT!
For each property, the value specified in the label template.
!DIAGNOSTICS! The namespace in which a systemDiagnostics business rule component
stores data retrieved about memory status, processor details, operating
system details, and Spectrum system properties.

1488 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Reserved Keys for Process Properties


The following reserved keys related to the properties of processes can be used in Process
Design. Some may also be used in Design or displayed in Status.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.
Reserved Key Description
!DELINK! Boolean value indicating whether Spectrum is prevented from using
data sources defined in the label template.
If true, Spectrum does not use data sources defined in the label
template except for Database and Alternate data sources.
If false, Spectrum uses all data sources defined in the label template.
However, when the business rule is run, any business rule components
that would be triggered by the LABELevent are not run.
Tip: You can run business rule components that are
triggered by the LABEL event, but also have access to all
data sources in the label template. To do so, set Delink
Data Source to true and use a Reference business rule
component to load the label data sources into the
datamap. For more information, see "Access Label Data
Sources (XML)" on page 1216.
!DATASOURCE_URL!
Path for the business rule, if any.
If !DATASOURCE_URL! is set to !DOCUMENT_DEFAULT! and !DELINK!
is false, then the data sources specified in the label template are used.
!DOCUMENT_ Path for the label template containing the Label view.
URL!
!DESTINATION! Path for the device.
!DATAENTRY_ Path for the label template containing the Form view.
URL!
!JOBSOURCE_ Path for a special business rule that includes a dataPipe business rule
URL! component so that it can generate additional print requests.
If business rules are specified for both !JOBSOURCE_URL! and !DATASOURCE_URL!,
the business rule specified for !DATASOURCE_URL! is run first.
!LAYOUT_URL! Path for the layout specified by the print job request.

Loftware Spectrum 3.0.1 User Guide 1489


References

Reserved Keys for Print Parameters


The following reserved keys related to print parameters can be used in Process Design. Some
may also be used in Design or displayed in Status.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.
Reserved Key Description
!PJD_NAME! The name of the print job detail1.
Tip: In a scenario using on-demand print, you can allow the
Data Provider 2 to specify the name of a print job detail by
including a Prompt for which the Data Ref is /!PJD_
NAME!. When Data Providers use that form to submit a
print request in Print, they can enter a name for the print
job detail. In the Job Inspector dialog box in Status, that
name is displayed when that print job detail is selected.
!QUANTITY! Quantity 3
!DUPLICATES! Duplicates4
!PAGES! Pages5
!TRAY! Tray 6
!FILL_DIRECTION!
The Fill Direction for the layout. For more about Fill Direction, see
"Layout Properties" on page 282.
!LANGUAGE! For example, en_US.
!POSITION! This property is not currently used. The default value is 0.
!START_ORIGIN!
The Start Origin for the layout. For more about Start Origin, see "Layout
Properties" on page 282.

1A single request to use a label template to print to a specific destination. Depending on the values for Quantity, Duplicates, and
Pages, a print job detail may generate multiple labels.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.
3The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
4The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
5The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.
6To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.

1490 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Reserved Key Description


!TEXTBOX_ The Text Box Overrun Mode for Text Box fields, which can also be
OVERFLOW_ configured in System Management or in Device Management.
RULE! How Spectrum should respond if the amount of data received for a Text
Box field is more than can fit.
Tip: If the Text Box Overrun Mode is specified in the job
data, that overrides any mode specified in Label Specific
Options in Design, device options in Device
Management, or global settings in System
Management. Otherwise, if specified in Label Specific
Options, that overrides device options and global settings,
and if specified in device options, that overrides global
settings.
Allow Overrun: The text continues beyond the bottom of the envelope
for the field. For a printed label, as much of the text as can fit on the
label is printed.
Truncate Data: Text that does not fit is not printed or displayed. The
preceding text is printed or displayed.
Truncate Data at Paragraph Break: A paragraph that does not fit is
not printed or displayed. The preceding paragraph is printed or displayed.
Fail Print Job on Overrun: Any print job that includes a Text Box field
in which the data received does not fit is failed and is not printed or
displayed.
Use Global Setting: The value for Text Box Overrun Mode that is set
in System Management is used.
Property Syntax in Parameter
Allow Overrun OVERRUN
Truncate Data TRUNCATE
Truncate Data at Paragraph TRUNCATE_PARAGRAPH
Fail Print Job on Overrun FAIL_JOB
Use Global Setting USE_SYSTEM_PROPERTY
Example
!TEXTBOX_OVERFLOW_RULE!,TRUNCATE

Loftware Spectrum 3.0.1 User Guide 1491


References

Reserved Key Description


!REPRINT_ How the reprint target value is interpreted.
TARGET_ l Sibling: For stacked jobs and nested process designs, print the

TYPE! process immediately before it by default, or specify a relative


index to the reprint process and print a different sibling.
l Job: For on demand reprints, reprint every print job detail within

the listed job to the same target printer.


!REPRINT_ If the Reprint Target Type is Sibling, this value specifies the number
TARGET_ID! of previous sibling processes to traverse when determining which
process is to be reprinted. The default value is 1, which will reprint the
previous sibling process in the local containers process list.
If the Reprint Target Type is Job, this value is the target job's Job ID.
!LABEL_ A set of comma delimited label ranges to reprint in a multi-label or
RANGES! quantity reprint. When printing external files, this is the range of pages to
print. An asterisk is a wildcard value that resolves to the last label
printed.
Example
A value of 1,3,4-6,9-10 would print labels 1,3,4,5,6,9 and 10.
!INLINE_ Required for printing external files. Print an external file, such as a PDF,
DOCUMENT! without associating the file with label template.
!INLINE_ Required for printing external files. The list of supported external file
TYPE! types. For example, INLINE_PDF.
!PAGE_ The page handling for imaged files. Maintains aspect ratios.
HANDLING! ACTUAL_SIZE: Do not increase or decrease the image size on the page.
Default value.
FIT: Increase or decrease the image size as appropriate to fit the page.
INCREASE: Increase the image size of undersized images only to fit the
page.
DECREASE: Decrease the image size of oversized images only to fit the
page.
CUSTOM: Increase or decrease the image size as specified in !PAGE_
CUSTOM!.
!PAGE_ Required if !PAGE_HANDLING! is CUSTOM. For imaged files, the
CUSTOM! percentage as an integer value to increase or decrease the image size on
the page. A value greater than 100 will increase the image size, and a
value less than 100 will decrease the image size on the page. Can be used
when printing external files. Default: 100.

1492 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Reserved Key Description


!FORCE_ Whenprinting external files, whether to force the file to print as an
IMAGE! imaged file.
TRUE: An external file is imaged regardless if the target device is
configured and supports the !INLINE_TYPE! natively.
FALSE: Default value.
!TARGET_ Required if !PAGE_HANDLING! is not CUSTOM. For imaged files,
MEDIA_ the height of the target media size in thousandths of an inch (mils),
HEIGHT! unless specified otherwise in !TARGET_MEDIA_UNITS!.
!TARGET_ For imaged files, the width of the target media size in thousandths of an
MEDIA_ inch (mils), unless specified otherwise in !TARGET_MEDIA_UNITS!.
WIDTH!
!TARGET_ The target unit of measurement. Can be used when printing external files.
MEDIA_ INCHES: Thousandths of an inch (mils). Default value.
UNITS! CM: Centimeter.
MM: Millimeter.
!CLIENT_JOB_ The actual time when the print job is submitted in the format:
SUBMIT_ EEEEE EEE MMMMM MMM MM-dd-yyyy HH:mm:ss (locale defined
DATE_TIME! full day of the week, locale defined abbreviated day of week, locale
defined month name, locale defined abbreviated month name, month
number, two-digit date, year, hour, minutes, seconds in 24-hour format).
Example

Wednesday Wed June Jun 06-22-2016 10:28:10


!CLIENT_ The time difference in minutes between Coordinated Universal Time
TIME_ZONE_ (UTC) time and local (client browser) time.
OFFSET! Example

In Portsmouth, New Hampshire, this key has a value of


240.

Loftware Spectrum 3.0.1 User Guide 1493


References

Reserved Keys for Spectrum System Properties


Data about Spectrum system properties, such as the user name associated with a print request or
the date when a job was created, is stored in data map entries in the runtime namespace within
the data map1. System properties data is read-only data. These properties can be retrieved, but
not changed or overridden, by a process or a business rule created in Process Design.
Example
The location prefix for referring to a data map entry in system properties is %, and
the namespace is runtime. For example, %{/runtime/rowindex}.
The following reserved keys are the names of Spectrum system properties in the runtime
namespace. They can be used in Process Design. Some may also be used in Design or
displayed in Status.
Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

1A repository for the data for use when responding to a print request. Each data map entry is composed of a name (key) and a
value.

1494 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Job Processing

Reserved
Description
Key
clientcode The name of the integration that was used to submit the job.
createdate The date when the job was created.
currenttimeCurrent time on the SpectrumApplicationServer. This value is in Epoch
time 1.
jobname The name of the submitted job.
jvmname The name of the SpectrumApplicationServer processing the request.
rowindex The name of the current row if processing rows or a list of data.
servername The name of the SpectrumApplicationServer that is processing the job.
userdomain The domain (if any) specified in Spectrum for the user associated with the
print request.
username Spectrum user name of the user associated with the print request.

1The number of seconds since 00:00:00 UTC on 1 January 1970, not including leap seconds.

Loftware Spectrum 3.0.1 User Guide 1495


References

Printing

Reserved Key Description


documentname The name of the label template to be printed.
documentversion The version of the label template to be printed.
documentfontcategory The font category on the label template.
documentdpi The Dots Per Inch (dpi) of the label template.
documentsize The size of the label template.
documentwidth The width of the label template.
documentheight The height of the label template.
documentshape The shape of the label template.
documentorientation The orientation of the label template.
documentprintrotation The print orientation of the label template.
documentlayout The name of the layout linked to the label template.
documentlayoutenabled The layout enabled setting on the label template.
layoutname The layout being used.
layoutversion The version of the layout being used.
datasourcename The business rule or label template being used.
datasourceversion The version of the business rule or label template being used.
printername The name of the device being used for printing.
rowindex The name of the current row if processing rows or a list of data.
printerdpi The dpi of the device.
printermodel The model of the device.
printerfamily The family of the device.
printerdriver The driver used for the device.
printerconnectiontype The connection type.
printerresolution The dpi from the device option for printing.
printermediatype The media type from the device option for printing.
printerstocktype The stock type from the device option for printing.
jobname The job name.
jobid The job identification number.
printjobdetailname The print job detail name.
printjobdetailid The print job detail identification number.

1496 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Reserved Keys for Detailed Device Status


The reserved keys in the following topics are related to detailed device status. They can be used
in Process Design. Some may also be used in Design or displayed in Status.

Important! The detailedDeviceStatus and detailedDeviceInfo business rule


components are supported for use only with cab, Datamax-O'Neil, PCL,
QuickLabel, SATO, and Zebra devices.

Loftware Spectrum 3.0.1 User Guide 1497


References

Reserved Keys for Detailed Status for cab Devices

The following reserved keys can be used to refer to detailed device data retrieved from a cab
device by using a detailedDeviceStatus or detailedDeviceInfo business rule component. For
examples, see "Retrieve Detailed Device Status (XML)" on page 1221.
Important! The detailedDeviceStatus and detailedDeviceInfo business rule
components are supported for use only with cab, Datamax-O'Neil, PCL,
QuickLabel, SATO, and Zebra devices.

Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Device Status Data


The following reserved keys can be used to refer to detailed device data retrieved from a cab
device by using a detailedDeviceStatus business rule component.
Condition Reserved Key Description
Device DDS_ONLINE Whether the device is online or
online/offline offline.
true: Device online
false: Device offline
Error code DDS_ERRORCODE If there is an error, an error
message is displayed. Otherwise,
nothing is displayed.
Number of labels DDS_LABELSREMAINING For the current job, the number
remaining of labels remaining in the print
buffer waiting to be printed.
Paused DDS_PAUSED The device has been manually
paused.
true: ERROR: Paused
false: Unpaused
Jobs in queue DDS_JOBSINQUEUE Whether the device has jobs
enqueued.
true: Job(s) in queue
false: No jobs waiting in queue
Ready for data DDS_READYFORDATA Whether the device is ready to
receive print data.
true: Printer is ready for print data
false: ERROR: Printer is not ready
for print data

1498 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Condition Reserved Key Description


Paper is moving DDS_PAPERMOVING Whether the paper in the device is
currently moving. That is,
whether the Feed button is being
held.
true: Paper is moving
false: Not displayed
Label in demand DDS_LABELWAITING Whether a label is waiting in the
position in demand position to be torn off.
true: Label waiting in demand
position
false: Not displayed
Label on vacuum DDS_VACUUMPLATE Whether a label is on the vacuum
plate plate (hardware dependent).
true: Label on vacuum plate
Applicator not ready DDS_ Whether the applicator is not
APPLICATORNOTREADY ready (hardware dependent).
true: Applicator not ready
false: Not displayed
External pause signal DDS_EXTPAUSESIGNAL Whether an external pause signal
is active (hardware dependent).
true: External pause signal is
active
false: Not displayed
External print signal DDS_EXTPRINTSIGNAL Whether if an external print signal
is active (hardware dependent).
true: External print signal is active
false: Not displayed

Device Information Data


The following reserved keys can be used to refer to detailed device data retrieved from a cab
device by using a detailedDeviceInfo business rule component.
Property Reserved Key Description
Hardware model DDI_ The model number of the device.
HARDWAREMODEL

Loftware Spectrum 3.0.1 User Guide 1499


References

Property Reserved Key Description


Printer Resolution DDI_RESOLUTION The resolution configured for the
device in Dots Per Inch (dpi).
Tip: You can configure
the Device Resolution
on the Options tab. For
more information, see "
Options for cab Devices"
on page 860.
Firmware version DDI_ The version number of the firmware
FIRMWAREVERSION installed for the device.
Free memory DDI_FREEMEMORY The amount of memory in bytes
available on the device.

1500 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Reserved Keys for Detailed Status for Datamax-O'Neil Devices

The following reserved keys can be used to refer to detailed device data retrieved from a
Datamax-O'Neil device by using a detailedDeviceStatus or detailedDeviceInfo business rule
component. For examples, see "Retrieve Detailed Device Status (XML)" on page 1221.
Important! The detailedDeviceStatus and detailedDeviceInfo business rule
components are supported for use only with cab, Datamax-O'Neil, PCL,
QuickLabel, SATO, and Zebra devices.

Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Device Status Data


The following reserved keys can be used to refer to detailed device data retrieved from a cab
device by using a detailedDeviceStatus business rule component.
Condition Reserved Key Description
Interpreter busy DDS_INTERPRETERBUSY Whether the interpreter is busy.
true: Interpreter busy
false: Not displayed
Printing DDS_PRINTING Whether the device is busy with a
print job.
true: Currently printing a job
false: Not displayed
Paused DDS_PAUSED Whether the device has been
manually paused.
true: ERROR: Paused
false: Unpaused
Label waiting DDS_LABELWAITING Whether a printed label is waiting to
be torn off and removed from the
device.
true: Label waiting
false: Not displayed
Rewinder error DDS_REWINDERERROR Whether there is a mechanical
problem with the rewinder.
true: ERROR: Rewinder error
false: Not displayed

Loftware Spectrum 3.0.1 User Guide 1501


References

Condition Reserved Key Description


Cutter error DDS_CUTTERERROR Whether there is a mechanical
problem with the cutter.
true: ERROR: Cutter error
false: Not displayed
Ribbon saver error DDS_ Whether there is a mechanical
RIBBONSAVERERROR problem with the ribbon saver.
true: ERROR: Ribbon saver error
false: Not displayed
Top of form error DDS_TOPOFFORMERROR Whether the sensor is not properly
calibrated for the media.
true: ERROR: Top of form error
false: Not displayed
Ready for data or DDS_READY Whether the device is ready to
signal receive data.
true: Ready for data
false: ERROR: Not ready for data

Device Information Data


The following reserved keys can be used to refer to detailed device data retrieved from a
Datamax-O'Neil device by using a detailedDeviceInfo business rule component.
Property Reserved Key Description
Firmware version DDI_ The version number of the firmware
FIRMWAREVERSION installed for the device.
Sensor type DDI_SENSORTYPE The type of media the sensor is
configured to detect.
Media type DDI_MEDIATYPE Whether the device is configured for
Direct Thermal or Thermal Transfer
media.
Print speed DDI_PRINTSPEED The speed at which the device prints
labels.
Feed speed DDI_FEEDSPEED The speed at which the device feeds
blank media.
Backup speed DDI_BACKUPSPEED The speed at which the device
rewinds media.
Present distance DDI_ The distance for the label to travel at
PRESENTDISTANCE output.

1502 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Property Reserved Key Description


Column offset DDI_COLUMNOFFSET Horizontal adjustment of the point
where printing begins.
Row offset DDI_ROWOFFSET Vertical adjustment of the point
where printing begins.

Loftware Spectrum 3.0.1 User Guide 1503


References

Reserved Keys for Detailed Status for PCL Devices

The following reserved keys can be used to refer to detailed device data retrieved from a PCL1
device by using a detailedDeviceStatus or detailedDeviceInfo business rule component. For
examples, see "Retrieve Detailed Device Status (XML)" on page 1221.
Important! The detailedDeviceStatus and detailedDeviceInfo business rule
components are supported for use only with cab, Datamax-O'Neil, PCL,
QuickLabel, SATO, and Zebra devices.

Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Device Status Data


The following reserved keys can be used to refer to detailed device data retrieved from a cab
device by using a detailedDeviceStatus business rule component.
Condition Reserved Key Description
Device DDS_ONLINE Whether the device is online or offline.
online/offline true: Device online
false: Device offline

Device Information Data


The following reserved keys can be used to refer to detailed device data retrieved from a cab
device by using a detailedDeviceInfo business rule component.
Property Reserved Key Description
DeviceID DDI_DEVICEID The user-defined Device ID of the
device.
Printer resolution DDI_RESOLUTION The resolution configured for the device
in Dots Per Inch (dpi).
Tip: You can configure the
Device Resolution on the
Options tab. For more
information, see " Options
for PCL 5c Devices" on
page 907 and " Options for
PCL 5e Devices" on page
917.

1Printer Command Language, a printer control language from Hewlett-Packard.

1504 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Property Reserved Key Description


Total memory DDI_TOTALMEMORY The amount of memory existing on the
device. This includes both available
memory and memory that is in use or
otherwise unavailable.
Serial number DDI_SERIALNUMBER The serial number of the device.
Firmware version DDI_ The version number of the firmware
FIRMWAREVERSION installed for the device.
Orientation DDI_ORIENTATION Whether the device is configured for
Portrait or Landscape orientation.
Personality DDI_PERSONALITY The type of printing protocol of the
device. For example, PCL or PostScript.
Tray 1 size DDI_TRAY1SIZE The size of the paper loaded into tray 1.
Tray 2 size DDI_TRAY2SIZE The size of the paper loaded into tray 2.
Tray 3 size DDI_TRAY3SIZE The size of the paper loaded into tray 3.
Tray 4 size DDI_TRAY4SIZE The size of the paper loaded into tray 4.

Loftware Spectrum 3.0.1 User Guide 1505


References

Reserved Keys for Detailed Status for QuickLabel Devices

The following reserved keys can be used to refer to detailed device data retrieved from a
QuickLabel device by using a detailedDeviceStatus or detailedDeviceInfo business rule
component. For examples, see "Retrieve Detailed Device Status (XML)" on page 1221.
Important! The detailedDeviceStatus and detailedDeviceInfo business rule
components are supported for use only with cab, Datamax-O'Neil, PCL,
QuickLabel, SATO, and Zebra devices.

Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Device Status Data


The following reserved keys can be used to refer to detailed device data retrieved from a
QuickLabel device by using a detailedDeviceStatus business rule component.
Property Reserved Key Description
Print status DDS_PRINT_STATUS The overall device status.
Values:READY, RECEIVING,
PRINTING, PAUSED,
CANCELING
Busy status detail DDS_BUSY_STATUS The detailed status when device is
busy.
Values: READY, INITIALIZING,
SHUTTING_DOWN,
CLEANING, SLEEPING,
PREPARING_FOR_CLEANING,
MAINTENANCE
Total pages DDS_TOTAL_PAGES The total number of pages.
Job status DDS_JOB_STATUS The status of the latest print job.
Values: PRINTING, NORMAL_
COMPLETION, ABNORMAL_
COMPLETION
Warning message DDS_WARNING An array of codes indicating the last
warning.
Error message DDS_ERROR An array of codes indicating the last
error.
Fatal message DDS_FATAL An array of codes indicating the last
fatal error.

1506 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Property Reserved Key Description


Remaining cyan DDS_REMAINING_CYAN
The percentage of cyan ink
remaining.
Remaining magenta DDS_REMAINING_ The percentage of magenta ink
MAGENTA remaining.
Remaining yellow DDS_REMAINING_ The percentage of yellow ink
YELLOW remaining.
Remaining black DDS_REMAINING_BLACK The percentage of black ink
remaining.
Preparation time DDS_PREP_TIME The number of minutes remaining
remaining when the device is preparing for an
operation.
Cleaning time DDS_CLEANING_TIME_ The number of minutes remaining
remaining REMAINING when the device is cleaning.
Cleaning time elapsed DDS_CLEANING_TIME_ The number of minutes elapsed
ELAPSED during the current cleaning.

Device Information Data


The following reserved keys can be used to refer to detailed device data retrieved from a
QuickLabel device by using a detailedDeviceInfo business rule component.
Property Reserved Key Description
Firmware version DDI_FIRMWARE_ The firmware version as reported by
VERSION the device.
Operation settings DDI_OPERATION_ Non-volatile settings for the printer.
SETTINGS Values: DDI_INK_PREFIRE,
DDI_SUCTION_FAN, DDI_
HEAVY_COLOR_MODE,DDI_
AUTO_IMAGE_SHIFT, DDI_
EXTERNAL_SUPPLY
Ink prefire DDI_INK_PREFIRE Operation settings: Whether to
prefire the ink before each print job.
Suction fan DDI_SUCTION_FAN Operation settings: Whether to
enable the suction fan.
Heavy color mode DDI_HEAVY_COLOR_ Operation settings: Whether to
MODE enable heavy color mode.
Auto image shift DDI_AUTO_IMAGE_SHIFT Operation settings: Whether to
enable heavy color mode.

Loftware Spectrum 3.0.1 User Guide 1507


References

Property Reserved Key Description


External supply DDI_EXTERNAL_SUPPLY Operation settings: Whether to
enable external media supply.
Printer serial number DDI_PRINTER_SERIAL_ The serial number of the device.
NUMBER
Mac address DDI_MAC_ADDRESS The MAC address as reported by
the device.
Maintenance DDI_MAINT_CART_ The usage amount of the
cartridge usage USAGE maintenance cartridge.
Blade cleaner unit DDI_BLADE_CLEANER_ The usage amount of the blade
USAGE cleaner.
Purge unit usage DDI_PURGE_UNIT_ The usage amount of the purge unit.
USAGE
Transport usage DDI_TRANSPORT_USAGE The usage amount of transport in
feet and meters. For example: 1666
ft / 508 m
Cyan printhead usage DDI_PRINTHEAD_ The usage amount of the cyan
USAGE_C printhead.
Magenta printhead DDI_PRINTHEAD_ The usage amount of the magenta
usage USAGE_M printhead.
Yellow printhead DDI_PRINTHEAD_ The usage amount of the yellow
usage USAGE_Y printhead.
Black printhead usage DDI_PRINTHEAD_ The usage amount of the black
USAGE_K printhead.
Cyan printhead serial DDI_PRINTHEAD_ The serial number of the cyan
number SERIAL_NUMBER_C printhead.
Magenta printhead DDI_PRINTHEAD_ The serial number of the magenta
serial number SERIAL_NUMBER_M printhead.
Yellow printhead DDI_PRINTHEAD_ The serial number of the yellow
serial number SERIAL_NUMBER_Y printhead.
Black printhead serial DDI_PRINTHEAD_ The serial number of the black
number SERIAL_NUMBER_K printhead.
Cyan printhead install DDI_PRINTHEAD_ The date of the cyan printhead
date INSTALL_DATE_C installation.
Magenta printhead DDI_PRINTHEAD_ The date of the magenta printhead
install date INSTALL_DATE_M installation.
Yellow printhead DDI_PRINTHEAD_ The date of the yellow printhead
install date INSTALL_DATE_Y installation.

1508 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Property Reserved Key Description


Black printhead DDI_PRINTHEAD_ The date of the black printhead
install date INSTALL_DATE_K installation.

Loftware Spectrum 3.0.1 User Guide 1509


References

Reserved Keys for Detailed Status for SATO Devices

The following reserved keys can be used to refer to detailed device data retrieved from a SATO
device by using a detailedDeviceStatus or detailedDeviceInfo business rule component. For
examples, see "Retrieve Detailed Device Status (XML)" on page 1221.
Important! The detailedDeviceStatus and detailedDeviceInfo business rule
components are supported for use only with cab, Datamax-O'Neil, PCL,
QuickLabel, SATO, and Zebra devices.

Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Device Status Data


The following reserved keys can be used to refer to detailed device data retrieved from a cab
device by using a detailedDeviceStatus business rule component.
Condition Reserved Key Description
Analyzing DDS_ANALYZING The device is analyzing.
Battery error DDS_BATTERYERROR There is a battery error.
Battery warning DDS_BATTERYWARN There is a battery warning.
Buffer error DDS_BUFFERERROR There is a buffer (memory) error.
Buffer warning DDS_BUFFERWARN There is a buffer (memory) warning.
Direct thermal DDS_ The device is in direct thermal mode
DIRECTTHERMAL (false indicates thermal transfer).
Error DDS_ERROR There is a general fault.
Media present DDS_MEDIA The device is in media present mode.
Device offline DDS_OFFLINE The device is offline.
Printing DDS_PRINTING The device is printing.
Ribbon error DDS_RIBBONERROR There is a ribbon error.
Ribbon warning DDS_RIBBONWARN There is a ribbon warning.
Standby DDS_STANDBY The device is in standby.
Waiting DDS_WAITING The device is waiting.

Device Information Data


The following reserved keys can be used to refer to detailed device data retrieved from a cab
device by using a detailedDeviceInfo business rule component.
Property Reserved Key Description
Model DDI_MODEL The model name of the device.

1510 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Property Reserved Key Description


Printer resolution DDI_RESOLUTION The resolution configured for the
device in Dots Per Inch (dpi).
Tip: You can configure
the Device Resolution
on the Options tab. For
more information, see "
Options for SATO
Devices" on page 931.
Firmware version DDI_ The version number of the firmware
FIRMWAREVERSION installed for the device.

Loftware Spectrum 3.0.1 User Guide 1511


References

Reserved Keys for Detailed Status for Zebra Devices

The following reserved keys can be used to refer to detailed device data retrieved from a Zebra
device by using a detailedDeviceStatus or detailedDeviceInfo business rule component. For
examples, see "Retrieve Detailed Device Status (XML)" on page 1221.
Important! The detailedDeviceStatus and detailedDeviceInfo business rule
components are supported for use only with cab, Datamax-O'Neil, PCL,
QuickLabel, SATO, and Zebra devices.

Important! Content in a business rule is case sensitive. This includes business rule
component names, attributes, and values.

Device Status Data


The following reserved keys can be used to refer to detailed device data retrieved from a Zebra
device by using a detailedDeviceStatus business rule component.
Device Status Conditions
Condition Reserved Key Description
Error DDS_FATALERROR This condition is true if any errors that
occurred that are classified as fatal
errors. Otherwise, it is false.
Paper out DDS_PAPERERROR The device is out of label stock.
Head up DDS_ The print head is up and not ready for
PRINTHEADERROR printing.
Ribbon error DDS_RIBBONERROR The device is out of ribbon.
Paused DDS_PAUSED The device has been manually paused.
Buffer full DDS_BUFFERFULL All of the device's internal memory is in
use. No more jobs can be sent until
some internal memory is freed for use.
Diagnostic mode DDS_ The device is in a diagnostic mode that
DIAGNOSTICMODE may be helpful when troubleshooting
problems with the device.
Corrupt RAM DDS_RAMERROR The device memory is corrupt, and the
device will remain in an error state until
the problem is corrected.
Label waiting DDS_LABELWAITING A printed label is waiting to be torn off
and removed from the device.

1512 Loftware Spectrum 3.0.1 User Guide


Reserved Keys

Device Configuration and Job Status


Property Reserved Key Description
Label length DDS_LABELLENGTH The length of media for which the
device is configured.
Media type DDS_MEDIATYPE The printing method used by the device,
such as Direct Thermal (no ribbon) or
Thermal Transfer (ribbon).
Tip: You can configure the
Media Type on the
Media Options tab. For
more information, see "
Media Options for Zebra
Devices" on page 949.
Print mode DDS_PRINTMODE The Print Mode for which the device is
configured. This mode determines the
action the device takes after a label or
group of labels has been printed.
Tip: You can configure the
Print Mode on the
Options tab. For more
information, see " Options
for Zebra Devices" on page
945.
Labels remaining in DDS_ For the current job, the number of labels
batch LABELSREMAINING remaining to be printed.

Device Information Data


The following reserved keys can be used to refer to detailed device data retrieved from a Zebra
device by using a detailedDeviceInfo business rule component.
Device Information
Property Reserved Key Description
Hardware model DDI_ The model number of the device.
HARDWAREMODEL

Loftware Spectrum 3.0.1 User Guide 1513


References

Property Reserved Key Description


Printer Resolution DDI_RESOLUTION The resolution configured for the
device in Dots Per Inch (dpi).
Tip: You can configure
the Printer Resolution
on the Options tab. For
more information, see "
Options for Zebra
Devices" on page 945.
Firmware version DDI_ The version number of the firmware
FIRMWAREVERSION installed for the device.
Total memory DDI_TOTALMEMORY The amount of memory existing on the
device. This includes both available
memory and memory that is in use or
otherwise unavailable.

1514 Loftware Spectrum 3.0.1 User Guide


Character Set References

Character Set References


The following topics contain character set references and conversion tables that may be helpful
when creating label templates.
l "ASCII Code 39 Reference" on page 1516
l "Code 128 Character Sets" on page 1517

l "Wedge Reader Conversion Reference" on page 1523

l "IBM ASCII Reference" on page 1525

l "IBM ASCII Extended Reference" on page 1526

For more information about these character sets, see the "Character Sets" section in "External
Links" on page 1645.

Loftware Spectrum 3.0.1 User Guide 1515


References

ASCII Code 39 Reference


ASCII Code39
ASCII CODE39 ASCII CODE39 ASCII CODE39 ASCII CODE39
NUL %U SP SPACE @ %V a +A
S0H $A ! /A A A b +B
STX $B /B B B c +C
ETX $C # /C C C d +D
EOT $D $ /D D D e +E
ENQ $E % /E E E f +F
ACK $F & /F F F g +G
BEL $G /G G G h +H
BS $H ( /H H H i +I
HT $I ) /I I I j +J
LF $J * /J J J k +K
VT $K + /K K K l +L
FF $L , /L L L m +M
CR $M - - m m n +N
SO $N . . N N o +O
SI $O / /O O O p +P
DLE $P 0 0 P P q +Q
DC1 $Q 1 1 Q Q r +R
DC2 $R 2 2 R R s +S
DC3 $S 3 3 S S t +T
DC4 $T 4 4 T T u +U
NAK $U 5 5 U U v +V
SYN $V 6 6 V V w +W
ETB $W 7 7 W W x +X
CAN $X 8 8 X X y +Y
EM $Y 9 9 Y Y z +Z
SUB $Z : /Z Z Z { %P
ESC %A ; %F [ %K | %Q
FS %B < %G \ %L } %R
GS %C = %H ] %M ~ %S
RS %D > %I ^ %N DEL %T,%X,%Y,%Z
US %E ? %J _ %O ' %W

1516 Loftware Spectrum 3.0.1 User Guide


Character Set References

Code 128 Character Sets

Loftware Spectrum 3.0.1 User Guide 1517


References

Code 128 Character Sets


Code Code Code Code Code Code Code Code Code
Value Value Value
A B C A B C A B C
0 SP SP 00 36 D D 36 72 BS h 72

1518 Loftware Spectrum 3.0.1 User Guide


Character Set References

Code 128 Character Sets


Code Code Code Code Code Code Code Code Code
Value Value Value
A B C A B C A B C
1 ! ! 01 37 E E 37 73 HT i 73

Loftware Spectrum 3.0.1 User Guide 1519


References

Code 128 Character Sets


Code Code Code Code Code Code Code Code Code
Value Value Value
A B C A B C A B C
2 02 38 F F 38 74 LF j 74

1520 Loftware Spectrum 3.0.1 User Guide


Character Set References

Code 128 Character Sets


Code Code Code Code Code Code Code Code Code
Value Value Value
A B C A B C A B C
3 # # 03 39 G G 39 75 VT k 75

Loftware Spectrum 3.0.1 User Guide 1521


References

Code 128 Character Sets


Code Code Code Code Code Code Code Code Code
Value Value Value
A B C A B C A B C
4 $ $ 04 40 H H 40 76 FF l 76
5 % % 05 41 I I 41 77 CR m 77
6 & & 06 42 J J 42 78 SO n 78
7 07 43 K K 43 79 SI o 79
8 ( ( 08 44 L L 44 80 DLE p 80
9 ) ) 09 45 M M 45 81 DC1 q 81
10 * * 10 46 N N 46 82 DC2 r 82
11 + + 11 47 O O 47 83 DC3 s 83
12 , , 12 48 P P 48 84 DC4 t 84
13 _ _ 13 49 Q Q 49 85 NAK u 85
14 . . 14 50 R R 50 86 SYN v 86
15 / / 15 51 S S 51 87 ETB w 87
16 0 0 16 52 T T 52 88 CAN x 88
17 1 1 17 53 U U 53 89 EM y 89
18 2 2 18 54 V V 54 90 SUB z 90
19 3 3 19 55 W W 55 91 ESC { 91
20 4 4 20 56 X X 56 92 FS | 92
21 5 5 21 57 Q Q 57 93 GS } 93
22 6 6 22 58 Z Z 58 94 RS ~ 94
23 7 7 23 59 [ [ 59 95 US DEL 95
24 8 8 24 60 \ \ 60 96 FNC3 FNC3 96
25 9 9 25 61 ] ] 61 97 FNC2 FNC2 97
26 : : 26 62 ^ ^ 62 98 SHIFT SHIFT 98
27 ; ; 27 63 - - 63 99 CodeC CodeC 99
28 < < 28 64 NUL . 64 100 CodeB CodeB 100
29 = = 29 65 SOH a 65 101 FNC4 FNC4 101
30 > > 30 66 STX b 66 102 FNC1 FNC1 102
31 ? ? 31 67 ETX c 67 103 START (CodeA) 103
32 @ @ 32 68 EOT d 68 104 START (CodeB) 104
33 A A 33 69 ENQ e 69 105 START (CodeC) 105
34 B B 34 70 ACK f 70
35 C C 35 71 BEL g 71

1522 Loftware Spectrum 3.0.1 User Guide


Character Set References

Wedge Reader Conversion Reference


DEC KEYBOARD ASCII
0 NUM+ NUL
I NUMLOCK SOH
2 SCROLL LOCK STX
3 NUM [MINUS] ETX
4 INS EOT
5 DEL ENQ
6 SYS REQ ACK
7 N/A BEL
8 ALT GR BS
9 TAB RIGHT HT
10 CAPS LOCK LF
11 TAB LEFT VT
12 ALT FF
13 CR/ENTER CR
14 CTRL SO
15 SHIFT SI
16 F1 DLE
17 F2 DC1
18 F3 DC2
19 F4 DC3
20 F5 DC4
21 F6 NAK
22 F7 SYN
23 F8 ETB
24 F9 CAN
25 F10 EM
26 HOME SUB
27 ESC ESC
28 PAGE UP FS
29 PAGEDOWN GS
30 PRINT SCREEN RS
31 END US
32 SPACE SP

Loftware Spectrum 3.0.1 User Guide 1523


References

DEC KEYBOARD ASCII


123 CURSOR UP {
124 CURSOR DOWN |
125 CURSOR LEFT }
126 CURSOR RIGHT ~
127 DEL BACKSP-DEL

1524 Loftware Spectrum 3.0.1 User Guide


Character Set References

IBM ASCII Reference


Ctrl Dec Hex Char Code Dec Hex Char Dec Hex Char Dec Hex Char
@ 0 00 Null NUL 32 20 SP 64 40 @ 96 60 `
A 1 01 SOH 33 21 ! 65 41 A 97 61 a
B 2 02 STX 34 22 " 66 42 B 98 62 b
C 3 03 ETX 35 23 # 67 43 C 99 63 c
D 4 04 EOT 36 24 $ 68 44 D 100 64 d
E 5 05 ENQ 37 25 % 69 45 E 101 65 e
F 6 06 ACK 38 26 & 70 46 F 102 66 f
G 7 07 BEL 39 27 ' 71 47 G 103 67 g
H 8 08 BS 40 28 ( 72 48 H 104 68 h
I 9 09 HT 41 29 ) 73 49 I 105 69 i
J 10 0a LF 42 2a * 74 4a J 106 6a j
K 11 0b VT 43 2b + 75 4b K 107 6b k
L 12 0c NP 44 2c , 76 4c L 106 6c l
M 13 0d CR 45 2d - 77 4d M 109 6d m
N 14 0e SO 46 2e . 78 4e N 110 6e n
O 15 0f SI 47 2f / 79 4f O 111 6f o
P 16 10 DLE 48 30 0 80 50 P 112 70 p
Q 17 11 DC1 49 31 1 81 51 Q 113 71 q
R 18 12 DC2 50 32 2 82 52 R 114 72 r
S 19 13 DC3 51 33 3 83 53 S 115 73 s
T 20 14 DC4 52 34 4 84 54 T 116 74 t
U 21 15 NAK 53 35 5 85 55 U 117 75 u
V 22 16 SYN 54 36 6 86 56 V 118 76 v
W 23 17 ETB 55 37 7 87 57 W 119 77 w
X 24 18 CAN 56 38 8 88 58 X 120 78 x
Y 25 19 EM 57 39 9 89 59 Y 121 79 y
Z 26 1a SUB 58 3a : 90 5a Z 122 7a z
[ 27 1b ESC 59 3b ; 91 5b [ 123 7b {
/ 28 1c FS 60 3c < 92 5c \ 124 7c
] 29 1d GS 61 3d = 93 5d ] 125 7d }
30 1e RS 62 3e > 94 5e ^ 126 7e ~
_ 31 1f US 63 3f ? 95 5f _ 127 7f

Loftware Spectrum 3.0.1 User Guide 1525


References

IBM ASCII Extended Reference


Dec Hex Char Dec Hex Char Dec Hex Char Dec Hex Char
128 80 160 a0 192 c0 224 e0
129 81 161 a1 193 c1 225 e1
130 82 162 a2 194 c2 226 e2
131 83 163 a3 195 c3 227 e3
132 84 164 a4 196 c4 228 e4
133 85 165 a5 197 c5 229 e5
134 86 166 a6 198 c6 230 e6
135 87 167 a7 199 c7 231 e7
136 88 168 a8 200 c8 232 e8
137 89 169 a9 201 c9 233 e9
138 8a 170 aa 202 ca 234 ea
139 8b 171 ab 203 cb 235 eb
140 8c 172 ac 204 cc 236 ec
141 8d 173 ad 205 cd 237 ed
142 8e 174 ae 206 ce 238 ee
143 8f 175 af 207 cf 239 ef
144 90 176 b0 208 d0 240 f0
145 91 177 b1 209 d1 241 f1
146 92 178 b2 210 d2 242 f2
147 93 179 b3 211 d3 243 f3
148 94 180 b4 212 d4 244 f4
149 95 181 b5 213 d5 245 f5
150 96 182 b6 214 d6 246 f6
151 97 183 b7 215 d7 247 f7
152 98 184 b8 216 d8 248 f8
153 99 185 b9 217 d9 249 f9
154 9a 186 ba 218 da 250 fa
155 9b 187 bb 219 db 251 fb
156 9c 188 bc 220 dc 252 fc
157 9d 189 bd 221 dd 253 fd
158 9e 190 be 222 de 254 fe
159 9f 191 bf 223 df 255 ff

1526 Loftware Spectrum 3.0.1 User Guide


Configuring User Preferences

Configuring User Preferences


By configuring your user preferences, you can customize which page is initially displayed when
you log into Spectrum, which device is your default device, and default characteristics of new
label templates that you create. If you have administrative permissions, you can configure user
profiles to customize user preferences for individual users or for groups. The options available
to you depend on your permissions and the user profile assigned to you.
n "Configuring User Profiles" on page 781 (Administrator)
n "Configuring the Design Workspace" on page 61 (Document Designer 1)
n "Configuring User Preferences for Printing" on page 495 (Data Provider 2)

1Person who creates and designs label templates for use by Data Providers. Also a default role in Spectrum.
2Person or process that enters data into a form or other data entry view for a label that was configured by a Document Designer. A
user acting as a Data Provider requires the Document Printer role or equivalent permissions.

Loftware Spectrum 3.0.1 User Guide 1527


This page intentionally left blank
LoftwareSpectrum
Version 3.0.1
User Guide
2017May. All rights reserved. Version 3.0.1

Loftware, Loftware Spectrum, LLM, Loftware Label Design, Loftware Print Server, LPS, Loftware Connector, Global Marking
Solutions, I-Push, and I-Pull are all registered trademarks of Loftware, Inc. Loftware WebAccess, LWA, and Loftware Web Services
are trademarks of Loftware, Inc. SAP is a registered trademark of SAP AG in Germany and in several other countries. Oracle and
Java are registered trademarks of Oracle and/or its affiliates. All other marks are the property of their respective owners. Loftware
Spectrum contains barcode components licensed from IDAutomation.com, Inc. These products may only be used as part of and in
connection with Loftware Spectrum.

Loftware, Inc., 249 Corporate Drive, Portsmouth, NH 03801


Phone: 603.766.3630
Fax: 603.766.3631
sales@loftware.com
www.loftware.com
Contents

Welcome to LoftwareSpectrum 20
Documentation and Support 21
About the LoftwareSpectrum UserGuide 22
Open the SpectrumUserGuide 23
User Interface: Help 24
About Loftware Spectrum 25
Tabs 26
Buttons 28
Licensing, Warranty, and Support 29
Technical Support 30
Contact Loftware 31
Sales 32
Customer Account Management 33
Engineering Technical Support (ETS) 34
Professional Services Group 35
Technical Requirements for Spectrum3.0 37
Server Requirements for Spectrum3.0 39
Requirements for Loftware Spectrum Database Server with Existing Oracle
Database 40
Requirements for Loftware Spectrum Database Server with Embedded Database 41
Requirements for Loftware SpectrumApplicationServer 42
Requirements for Multi-Site Deployment 43
Server Performance Tips 44
Client Computer Requirements for Spectrum3.0 46
Requirements for Spectrum Client Computers 47
Requirements for SpectrumRemotePrint Agent Computers 49
Other Requirements for Integrations 50
Requirements for Oracle Applications Integration 51
Requirements for Integration for use with SAP Applications 52
Log in to Spectrum 53
Spectrum Root Folder 57
Change Your Password 58
Loftware Spectrum Tools 59
Designing Labels 60
Configuring the Design Workspace 61
Set User Preferences 62
Select Data to Display in Design 63

1530 Loftware Spectrum 3.0.1 User Guide


Display Default, Placeholder, or Live Data in Design 64
Add Data to a Live Data Set from a Data Source 65
Import Data to a Live Data Set from a File 66
Manually Change a Data Set 67
Arranging the Design Workspace 68
Grid Overlay and Rulers 69
Zoom 70
Split Screen View 71
User Preferences Page (Designing) 72
General Preferences 73
Label/Document Preferences 74
Design Preferences 75
Print Preferences 77
Buttons 78
Working in a Version-Controlled Environment 79
Check Out a Version-Controlled Object 83
Save a Copy 84
Check In a Version-Controlled Object 85
Next Steps 86
Publish a Version-Controlled Object 87
Take Control of a Version-Controlled Object 88
Managing Label Templates 89
Using Layouts to Control Print Order on a Page 90
Create, Import, or Export a Label Template or Other Object 91
Create a Label Template 92
Create a Layout 93
Create a Form 94
Create a Reusable Object 95
Import a New Image 97
Export a Label Template or Other Object 98
Import a Label Template or Other Object 99
Using Workflows 101
Workflow Sample 104
Categorize a Label Template or Other Object 105
Built-in Tag Category: Source 105
Associate a Layout with a Label Template 107
Save a Label Template or Other Object 108
Save a New Label Template or Other Object 109
Save an Existing Label Template or Other Object 110
Save a Copy of a Label Template or Other Object 111
Open an Existing Label Template or Other Object 112

Loftware Spectrum 3.0.1 User Guide 1531


Close a Label Template or Other Object 113
Close a Label Template or Layout 114
Close All Open Label Templates and Layouts 115
Delete a Label Template or Other Object 116
Designing Labels and Forms 117
Work with a Migrated Label Template 119
Configuring Label Template Properties and Options 121
Configure the Design Orientation of a Label 122
Change the Print Rotation of a Label 123
Change the Unit of Measure for a Label Template 124
Override Device Options with Label Specific Options 125
Adding Fields to a Label 127
Add a Data Source to a Field 128
Resize and Position Fields in a Label Template 129
Configure the Properties of a Field 133
Using Text 134
Add Fixed Text 135
Add Variable Text 136
Add Text Box 137
Change the Field Tabbing Order 139
Text Properties 140
Using Controls 151
Adding Controls 153
Add a Table Rule 164
Add a Column Rule 165
Select Data Source Queries and Rules to Run 168
Configure the Running Order for Queries and Rules 172
Dynamically Manage If a Control Is Displayed 174
Dynamically Manage If a Control Is Enabled 175
Dynamically Manage the Tab Order of a Control 176
Associate the Control Output with a Field in a Label 177
Control Properties 178
Using Barcodes 195
Add a Barcode 196
Add Healthcare Barcodes 197
Add Healthcare Barcodes with Data Identifiers 201
Barcode Properties and Symbologies 204
Using Images 229
Add an Image 230
Add a Variable Image 231
Image Properties 233

1532 Loftware Spectrum 3.0.1 User Guide


Using Shapes 236
Add Shapes 237
Shape Properties 238
Using Reusable Objects 241
Add a Reusable Object to a Label Template or a Form 242
Using Forms 243
Configure a Form to Run a Data Source 244
Search the Tool Library 245
Preview and Print a Label in Design 246
Design Page 247
Views and Document Information 248
Menu Bar and Toolbar 250
Library 260
Data Sources 264
Format Sources 265
Form Rules 266
Properties 267
Field Tabbing Order 268
Label Specific Options or Layout Specific Options 269
Tags 270
Data Sets 271
Top Bar 272
Label Template Properties 273
Layout Properties 282
Form Properties 284
Stock Layouts 289
Building with Application Architect 290
Create an Application 292
Next Steps 293
Save the Application 294
Create a Transition Between Forms 295
Create a Form Rule 296
Create a Trigger to Run a Rule 297
Application Properties 299
Application Properties 300
Form Properties in an Application 302
Configuring Label Data Sources 305
About Data Refs 306
Create a Data Entry Data Source 307
Associate a Data Entry Data Source with Variable Text Field 308
Create a Database Data Source 309

Loftware Spectrum 3.0.1 User Guide 1533


Create a Date/Time Data Source 313
Create a Formula Data Source 314
Create and Verify a Formula Data Source 315
Use a Formula with a Variable Text or Barcode Field 316
Create an Inc/Dec Data Source 317
Create an Alternate Data Source 318
Creating Script Data Sources 321
Create a Script Data Source 325
Script Reference 326
Script Methods for Barcodes 347
ASCII Characters in Scripts 373
Script Examples 375
Label Data Sources Properties 390
Date/Time Data Source Formats 391
Formula Data Source Operations and Functions 394
Inc/Dec Data Source Properties 402
Form Rules Reference 405
Close Application Form Rule 407
Electronic Signature Form Rule 408
File Selector Form Rule 409
Focus Form Rule 411
Hyperlink Form Rule 412
Job Request Form Rule 413
Map Operations Form Rule 414
Message Form Rule 417
Static Form Rule 418
Triggers in Design 419
Configuring Format Sources 425
Create a Character-Level Format Source 426
Examples of Character-Level Formatting 429
Character-Level Format Source Properties 431
General Data 432
Patterns 433
Ranges 434
Style/Effect and Value 435
Designing Business Rules with the Configurator 437
Getting Started with Business Rules in Configurator 438
Create a Business Rule in Configurator 440
A Component Set: A Trigger and Component Blocks 441
Component Block Order 442
Create a Business Rule 443

1534 Loftware Spectrum 3.0.1 User Guide


Create a Reusable Rule 446
Create a Reusable Rule 447
Delete Blocks and Triggers in Configurator 448
Delete a Business Rule 449
Examples of BusinessRules Using Configurator 450
Replace the Label Template 451
Change Print Attributes 453
Retrieve Data from a Database 455
Generate Related Labels Using Multiple Label Templates 457
Business Rule Configurator Reference 459
Triggers in Configurator 460
Component Blocks 463
Reusable Rules 486
Process Design with the Configurator 487
Navigation Tree 490
Business Rule Properties 491
Printing Labels and Viewing Status 494
Configuring User Preferences for Printing 495
Set User Preferences (Printing) 496
User Preferences Page (Printing) 497
General Preferences 498
Print Preferences 499
Buttons 500
Printing Labels 501
Printing Copies of a Label 502
Print a Label Using On-Demand Print 503
Reprint Labels 504
View the Print Data 505
Print a Label to Multiple Destinations 506
Print by Using File Drop 507
Print by Using Oracle 508
Print by Using SAP ERP 509
Print Page 510
Documents Tree 511
Data Entry View 512
Managing Job and Device Status 515
View Status Summary 516
View the Status of Device Queues 517
View Jobs in a Device Queue 518
Start, Stop, or Pause aDevice Queue 519
Find a Print Job in a Queue 520

Loftware Spectrum 3.0.1 User Guide 1535


Cancel a Print Job 521
Set a Print Job to an Error Status 522
View an Error Reason 523
Move a Print Job to a Different Queue 524
Release a Print Job 525
Add a Marker to a Queue 526
Search Device Queues 527
Take Control of a Device Queue 528
View the Status of Print Jobs 529
Search Print Jobs 530
View the Status of Devices 533
Search Devices 534
View a Device Web Page 535
Cancel the Current Job on a Device 536
Send a Command to a Device 537
View the Status of Facilities 538
Status Page 539
Dashboard 540
Queues 542
Jobs 547
Successes and Failures 548
Status 549
Date Range 550
Devices 556
Facilities 558
Configuring and Administering 559
Controlling Access in Spectrum 560
Authenticating Users 561
Configuring Access 562
Restrictive versus Permissive Security 563
Access Concepts in Spectrum 564
Best Practices for Access Control 568
Getting Started with Users and Permissions 569
Create Folders to Manage Users and Groups 570
Create a Group and Assign a Role to Grant Permissions 571
Grant Access to a Work Area and Objects 574
Create a User Account and Assign Group Membership 579
Configuring Folder Structure and Access 580
Considerations 581
Best Practices 582
Create a Folder 583

1536 Loftware Spectrum 3.0.1 User Guide


Configuring Roles 585
Access Control List 586
Permissions 587
Best Practices 588
Create or Modify a Role 589
Configuring Loftware Spectrum Groups 592
Considerations 593
Best Practices 594
Create or Modify a Group 595
Configuring Loftware Spectrum Users 597
Considerations 598
Best Practices 599
Create or Modify a User 600
Assign a Domain to a User 602
Change a User's Password 603
Configuring Access Control Lists 604
Root Access Control 605
Best Practices 606
Configure the Default Access Control List 607
Configuring Document Access 608
Best Practices 609
Control Document Access 610
Configuring Device Access 611
Control Access to a Device Group 612
Configuring Process Access 614
Control Access to a Process 615
Configuring Integration Access 616
Control Access to an Integration 617
Configuring Data Service Access 618
Control Access to a Data Service 619
Configuring SpectrumApplicationServer Access 620
Control Access to a SpectrumApplicationServer 621
Remove a SpectrumApplicationServer 622
Configuring and Managing a Multi-Site Deployment 624
What Items Are Synchronized 627
Create or Modify a Facility 629
Select Objects to Sync 631
Schedule Synchronization for a Facility 633
Manually Synchronize a Facility with Headquarters 635
Review Synchronization Results 637
Stop Synchronization 639

Loftware Spectrum 3.0.1 User Guide 1537


User Interface: Facility 641
Categorize an Object 646
Built-in Tag Category: Source 646
Delete an Object 648
Create a Link 649
Access Control Page 650
Access Control Tree 651
Access Tab 653
Types of Objects 654
Object Access Permissions 678
Role Permissions 684
User Info 693
Group Info 697
Version Info 699
Managing a Version-Controlled Environment 701
Turn on Version Control 704
Force a Check In 705
Roll Back to a Previous Version 706
Roll Back a Recently Published Version 707
Roll Back to a Specific Version 708
Version-Control Actions and Permissions 710
Version-Controlled Document Commands 711
Version-Controlled Process Commands 713
Terminate an Active Workflow 714
Performing System Management 715
High Availability with Distributed Services 716
Types of Services 718
Configure for High Availability 723
Configure for Load Balancing 725
Configure for Failover 726
Automatically Configure Services 728
Load Balance Among Application Servers 729
Configure a Load-Balanced Service Group 730
Service Management Options 731
Managing a Multi-Site Deployment 734
What Items Are Synchronized 735
Manually Synchronize a Facility with Headquarters 737
Review Synchronization Results 739
Facility Sync Options 741
Configuring Authentication 743
LDAP 744

1538 Loftware Spectrum 3.0.1 User Guide


Single Sign-On 745
Configure LDAP Authentication 746
Configuring Single Sign-On (SSO) Using Integrated Windows Authentication 747
Configure Single Sign-On (SSO) Using Security Assertion Markup Language
(SAML) 750
LDAP Authentication Options 753
Managing Fonts 758
Install Additional Fonts 759
Delete Fonts 761
Font Management Options 762
Tag Management 766
Create a Tag Category 767
Change Tag Values in a Tag Category 769
Tag Management Options 770
Change the Source of Spectrum Help 772
Provide Static Help to Users 773
Provide Dynamic Help to Users (Recommended) 774
System Management Page 775
Global Settings 776
Other Options 780
Configuring User Profiles 781
Configure and Apply a User Profile 782
Configure a User Profile 783
Assign and Apply a User Profile 784
Update and Reapply a User Profile 785
User Preferences Page (Administration) 786
General Preferences 787
Label/Document Preferences 788
Design Preferences 790
Print Preferences 792
Buttons 793
Managing Devices 794
Add a Device 796
Create a TCP/IP Device Connection 797
Create a Print-to-PDF Device Connection 799
Create a Print-to-Image Device Connection 801
Create a Server Spooler Connection 803
Create a USB Device Connection 805
Create a RemoteSpooler(LPR) Connection 807
Create a Generic Device Connection 810
Create a QCPL Device Connection 812

Loftware Spectrum 3.0.1 User Guide 1539


Create a Pass Through Device Connection 814
Importing Multiple Devices 816
Categorize a Device 819
Built-in Tag Category: Source 819
Delete a Device 820
Supported Printers 821
Remote Printing with SpectrumRemotePrint 822
Configure a Remote Site 823
Install the Remote Print Agent 824
Add Devices for a Remote Site 826
Import/Export Names 827
Common Options for Import/Export File 828
Connection Options for Import/Export File 829
Device Options for Import/Export File 830
Device Management Page 842
Connection Options 845
Device Driver Options 858
Pass Through File Types 869
Pass Through File Types 877
Pass Through File Types 885
Pass Through File Types 897
Pass Through File Types 916
Pass Through File Types 925
Pass Through File Types 943
Pass Through File Types 960
Pass Through File Types 974
Remote Site Options 977
Managing Data Services 979
Using Data from a Database or a Spreadsheet 980
Modifying Data in a Database 982
Requirements for JDBC Data Services and JDBC Update Data Services 983
Using Data or an Image from a File or URL 984
Using Data from a Web Service 985
Managing Data Service Parameters 986
Add a JDBC Driver to Spectrum 989
Configure a JDBC Data Service 990
Configure a Link Data Service 994
Configure a File Data Service 996
Configure an HTTP Data Service 999
Configure a SOAP Web Service Data Service 1001
Test a JDBC Data Service 1004

1540 Loftware Spectrum 3.0.1 User Guide


Test the JDBC URL for a JDBC Data Service 1005
Preview a JDBC Data Service 1006
Start a Data Service 1007
Update a JDBC Data Service Result Map 1008
Determine Where a Result Map is Managed 1009
Update a Result Map 1010
Stop a Data Service 1011
Categorize a Data Service 1012
Built-in Tag Category: Source 1012
Delete a Data Service 1013
Data Services Page 1014
Configuration Parameters for JDBC Data Services 1020
Configuration Parameters for File Data Services 1028
Configuration Parameters for HTTP Data Services 1032
Configuration Parameters for Link Data Services 1036
Configuration Parameters for SOAP Web Service Data Services 1038
Integrating with Other Applications 1042
Configuring a Run As User for Integrations 1043
Configure a Job Target Folder 1045
Configuring Triggers to Support Integration 1047
File Drop Integration 1048
File Structure of a Scan Folder 1049
Integrate by File Drop 1050
Commands for Use with File Drop Integration 1053
User Interface: File Drop Integration 1057
Oracle Integration 1062
Configure an Oracle User for Spectrum 1063
Integrate with Oracle 1064
Loftware on the Oracle MSCA & Warehouse Management System 1067
Defining Label Formats 1069
How to Set Up Label Formats 1071
User Interface: Oracle Integration 1082
Integration for Use with SAP Applications 1085
Preparing for Integration for Use with SAP Applications 1086
Configure SAP ERP for BC-XOM Communication 1092
Integrate with SAP BC-XOM 1098
RDI Format Reference for SAP BC-XOM Integrations 1102
XSF and XML Format Reference for SAP BC-XOM Integrations 1106
XFP Format Reference for SAP BC-XOM Integrations 1111
User Interface: SAP BC-XOM Integration 1114
Configure SAP ERP for RFC Communication 1119

Loftware Spectrum 3.0.1 User Guide 1541


Integrate with SAP RFC 1122
ABAP Reference for SAP RFC Integrations 1125
User Interface: SAP RFC Integration 1130
Event Integration 1134
Web Services Integration 1136
REST API for Web Services Integration 1137
SOAP API for Web Services Integration 1139
Categorize an Integration 1177
Built-in Tag Category: Source 1177
Delete an Integration 1178
Integration Management Page 1179
Implementing Business Logic 1181
Getting Started with Business Rules in XML, Processes, and Integrations 1183
Getting Started with Workflow Templates 1185
Configuring Access for Processes and Business Rules 1186
Creating Objects to Support Business Logic 1188
Create a Business Rule in XML 1189
Create a Simple Process 1192
Create a Generator Process 1194
Create a Reprint Process 1196
Create a Workflow Template 1198
Categorize a Process, Business Rule, or Workflow Template 1200
Built-in Tag Category: Source 1200
Delete a Process, Business Rule, or Workflow Template 1201
Print External Files 1202
Examples 1205
Configure Job Handling Options 1207
Configure Auditing Data 1208
Business Rules to Replace Loftware Connector Filters 1209
Examples of Business Rules Using XML 1210
Replace the Label Template (XML) 1211
Change Print Attributes (XML) 1214
Access Label Data Sources (XML) 1216
Specify an Email Address for a Device Connection (XML) 1217
Retrieve Detailed Device Status (XML) 1221
Retrieve Data from a Database (XML) 1224
Generate Related Labels Using Multiple Label Templates (XML) 1227
Business Rule Reference 1229
Business Rules 1230
Business Rule Components 1231
Triggers and Events 1346

1542 Loftware Spectrum 3.0.1 User Guide


Conditions and Operators 1353
Data and Parameters 1359
Children 1366
Business Rules for Generator Processes 1367
Process Design Page 1374
Navigation Tree 1377
Simple Process Properties 1378
Generator Process Properties 1383
Reprint Process Properties 1387
Business Rule Properties 1392
Workflow Template Properties 1395
Using Cross Reference Table Applications 1396
What Cross Reference Table Applications Are 1397
What Cross Reference Table Applications Can Do 1398
How Cross Reference Table Applications Work 1399
ConfiguringAccess for Cross Reference Tables 1402
Who are the users who need access to the cross reference table applications? 1403
What are the basic permissions required? 1404
What other permissions are required? 1407
Create a Cross Reference Table 1408
Edit Columns in a Cross Reference Table 1409
Reorder a Column 1410
Add a Column 1411
Edit a Column Name 1412
Change a Column Type 1413
Delete a Column 1414
View Data in a Cross Reference Table 1415
Search for Data in a Table 1416
Edit Data in a Cross Reference Table 1417
Insert Row 1418
Update Row 1419
Delete Row 1420
Import Data to a Cross Reference Table 1421
Export Data from a Cross Reference Table 1422
Delete a Cross Reference Table or Data in a Table 1423
View Cross Reference Table Audit Records 1424
Search for Data in a Table Audit Record 1425
Export Data from a Audit Record Table 1426
Troubleshooting 1427
Event (Application) Logging 1428
Log4j 2 Configuration File 1429

Loftware Spectrum 3.0.1 User Guide 1543


Logging Levels 1430
Configure Log Files 1432
Adjust Rollover Triggers 1433
Configure Appenders 1434
Package-Level Loggers 1435
Spectrum Log Files 1436
System Log (spectrum.log) 1437
Critical Event Log (spectrum-critical.log) 1438
Driver Install Log (spectrum-drv-install-svc.log) 1439
Integration Event Log (spectrum-integration.log) 1440
Printing Event Log (spectrum-print.log) 1441
Security Event Log (spectrum-security.log) 1442
SOAP Web Service Log (spectrum-soap.log) 1443
Entity Sync Log (spectrum-sync-entity.log) 1444
Transaction Sync Log (spectrum-sync-transaction.log) 1445
User Event Log (user-rules.log) 1446
View Log Files 1447
Troubleshoot General Issues 1448
Time Values in Spectrum 1449
Troubleshoot Access Control (Permissions) 1450
Troubleshoot Data Services 1453
Troubleshoot Design 1455
Troubleshoot Label Data Sources 1457
Troubleshoot Label Specific Options 1460
Troubleshoot Layouts 1461
Troubleshoot Devices 1462
Troubleshoot a RemoteSpooler(LPR) Connection 1465
Troubleshoot a TCP/IP Device Connection 1467
Troubleshoot Distributed Services 1468
Troubleshoot Integrations, Processes, and Business Rules 1470
Troubleshoot File Drop Integration 1471
Troubleshoot Oracle Integration 1475
Troubleshoot Integration for Use with SAP Applications 1477
Troubleshoot LDAP Authentication 1479
Troubleshoot Printed Labels 1481
Troubleshoot by Using Status 1482
References 1483
Open and Save As Dialog Boxes 1484
Barcode Properties and Script Methods 1486
Reserved Keys 1487
Miscellaneous Reserved Keys 1488

1544 Loftware Spectrum 3.0.1 User Guide


Reserved Keys for Process Properties 1489
Reserved Keys for Print Parameters 1490
Reserved Keys for Spectrum System Properties 1494
Job Processing 1495
Printing 1496
Reserved Keys for Detailed Device Status 1497
Reserved Keys for Detailed Status for cab Devices 1498
Reserved Keys for Detailed Status for Datamax-O'Neil Devices 1501
Reserved Keys for Detailed Status for PCL Devices 1504
Reserved Keys for Detailed Status for QuickLabel Devices 1506
Reserved Keys for Detailed Status for SATO Devices 1510
Reserved Keys for Detailed Status for Zebra Devices 1512
Character Set References 1515
ASCII Code 39 Reference 1516
Code 128 Character Sets 1517
Wedge Reader Conversion Reference 1523
IBM ASCII Reference 1525
IBM ASCII Extended Reference 1526
Configuring User Preferences 1527
Spectrum Reporting Schema 1547
Sample Queries 1548
Reporting Schema Reference 1551
Master Data Views 1552
Transactional Archive Views 1572
Spectrum Auditing Schema 1584
DEVICE_ACL_ENTRY 1586
DEVICES 1588
DOCUMENT_ACL_ENTRY 1590
DOCUMENT_STEP 1592
FOLDER_ACL_ENTRY 1594
FOLDERS 1598
FONT 1602
FONT_JOIN 1604
FONT_TYPE 1605
GROUP_ACL_ENTRY 1607
GROUP_ROLES 1609
GROUPS 1610
JVM_PROCESS 1612
JVM_PROCESS_DEVICE_CONFIG 1614
JVM_SRVC_CONFIG 1615
LDAP_DOMAINS 1617

Loftware Spectrum 3.0.1 User Guide 1545


LOCALIZED_RESOURCES 1618
LOGICAL_DEVICE_ACL_ENTRY 1620
LOGICAL_DEVICES 1622
PERMISSIONS 1624
ROLE_ACL_ENTRY 1625
ROLES 1627
SERVER_ACL_ENTRY 1629
SERVERS 1631
SERVICES 1633
SYSTEM_PROPERTIES 1635
USER_ACL_ENTRY 1636
USER_GROUPS 1638
USER_ROLES 1639
USERS 1640
Bitmask Values 1643
External Links 1645

1546 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Spectrum Reporting Schema


LoftwareSpectrum includes a reporting schema (LOFTREPORTS) that you can use to
retrieve configuration and status details about objects in Spectrum. This allows you to write
reports against a known interface that abstracts any underlying changes that could impact the
reports.
l "Sample Queries" on page 1548
l "Reporting Schema Reference" on page 1551
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Loftware Spectrum 3.0.1 User Guide 1547


Sample Queries
The following are sample queries that can be run using the Spectrum Reporting Schema.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Active Printers
This query returns Devices (Physical Devices) that have not been deleted. You must run a join
with Device Groups (Logical Devices), because the deleted flag is stored on that object.
SELECT PD.FULL_NAME FROM LOFTREPORTS.R_PHYSICAL_DEVICES PD,
LOFTREPORTS.R_LOGICAL_DEVICES LD
WHERE PD.LOGICAL_DEVICE_NAME = LD.FULL_NAME AND LD.DELETED =
'N';

Existing Users
This query shows the full names of all the users in the Spectrum environment that have not
been deleted.
SELECT U.FULL_NAME FROM LOFTREPORTS.R_USERS U WHERE DELETED =
'N';

Idle Printers for the Last Month


R_PRINTJOB_DETAIL returns which Device Groups (Logical Devices) were used in the past
month. From Device Groups, you can get to the actual printers.
SELECT PD.FULL_NAME FROM LOFTREPORTS.R_PHYSICAL_DEVICES PD,
LOFTREPORTS.R_LOGICAL_DEVICES LD
WHERE PD.LOGICAL_DEVICE_NAME = LD.FULL_NAME AND LD.DELETED = 'N'
AND
LD.FULL_NAME NOT IN (SELECT UPPER(RESOLVED_DESTINATION) FROM
LOFTREPORTS.R_PRINTJOB_DETAIL
WHERE MODIFIED BETWEEN ADD_MONTHS(SYSTIMESTAMP, -1) AND
SYSTIMESTAMP);

Jobs Per Printer, Last Two Weeks


This query uses the DeviceGroup (Logical Device) view to span Devices (Physical Devices)
and Print Job.

1548 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

SELECT PD.FULL_NAME, COUNT(JOB.ID) "JOBS"


FROM LOFTREPORTS.R_PHYSICAL_DEVICES PD,
LOFTREPORTS.R_LOGICAL_DEVICES LD,
LOFTREPORTS.R_PRINTJOB JOB
WHERE PD.LOGICAL_DEVICE_NAME = LD.FULL_NAME AND
UPPER(JOB.DESTINATION_FQN) = LD.FULL_NAME AND
JOB.MODIFIED > SYSTIMESTAMP - 14
GROUP BY PD.FULL_NAME ORDER BY 2 DESC;

Total Labels by Label Template, Last Month


Although a self-join with R_PRINTJOB_DETAIL would work, it is faster to join with R_
DOCUMENTS.
SELECT DOC.FULL_NAME, SUM(PJD.QUANTITY * (1 + PJD.DUPLICATES))
"Labels"
FROM LOFTREPORTS.R_DOCUMENTS DOC, LOFTREPORTS.R_PRINTJOB_DETAIL
PJD
WHERE DOC.FULL_NAME = UPPER(PJD.RESOLVED_DOC) AND
PJD.MODIFIED BETWEEN ADD_MONTHS(SYSTIMESTAMP, -1) AND
SYSTIMESTAMP
GROUP BY DOC.FULL_NAME ORDER BY 2 DESC;

User with Most Modified Documents, Last Six Months


This query leverages the LAST_UPDATED_ISSUER field of objects that are managed by using
Documents permissions. Note that this checks for information about all types of objects
managed by using Documents permissions, not just label templates. To check only for
information about label templates you must add a predicate for DOCTYPE.
SELECT U.FULL_NAME, COUNT(DOC.ID) "Docs"
FROM LOFTREPORTS.R_USERS U, LOFTREPORTS.R_DOCUMENTS DOC
WHERE U.FULL_NAME = DOC.LAST_UPDATED_ISSUER AND
DOC.MODIFIED BETWEEN ADD_MONTHS (SYSTIMESTAMP, -6) AND
SYSTIMESTAMP
GROUP BY U.FULL_NAME ORDER BY 2 DESC;

Failed Jobs
This query returns full information about all failed jobs.
SELECT TJ.JOB_STATE, TPE.JOB_ID, TJ.NAME, TJ.FOLDER_FQN JOB_
FOLDER, TJ.ERROR_MESSAGE, TJ.NAME, TPE.MESSAGE, TPE.STACK_TRACE,
TPE.ERROR_CODE
FROM LOFTREPORTS.R_JOB TJ, LOFTREPORTS.R_PROCESS_ERRORS TPE
WHERE TPE.JOB_ID = TJ.ID;

Loftware Spectrum 3.0.1 User Guide 1549


Existing Labels under a Folder Hierarchy
This query uses the CONNECT BY/STARTWITHconcept in Oracle to return a tree rather
than a table. Although not shown in the following example, note that this query must also have
an outer join on FOLDER_NAME = FULL_NAME to get every branch of the tree.
SELECT DISTINCT DOC.FULL_NAME
FROM LOFTREPORTS.R_DOCUMENTS DOC, LOFTREPORTS.R_FOLDERS F
WHERE DOC.FOLDER_NAME = F.FULL_NAME AND DOC.DOCTYPE = 'DOCUMENT'
CONNECT BY PRIOR F.FULL_NAME = F.PARENT_FOLDER_NAME
START WITH F.FULL_NAME = '/LOFTWARE INC';

1550 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Reporting Schema Reference


The Spectrum Reporting Schema (LOFTREPORTS) includes the following views:

Master Data Views 1552


Transactional Archive Views 1572

Loftware Spectrum 3.0.1 User Guide 1551


Master Data Views

The following are Master Data Views available using the Spectrum Reporting Schema.

R_DOCUMENTS Master Data View

R_DOCUMENTS is a Master Data View providing access to all objects in Loftware Spectrum
that are managed by using Documents permissions. These include the following types of
objects: label templates, forms, layouts, images, reusable objects, applications, business rules,
and workflow templates. Use the DOCTYPE column to determine the document type.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Document. This is
unique among all Documents in a Spectrum environment.
MODIFIED Timestamp The time when this Document was last modified.
CREATED Timestamp The time when this Document was created.
CREATED_ String The User that created this Document.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this Document.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
FULL_NAME String The fully-qualified name of a Document, which includes its
location and name. This is unique in the Spectrum
environment.
Key: Primary Key
FOLDER_ String The fully-qualified path of the folder that contains this
NAME Document.
Key: Foreign Key, join with R_FOLDERS.FULL_NAME
DELETED String Whether this Document has been deleted.
Y: The Document has been deleted.
N: The Document has not been deleted.

1552 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Column Name Type Description


CURRENT_ String The current workflow state of this Document. One of
STATE Saved, CheckedIn, CheckedOut. May also including
Pending and Approved if you have the Loftware provided
approval workflow installed.
DESCRIPTION String The user-defined description of this Document.
DOCTYPE String The type of object.
The value must be one of the following:
DATAENTRY (form)
DATASOURCE (business rule)
DOCUMENT (label template)
IMAGE
LAYOUT
REUSABLEOBJECT
UNKNOWN (if the object type cannot be determined)
LATEST_ Number A reference to the latest version of this Document. See R_
VERSION DOCUMENTVERSION.
Key: Foreign Key, join with R_DOCUMENTVERSION.ID
LATEST_ String The latest working version of this Document, if version
WORKING controlled. Returns 1.0 if the Document is not version
controlled.
PARENT_ String The fully-qualified name of this Document's parent
DOC_NAME Document, if appropriate.
Key: Foreign Key, self-join with R_DOCUMENTS.FULL_
NAME
LOCKED Boolean Not used.
PUBLISHED_ String The latest published version of this Document. This value
VERSION will always end in .0.
R_DOCUMENTVERSION Master Data View

A Document Version is the representation of a single version of a Document in Loftware


Spectrum. Documents that are not version controlled never have more than a single Document
Version. The R_DOCUMENTVERSION view cannot stand on its own; join it with the R_
DOCUMENTS view. For information about the R_DOCUMENTS view, see "R_
DOCUMENTS Master Data View" on page 1552.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Loftware Spectrum 3.0.1 User Guide 1553


Note: Except where otherwise noted, the term Document is used in this topic to
refer to any object in Spectrum that is managed by using Documents permissions.
This includes the following types of objects: label templates, forms, layouts,
images, reusable objects, applications, business rules, and workflow templates.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of this Document
Version. This is unique in the Spectrum environment.
Key: Primary Key
MODIFIED Timestamp The time when this Document Version was last modified.
CREATED Timestamp The time when this Document Version was created.
CREATED_ String The User that created this Document Version.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this Document.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
DOCUMENT_ String The fully qualified name of the Document to which this
NAME Document Version belongs.
Key: Foreign Key, join with R_DOCUMENTS.FULL_
NAME
LAYOUT_ Number Whether this Document Version has a layout associated
ENABLED with it.
1: A layout is associated with this Document Version.
0: No layout is associated with this Document Version.
LAYOUT_ String The fully qualified name of the layout associated with this
REFERENCE Document Version if it has one; NULL otherwise.
Key: Foreign Key, join with R_DOCUMENTS.FULL_
NAME
MAJOR_ Number The major version of this Document Version. For a
VERSION Document that is not version controlled, 1.
MINOR_ Number The minor version of this Document Version. For a
VERSION Document that is not version controlled, 0.
ORIGINATING_ Number The ID of the originating Document Version. NULL for
VERSION Documents that are not version controlled, as well as for
the first version of any Document.
Key: Foreign Key, join with R_
DOCUMENTVERSION.ID
R_FOLDERS Master Data View

1554 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Folders are the objects that provide structure, storage, and security in Loftware Spectrum. Every
object in Spectrum is stored in a Folder, except for the root (Default) Folder. Folders can be
version controlled or not version controlled. All of the version-controllable objects stored in a
version-controlled Folder must themselves be version controlled.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: Except where otherwise noted, the term Document is used in this topic to
refer to any object in Spectrum that is managed by using Documents permissions.
This includes the following types of objects: label templates, forms, layouts,
images, reusable objects, applications, business rules, and workflow templates.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of this Folder. This is
unique in the Spectrum environment.
Key: Primary Key
MODIFIED Timestamp The time when this Folder was last modified.
CREATED Timestamp The time when this Folder was created.
CREATED_ String The User that created this Folder.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this Folder.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
PARENT_ String The fully qualified name of the parent Folder of this Folder.
FOLDER_ NULL if this is the root Folder.
NAME Key: Foreign Key, join with R_FOLDERS.FULL_NAME
CASED_NAME String The name of this Folder.
FULL_NAME String The fully-qualified name of a Folder, which includes its
location and name. This is unique in the Spectrum
environment.
Key: Primary Key
VERSIONED String Whether objects in the Folder are version controlled.
VERSIONING: The Folder is version controlled.
NOVERSIONING: The Folder is not version controlled.
DESCRIPTION String The user-defined description of this Folder.
R_JOB_PROCESS Master Data View

Loftware Spectrum 3.0.1 User Guide 1555


A Job Process is an object in Spectrum that binds together all of the components to be used
when responding to a print request. The R_JOB_PROCESS view cannot stand on its own; join
it with the R_JOB view or the R_PROCESS view.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.
Column
Type Description
Name
ID Number The internal identification number of a Job Process. This is unique
among all Job Processes in a Spectrum environment.
IGNORE_ Number Whether to ignore or record any errors that occur during job
ERRORS processing and attempt to continue. Typically used in the case of a
process generator.
1: Ignore errors.
0: Record errors.
JOB_ID Number The identification number of the parent Job for this Job Process.
Key: Foreign Key, join with R_JOB.ID
JOB_ String The name of the parent Job for this Job Process.
NAME
PROCESS_ Number The order of processing for this Job Process.
ORDER
PROCESS_ Number The identification number of the Process that was used during
ID execution of this Job Process.
Key: Foreign Key, join with R_PROCESS.ID
R_JVM_PROCESS Master Data View

JVM processes are server processes within a SpectrumApplicationServer, currently limited to


one per Server. This view contains logistical information about the
SpectrumApplicationServer, including DNS alias and ports.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.

1556 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Column Name Type Description


ID Number The internal identification number of a server process.
Key: Primary Key
MODIFIED Timestamp The time when this server process was last modified.
CREATED Timestamp The time when this server process was created.
CREATED_ String The User that created this server process.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this server process.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
SERVER_ String The Server (virtual or physical machine) on which this server
NAME process is installed.
Key: Foreign Key, join with R_SERVERS.FULL_NAME.
NAME String The name of this server process.
DESCRIPTION String The user-defined description of this server process.
DNS_ALIAS String The DNS Alias for this SpectrumApplicationServer, if it
has one.
JMS_PORT String The non-secure JMS port for this
SpectrumApplicationServer, usually 61616.
JMX_PORT String The JMX port for this SpectrumApplicationServer, if
configured. This is usually used only for debugging purposes
and will almost always be NULL.
JMX_QUEUE_ String The URI of the JMX Queue for this
URI SpectrumApplicationServer, if configured. This is usually
used only for debugging purposes, and will almost always be
NULL.
JVM_PORT String The non-secure access port for this
SpectrumApplicationServer, usually 8080.
SECURE_JMS_ String The secure JMS port for this SpectrumApplicationServer if
PORT it is configured to run with SSL.
SECURE_JVM_ String The secure access port for this SpectrumApplicationServer,
PORT usually 8443.
R_LABEL_AUDIT Master Data View

R_LABEL_AUDIT is a Master Data View displaying data for labels that have been printed.

Loftware Spectrum 3.0.1 User Guide 1557


Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.
Column
Type Description
Name
ID Number The internal identification number of a Label. This is unique in
a Spectrum environment.
Key: Primary Key
END_INDEX Number The end index number of this Label in the list of labels that
have been printed.
JOB_ID Number Theidentification number of the Job.
JOB_NAME String The name of the Job.
PJDA_ID Number The identification number of the Print JobDetails of this
Label.
Key: Foreign Key, join with R_PRINTJOB_DETAIL.ID
DEVICE_ String The name of the device destination for this Label.
NAME
STARTINDEX Number The start index number of this Label in the list of labels that
have been printed.
JOB_DATA_ CLOB An XML representation of the job data for this Label.
XML (XML)
R_LOGICAL_DEVICES Master Data View

In Loftware Spectrum, Device Groups (Logical Devices) are container objects for Devices
(physical printers, print queues, or other targets for output, such as image files or PDF files).
Currently, this mapping is 1-to-1; however, in the future that may change. This organization
provides more flexibility than referencing the Devices directly.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.

1558 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Column Name Type Description


ID Number The internal identification number of a Device Group. This
is unique among all Device Groups in the Spectrum
environment.
MODIFIED Timestamp The time when this Device Group was last modified.
CREATED Timestamp The time when this Device Group was created.
CREATED_ String The User that created this Device Group.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this Device Group.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
FOLDER_ String The fully-qualified path of the folder that contains this
NAME Device Group.
Key: Foreign Key, join with R_FOLDERS.FULL_NAME
DELETED Number Whether this Device Group has been deleted.
1: This Device Group has been deleted.
0: This Device Group has not been deleted.
CONFIG_ Number The current configuration status of this Device Group.
STATUS 1: This Device Group is usable.
0: This Device Group is not usable.
DESCRIPTION String The user-defined description of this Device Group.
FAILOVER_ String Not used.
TYPE
FULL_NAME String The fully-qualified name of a Device Group, which includes
its location and name. This is unique in the Spectrum
environment.
Key: Primary Key
R_META_TAG Master Data View

Users can characterize certain objects by assigning Meta Tags, or tags, to them. Tags can then be
used to search, sort, filter, and report on objects within business rules. Each tag has a category
and a value.
A tag can be assigned to an application, business rule, data service, device group, facility, form,
image, integration, label template, layout, process, remote site, reusable object, user, or
workflow template.

Loftware Spectrum 3.0.1 User Guide 1559


Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of this Meta Tag. This is
unique in the Spectrum environment.
Key: Primary Key
SYSTEM String Whether the Meta Tag is incapable of being deleted.
True: The Meta Tag is built-in and may not be deleted by a
user.
False: The Meta Tag may be deleted by a user with
appropriate permissions.
Update: The Meta Tag may be modified but not deleted by
a user.
MODIFIED Timestamp The time when this Meta Tag was last modified.
CREATED Timestamp The time when this Meta Tag was created.
CREATED_ String The User that created this Meta Tag.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this Meta Tag.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
CAT_NAME String The name of the category of this Meta Tag.
ENTITY_ID Number The IDof the object this Meta Tag is assigned to.
ENTITY_TYPE String The type of object this Meta Tag is assigned to.
DOCUMENT_VERSION
DATA_SERVICE
INTEGRATION
PROCESS
LOGICAL_DEVICE
REMOTE_SITE
USER
TAG_VALUE String The value of this Meta Tag.
R_PHYSICAL_DEVICES Master Data View

Devices (Physical Devices) in Loftware Spectrum represent physical printers that perform label
printing as well other targets for output, such as image files and PDF files.

1560 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Note: A user account named LOFTREPORTS exists in the LoftStore database.


This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Device. This is
unique among all Devices in the Spectrum environment.
MODIFIED Timestamp The time when this Physical Device was last modified.
CREATED Timestamp The time when this Physical Device was created.
CREATED_ String The User that created this Device.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this Device.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
LOGICAL_ String The containing Logical Device for this Device.
DEVICE_NAME Key: Foreign Key, join with R_LOGICAL_
DEVICES.FULL_NAME
ASSIGNED Number Whether this Device has been associated with a Device
Group. Currently, this should always be 1.
1: This Device is associated with a Device Group.
0: This Device is not associated with a Device Group.
CONFIG_ Number The current configuration status of this Device.
STATUS 1: This device is usable.
0: This device is not usable.
CONNECTION_ String The type of the connection used to connect to the Device.
TYPE TCPIP: For network printers.
FILE: For PDF printers.
DESCRIPTION String The user-defined description of this Device.
DETAILS_XML CLOB An XML representation of the options that have been
(XML) selected for this Device. It contains the connection
information as well as configuration settings for the type of
device that has been selected.
FAMILY_NAME String The family name of this Device or the value Family
Driver.

Loftware Spectrum 3.0.1 User Guide 1561


Column Name Type Description
DEVICE_ String The specific model of this Device. If FAMILY_NAME is
MODEL_NAME set to Family Driver, then this field represents the printer
language that will be used to communicate with the Device.
DEVICE_ String An internal representation of the device driver used to
DRIVER communicate with this Device. Usually represents the
printer language being used.
FORCE_ String Whether this device is configured to print in Extended or
EXTENDED Non-Native mode. This is only valid for Devices other than
Image, PDF, and Server-based devices.
on: This device is permitted to print in Extended or Non-
Native mode.
off: This device is not permitted to print in Extended or
Non-Native mode.
PROTOCOL String Not used.
SERVER_NAME String For Server-based printers (like Windows printers), the
Server on which this device connection was created.
Key: Foreign Key, join with R_SERVERS.FULL_NAME
VALID Number Whether this Device is currently valid. A device that
cannot be reached on the network is considered to be not
valid.
1: Valid
0: Not valid
FULL_NAME String The fully-qualified name of a device, which includes its
location and name. This is unique in the Spectrum
environment.
Key: Primary Key
R_PROCESS Master Data View

A Process is an object in Spectrum that binds together all of the components to be used when
responding to a print request. Among other items, those components may include a label
template, layout, form, device, and a business rule to be used when processing a print request.
The columns of this view that are marked as having the type String (Expression) may be either
static references ("/Default/Folder/Document1") or expressions (${/Body/object1}). In the
former case, the values can be used as Foreign Keys to access the specific objects references in
the column. In the latter case, the actual value is determined at run time.

1562 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Note: A user account named LOFTREPORTS exists in the LoftStore database.


This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: Except where otherwise noted, the term Document is used in this topic to
refer to any object in Spectrum that is managed by using Documents permissions.
This includes the following types of objects: label templates, forms, layouts,
images, reusable objects, applications, business rules, and workflow templates.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Process. This is
unique among all Processes in a Spectrum environment.
Key: Primary Key
MODIFIED Timestamp The time when this Process was last modified.
CREATED Timestamp The time when this Process was created.
CREATED_ String The User that created this Process.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this Process.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
UPPER_NAME String The upper-cased name of this Process.
DATA_ String The URL that points to the default Data Entry Form for
ENTRY_URL (Expression) this Process. This may be a form or a label template that
includes a form.
Key: Foreign Key if static, join with R_
DOCUMENTS.FULL_NAME
DATA_ String The URL that points to the default business rule used by
SOURCE_URL (Expression) this Process.
DELINK_ String Expression that dictates whether the label data sources
BUSINESS_ (Expression) associated with the final label template should be run at
RULE print time.
DESCRIPTION String The user-defined description of this Process.
DESTINATION String The URL that points to the default Destination (Logical
(Expression) Device) for this Process.
Key: Foreign Key if static, join with R_LOGICAL_
DEVICES.FULL_NAME

Loftware Spectrum 3.0.1 User Guide 1563


Column Name Type Description
DOCUMENT_ String The URL that points to the default label template for this
URL (Expression) Process.
Key: Foreign Key if static, join with R_DOCUMENTS
FOLDER_ String The fully-qualified path of the folder that contains this
NAME Process.
Key: Foreign Key, join with R_FOLDERS.FULL_NAME
JOB_SOURCE_ String If the process type is Generator, the URL that points to
URL (Expression) the business rule containing the Process Generator
information.
If the process type is Simple, this is not used.
LAYOUT_URL String The URL that points to the default Layout for this Process.
(Expression) Key: Foreign Key if static, join with R_DOCUMENTS
PARENT_ID Number The parent Process of this Process, or NULL if this
Process does not have a parent Process.
Key: Foreign Key, join with R_PROCESSES
PRIORITY String The default Priority for this Process (1-10). This provides
(Expression) a default priority for execution of this type of process. A
key can be provided, which is resolved at run time. Child
processes inherit their priority from a parent process if no
priority is supplied.
PROCESS_ Number The type of Process, which is one of the following values:
TYPE 1: Simple Process
4: Generator Process
64: Reprint Process
TOTAL_ Number The number of child processes this process has.
CHILD_
COUNT
DELETED String Whether this Process has been deleted.
Y: The Process has been deleted.
N: The Process has not been deleted.
CASED_NAME String The name of this Process.
R_PROFILE_TYPE Master Data View

User Profiles define a set of default values for options in Loftware Spectrum. User Profiles must
be either a User ProfileTemplate type or a System Properties ProfileTemplate type.

1564 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Note: A user account named LOFTREPORTS exists in the LoftStore database.


This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.
Column
Type Description
Name
ID Number The internal IDof a Profile Type, which must be one of the
following:
0: User Profile Template
100: SystemProperties Profile Template
SYSTEM String Whether the Profile Type is incapable of being deleted.
True: The Profile Type is built-in and may not be deleted by a
user.
False: The Profile Type may be deleted by a user with appropriate
permissions.
Update: The Profile Type may be modified but not deleted by a
user.
NAME String The name of this ProfileType, which must be one of the
following:
User ProfileTemplate
System Properties ProfileTemplate
R_SERVERS Master Data View

A Server is a virtual or physical machine that contains one or more JVM Processes (server
processes). Today, Spectrum limits you to a single JVM Process per Server.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.

Loftware Spectrum 3.0.1 User Guide 1565


Column Name Type
Description
SYSTEM String
Whether the Server is incapable of being deleted.
True: The Server is built-in and may not be deleted by
a user.
False: The Server may be deleted by a user with
appropriate permissions.
Update: The Server may be modified but not deleted
by a user.
MODIFIED Timestamp The time when this Server was last modified.
CREATED Timestamp The time when this Server was created.
CREATED_ISSUER String The User that created this Server.
Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_UPDATED_ String The User that last modified this Server.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME
FOLDER_NAME String The fully-qualified path of the folder that contains this
Server.
Key: Foreign Key, join with R_FOLDERS.FULL_
NAME
NAME String The name of this Server.
Key: Primary Key
DESCRIPTION String The user-defined description of this Server.
DNS_ALIAS String The DNS Alias for this Server, if it has one.
IP_ADDRESS String The IP Address of this Server. IPv4 is recommended
for Spectrum.
R_TAG_CATEGORIES Master Data View

Users can characterize certain objects by assigning tags to them. Tags can then be used to search,
sort, filter, and report on objects within business rules. Each tag has a category and a value,
which is displayed in the Tags pane and tab.
A tag can be assigned to an application, business rule, data service, device group, facility, form,
image, integration, label template, layout, process, remote site, reusable object, user, or
workflow template.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.

1566 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Column Name Type Description


ID Number The internal identification number of this Tag Category. This
is unique in the Spectrum environment.
Key: Primary Key
SYSTEM String Whether the TagCategory is incapable of being deleted.
True: The TagCategory is built-in and may not be deleted
by a user.
False: The TagCategory may be deleted by a user with
appropriate permissions.
Update: The TagCategory may be modified but not deleted
by a user.
MODIFIED Timestamp The time when this Tag Category was last modified.
CREATED Timestamp The time when this Tag Category was created.
CREATED_ String The User that created this Tag Category.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this Tag Category.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
ENTRIES_ Number Not used.
INHERITING
CASED_NAME String The name of this Tag Category.
FOLDER_ String The fully-qualified path of the folder that contains this
NAME TagCategory.
FULL_NAME String The fully-qualified name of a TagCategory, which includes
its location and name. This is unique in the Spectrum
environment.
UPPER_NAME String The upper-cased name of this Tag Category.
DESCRIPTION String The user-defined description of this Tag Category.
ENTITY_ String Whether the Tag Category is a document class or service
CLASSIFIER class.
l Document: A tag associated with an application,

business rule, data service, device group, facility,


form, image, integration, label template, layout,
process, remote site, reusable object, user, or
workflow template.
l Service: A tag associated with a

SpectrumApplicationServer in a Spectrum
environment with distributed services.

Loftware Spectrum 3.0.1 User Guide 1567


Column Name Type Description
VARIABLE Number Whether the Tag Category is a variable tag category.
l 1: The Tag Category is variable.

l 0: The Tag Category is not variable (static).

R_TAG_VALUES Master Data View

Users can characterize certain objects by assigning tags to them. Tags can then be used to search,
sort, filter, and report on objects within business rules. Each tag has a category and a value,
which is displayed in the Tags pane and tab.
A tag can be assigned to an application, business rule, data service, device group, facility, form,
image, integration, label template, layout, process, remote site, reusable object, user, or
workflow template.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of this Tag Value. This
is unique in the Spectrum environment.
Key: Primary Key
MODIFIED Timestamp The time when this Tag Value was last modified.
CREATED Timestamp The time when this Tag Value was created.
CREATED_ String The User that created this Tag Value.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this Tag Value.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
CATEGORY_ String The name of the category of this Tag Value.
NAME
CATEGORY_ID Number The IDof the tag category of this Tag Value.
SORTORDER Number The order of sorting for this Tag Value.
DELETED String Whether this Tag Value has been deleted.
Y: The Tag Value has been deleted.
N: The Tag Value has not been deleted.
VALUE String The value of this Tag Value.
R_USERS Master Data View

1568 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Every action performed in Loftware Spectrum must be performed by a User. This includes
interactive users who log in manually and perform tasks using the user interface, as well as non-
interactive user accounts that log in automatically and run background jobs.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a User. This is unique
among all Users in the Spectrum environment.
MODIFIED Timestamp The time when this User was last modified.
CREATED Timestamp The time when this User was created.
CREATED_ String The User that created this User. For the SuperAdmin user
ISSUER account, this is NULL.
Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this User.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
FOLDER_ String The fully-qualified path of the folder that contains this User.
NAME Key: Foreign Key, join with R_FOLDERS.FULL_NAME
FULL_NAME String The fully-qualified name of a User, which includes its
location and user name. This is unique in the Spectrum
environment.
Key: Primary Key
DELETED String Whether this User has been deleted.
Y: The User has been deleted.
N: The User has not been deleted.
CHANGE_ String Whether the User is required to change their password the
ON_LOGIN next time they log in.
Y: The User is required to change their password.
N: The User is not required to change their password.
DESCRIPTION String The user-defined description of this User.
EMAIL String The email address of this User, as provided when the user
was created or modified.
FIRST_NAME String The first name of this User.

Loftware Spectrum 3.0.1 User Guide 1569


Column Name Type Description
HOME_ String The fully-qualified path of User's Home Folder, if they have
FOLDER one.
Key: Foreign Key, join with R_FOLDERS.FULL_NAME
LAST_NAME String The last name of this User.
LOCAL_ Number Whether the user account is not LDAP-based.
ACCOUNT 1: The user account is not LDAP-based.
0: The user account is LDAP-based.
USER_ String The fully-qualified name of this User's User Profile.
PROFILE_ Key: Foreign Key, join with R_USER_PROFILES.FULL_
NAME NAME
R_USER_PROFILE Master Data View

User Profiles define a set of default values for options in Loftware Spectrum. User Profiles can
be used by more than one User, but each User can only have a single User Profile.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.

Column Name Type Description


MODIFIED Timestamp The time when this User Profile was last modified.
CREATED Timestamp The time when this User Profile was created.
CREATED_ String The User that created this User Profile. For the SuperAdmin
ISSUER user account, this is NULL.
Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this User Profile.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
FULL_NAME String The fully-qualified name of a User Profile, which includes
the location and profile name. This is unique in the Spectrum
environment.
Key: Primary Key
DESCRIPTION String The user-defined description of this User Profile.

1570 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Column Name Type Description


PROFILE_ String The type of this User Profile, which must be one of the
TYPE_NAME following:
User Profile Template
System Properties Profile Template
Key: Foreign Key, join with R_PROFILE_TYPE.NAME

Loftware Spectrum 3.0.1 User Guide 1571


Transactional Archive Views

The following are Transactional Archive Views available using the Spectrum Reporting Schema.

R_AVAILABLE_HISTORY Transactional Archive View

R_AVAILABLE_HISTORY is a transactional view displaying the months with available archive


data. Entries in this table could be created prior to the archiving of a print job, therefore this
view might display a month that does not have a corresponding print job.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.

Column
Type Description
Name
DATE_VAL String The date of stored archive information in MMM_yy format.
For example, NOV_15.
HISTORY_ Date The date of stored archive information in dd-MMM-yy
MONTH format. For example, 01-NOV-15.
Note: The day value is always 01.

R_DEVICE_STATS Transactional Archive View

The R_DEVICE_STATS view displays statistical data for Devices.


Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Device.
Key: Primary Key
STATUS String The status of the Device at the time specified in
TIMESTAMP.
UP: The Device is online.
DOWN: The Device is unreachable and possibly offline.

1572 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Column Name Type Description


TIME_STAMP Timestamp The date and time when the status of the Device was last
checked.
DEVICE_FULL_ String The fully-qualified name of the Device, which includes its
NAME location and name. This is unique in the Spectrum
environment.
Key: Primary Key
CONFIG_ Number The current configuration status of the Device.
STATUS 1: This device is usable.
0: This device is not usable.
DNS_ALIAS String The DNS Alias for this SpectrumApplicationServer, if it
has one.
JVM_PROCESS_ String The server process that ran this Device.
NAME Key: Foreign Key, join with R_JVM_PROCESS.NAME
INTEGRATION_ String The integration port for this SpectrumApplicationServer.
PORT
JMS_PORT String The non-secure JMS port for the
SpectrumApplicationServer, usually 61616.
JMX_PORT String The JMX port for this SpectrumApplicationServer, if
configured. This is usually used only for debugging
purposes and will almost always be NULL.
JVM_PORT String The non-secure access port for this
SpectrumApplicationServer, usually 8080.
SECURE_JMS_ String The secure JMS port for this SpectrumApplicationServer
PORT if it is configured to run with SSL.
SECURE_JVM_ String The secure access port for this
PORT SpectrumApplicationServer, usually 8443.
SERVICE_NAME String The name of the Service.
SERVICE_ Number Whether the server process is active.
STATUS 1: The server process is active.
0: The server process is not active.
R_JOB Transactional Archive View

The Job1 is the top-level unit of work in Loftware Spectrum. A Job will run one or more
Processes; these may generate Print Jobs to drive the printing of labels. The current version of
Spectrum uses common values for many of the parameterized settings in a Job.

1What is submitted for processing. A job is separated into print jobs and print job details based on the processing rules. A job
defines which processes to use.

Loftware Spectrum 3.0.1 User Guide 1573


Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Job. This is unique
among all Jobs in a Spectrum environment.
Key: Primary Key
MODIFIED Timestamp The time when this Job was last modified.
CREATED Timestamp The time when this Job was created.
CREATED_ String The User that created this Job. For the SuperAdmin user
ISSUER account, this is NULL.
Key: Foreign Key, join with R_USERS.FULL_NAME
LAST_ String The User that last modified this Job.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER
UPPER_NAME String The upper-cased name of this Job.
NAME String An optional name for the Job to distinguish it from other
Jobs.
ACTION String The Job action, which must be one of the following:
Run
TestRun: Preview
BATCH_COUNT Number Not used.
CLIENT_CODE String A unique identifier for the client that started this job (if it
was started by a client).
DESCRIPTION String The user-defined description of this Job.
DESTINATION_ String Allows for a different device to be used at print time;
OVERRIDE primarily used for preview to substitute an Image device
for the defined device.
Key: Foreign Key, join with R_LOGICAL_
DEVICES.FULL_NAME
ERROR_CODE Number The error code value for the reason the job failed. This is
an internal identifier, but may help with problem
resolution.
ERROR_ String A description of the error that occurred and caused the job
DESCRIPTION to fail.

1574 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Column Name Type Description


ERROR_ String A short message describing the reason the job failed.
MESSAGE
ERROR_ON_ Number Whether the job should fail if the target device service has
OFFLINE a configuration status that is not valid or if the device
service is shut down.
1: The job should fail in these situations.
0: The job should not fail in these situations.
HAS_FAILURES Number Whether this Job has had any failures. Note that a single
failure may not stop the Job, depending on how the Job is
configured.
1: This Job has one or more failures.
0: This Job has no failures.
HAS_ Number Whether this Job has had any children that completed
SUCCESSES successfully.
1: This Job has one or more successes.
0: This Job has no successes.
IGNORE_ Number Whether to ignore or record any errors that occur during
ERRORS job processing and attempt to continue. Typically used in
the case of a process generator.
1: Ignore errors.
0: Record errors.
JOB_STATE String The current state of the Job, which is one of the following
values:
Job
Description
Status
Running The print job is being prepared for processing.
Processing The print job is being processed, which
includes being printed.
Errored An error occurred during processing.
Done The print job has finished processing.
Paused The print job has been halted but may be
continued.
Suspended The print job has been halted but may be
continued.
Canceled The print job has been halted and cannot be
continued.

Loftware Spectrum 3.0.1 User Guide 1575


Column Name Type Description
JVM_PROCESSS_ String The server process that ran this Job.
NAME Key: Foreign Key, join with R_JVM_PROCESS.NAME
MAX_ Number The number of sub-processes to run in a single
TRANSACTION_ transaction. If the number of sub-processes exceeds the
SIZE maximum transaction size, the Job is split into multiple
Print Jobs.
PARALLEL Number Whether the processes specified in this Job should be run
in parallel.
1: The processes should run in parallel.
0: The processes should not run in parallel.
FOLDER_NAME String The Folder where the status for this Job is stored.
Key: Foreign Key, join with R_FOLDERS.FULL_NAME
PRIORITY Number The Priority at which this Job is run.
PROCESS_ Number The number of Processes run by this Job.
COUNT
PROCESS_ Number
The type of Process, which is one of the following values:
TYPES 1: Simple Process
4: Generator Process
64: Reprint Process
SCHEDULE Timestamp Not used.
STACK_TRACE CLOB If an error occurred, the stack trace for the error.
THREAD_ Number The number of threads to use for parallel processing.
COUNT
FOLDER_FQN String The fully-qualified path of a Folder.
Key: Foreign Key, join with R_FOLDERS.FULL_NAME
WORKING_DIR String The working folder for this Job. Any relative references
are relative to this Folder.
Key: Foreign Key, join with R_FOLDERS.FULL_NAME
REPRINT_ Number The total number of labels to reprint as part of this Job.
COUNT
R_PRINTJOB Transactional Archive View

A Print Job1 represents a set of labels sent to a specific Logical Device as a group.

1A collection of one or more print job details that are grouped by destination, scheduled time to print, and priority.

1576 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Note: A user account named LOFTREPORTS exists in the LoftStore database.


This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.
Column Name Type
Description
ID Number
The internal identification number of a Print Job. This is
unique among all Jobs in a Spectrum environment.
Key: Primary Key
BATCH_ID Number Not used.
DESTINATION_ String The fully-qualified name of the Logical Device that this
FQN Print Job is targeting.
Key: Foreign Key; join with R_LOGICAL_
DEVICES.FULL_NAME
JOB_ID Number The ID of the parent Job for this Print Job.
Key: Foreign Key; join with R_JOB.ID
JOB_NAME String The name of the parent Job for this Print Job.
LOGICAL_ String The name of the Logical Device destination for this Print
DEVICE_NAME Job.
PHYSICAL_ String The name of the Physical Device destination for this Print
DEVICE_NAME Job.
PRIORITY Number The priority level at which this Print Job is being run.
SCHEDULE Timestamp Not used.
MODIFIED Timestamp The time when this Print Job was last modified.
CREATED Timestamp The time when this Print Job was created.
LAST_ String The User that last modified this Print Job.
UPDATED_ Key: Foreign Key, join with R_USERS.FULL_NAME
ISSUER

Loftware Spectrum 3.0.1 User Guide 1577


Column Name Type Description
STATUS String The status of this Print Job, which is one of the following
values:
Job
Description
Status
Running The print job is being prepared for processing.
Processing The print job is being processed, which
includes being printed.
Errored An error occurred during processing.
Done The print job has finished processing.
Paused The print job has been halted but may be
continued.
Suspended The print job has been halted but may be
continued.
Canceled The print job has been halted and cannot be
continued.

R_PRINTJOB_DETAIL Transactional Archive View

A Print Job Detail1 represents the printing of a single label template to single device. Note that
the Quantity 2, Duplicates3, and Pages4 values can change the number of labels that are
physically printed. For example, for a single label template, the number of labels actually printed
is determined by QUANTITY * (1 + DUPLICATES).
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.

1A single request to use a label template to print to a specific destination. Depending on the values for Quantity, Duplicates, and
Pages, a print job detail may generate multiple labels.
2The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
3The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
4The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.

1578 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Column Name Type Description


ID Number The internal identification number of a Print Job Detail.
This is unique among all Print Job Details in a Spectrum
environment.
Key: Primary Key
BATCH_ID Number Not used.
BUSINESS_RULE_ String The fully-qualified name of the business rule used in
FQN processing.
BUSINESS_RULE_ String The version of the business rule used in processing.
VERSION
DELINK_ Number Whether to not run label data sources prior to printing
BUSINESS_RULE the label template.
1: Do not run label data sources.
0: Run label data sources.
DOCUMENT_ String Key: Foreign Key, join with R_DOCUMENTS.FULL_
FQN NAME
The fully-qualified name of the label template that this
Print Job Detail expects to print, prior to running any
business rules associated with the Process.
DOCUMENT_ String The name of the label template that this Print Job Detail
NAME expects to print, prior to running any business rules
associated with the Process.
DOCUMENT_ String The version of the label template that this Print Job
VERSION Detail expects to print, prior to running any business
rules associated with the Process.
ERROR_JOB_ON_ Number Whether an error occurs for the entire Job if the Print Job
FAIL Detail fails.
1: If the Print Job Detail fails, an error occurs for the
entire Job.
0: If the Print Job Detail fails, it does not cause an error
for the entire Job.
JOB_ID Number The identification number of the parent Job for this Print
Job Detail.
Key: Foreign Key; join with R_JOB.ID
JOB_NAME String The name of the parent Job.
JOB_PROCESS_ID Number The identification number of the JobProcess.
LAYOUT_FQN String The fully-qualified name of the Layout that this Print Job
Detail expects to use when printing, prior to running any
business rules associated with the Process.

Loftware Spectrum 3.0.1 User Guide 1579


Column Name Type Description
LAYOUT_ID Number
The ID of the Layout used for processing.
LAYOUT_ String
The version of the Layout that this Print Job Detail
VERSION expects to print, prior to running any business rules
associated with the Process.
JOB_ORDER Number The order of processing for this Print Job Detail.
PRINTJOB_ID Number The parent Print Job for this Print Job Detail.
Key: Foreign Key; join with R_PRINTJOB.ID
PROCESS_ID Number The Process that was used to generate this Print Job
Detail.
Key: Foreign Key; join with R_PROCESSES.ID
RESOLVED_ String The fully-qualified name of the resolved business rule to
BUSINESS_RULE use for processing.
RESOLVED_ String The fully-qualified name of the Logical Device on which
DESTINATION the label is going to print.
Key: Foreign Key, join with R_LOGICAL_
DEVICES.FULL_NAME
RESOLVED_DOC String The fully-qualified name of the label template that was
actually used for printing by this Print Job Detail.
Key: Foreign Key, join with R_DOCUMENTS.FULL_
NAME
RESOLVED_ String The fully-qualified name of the Layout, if any, that was
LAYOUT used in printing this Print Job Detail.
Key: Foreign Key, join with R_DOCUMENTS.FULL_
NAME
MODIFIED Timestamp The time when this Print Job Detail was last modified.
CREATED Timestamp The time when this Print Job Detail was created.
LAST_UPDATED_ String The User that last modified this Print Job Detail.
ISSUER Key: Foreign Key, join with R_USERS.FULL_NAME

1580 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Column Name Type Description


STATUS String The status of the Print Job Detail.
Print Job Detail
Description
Status
Submitted The print job has been posted,
but is not yet in the device
queue.
Queued The print job is in the device
queue.
Paused The print job has been halted
but may be continued.
Printing The print job is being printed.
Completed The print job finished
successfully.
Errored An error occurred.
Canceled The print job has been halted
and cannot be continued.
Completed_Errored An error occurred after this job
detail was completed, but before
the entire job was completed.
Errored_Completed An error occurred before this
job detail was sent to the
device. The job may or may not
have been printed.
Printing_Errored The print job is being printed,
but an error has occurred. After
the print job is complete, its
status changes to Errored
Completed.
WebPrinting The print job has been
submitted to
SpectrumRemotePrint. The
SpectrumRemotePrint client
must be connected for the job
to be forwarded to the local
device.

Loftware Spectrum 3.0.1 User Guide 1581


Column Name Type Description
Print Job Detail
Description
Status
WebPrintRequested The print job has been
submitted to
SpectrumRemotePrint. The
SpectrumRemotePrint client
accepted the job, but has not
printed to the local device.
REASON String
A message displaying the reason the Print Job Detail is in
the current state.
DUPLICATES Number The number of Duplicates1 of labels that were printed
by this Print Job Detail.
ENDTIME Timestamp The time that this Print Job Detail finished processing.
FILL_DIRECTION String If a Layout is associated with the Print Job Detail, the
order in which incoming data is used to fill labels in the
Layout.
The starting label position from which the Fill Direction
proceeds is specified by START_ORIGIN.
FILL_ORDER String If a Layout is associated with the Print Job Detail, the fill
order printed.
PAGES Number If a Layout is associated with the Print Job Detail, the
number of page copies to print.
TOTAL_PRINTED Number Total number of labels that should have come out of the
printer for this Print Job Detail.
PRINTEDNATIVE Number Total number of labels that were printed natively.
QUANTITY Number The Quantity 2 of labels that was printed by this Print
Job Detail.
STARTTIME Timestamp The time that this Print Job Detail started processing.
TRAY String The Tray 3 in the device 4 to use when printing.

1The number of times to reprint a label by using the same data and without changing the value in any incrementing or
decrementing field. Each duplicate printed label is identical.
2The number of times to print a label by using the same data. Each printed label produced is identical except for any incrementing
or decrementing field.
3To which output tray to direct printed labels or documents. If a printer has only one output tray or otherwise does not support this
feature, this is ignored. For Windows drivers the tray is the name of the tray that supplies the paper. The name corresponds to the
configured tray name in the driver setup (not case sensitive). For PCL 5e drivers the tray is the ID number of the tray that supplies
the paper. The ID corresponds to the configured tray number in the driver setup.
4A physical printer, print queue, or other target for output, such as an image file or a PDF file.

1582 Loftware Spectrum 3.0.1 User Guide


Spectrum Reporting Schema

Column Name Type Description


UPPER_NAME String The user-defined name of the Print Job Detail in all
upper case.
CASED_NAME String The user-defined name of the Print Job Detail in its
original form.
HAS_LABEL_DS Number Whether the label template being printed has any label
data sources.
1: The label template has label data sources.
0: The label template does not have label data sources.
REPRINT_ Number The number of Pages1 to be reprinted.
COUNT
R_PROCESS_ERRORS Transactional Archive View

This view shows errors that occurred during Job processing. There may be one error per Print
Job Detail in the worst case.
Note: A user account named LOFTREPORTS exists in the LoftStore database.
This user account has the permissions necessary to see views and run reports using
the Spectrum Reporting Schema. You will be prompted to create a password for
the LOFTREPORTS user account.

Note: All timestamps are relative to the time on the database server.

Column Name Type Description


ID Number The internal identification number of an error.
DESCRIPTION String The description of the error.
ERROR_CODE Number The localized code for the error.
JOB_ID Number The ID of the Job for which this error applies.
JOB_ Number Not used.
PROCESS_ID
MESSAGE String A message describing the error.
PROCESS_ID Number The process that was used during processing.
REFERENCE_ Number The identification number of the original Job if the error was
ID generated during a reprint.
STACK_ String The stack trace for the error.
TRACE

1The number of times to print the content for the labels in a layout. Each page is identical, including the value in any incrementing or
decrementing field.

Loftware Spectrum 3.0.1 User Guide 1583


Spectrum Auditing Schema
LoftwareSpectrum includes an auditing schema that you can use to retrieve changes in
configuration. The Spectrum Auditing Schema (LOFTAUDIT) includes the following tables:
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

DEVICE_ACL_ENTRY 1586
DEVICES 1588
DOCUMENT_ACL_ENTRY 1590
DOCUMENT_STEP 1592
FOLDER_ACL_ENTRY 1594
FOLDERS 1598
FONT 1602
FONT_JOIN 1604
FONT_TYPE 1605
GROUP_ACL_ENTRY 1607
GROUP_ROLES 1609
GROUPS 1610
JVM_PROCESS 1612
JVM_PROCESS_DEVICE_CONFIG 1614
JVM_SRVC_CONFIG 1615
LDAP_DOMAINS 1617
LOCALIZED_RESOURCES 1618
LOGICAL_DEVICE_ACL_ENTRY 1620
LOGICAL_DEVICES 1622
PERMISSIONS 1624
ROLE_ACL_ENTRY 1625
ROLES 1627
SERVER_ACL_ENTRY 1629
SERVERS 1631
SERVICES 1633
SYSTEM_PROPERTIES 1635

1584 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

USER_ACL_ENTRY 1636
USER_GROUPS 1638
USER_ROLES 1639
USERS 1640
Bitmask Values 1643

Loftware Spectrum 3.0.1 User Guide 1585


DEVICE_ACL_ENTRY
This table displays information for an entry in the Access Control List (ACL) that grants or
denies access to a Device.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column
Type Description
Name
ID Number
The internal identification number of a Device ACL Entry.
Key: Primary Key
MODIFIED Timestamp The time when this Device ACL Entry was last modified.
CREATED Timestamp The time when this Device ACL Entry was created.
CREATED_ Number The ID of the User that created this Device ACL Entry. Refer
ISSUER to the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Device ACL Entry.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String The type of audit action performed on this Device ACL Entry.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_ Timestamp The date and time when the audit action was performed on this
DATE Device ACL Entry.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the Device ACL Entry is incapable of being deleted.
True: The Device ACL Entry is built-in and may not be deleted
by a user.
False: The Device ACL Entry may be deleted by a user with
appropriate permissions.
Update: The Device ACL Entry may be modified but not
deleted by a user.

1586 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column
Type Description
Name
ACE_ Number The order in which this ACL Entry applies with respect to other
ORDER ACL Entries for a Device.
Note: An ACL Entry will be applied in ascending
order based on its ACE_ORDER value. ACE_
ORDER values do not have to be consecutive.
DENIES Number The bitmask value representing the permissions for this Device
that are denied to the identified Group or User. For more
information, see "Bitmask Values" on page 1643.
GRANTS Number The bitmask value representing the permissions for this Device
that are granted to the identified Group or User. For more
information, see "Bitmask Values" on page 1643.
GROUP_ Number The ID of the Group being granted or denied permissions to
SID this Device.
USER_SID Number The ID of the User being granted or denied permissions to this
Device.
DEVICE_ Number The ID of the Device for which these permissions apply. Refer
ID to the LOFTREPORTS.R_PHYSICAL_DEVICES table.

Loftware Spectrum 3.0.1 User Guide 1587


DEVICES
This table displays a log of the changes made to devices. Devices in Loftware Spectrum
represent physical printers that perform label printing as well as other targets for output, such as
image files and PDF files.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Device. This is
unique among all Devices in the Spectrum environment.
Key: Primary Key
MODIFIED Timestamp The time when this Device was last modified.
CREATED Timestamp The time when this Device was created.
CREATED_ Number The ID of the User that created this Device. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Device. Refer to
UPDATED_ the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String The type of audit action performed on this Device.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this Device.
OBJECT_ID Number The ID of this Device in the LOFTREPORTS.R_
PHYSICAL_DEVICES table.
SYSTEM String Whether the Device is incapable of being deleted.
True: The Device is built-in and may not be deleted by a
user.
False: The Device may be deleted by a user with
appropriate permissions.
Update: The Device may be modified but not deleted by a
user.

1588 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


DENIES Number The bitmask value representing the default permissions for
this Device that are denied to the Groups and Users for
which permissions are not configured. For more
information, see "Bitmask Values" on page 1643.
GRANTS Number The bitmask value representing the default permissions for
this Device that are granted to the Groups and Users for
which permissions are not configured. For more
information, see "Bitmask Values" on page 1643.
CASED_NAME String The name of this Device.
PARENT_ID Number The ID of the parent Folder for this Device, or NULL if
this is the root Folder.
Key: Foreign Key, join with DEVICES
PARTITION_ Number Not used.
TIER1
PARTITION_ Number Not used.
TIER2
PARTITION_ Number Not used.
TIER3
ASSIGNED Number Whether this Device has been associated with a Device
Group. Currently, this should always be 1.
1: This Device is associated with a Device Group.
0: This Device is not associated with a Device Group.
CONNECTION_ String The type of the connection used to connect to the Device.
TYPE TCPIP: For network printers.
FILE: For PDF printers.
DESCRIPTION String The user-defined description of this Device.
DETAILS CLOB An XML representation of the options that have been
(XML) selected for this Device. It contains the connection
information as well as configuration settings for the type of
device that has been selected.
DEVICE_ Number The ID of the template used for the configuration of this
TEMPLATE_ID Device in the DEVICE_CONFIGURATION_TMPL
table.
DEVICE_ String An internal representation of the device driver used to
DRIVER communicate with this Device. Usually represents the
printer language being used.
SERVER_ID Number Not used.

Loftware Spectrum 3.0.1 User Guide 1589


DOCUMENT_ACL_ENTRY
This table displays information for an entry in the Access Control List (ACL) that grants or
denies access to a Document.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: Except where otherwise noted, the term Document is used in this topic to
refer to any object in Spectrum that is managed by using Documents permissions.
This includes the following types of objects: label templates, forms, layouts,
images, reusable objects, applications, business rules, and workflow templates.

Note: All timestamps are relative to the time on the database server.
Column
Type Description
Name
ID Number The internal identification number of a Document ACL Entry.

Key: Primary Key


MODIFIED Timestamp The time when this Document ACL Entry was last modified.
CREATED Timestamp The time when this Document ACL Entry was created.
CREATED_ Number The ID of the User that created this Document ACL Entry.
ISSUER Refer to the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Document ACL
UPDATED_ Entry. Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String The type of audit action performed on this Document ACL
ACTION Entry.
CREATE
INSERT
UPDATE
DELETE
AUDIT_ Timestamp The date and time when the audit action was performed on
DATE this Document ACL Entry.
OBJECT_ID Number Loftware use only.

1590 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column
Type Description
Name
SYSTEM String Whether the Document ACL Entry is incapable of being
deleted.
True: The Document ACL Entry is built-in and may not be
deleted by a user.
False: The Document ACL Entry may be deleted by a user
with appropriate permissions.
Update: The Document ACL Entry may be modified but not
deleted by a user.
ACE_ORDER Number The order in which this ACL Entry applies with respect to
other ACL Entries for a Document.
Note: An ACL Entry will be applied in
ascending order based on its ACE_ORDER
value. ACE_ORDER values do not have to be
consecutive.
DENIES Number The bitmask value representing the permissions for this
Document that are denied to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.
GRANTS Number The bitmask value representing the permissions for this
Document that are granted to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.
GROUP_SID Number The ID of the Group being granted or denied permissions to
this Document.
USER_SID Number The ID of the User being granted or denied permissions to
this Document.
DOCUMENT_ Number The ID of the Document for which these permissions apply.
ID

Loftware Spectrum 3.0.1 User Guide 1591


DOCUMENT_STEP
This table displays information for the steps in a workflow for a Document.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: Except where otherwise noted, the term Document is used in this topic to
refer to any object in Spectrum that is managed by using Documents permissions.
This includes the following types of objects: label templates, forms, layouts,
images, reusable objects, applications, business rules, and workflow templates.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Document Step.
Key: Primary Key
MODIFIED Timestamp The time when this Document Step was last modified.
CREATED Timestamp The time when this Document Step was created.
CREATED_ Number The ID of the User that created this Document Step. Refer
ISSUER to the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Document Step.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this Document Step.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this Document Step.
OBJECT_ID Number Loftware use only.
ACTION_ID Number The ID of the action performed on this Document Step.
DUE_DATE Timestamp Not used.
ENTRY_ID Number The ID of a Document.
OWNER_ID Number The ID of the User that started the workflow.
SPLIT_ID Number Not used.
START_DATE Timestamp The date and time when the workflow was started.

1592 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


STATUS String The current workflow status of this Document, which is one
of the following values:
Checked In
Checked Out
Editing
Saved
Finished
In Review
Approved
STEP_ID Number The ID of the workflow step.
WORKFLOW_ String Whether the Document is version controlled.
NAME document: The Document is version controlled.
document_nonversioning: The Document is not version
controlled.
STATE String The current state of the Document Step.
ACTIVATED
COMPLETED

Loftware Spectrum 3.0.1 User Guide 1593


FOLDER_ACL_ENTRY
This table displays information for an entry in the Access Control List (ACL) that grants or
denies access to a Folder and its contents. For more information, see "FOLDERS" on page
1598.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: Except where otherwise noted, the term Document is used in this topic to
refer to any object in Spectrum that is managed by using Documents permissions.
This includes the following types of objects: label templates, forms, layouts,
images, reusable objects, applications, business rules, and workflow templates.

Note: All timestamps are relative to the time on the database server.

Column Name Type Description


ID Number The internal identification number of a Folder ACL Entry.
Key: Primary Key
MODIFIED Timestamp The time when this Folder ACL Entry was last modified.
CREATED Timestamp The time when this Folder ACL Entry was created.
CREATED_ Number The ID of the User that created this Folder ACL Entry.
ISSUER Refer to the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Folder ACL
UPDATED_ Entry. Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ACTION String The type of audit action performed on this Folder ACL
Entry.
CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this Folder ACL Entry.
OBJECT_ID Number Loftware use only.

1594 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


SYSTEM String Whether the Folder ACL Entry is incapable of being
deleted.
True: The Folder ACL Entry is built-in and may not be
deleted by a user.
False: The Folder ACL Entry may be deleted by a user
with appropriate permissions.
Update: The Folder ACL Entry may be modified but not
deleted by a user.
ACE_ORDER Number The order in which this ACL Entry applies with respect to
other ACL Entries for a Folder.
Note: An ACL Entry will be applied in
ascending order based on its ACE_ORDER
value. ACE_ORDER values do not have to
be consecutive.
DENIES Number The bitmask value representing the permissions for this
Folder that are denied to the identified Group or User. For
more information, see "Bitmask Values" on page 1643.
GRANTS Number The bitmask value representing the permissions for this
Folder that are granted to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.
GROUP_SID Number The ID of the Group being granted or denied permissions
for this Folder.
USER_SID Number The ID of the User being granted or denied permissions
for this Folder.
DOCUMENT_ Number The bitmask value representing Document permissions for
DENIES this Folder that are denied to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.
DOCUMENT_ Number The bitmask value representing Document permissions for
GRANTS this Folder that are granted to the identified Group or
User. For more information, see "Bitmask Values" on page
1643.
FOLDER_ID Number The ID of the Folder for which these permissions apply.
Refer to the LOFTREPORTS.R_FOLDERS table.
GROUP_ Number The bitmask value representing Group permissions for this
DENIES Folder that are denied to the identified Group or User. For
more information, see "Bitmask Values" on page 1643.

Loftware Spectrum 3.0.1 User Guide 1595


Column Name Type Description
GROUP_ Number The bitmask value representing Group permissions for this
GRANTS Folder that are granted to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.
INTEGRATION_ Number The bitmask value representing Integration permissions for
DENIES this Folder that are denied to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.
INTEGRATION_ Number The bitmask value representing Integration permissions for
GRANTS this Folder that are granted to the identified Group or
User. For more information, see "Bitmask Values" on page
1643.
JOB_DENIES Number The bitmask value representing Job permissions for this
Folder that are denied to the identified Group or User. For
more information, see "Bitmask Values" on page 1643.
JOB_GRANTS Number The bitmask value representing Job permissions for this
Folder that are granted to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.
PRINTER_ Number The bitmask value representing Printer permissions for
DENIES this Folder that are denied to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.
PRINTER_ Number The bitmask value representing Printer permissions for
GRANTS this Folder that are granted to the identified Group or
User. For more information, see "Bitmask Values" on page
1643.
PROCESS_ Number The bitmask value representing Process permissions for
DENIES this Folder that are denied to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.
PROCESS_ Number The bitmask value representing Process permissions for
GRANTS this Folder that are granted to the identified Group or
User. For more information, see "Bitmask Values" on page
1643.
REMOTESITE_ Number The bitmask value representing Remote Site permissions
DENIES for this Folder that are denied to the identified Group or
User. For more information, see "Bitmask Values" on page
1643.
REMOTESITE_ Number The bitmask value representing Remote Site permissions
GRANTS for this Folder that are granted to the identified Group or
User. For more information, see "Bitmask Values" on page
1643.

1596 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


ROLE_DENIES Number The bitmask value representing Role permissions for this
Folder that are denied to the identified Group or User. For
more information, see "Bitmask Values" on page 1643.
ROLE_GRANTS Number The bitmask value representing Role permissions for this
Folder that are granted to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.
SERVER_ Number The bitmask value representing Server permissions for this
DENIES Folder that are denied to the identified Group or User. For
more information, see "Bitmask Values" on page 1643.
SERVER_ Number The bitmask value representing Server permissions for this
GRANTS Folder that are granted to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.
USER_DENIES Number The bitmask value representing User permissions for this
Folder that are denied to the identified Group or User. For
more information, see "Bitmask Values" on page 1643.
USER_GRANTS Number The bitmask value representing User permissions for this
Folder that are granted to the identified Group or User.
For more information, see "Bitmask Values" on page 1643.

Loftware Spectrum 3.0.1 User Guide 1597


FOLDERS
This table displays a log of the changes made to folders. Folders are the objects that provide
structure, storage, and security in Loftware Spectrum. Every object in Spectrum is stored in a
Folder, except for the root (Default) Folder.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: Except where otherwise noted, the term Document is used in this topic to
refer to any object in Spectrum that is managed by using Documents permissions.
This includes the following types of objects: label templates, forms, layouts,
images, reusable objects, applications, business rules, and workflow templates.

Note: All timestamps are relative to the time on the database server.

Column Name Type Description


ID Number The internal identification number of this Folder. This is
unique in the Spectrum environment.
Key: Primary Key
MODIFIED Timestamp The time when this Folder was last modified.
CREATED Timestamp The time when this Folder was created.
CREATED_ Number The ID of the User that created this Folder. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Folder. Refer to
UPDATED_ the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ACTION String The type of audit action performed on this Folder.
CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this Folder.
OBJECT_ID Number The ID of this Folder in the LOFTREPORTS.R_
FOLDERS table.

1598 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


SYSTEM String Whether the Folder is incapable of being deleted.
True: The Folder is built-in and may not be deleted by a
user.
False: The Folder may be deleted by a user with
appropriate permissions.
Update: The Folder may be modified but not deleted by a
user.
DENIES Number The bitmask value representing the default permissions for
this Folder that are denied to the Groups and Users for
which permissions are not configured. For more
information, see "Bitmask Values" on page 1643.
GRANTS Number The bitmask value representing the default permissions for
this Folder that are granted to the Groups and Users for
which permissions are not configured. For more
information, see "Bitmask Values" on page 1643.
CASED_NAME String The name of this Folder.
PARENT_ID Number The ID of the parent Folder for this Folder, or NULL if
this is the root Folder.
Key: Foreign Key, join with FOLDERS
PARTITION_ Number Not used.
TIER1
PARTITION_ Number Not used.
TIER2
PARTITION_ Number Not used.
TIER3
CATTYPE Number Whether objects in the Folder are version controlled.
VERSIONING: The Folder is version controlled.
NOVERSIONING: The Folder is not version
controlled.
DESCRIPTION Number The user-defined description of this Folder.
DOCUMENT_ Number The bitmask value representing the default Document
DENIES permissions for this Folder that are denied to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
DOCUMENT_ Number The bitmask value representing the default Document
GRANTS permissions for this Folder that are granted to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.

Loftware Spectrum 3.0.1 User Guide 1599


Column Name Type Description
GROUP_ Number The bitmask value representing the default Group
DENIES permissions for this Folder that are denied to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
GROUP_ Number The bitmask value representing the default Group
GRANTS permissions for this Folder that are granted to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
INTEGRATION_ Number The bitmask value representing the default Integration
DENIES permissions for this Folder that are denied to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
INTEGRATION_ Number The bitmask value representing the default Integration
GRANTS permissions for this Folder that are granted to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
JOB_DENIES Number The bitmask value representing the default Job
permissions for this Folder that are denied to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
JOB_GRANTS Number The bitmask value representing the default Job
permissions for this Folder that are granted to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
PRINTER_ Number The bitmask value representing the default Printer
DENIES permissions for this Folder that are denied to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
PRINTER_ Number The bitmask value representing the default Printer
GRANTS permissions for this Folder that are granted to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
PROCESS_ Number The bitmask value representing the default Document
DENIES permissions for this Folder that are denied to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.

1600 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


PROCESS_ Number The bitmask value representing the default Document
GRANTS permissions for this Folder that are granted to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
REMOTESITE_ Number The bitmask value representing the default Document
DENIES permissions for this Folder that are denied to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
REMOTESITE_ Number The bitmask value representing the default Document
GRANTS permissions for this Folder that are granted to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
ROLE_DENIES Number The bitmask value representing the default Role
permissions for this Folder that are denied to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
ROLE_GRANTS Number The bitmask value representing the default Role
permissions for this Folder that are granted to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
SERVER_ Number The bitmask value representing the default Server
DENIES permissions for this Folder that are denied to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
SERVER_ Number The bitmask value representing the default Server
GRANTS permissions for this Folder that are granted to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
USER_DENIES Number The bitmask value representing the default User
permissions for this Folder that are denied to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.
USER_GRANTS Number The bitmask value representing the default User
permissions for this Folder that are granted to the Groups
and Users for which permissions are not configured. For
more information, see "Bitmask Values" on page 1643.

Loftware Spectrum 3.0.1 User Guide 1601


FONT
This table displays a log of the changes made to fonts. A broad selection of fonts is provided
with Spectrum and is installed automatically during the installation of the product.
Administrators can install additional fonts by using the Font Management pane in System
Management.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Font.
Key: Primary Key
MODIFIED Timestamp The time when this Font was last modified.
CREATED Timestamp The time when this Font was created.
CREATED_ Number The ID of the User that created this Font. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Font. Refer to
UPDATED_ the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String The type of audit action performed on this Font.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this Font.
OBJECT_ID Number Loftware use only.
EXPIRATION Number Not used.
EXPIRATION_ Timestamp Not used.
DATE
FONT_FAMILY String The name of the font family for this Font. For example,
Arial.
FONT_WEIGHT String The style of this Font.
BOLD
BOLDITALIC
ITALIC
NORMAL

1602 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


CASED_NAME String The fully-qualified name of a Font, which includes its
family and weight if applicable. For example, Arial Italic.
VERSION String The version of this Font that is stored.

Loftware Spectrum 3.0.1 User Guide 1603


FONT_JOIN
This table displays information to join the FONT and FONT_TYPE tables.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Font.
Key: Primary Key
MODIFIED Timestamp The time when this Font was last modified.
CREATED Timestamp The time when this Font was created.
CREATED_ Number The ID of the User that created this Font. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Font. Refer to
UPDATED_ the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this Font.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this Font.
OBJECT_ID Number Loftware use only.
FONT_ID Number The ID of this Font in the FONT table.
FONT_TYPE_ID Number The ID of this Font Type in the FONT_TYPE table.

1604 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

FONT_TYPE
This table displays a log of the changes made to font types. A font type indicates whether the
font is a TrueType font, an OpenType font, or a font related to a specific printer control
language. A broad selection of fonts is provided with Spectrum and Administrators can install
additional fonts by using the Font Management pane in System Management.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Font Type.
Key: Primary Key
MODIFIED Timestamp The time when this Font Type was last modified.
CREATED Timestamp The time when this Font Type was created.
CREATED_ Number The ID of the User that created this Font Type. Refer to
ISSUER the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Font Type.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ACTION String The type of audit action performed on this Font Type.
CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed
on this Font Type.
OBJECT_ID Number Loftware use only.

Loftware Spectrum 3.0.1 User Guide 1605


Column Name Type Description
FONT_ String The type of font which indicates whether this Font is a
CLASSIFICATION TrueType font, an OpenType font, or a font related to a
specific printer control language.
DPL1
IPL2
OTF3
TTC4
TTF5
ZPL II6
FONT_FAMILY String The name of the font family for this Font.

1Datamax-O'Neil Programming Language, a printer control language.


2Intermec Printer Language, a printer control language.
3OpenType font
4TrueType font collection
5TrueType font
6Zebra Programming Language II, a printer control language.

1606 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

GROUP_ACL_ENTRY
This table displays information for an entry in the Access Control List (ACL) that grants or
denies access to a Group.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column
Type Description
Name
ID Number
The internal identification number of a Group ACL Entry.
Key: Primary Key
MODIFIED Timestamp The time when this Group ACL Entry was last modified.
CREATED Timestamp The time when this Group ACL Entry was created.
CREATED_ Number The ID of the User that created this Group ACL Entry. Refer to
ISSUER the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Group ACL Entry.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String The type of audit action performed on this Group ACL Entry.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_ Timestamp The date and time when the audit action was performed on this
DATE Group ACL Entry.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the Group ACL Entry is incapable of being deleted.
True: The Group ACL Entry is built-in and may not be deleted
by a user.
False: The Group ACL Entry may be deleted by a user with
appropriate permissions.
Update: The Group ACL Entry may be modified but not
deleted by a user.

Loftware Spectrum 3.0.1 User Guide 1607


Column
Type Description
Name
ACE_ Number The order in which this ACL Entry applies with respect to other
ORDER ACL Entries for a Group.
Note: An ACL Entry will be applied in ascending
order based on its ACE_ORDER value. ACE_
ORDER values do not have to be consecutive.
DENIES Number The bitmask value representing the permissions for this Group
that are denied to the Group or User. For more information, see
"Bitmask Values" on page 1643.
GRANTS Number The bitmask value representing the permissions for this Group
that are granted to the Group or User. For more information, see
"Bitmask Values" on page 1643.
GROUP_ Number The ID of the Group being granted or denied permissions to
SID this Group.
USER_SID Number The ID of the User being granted or denied permissions to this
Group.
GROUP_ID Number The ID of the Group for which these permissions apply.

1608 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

GROUP_ROLES
This table displays information to join the GROUP and ROLES tables.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Group Role.
Key: Primary Key
MODIFIED Timestamp The time when this Group Role was last modified.
CREATED Timestamp The time when this Group Role was created.
CREATED_ Number The ID of the User that created this Group Role. Refer to
ISSUER the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Group Role.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this Group Role.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this Group Role.
OBJECT_ID Number Loftware use only.
GROUP_ID Number The ID of this Group in the GROUPS table.
ROLE_ID Number The ID of this Role in the ROLES table.

Loftware Spectrum 3.0.1 User Guide 1609


GROUPS
This table displays a log of the changes made to groups. You can create groups in Spectrum to
associate Spectrum users with business or job functions. For each group, you can manage access
permissions, membership, and associated roles.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Group.
Key: Primary Key
MODIFIED Timestamp The time when this Group was last modified.
CREATED Timestamp The time when this Group was created.
CREATED_ Number The ID of the User that created this Group. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Group. Refer
UPDATED_ to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ACTION String The type of audit action performed on this Group.
CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed
on this Group.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the Group is incapable of being deleted.
True: The Group is built-in and may not be deleted by a
user.
False: The Group may be deleted by a user with
appropriate permissions.
Update: The Group may be modified but not deleted by
a user.
DENIES Number The bitmask value representing the default permissions
for this Group that are denied to the Groups and Users
for which permissions are not configured. For more
information, see "Bitmask Values" on page 1643.

1610 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


GRANTS Number The bitmask value representing the default permissions
for this Group that are granted to the Groups and Users
for which permissions are not configured. For more
information, see "Bitmask Values" on page 1643.
CASED_NAME String The name of this Group.
PARENT_ID Number The ID of the parent Folder for this Group, or NULL if
this is the root Folder.
Key: Foreign Key, join with GROUPS
PARTITION_ Number Not used.
TIER1
PARTITION_ Number Not used.
TIER2
PARTITION_ Number Not used.
TIER3
DESCRIPTION String The user-defined description of this Group.
GROUPPRIORITY Number Not used.

Loftware Spectrum 3.0.1 User Guide 1611


JVM_PROCESS
This table displays a log of the changes made to JVM processes. JVM processes are server
processes within a SpectrumApplicationServer.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a server process.
Key: Primary Key
MODIFIED Timestamp The time when this server process was last modified.
CREATED Timestamp The time when this server process was created.
CREATED_ String The ID of the User that created this server process. Refer to
ISSUER the LOFTREPORTS.R_USERS table.
LAST_ String The ID of the User that last modified this server process.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this server process.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this server process.
OBJECT_ID Number The ID of this server process in the LOFTREPORTS.R_
JVM_PROCESS table.
SYSTEM String Whether this server process is incapable of being deleted.
True: The server process is built-in and may not be deleted
by a user.
False: The server process may be deleted by a user with
appropriate permissions.
Update: The server process may be modified but not
deleted by a user.
DENIES Number The bitmask value representing the default permissions for
this server process that are denied to the Groups and Users
for which permissions are not configured. For more
information, see "Bitmask Values" on page 1643.

1612 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


GRANTS Number The bitmask value representing the default permissions for
this server process that are granted to the Groups and Users
for which permissions are not configured. For more
information, see "Bitmask Values" on page 1643.
CASED_NAME String The name of this server process.
PARENT_ID Number The ID of the parent process for this server process, or
NULL if this server process does not have a parent process.
Key: Foreign Key, join with JVM_PROCESS
PARTITION_ Number Not used.
TIER1
PARTITION_ Number Not used.
TIER2
PARTITION_ Number Not used.
TIER3
DESCRIPTION String The user-defined description of this server process.
JMX_PORT String The JMX port for this SpectrumApplicationServer, if
configured. This is usually used only for debugging purposes
and will almost always be NULL.
JMX_QUEUE_ String The URI of the JMX Queue for this
URI SpectrumApplicationServer, if configured. This is usually
used only for debugging purposes and will almost always be
NULL.

Loftware Spectrum 3.0.1 User Guide 1613


JVM_PROCESS_DEVICE_CONFIG
This table contains logistical information about which devices run on which server processes..
JVM processes are server processes within a SpectrumApplicationServer.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a server process.
Key: Primary Key
MODIFIED Timestamp The time when this server process was last modified.
CREATED Timestamp The time when this server process was created.
CREATED_ String The ID of the User that created this server process. Refer to
ISSUER the LOFTREPORTS.R_USERS table.
LAST_ String The ID of the User that last modified this server process.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this server process.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this server process.
OBJECT_ID Number Loftware use only.
CONFIG_ Number Whether this server process is active.
STATUS 1: The server process is active.
0: The server process is not active.
DEVICE_ID Number The ID of the Device in the DEVICES table.
JVMSRVC_ Number The ID of the SpectrumApplicationServer in the JVM_
CONFIG_ID SRVC_CONFIG table.
PRIORITY Number The priority at which the identified Device should be started
on the identified SpectrumApplicationServer.

1614 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

JVM_SRVC_CONFIG
This table contains the configuration information for services associated with a JVM process.
JVM processes are server processes within a SpectrumApplicationServer.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column
Type Description
Name
ID Number The internal identification number of a configured service.
Key: Primary Key
MODIFIED Timestamp The time when this configured service was last modified.
CREATED Timestamp The time when this configured service was created.
CREATED_ String The ID of the User that created this configured service. Refer
ISSUER to the LOFTREPORTS.R_USERS table.
LAST_ String The ID of the User that last modified this configured service.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String The type of audit action performed on this configured service.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_ Timestamp The date and time when the audit action was performed on
DATE this configured service.
OBJECT_ID Number Loftware use only.
CONFIG_ Number Whether this configured service is active.
STATUS 1: The configured service is active.
0: The configured service is not active.
FORCED_ Number Whether this configured service should always run in proxy
PROXY mode.
1: The configured service should always run in proxy mode.
0: The configured service should not always run in proxy
mode.
JVM_ Number The ID of the JVM Process in the JVM_PROCESS table.
PROCESS_ID

Loftware Spectrum 3.0.1 User Guide 1615


Column
Type Description
Name
FAILOVER_ Number The order in which the identified JVM Process should be
PRIORITY used when failing over with respect to other JVM Processes.
SERVICE_ID Number The ID of the Service in the SERVICES table.

1616 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

LDAP_DOMAINS
This table displays a log of the changes made to Lightweight Directory Access Protocol (LDAP)
domains. By integrating LDAP authentication into Spectrum, you can enable users to log into
Spectrum by using their domain credentials.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of an LDAP Domain.
Key: Primary Key
MODIFIED Timestamp The time when this LDAP Domain was last modified.
CREATED Timestamp The time when this LDAP Domain was created.
CREATED_ String The ID of the User that created this LDAP Domain. Refer
ISSUER to the LOFTREPORTS.R_USERS table.
LAST_ String The ID of the User that last modified this LDAP Domain.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this LDAP Domain.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this LDAP Domain.
OBJECT_ID Number Loftware use only.
PARENT_ID Number The ID of the parent Folder for this LDAP Domain.
Key: Foreign Key, join with LDAP_DOMAINS
PARTITION_ Number Not used.
TIER1
PARTITION_ Number Not used.
TIER2
PARTITION_ Number Not used.
TIER3
CASED_NAME String The name of this LDAP Domain.

Loftware Spectrum 3.0.1 User Guide 1617


LOCALIZED_RESOURCES
This table displays information for localized data in Spectrum.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a resource.
Key: Primary Key
MODIFIED Timestamp The time when this resource was last modified.
CREATED Timestamp The time when this resource was created.
CREATED_ String The ID of the User that created this resource. Refer to
ISSUER the LOFTREPORTS.R_USERS table.
LAST_ String The ID of the User that last modified this resource. Refer
UPDATED_ to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ACTION String The type of audit action performed on this resource.
CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed
on this resource.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the resource is incapable of being deleted.
True: The resource is built-in and may not be deleted by
a user.
False: The resource may be deleted by a user with
appropriate permissions.
Update: The resource may be modified but not deleted
by a user.
CREATED_ String The version of this resource when the audit action was
VERSION performed.
SYSTEM_KEY String The lookup name for this resource.
LAST_ String The last modified version of this resource.
MODIFIED_
VERSION

1618 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


SYSTEM_ String The category that the System Key belongs to.
NAMESPACE
SYSTEM_VALUE String The value used by default.

Loftware Spectrum 3.0.1 User Guide 1619


LOGICAL_DEVICE_ACL_ENTRY
This table displays information for an entry in the Access Control List (ACL) that grants or
denies access to a Device Group (Logical Device).
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column
Type Description
Name
ID Number
The internal identification number of a Device Group ACL
Entry.
Key: Primary Key
MODIFIED Timestamp The time when this Device Group ACL Entry was last modified.
CREATED Timestamp The time when this Device Group ACL Entry was created.
CREATED_ Number The ID of the User that created this Device Group ACL Entry.
ISSUER Refer to the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Device Group ACL
UPDATED_ Entry. Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String The type of audit action performed on this Device Group ACL
ACTION Entry.
CREATE
INSERT
UPDATE
DELETE
AUDIT_ Timestamp The date and time when the audit action was performed on this
DATE Device Group ACL Entry.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the Device Group ACL Entry is incapable of being
deleted.
True: The Device Group ACL Entry is built-in and may not be
deleted by a user.
False: The Device Group ACL Entry may be deleted by a user
with appropriate permissions.
Update: The Device Group ACL Entry may be modified but
not deleted by a user.

1620 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column
Type Description
Name
ACE_ Number The order in which this ACL Entry applies with respect to other
ORDER ACL Entries for a Device Group.
Note: An ACL Entry will be applied in ascending
order based on its ACE_ORDER value. ACE_
ORDER values do not have to be consecutive.
DENIES Number The bitmask value representing the permissions for this Device
Group that are denied to the identified Group or User. For more
information, see "Bitmask Values" on page 1643.
GRANTS Number The bitmask value representing the permissions for this Device
Group that are granted to the identified Group or User. For
more information, see "Bitmask Values" on page 1643.
GROUP_ Number The ID of the Group being granted or denied permissions to
SID this Device.
USER_SID Number The ID of the User being granted or denied permissions to this
Device.
DEVICE_ Number The ID of the Device for which these permissions apply.
ID

Loftware Spectrum 3.0.1 User Guide 1621


LOGICAL_DEVICES
This table displays a log of the changes made to Logical Devices. In Spectrum, Device Groups
(Logical Devices) are container objects for Devices (physical printers or other targets for output,
such as image files or PDF files).
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Device Group. This
is unique among all Device Groups in the Spectrum
environment.
MODIFIED Timestamp The time when this Device Group was last modified.
CREATED Timestamp The time when this Device Group was created.
CREATED_ String The ID of the User that created this Device Group. Refer to
ISSUER the LOFTREPORTS.R_USERS table.
LAST_ String The ID of the User that last modified this Device Group.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this Device Group.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this Device Group.
OBJECT_ID Number The ID of this Device Group in the LOFTREPORTS.R_
LOGICAL_DEVICES table.
SYSTEM String Whether the Device Group is incapable of being deleted.
True: The Device Group is built-in and may not be deleted
by a user.
False: The Device Group may be deleted by a user with
appropriate permissions.
Update: The Device Group may be modified but not
deleted by a user.

1622 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


DENIES Number The bitmask value representing the default permissions for
this Device Group that are denied to the Groups and Users
for which permissions are not configured. For more
information, see "Bitmask Values" on page 1643.
GRANTS Number The bitmask value representing the default permissions for
this Device Group that are granted to the Groups and Users
for which permissions are not configured. For more
information, see "Bitmask Values" on page 1643.
CASED_NAME String The name of this Device Group.
PARENT_ID Number The ID of the parent Folder for this Device Group, or
NULL if this is the root Folder.
Key: Foreign Key, join with LOGICAL_DEVICES
PARTITION_ Number Not used.
TIER1
PARTITION_ Number Not used.
TIER2
PARTITION_ Number Not used.
TIER3
DESCRIPTION String The user-defined description of this Device Group.
QUEUE_ String Not used.
NAME
RESUME_ Number Not used.
FAILOVER_
AUTO

Loftware Spectrum 3.0.1 User Guide 1623


PERMISSIONS
This table displays a log of the changes made to permissions. A permission is an action that can
be granted or denied to roles, groups, and users.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column
Type Description
Name
ID Number
The internal identification number of a Permission.
Key: Primary Key
MODIFIED Timestamp The time when this Permission was last modified.
CREATED Timestamp The time when this Permission was created.
CREATED_ String The ID of the User that created this Permission. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ String The ID of the User that last modified this Permission. Refer to
UPDATED_ the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String The type of audit action performed on this Permission.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_ Timestamp The date and time when the audit action was performed on this
DATE Permission.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the Permission is incapable of being deleted.
True: The Permission is built-in and may not be deleted by a
user.
False: The Permission may be deleted by a user with
appropriate permissions.
Update: The Permission may be modified but not deleted by a
user.
CLASS String The class type that this Permission is applied to.
MASK Number The bitmask value representing the permissions that are denied
or granted to the identified Class. For more information, see
"Bitmask Values" on page 1643.
ROLE_ID Number The ID of the Role for which these permissions apply.

1624 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

ROLE_ACL_ENTRY
This table displays information for an entry in the Access Control List (ACL) that grants or
denies access to a Role.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column
Type Description
Name
ID Number
The internal identification number of a Role ACL Entry.
Key: Primary Key
MODIFIED Timestamp The time when this Role ACL Entry was last modified.
CREATED Timestamp The time when this Role ACL Entry was created.
CREATED_ Number The ID of the User that created this Role ACL Entry. Refer to
ISSUER the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Role ACL Entry.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String The type of audit action performed on this Role ACL Entry.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_ Timestamp The date and time when the audit action was performed on this
DATE Role ACL Entry.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the Role ACL Entry is incapable of being deleted.
True: The Role ACL Entry is built-in and may not be deleted by
a user.
False: The Role ACL Entry may be deleted by a user with
appropriate permissions.
Update: The Role ACL Entry may be modified but not deleted
by a user.

Loftware Spectrum 3.0.1 User Guide 1625


Column
Type Description
Name
ACE_ Number The order in which this ACL Entry applies with respect to other
ORDER ACL Entries for a Role.
Note: An ACL Entry will be applied in ascending
order based on its ACE_ORDER value. ACE_
ORDER values do not have to be consecutive.
DENIES Number The bitmask value representing the permissions for this Role
that are denied to the identified Group or User. For more
information, see "Bitmask Values" on page 1643.
GRANTS Number The bitmask value representing the permissions for this Role
that are granted to the identified Group or User. For more
information, see "Bitmask Values" on page 1643.
GROUP_ Number The ID of the Group being granted or denied permissions to
SID this Role.
USER_SID Number The ID of the User being granted or denied permissions to this
Role.
ROLE_ID Number The ID of the Role for which these permissions apply.

1626 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

ROLES
This table displays a log of the changes made to roles. In Spectrum, role-based permissions are
assigned to a role and inherited by users who are members of a group to which that role is
assigned or by users to whom the role is directly assigned.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Role.
Key: Primary Key
MODIFIED Timestamp The time when this Role was last modified.
CREATED Timestamp The time when this Role was created.
CREATED_ Number The ID of the User that created this Role. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Role. Refer to the
UPDATED_ LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this Role.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this Role.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the Role is incapable of being deleted.
True: The Role is built-in and may not be deleted by a user.
False: The Role may be deleted by a user with appropriate
permissions.
Update: The Role may be modified but not deleted by a
user.
DENIES Number The bitmask value representing the default permissions for
this Role that are denied to the Groups and Users for which
permissions are not configured. For more information, see
"Bitmask Values" on page 1643.

Loftware Spectrum 3.0.1 User Guide 1627


Column Name Type Description
GRANTS Number The bitmask value representing the default permissions for
this Role that are granted to the Groups and Users for which
permissions are not configured. For more information, see
"Bitmask Values" on page 1643.
CASED_NAME String The name of this Role.
PARENT_ID Number The ID of the parent Folder for this Role, or NULL if this is
the root Folder.
Key: Foreign Key, join with ROLES
PARTITION_ Number Not used.
TIER1
PARTITION_ Number Not used.
TIER2
PARTITION_ Number Not used.
TIER3
DESCRIPTION String The user-defined description of this Role.

1628 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

SERVER_ACL_ENTRY
This table displays information for an entry in the Access Control List (ACL) that grants or
denies access to a Server.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column
Type Description
Name
ID Number
The internal identification number of a Server ACL Entry.
Key: Primary Key
MODIFIED Timestamp The time when this Server ACL Entry was last modified.
CREATED Timestamp The time when this Server ACL Entry was created.
CREATED_ Number The ID of the User that created this Server ACL Entry. Refer to
ISSUER the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Server ACL Entry.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String The type of audit action performed on this Server ACL Entry.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_ Timestamp The date and time when the audit action was performed on this
DATE Server ACL Entry.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the Server ACL Entry is incapable of being deleted.
True: The Server ACL Entry is built-in and may not be deleted
by a user.
False: The Server ACL Entry may be deleted by a user with
appropriate permissions.
Update: The Server ACL Entry may be modified but not
deleted by a user.

Loftware Spectrum 3.0.1 User Guide 1629


Column
Type Description
Name
ACE_ Number The order in which this ACL Entry applies with respect to other
ORDER ACL Entries for a Server.
Note: An ACL Entry will be applied in ascending
order based on its ACE_ORDER value. ACE_
ORDER values do not have to be consecutive.
DENIES Number The bitmask value representing the permissions for this Server
that are denied to the identified Group or User. For more
information, see "Bitmask Values" on page 1643.
GRANTS Number The bitmask value representing the permissions for this Server
that are granted to the identified Group or User. For more
information, see "Bitmask Values" on page 1643.
GROUP_ Number The ID of the Group being granted or denied permissions to
SID this Server.
USER_SID Number The ID of the User being granted or denied permissions to this
Server.
SERVER_ Number The ID of the Server for which these permissions apply.
ID

1630 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

SERVERS
This table displays a log of the changes made to Servers. A Server is a virtual or physical machine
that contains one or more JVM Processes (server processes).
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Server.
Key: Primary Key
MODIFIED Timestamp The time when this Server was last modified.
CREATED Timestamp The time when this Server was created.
CREATED_ Number The ID of the User that created this Server. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Server. Refer to
UPDATED_ the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this Server.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this Server.
OBJECT_ID Number The ID of this Server in the LOFTREPORTS.R_SERVERS
table.
SYSTEM String Whether the Server is incapable of being deleted.
True: The Server is built-in and may not be deleted by a
user.
False: The Server may be deleted by a user with appropriate
permissions.
Update: The Server may be modified but not deleted by a
user.
DENIES Number The bitmask value representing the default permissions for
this Server that are denied to the Groups and Users for
which permissions are not configured. For more information,
see "Bitmask Values" on page 1643.

Loftware Spectrum 3.0.1 User Guide 1631


Column Name Type Description
GRANTS Number The bitmask value representing the default permissions for
this Server that are granted to the Groups and Users for
which permissions are not configured. For more information,
see "Bitmask Values" on page 1643.
CASED_NAME String The name of this Server.
PARENT_ID Number The ID of the parent Folder for this Server, or NULL if this
is the root Folder.
Key: Foreign Key, join with SERVERS
PARTITION_ Number Not used.
TIER1
PARTITION_ Number Not used.
TIER2
PARTITION_ Number Not used.
TIER3
DESCRIPTION String The user-defined description of this Server.
IP_ADDRESS String The IP Address of this Server. IPv4 is recommended for
Spectrum.

1632 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

SERVICES
This table displays a log of the changes made to Services.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a Service.
Key: Primary Key
MODIFIED Timestamp The time when this Service was last modified.
CREATED Timestamp The time when this Service was created.
CREATED_ Number The ID of the User that created this Service. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this Service. Refer to
UPDATED_ the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this Service.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this Service.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the Service is incapable of being deleted.
True: The Service is built-in and may not be deleted by a
user.
False: The Service may be deleted by a user with
appropriate permissions.
Update: The Service may be modified but not deleted by a
user.
BEANNAME String The internal class name referenced by this Service.
DATABASE_ Number Whether this Service requires database access.
REQUIRED 1: The Service requires database access.
0: The Service does not require database access.
DELEGATE String The internal name of the class that will perform the work.
DESCRIPTION String The user-defined description of this Service.

Loftware Spectrum 3.0.1 User Guide 1633


Column Name Type Description
LOAD_ Number Whether the Service is load balanced.
BALANCED 1: The Service is load balanced.
0: The Service is not load balanced.
CASED_NAME String The name of this Service.
STATUS Number Whether the Service is active.
1: The Service is active.
0: The Service is not active.

1634 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

SYSTEM_PROPERTIES
This table displays the key-value pairs for all of the system properties used within Spectrum.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a property.
Key: Primary Key
MODIFIED Timestamp The time when this property was last modified.
CREATED Timestamp The time when this property was created.
CREATED_ String The ID of the User that created this property. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ String The ID of the User that last modified this property. Refer
UPDATED_ to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ACTION String The type of audit action performed on this property.
CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed
on this property.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the property is incapable of being deleted.
True: The property is built-in and may not be deleted by a
user.
False: The property may be deleted by a user with
appropriate permissions.
Update: The property may be modified but not deleted
by a user.
DEFAULT_ String The default value to use if the system value is not
SYSTEM_VALUE specified or is incorrect.
SYSTEM_KEY String The lookup name for this property.
SYSTEM_ String The category that the System Key belongs to.
NAMESPACE
SYSTEM_VALUE String The specified value to use.

Loftware Spectrum 3.0.1 User Guide 1635


USER_ACL_ENTRY
This table displays information for an entry in the Access Control List (ACL) that grants or
denies access to a User.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column
Type Description
Name
ID Number
The internal identification number of a User ACL Entry.
Key: Primary Key
MODIFIED Timestamp The time when this User ACL Entry was last modified.
CREATED Timestamp The time when this User ACL Entry was created.
CREATED_ Number The ID of the User that created this User ACL Entry. Refer to
ISSUER the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this User ACL Entry.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String The type of audit action performed on this User ACL Entry.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_ Timestamp The date and time when the audit action was performed on this
DATE User ACL Entry.
OBJECT_ID Number Loftware use only.
SYSTEM String Whether the User ACL Entry is incapable of being deleted.
True: The User ACL Entry is built-in and may not be deleted by
a user.
False: The User ACL Entry may be deleted by a user with
appropriate permissions.
Update: The User ACL Entry may be modified but not deleted
by a user.

1636 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column
Type Description
Name
ACE_ Number The order in which this ACL Entry applies with respect to other
ORDER ACL Entries for a User.
Note: An ACL Entry will be applied in ascending
order based on its ACE_ORDER value. ACE_
ORDER values do not have to be consecutive.
DENIES Number The bitmask value representing the permissions for this User
that are denied to the identified Group or User. For more
information, see "Bitmask Values" on page 1643.
GRANTS Number The bitmask value representing the permissions for this User
that are granted to the identified Group or User. For more
information, see "Bitmask Values" on page 1643.
GROUP_ Number The ID of the Group being granted or denied permissions to
SID this User.
USER_SID Number The ID of the User being granted or denied permissions to this
User.
USER_ID Number The ID of the User for which these permissions apply.

Loftware Spectrum 3.0.1 User Guide 1637


USER_GROUPS
This table displays information to join the USERS and GROUPS tables.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a User Group.
Key: Primary Key
MODIFIED Timestamp The time when this User Group was last modified.
CREATED Timestamp The time when this User Group was created.
CREATED_ Number The ID of the User that created this User Group. Refer to
ISSUER the LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this User Group.
UPDATED_ Refer to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this User Group.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this User Group.
OBJECT_ID Number Loftware use only.
GROUP_ID Number The ID of this Group in the GROUPS table.
USER_ID Number The ID of this User in the USERS table.

1638 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

USER_ROLES
This table displays information to join the USERS and ROLES tables.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a User Role.
Key: Primary Key
MODIFIED Timestamp The time when this User Role was last modified.
CREATED Timestamp The time when this User Role was created.
CREATED_ Number The ID of the User that created this User Role. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this User Role. Refer
UPDATED_ to the LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this User Role.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this User Role.
OBJECT_ID Number Loftware use only.
ROLE_ID Number The ID of this Role in the ROLES table.
USER_ID Number The ID of this User in the USERS table.

Loftware Spectrum 3.0.1 User Guide 1639


USERS
This table displays a log of the changes made to Users. Every action performed in Loftware
Spectrum must be performed by a User.
Important! LOFTAUDIT tables are read-only. Modifications to these tables could
cause errors and prevent Spectrum from functioning.

Note: All timestamps are relative to the time on the database server.
Column Name Type Description
ID Number The internal identification number of a User.
Key: Primary Key
MODIFIED Timestamp The time when this User was last modified.
CREATED Timestamp The time when this User was created.
CREATED_ Number The ID of the User that created this User. Refer to the
ISSUER LOFTREPORTS.R_USERS table.
LAST_ Number The ID of the User that last modified this User. Refer to the
UPDATED_ LOFTREPORTS.R_USERS table.
ISSUER
AUDIT_ String
The type of audit action performed on this User.
ACTION CREATE
INSERT
UPDATE
DELETE
AUDIT_DATE Timestamp The date and time when the audit action was performed on
this User.
OBJECT_ID Number The ID of this User in the LOFTREPORTS.R_USERS
table.
SYSTEM String Whether the User is incapable of being deleted.
True: The User is built-in and may not be deleted by a user.
False: The User may be deleted by a user with appropriate
permissions.
Update: The User may be modified but not deleted by a
user.
DENIES Number The bitmask value representing the default permissions for
this User that are denied to the Groups and Users for which
permissions are not configured. For more information, see
"Bitmask Values" on page 1643.

1640 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Column Name Type Description


GRANTS Number The bitmask value representing the default permissions for
this User that are granted to the Groups and Users for which
permissions are not configured. For more information, see
"Bitmask Values" on page 1643.
CASED_NAME String The name of this User.
PARENT_ID Number The ID of the parent Folder for this User, or NULL if this is
the root Folder.
Key: Foreign Key, join with USERS
PARTITION_ Number Not used.
TIER1
PARTITION_ Number Not used.
TIER2
PARTITION_ Number Not used.
TIER3
CHANGE_ Number
Whether the password needs to be changed on next login.
ON_LOGIN 1: The password needs to be changed on next login.
0: The password does not need to be changed on next login.
DESCRIPTION String The user-defined description of this User.
DOMAIN String The domain of this User.
EMAIL String The email address of this User.
FIRST_NAME String The first name of this User.
LAST_NAME String The last name of this User.
LICENSE_ Timestamp Not used.
AGREEMENT_
ACCEPTED
LOCAL_ Number Whether this is a Local Account User or a Domain User
ACCOUNT (LDAP).
1: This is a Local Account User.
0: This is a Domain User.
MOBILE String This mobile number of this User.
PARTITION_ Number Not used.
ID
PASSWORD String The encrypted password for this User.
PRE_DELETE_ String The name of this User before it was deleted, or NULL if this
FQN User is not deleted.

Loftware Spectrum 3.0.1 User Guide 1641


Column Name Type Description
PRE_DELETE_ Number The parent ID of this User before it was deleted, or NULL if
PARENT_ID this User is not deleted.
SALT String The salt setting for this User's password.
STATUS String Whether this User has access to Spectrum.
ACTIVE: This User has access.
INACTIVE: This User does not have access.
TRASHED Number Whether this User was deleted.
1: This User was deleted.
0: This User was not deleted.

1642 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

Bitmask Values
The DENIES and GRANTS columns contain a bitmask value that is the sum of the values of
the permissions that are denied or granted to a User or Group. The following table lists the
values of the permissions.
Value Permission
1 READ
2 WRITE
4 CREATE
8 DELETE
16 ADMINISTRATION
32 PRINT
64 PUBLISH
128 APPROVE
256 LIST
512 TESTPRINT
1024 REPRINT
DENIES Example

If the DENIES column has a bitmask value of 49, then the READ,
ADMINISTRATION, and PRINT permissions are denied to that User
or Group since 1+16+32 = 49 (BINARY: 110001).

Value Permission Binary


1 READ 1
2 WRITE 0
4 CREATE 0
8 DELETE 0
16 ADMINISTRATION 1
32 PRINT 1
64 PUBLISH 0
128 APPROVE 0
256 LIST 0
512 TESTPRINT 0
1024 REPRINT 0

Loftware Spectrum 3.0.1 User Guide 1643


GRANTS Example

If the GRANTS column has a bitmask value of 1546, then the


WRITE, DELETE, TESTPRINT, and REPRINT permissions are
granted to that User or Group since 2+8+512+1024 = 1546
(BINARY: 11000001010).

Value Permission Binary


1 READ 0
2 WRITE 1
4 CREATE 0
8 DELETE 1
16 ADMINISTRATION 0
32 PRINT 0
64 PUBLISH 0
128 APPROVE 0
256 LIST 0
512 TESTPRINT 1
1024 REPRINT 1

1644 Loftware Spectrum 3.0.1 User Guide


Spectrum Auditing Schema

External Links

The following material was cited or consulted while developing LoftwareSpectrum


documentation, or is a source of more detailed information that is beyond the scope of this
documentation.

Barcode Standards and Specifications


ANSI/HIBC. The Health Industry Bar Code (HIBC) Supplier Labeling Standard.
(http://www.hibcc.org/wp-content/uploads/2015/09/ANS_HIBC_SLS_2.5_2015.pdf)
GS1. GS1 General Specifications. Version 16, January 2016.
(http://www.gs1.org/docs/gsmp/barcodes/GS1_General_Specifications.pdf)
GS1. GS1 Global Data Dictionary: Glossary.
(http://ocp.gs1.org/sites/glossary/en-gb)
QR Code. QRcode.com.
(http://www.qrcode.com)
USPS. Intelligent Mail Suite of Barcodes.
(https://ribbs.usps.gov/index.cfm?page=intellmailsuite)

Printer Control Languages


Datamax-O'Neil. Class Series Programmer's Manual. Revision J. 2009.
(http://www.datamax-oneil.com/do/en/en-us/file.cfm/88-2316-01.pdf?contentID=4357)
Datamax-O'Neil. Class Series II Programmer's Manual. Revision L. 2013.
(https://www.datamax-oneil.com/do/en/en-us/file.cfm/88-2341-01_
L.pdf?contentID=7616)
Intermec. Intermec Fingerprint Command Reference Manual. 2013.
(http://apps.intermec.com/downloads/eps_man/937-023-003/Default.htm)
Intermec. Intermec Printer Language (IPL) Command Reference Manual. 2012.
(http://apps.intermec.com/downloads/eps_man/937-028-003/Default.htm)
ZIH. ZPL II Programming Guide, Volume 1. Revision A. 2005.
https://www.zebra.com/content/dam/zebra/manuals/en-us/software/zplii-pm-vol1.pdf)
ZIH. ZPL II Programming Guide, Volume 2. Revision A. 2005.
(https://www.zebra.com/content/dam/zebra/manuals/en-us/software/zplii-pm-vol2-en.pdf)

Character Sets
W3Schools. HTML Character Sets.
(http://www.w3schools.com/charsets/default.asp)
Wikipedia. ASCII.
(http://en.wikipedia.org/wiki/ASCII)

Loftware Spectrum 3.0.1 User Guide 1645


External Links

Wikipedia. Extended ASCII.


(http://en.wikipedia.org/wiki/Extended_ASCII)

Other References
W3Schools. XPath Tutorial.
(http://www.w3schools.com/xsl/xpath_intro.asp)

1646 Loftware Spectrum 3.0.1 User Guide

You might also like