Configuring Output

Overview

Output lets you merge XML form data with a form design created in Designer to create a document output stream in various formats. The output stream can be sent to a network printer, a local printer, or a disk file

You can use the Output page in administration console to administer the Output service. The settings you configure are used at run time when the equivalent settings were not specified through the AEM forms API. Configuration done through the AEM forms SDK overrides the settings configured using administration console.

For additional information about the Output service, see Services Reference .

On the Output pages in administration console, you can perform several tasks:

After you change the settings, click Save to apply them to Output. You do not need to restart the server for the changes to take effect, but you may need to restart the Output service when configuring cache settings.

Specify file locations for Output

You can specify the locations where Output looks for certain types of files that it requires.

  1. In administration console, click Services > output.

  2. Under Locations, specify the appropriate options.

  3. Click Save.

Locations settings

Content Root URI:
The URI or absolute location of the repository from which forms are retrieved. This value is combined with the sForm parameter, specified through the API, to construct the absolute path to the form that is retrieved. This value can reference a directory or a web location that is accessible using HTTP.

The default value is an empty string.

XCI Configuration File:
The relative or absolute location of the XCI configuration file that the Output service uses for rendering. For a relative value, it is assumed that the XCI file resides in the AEM forms deployable EAR file.

The default value is com/adobe/formServer/PA/pa_output.xci .

Cache Location:
Specifies the location of the Output disk cache. When you change this setting, all existing cache information from the current location is reset and a new cache is created at the new location. Select one of the following options:
Default Location:
This is the default selection. When this option is selected, the cache is created at a location that is dependent on the application server you are using:
  • JBoss: [JBoss Home] \server\ [install type] \svcdata\Output\Cache

  • WebLogic: [WebLogic Home] \user_projects\domains\ [aem-forms domain Name] \adobe\ [forms server name] \Output\Cache

  • WebSphere: [IBM Home] \WebSphere\AppServer\installedApps\adobe\server1\Output\Cache

LC Temp Directory:
The cache is created in a subdirectory of the AEM forms temp directory, which is specified in the administration console under Settings > Core System Settings > Configurations > Location of Temp Directory. The subdirectory is named adobeoutput_ [servername] .

Important: If you are using a temp cleaning utility, be aware that while deleting these directories does not affect functionality, it can significantly impact performance for a short time, until the new cache is created. To avoid this issue, do not delete these directories while clearing the AEM forms temp directory.

Change the character set

You can specify the character set used to encode the output stream.

  1. In administration console, click Services > output.

  2. Under Internationalization, in the Character Set list, select a character set. This setting is dependent on the TransformationFormat and PrintFormat specified through the API. To specify a character set other than those listed, select Custom and specify an encoding value in the box that is displayed.

    If TransformationFormat is PDF and PDF/A or PrintFormat is PCL, PostScript, Zebra label, IPL, DPL, TPCL, GenericColorPCL, or GenericPSLevel3, only specific character sets are supported.

    The character set must be a valid canonical name. The default value is ISO-8859-1.

  3. Click Save.

Configuring caching for Output

The Output service merges XML form data with a form design created in Designer to create a document output stream in various formats.

The Output page in administration console contains settings that control the way the Output service caches items. You can adjust these settings to optimize the performance of the Output service.

The Output service caches the following items:

  • form designs: The Output service caches form designs that it retrieves from the repository or from HTTP sources. This caching improves performance because for subsequent render requests, the Output service retrieves the form design from the cache instead of from the repository.

  • fragments and images: The Output service can cache fragments and images used in form designs. When the Output service caches these objects, it improves performance because the fragments and images are only read from the repository on the first request.

Output stores the cache in two locations:

  • in memory: Items are stored in memory for quick access. The in-memory cache has a limited size and is deleted when you restart the server.

  • on disk: Items are stored in the server’s file system. The disk cache has a larger capacity than the in-memory cache and it is retained when you restart the server. The location of the disk cache depends on your application server. For information on changing the location of the disk cache, see Specify file locations for Output .

Specifying the cache mode

Output supports two modes of caching:

  • unconditional

  • using the cache check point

If you switch between cache modes, restart the Output service for the change to take effect. To restart this service, either use Workbench or see Start or stop the services associated with AEM forms modules for instructions.

The cache check point time is reset automatically when you switch between modes.

Using unconditional caching

In this mode, when the Output service receives a request, it validates the resources (form design and any related assets such as fragments and images) that are required. The Output service compares the timestamp of the resources in the repository to the timestamp of the resources in the cache. If the resource in the cache is older, the Output service updates it.

This cache mode guarantees that the most recent resources are used. However, performance is affected because the Output service validates the cached items against the repository with each request. This cache mode is suitable for development and staging environments where resources are updated frequently and performance is not a primary concern.

Specify unconditional caching

  1. In administration console, click Services > output.

  2. Under Output Cache Control Settings, select Unconditionally and click Save.

Use the cache check point

In this mode, the Output service only checks the repository for newer versions of resources when the timestamp of the cached resource is older than the cache check point time. The last cache check point time is displayed on the Output page in Administration Console.

Use this cache mode in high-performance production environments where performance is a concern and changes to resources are infrequent. You can reset the cache check point time when you want to deploy any changes made to the repository resources.

Specify the use of a cache check point

  1. In Administration Console, click Services > output.

  2. Under Output Cache Control Settings, select Only If Their Last Validation Was Done Prior To Cache Check Point Time and click Save.

Reset the cache check point

  1. In administration console, click Services > output.

  2. Under Output Cache Control Settings, click Cache Check Point.

Reset the cache contents

You can clear the contents of the cache at any time. After a cache reset, the first request for each form is slower because the Output service performs a complete rendering and creates new cache content.

  1. In administration console, click Services > output.

  2. Under Output Cache Control Settings, click Reset Cache.

Configuring cache settings

You can specify settings that Output uses for caching, which can optimize the performance of your AEM forms environment.

To access these settings, in administration console, click Services > output.

Note: Disk requirements for the cache should be equal to the repository.

Specifying global cache settings

The settings in the Global Cache Settings area affect all types of caches. If you change either of these settings, restart the Output service for the change to take effect. To restart this service, either use Workbench or see Start or stop the services associated with AEM forms modules for instructions.

Max Cache Document Size (KB):
The maximum size, in kilobytes, of a form design or other resource that can be stored in any in-memory cache. This is a global setting that applies to all in-memory caches. If resource is larger than this value, it is not cached in memory. The default value is 1024 kilobytes. This setting does not affect the disk cache.

Form Rendering Cache Enabled:
By default, this option is selected, which means that rendered forms are cached for subsequent retrieval. This setting has little effect on the performance of the Output service because it does not cache non-interactive documents. This option does have an effect when you use the Output service to non-interactive documents that are rendered on the client.

Caching form designs

When the Output service receives a render request, it retrieves the form design from the repository or from an HTTP source and caches it. This caching improves performance because for subsequent render requests, the Output service retrieves the form design from the cache instead of from the repository.

The Output service always caches form designs on disk. If form designs are stored on the server, those files are considered the disk cache. The Output service also caches form designs in memory, according to the setting in the In Memory Template Cache area. If you change any of these settings, restart the Output service for the change to take effect. To restart this service, either use Workbench or see Start or stop the services associated with AEM forms modules for instructions.

Template Configuration Cache Size:
The maximum number of template configuration objects to keep in memory. The default value is 100. It is recommended that you set this value greater than or equal to the Template Cache Size value. This setting does not affect the disk cache.

Template Cache Size:
The maximum number of template content objects to keep in memory. The default value is 100. This setting does not affect the disk cache.

Enabled:
By default, this check box is selected, meaning that form templates are cached in memory. When this option is not selected, form templates are cached only on disk.

Caching fragments and images

The Output service caches fragments and images use in form designs on disk. This improves performance because the fragments and images are only read from the repository on the first request. Then on subsequent requests, the Output service reads fragments and images from the disk cache. Fragments and images are cached only on disk, and not in memory.

You can use the following settings to control the on-disk caching of fragments and images. These settings are located in the Template Resource Cache Settings area:

Resource Caching
Select one of the following options from the list:
Enabled for fragments and images:
The Output service caches fragments and images. This is the default option.

Enabled for fragments:
The Output service caches fragments, but not images.

Disabled:
The Output service does not cache fragments or images.

Cleanup Interval (Seconds):
Specifies how often the Output service removes old invalid cache files. The Output service does not remove valid cache files. If you change the cleanup interval, restart the Output service for the change to take effect. To restart this service, either use Workbench or see Start or stop the services associated with AEM forms modules for instructions.

Clustering considerations for caches

In a clustered environment, each node maintains its own in-memory and disk cache. The cache contents on each node depends on which forms have been rendered on that node.

The location of the cache must be identical (same disk and path) on each node of the cluster. Do not place the cache on shared storage.

If you use the Output page in administration console to change the cache settings for a particular node, the cache settings on other nodes are updated when a request goes to that node. This behavior also applies to the Reset Cache button. If you click the Reset Cache button for one node, the cache is immediately removed from that node. The cache on other nodes is cleared when a request goes to that node.

Make fonts available

Ensure that the fonts used within a form are available for use on the J2EE application server hosting AEM forms. For example, consider the following scenario. A form designer adds a font to the font directory that Designer uses and creates a form that uses that font on a separate computer. In order for the Output service to use the font, place it in the Customer fonts directory. If the Customer fonts directory does not exist, create a directory on the J2EE application server hosting AEM forms.

For information on additional font settings, see Configure general AEM forms settings .

Specify the location of the Customer fonts directory

  1. In administration console, click Settings > Core Systems Settings > Configurations.

  2. In the Location Of The System Fonts Directory box, type the path to the Customer fonts directory. Multiple directories can be added, separated by a semicolon (;)

  3. Click OK.

  4. Restart the system on which AEM forms is installed.

Note: Fonts are picked from the Windows system font cache and a system restart is required to update the cache. After specifying the Customer font directory, ensure that you restart the system on which AEM forms is installed.

Specify fonts to embed

You can specify which fonts are always embedded or never embedded with the forms used by Output. Embedding fonts increases the file size of the forms. Embed unusual fonts that users are not likely to have on their systems, and do not embed common fonts that they will have installed.

Note: If you have specified a custom XCI file for Output, the embed font option in the XCI file overrides these settings. (See Specify file locations for Output .)
  1. In administration console, click Services > output.

  2. Under Font Embedding Settings, in the Always Embed Fonts box, type the names of the fonts to embed with the forms, separated by commas. The fonts that you specify are only embedded in the generated form if they are used in the form. This setting is ignored if the embed font option has been turned on in the XCI file passed to the service. In that case, all fonts used in the PDF are always embedded.

  3. In the Never Embed Fonts box, type the names of the fonts not to embed with the forms, separated by commas. The fonts that you specify are not embedded in the PDF, even if they are used in the generated PDF. This setting is ignored if the embed font option has been turned off in the XCI file passed to the service. In that case, none of the fonts used in the PDF are embedded.

  4. Click Save.

Specify XCI configuration options

Output enables you to specify a custom XCI file that it uses for rendering. (See Specify file locations for Output .) By default, Output overrides some of the options specified in the XCI file, including the following:

  • config/present/xdp/packets

  • config/present/pdf/creator

  • config/present/pdf/producer

  • config/present/pdf/compression/compressObjectStream

You can select options that cancel the override for the options listed above, in which case Output uses the values specified in the custom XCI file.

  1. In administration console, click Services > output.

  2. Select or deselect the Use System Default XCI Options check box. When this option is selected, Output uses its default values for the packets, creator, producer, and compressObjectStream settings. When this option is deselected, Output uses the values specified in the custom XCI file.

  3. Click Save.

Specify security settings

Output enables you to control whether external entities in XML inputs are resolved. By default, they are resolved, but you can change this behavior to increase the security of your AEM forms system.

Prevent the processing of XML data files that contain references to external entities

  1. In administration console, click Services > output.

  2. Clear the Resolve External Entities check box.

  3. Click Save.

// Ethnio survey code removed