Skip to content

General Architecture#

Estimated time to read: 6 minutes

Printer Resolution#

The following diagram describes the extension of the current Printer Resolution:

flowchart TB
subgraph ptpc [Printer Type Printers Context]
PN[Printer Name]
PI[Printer Integration]
end

subgraph printerintegration [Printer Integration]
PI_PS[Printing System]
PI_IM[Integration Method]
PI_FL[File Location / File Format]
PI_WS[Web Service URL / Sync or Async]
PI_AM[Authentication Method]
PI_IFR[Input Formatter Rule]
PI_OFR[Output Formatter Rule]
end

subgraph piam [Printing Integration Authentication Method]
PS[Printing System]
AM[Authentication Method]
end

subgraph pd [Printable Document]
LCT[Layout Content Type]
EL[External Layout]
end

subgraph pdpm [Printable Document Print Method]
PPP[Properties]
end

PI --> printerintegration
PI_AM --> piam
PI_PS --> piam

More detailed information about the data structures and their relationship is shown in the sections below.

Printing Integration (Entity Type)#

The Printing Integration Entity Type contains all the necessary information for third-party label printing integration, as follows:

  • Authentication method.
  • Type of integration (File or Web Service) and the necessary options for each case.
  • Input/Output DEE Rules that will parse and feed the information sent/received to/from the endpoint.

    Info

    The DEE Rules will transform the Data Contexts of a Printable Document into the expected format of the external printing system.

The following table describes each property of the Printing Integration Entity Type:

Property Name Description Mandatory Comments
ID ID of the printing integration. ✅
Name Name of the printing integration. ✅ Unique across the system.
Description The description of the printing integration.
Printing System The name of the printing system. ✅ From the PrintingSystem lookup table that is pre-populated with these values:
• BarTender
• NiceLabel
Integration Method The integration method. ✅ An enumeration from:
• File
• Web Service
HTTP Method The HTTP method. An enumeration from:
• GET
• POST
Input Formatter Rule A rule to pre-process the input before sending it to the printing system. ✅ A reference to the rule, the scope of which is Printing Integration.
Output Formatter Rule A rule to post-process the output after calling a web service in synchronous mode. A reference to the rule, the scope of which is Printing Integration.
File Format The file format.
Optional
An enumeration from:
• CSV
• XML
Web Service Call Mode The calling mode for web services. An enumeration from:
• Synchronous
• Asynchronous
Authentication Method The method for authentication. An enumeration from:
• Basic Authentication
• None
URL The address of the web service for the integration method web service.
SSL Verify Defines whether to use SSL Verify if the integration method is File.
User Name The authentication user name.
Password The authentication password.
Web Service Request Timeout The web service request timeout, when the web service call mode is synchronous.
Web Service Content Type The web service content type. An enumeration from:
• Text
• Javascript
• JSON
HTML
• XML
CSV Delimiter The CSV delimiter.
CSV Text Qualifier The CSV text qualifier.

Diagram showing a high-level overview of a printing integration architecture.

Printing Integration Authentication Method (Generic Table)#

This generic table will provide you with the options of the Authentication Method for each external printing system. During the creation of the Printing Integration, the values for the Printing System and the Authentication Method must already exist in the PrintingIntegrationAuthenticationMethod generic table, which is pre-populated with the following values:

Printing System Authentication Method
BarTender None
BarTender Basic Authentication
NiceLabel None
NiceLabel Basic Authentication
flowchart LR
subgraph printerintegration [Printer Integration]
PI_PS[Printing System]
PI_AM[Authentication Method]
end

subgraph piam [Printing Integration Authentication Method]
PS[Printing System]
AM[Authentication Method]
end

PI_AM --> AM
PI_PS --> PS

classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%;
classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%;
classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%;
class PI_PS mermaid_nonbusinessdata
class PS mermaid_nonbusinessdata
class PI_AM mermaid_entity
class AM mermaid_entity

Screenshot showing a generic table illustrating the printing integration authentication method.

Printer Type Printers Context (Smart Table)#

This smart table will resolve the printer to be used in printing operations.

A new property was added to the existing PrinterTypePrintersContext smart table, which references a Printing Integration. If this property is not defined, then the printing will be handled internally with the default layout editing system. Otherwise, the printing operation will use the external printing system defined in the Printing Integration.

flowchart TB
subgraph ptpc [Printer Type Printers Context]
PN[Printer Name]
PI[Printer Integration]
end

subgraph printerintegration [Printer Integration]
PI_PS[Printing System]
PI_IM[Integration Method]
PI_FL[File Location / File Format]
PI_WS[Web Service URL / Sync or Async]
PI_AM[Authentication Method]
PI_IFR[Input Formatter Rule]
PI_OFR[Output Formatter Rule]
end

PI --> printerintegration

classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%;
classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%;
classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%;
class PI mermaid_nonbusinessdata

Diagram showing a high-level overview of printer type architectures.

Printable Document#

The Printing Integration provides information about how to communicate with external printing systems. Those printing systems have specific layouts, so the Printable Document should have access to which layout to use in the print.

In the sections below, you can see the available options in the Printable Document and Printable Document Print History entity types.

Printable Document (Entity Type)#

For the support of third-party label printing, the Printable Document has two available properties:

  • Layout Type - defines if the Printable Document will be used by the internal Printing System or by an external Printing System. An enumeration is available with Internal (default) and External as selectable options.
  • External Layout - name of an external label template or file, which can be seen as an editable layout but that is directed to other Printing Systems.

Screenshot showing a printable document with an external layout referencing a specific template or file.

Printable Document Print History (Entity Type)#

The final printed document will not be saved in the system, only the information regarding the interactions with the external system (data sent/received, authentication used, etc.) will be saved.

This way, the Printable Document Print History is extended with the information presented in the Printing Integration that is used for printing. This information contains:

  • Authentication method.
  • Type of integration, file or web service, and the necessary options for each case.
  • Input/Output DEE Rules that will parse and feed the information sent/received to/from the endpoint.

    Info

    The DEE Rules will transform the Data Contexts of a Printable Document into the expected format of the external printing system.

  • Input Data sent to the third party.

  • Output Data sent to the third party.
  • External layout used in the printing.

Diagram showing a high-level overview of the general architecture.