Skip To Content

Deploying Products on Demand (PoD)

Available with Production Mapping license.

ArcGIS Maritime allows you to deploy a web-based app to generate information map products on the fly and create any product at any scale.

Copy productsondemand folder

Copy the productsondemand folder from the PoD installation to the deployment location. The files in the PoD installation location can be treated as a backup, and the files in the deployment location will be modified as needed. The recommended location to copy the productsondemand folder to is <ArcGIS Server installation drive>\arcgisserver\directories\maritimeserver so that the PoD folder and maritime server folders will be under the same folder.

Perform the following steps to deploy Products on Demand (PoD) within your ArcGIS Server site.

Note:

To complete the steps, you must have a map service with Maritime Chart Service enabled.

  1. If necessary, create a folder named maritimeserver in the ArcGIS Server site at <ArcGIS Server installation drive>\arcgisserver\directories.
    Note:

    If this location does not exist, verify that your ArcGIS Server site has been created and Maritime Chart Service has been enabled.

  2. Copy the productsondemand folder from <ArcGIS Server Installation Directory>\MaritimeServer\Server<version> to the <ArcGIS Server installation drive>\arcgisserver\directories\maritimeserver folder created in step 1.
  3. Configure the ArcGIS Server account.

Configure sharing and permissions

Perform these steps to configure sharing for the <ArcGIS Server installation drive>\arcgisserver folder and to add Full Control permissions for the ArcGIS Server account:

Note:

PoD product export processing writes or modifies necessary files in this folder.

  1. Right-click the arcgisserver folder and click Properties.
  2. Click the Sharing tab.
  3. Click Advanced Sharing.
  4. Check the Share this folder check box.
  5. Click Permissions.
  6. Click Add on the Share Permissions tab.
  7. Add the ArcGIS Server account.
    Note:

    You can specify the locale of your ArcGIS Server account. By default, this user is usually ArcGIS.

  8. Once the ArcGIS Server account has been added, click OK to close the Select Users or Groups dialog box.
  9. Choose the newly added ArcGIS Server account in the Group or user names section on the Share Permissions tab and click the Allow check box next to Full Control.
  10. Click OK.
  11. Click OK again to close the Advanced Sharing dialog box.
  12. Click Close.
  13. Click OK again to close the Properties dialog box.

Publish the service definition files

Publish the two service definition files to ArcGIS Server for PoD to calculate the AOI extent when you create an extent on the map to export a PDF chart.

  1. Sign in as a server manager by launching https://gisserver.domain.com/arcgis/manager.
    Note:

    Publish the service definition files using ArcGIS Server Manager. To streamline deployment, it is recommended that you create a folder within ArcGIS Server Manager named POD to organize your PoD-related services.

  2. Click Services > Manage Services, choose the POD folder, and click Publish Service.
  3. Click Choose File to browse to the service definition you want to publish, or type the path to the file.

    The default location is <ArcGIS Server installation drive>\arcgisserver\directories\maritimeserver\productsondemand\ServiceDefinitionFiles.

  4. Select Calculators.sd and click Open.
    Caution:

    Do not change the name of the service. The web app does not work if you do so.

    The service definition is published to the server folder specified in the service definition configuration by default. If you want to change the folder where the service definition will be published, choose a folder from the drop-down list or click New.

    Note:

    All PoD service definitions must be in the same folder to properly deploy PoD. It is recommended that you create a folder to organize your PoD-related services. POD is the recommended folder name.

  5. Click Next.

    You will need to specify properties for your new service. No additional capabilities are required to be selected.

  6. Click Back or click Next as necessary.
  7. Click Publish.
  8. Repeat steps 3 through 6 for ExportWebmap.sd.

Update the Utilities.py file

You must complete this process after you have published your PoD service definition files. This makes your Calculators and ExportWebmap geoprocessing services use the updated Utilities.py file:

  1. In Windows Explorer, browse to the Utilities.py file and edit it.

    The default location is <ArcGIS Server installation drive>\arcgisserver\directories\maritimeserver\productsondemand\Tools.

  2. Update the following variables:
    • shared_products_path and output_directory—Update the variables with your machine name, domain, and folder path if you did not use the recommended default settings.
    • output_url—Use of localhost is only for local testing. Otherwise, update the variable with your machine name and domain and update the folder path if you did not use the recommended default settings.
  3. Save the changes to Utilities.py, and click File > Exit.
  4. Copy your updated Utilities.py file to your newly published Calculators and ExportWebmap PoD services' arcgisinput location.
  5. Browse to your arcgisinput location for PoD.

    The default location is <ArcGIS Server installation drive>\arcgisserver\directories\arcgissystem\arcgisinput\POD.

    • Copy your updated Utilities.py file located in step 1 to <Installation Location>\arcgisserver\directories\arcgissystem\arcgisinput\POD\Calculators.GPServer\extracted\p20\tools.
    • Copy your updated Utilities.py file located in step 1 to <Installation Location>\arcgisserver\directories\arcgissystem\arcgisinput\POD\ExportWebmap.GPServer\extracted\p20\tools.
  6. In ArcGIS Server Manager, click Services > Manage Services.
  7. Click Folders > POD.
  8. Restart your Calculators and ExportWebmap geoprocessing services.

Enable custom symbology

The ServerConfiguration.xml file provides a true/false switch to enable or disable display of custom symbology that overrides the default S-52 presentation library. When this option is set to true, you must rebuild the .senc files for the symbols to appear in your service.

Update geoenabled notes

Geoenabled notes allow you to generate textual notes for PoD outputs based on the geographic location of the product.

The notes are stored in a multipart polygon feature class, where each record has a text field that contains the note. When a new product area of interest is inserted, the area of interest is intersected with the geoenabled notes polygon layer, and a separate A4 sheet is appended to the GeoPDF export. If there is more than one page of notes, a second page is generated, and so on.

Perform the following steps to customize geoenabled notes:

  1. Unzip the Notes.gdb.zip file located in the <ArcGIS Server installation drive>\arcgisserver\directories\maritimeserver\productsondemand\LayoutTemplates folder.
    Tip:

    A sample notes geodatabase exists in the Notes.gdb.zip file.

  2. Add multipart polygon features to the FeatureClassForNotes feature class in Notes.gdb.
    Tip:
    • Sample notes can be found in the FeatureClassForNotes_Sample feature class in Notes.gdb.
    • Multipart polygons allow you to have several geographic locations that share the same note text without any redundancy.
  3. Optionally, edit the following fields in the FeatureClassForNotes feature class:

NotesTitleColorminScalemaxScale

This is a mandatory field.

Add note text or body of the paragraph.

This is an optional field.

Add the name of the note that will print above the note paragraph.

This is an optional field.

Set Red, Green, Blue (RGB) value of the note paragraph and title. Separate values with a single comma (,). The note appears with black text if the field is empty, null, or has invalid values.

Note:

This field does not comply with CYMK.

This is an optional field.

Specify the largest scale chart on which the note appears. For example, if a note should appear on charts between 1:40000 and 1:90000, type 40000 in the field.

This is an optional field.

Specify the smallest scale chart on which the note appears. For example, if a note should appear on charts between 1:40000 and 1:90000, type 90000 in the field.

Customize layout templates

Map elements

PoD provides several layout templates for various page sizes and orientations. Each layout contains map elements, such as scale bars, north arrows, and legends; logos; text; or other graphics that are created for specific purposes in the chart. Layout elements can also be map frames.

Tip:

Rename your A0 and ANSI E templates. For example, add a _withnotes suffix to the template name. Remove the _withoutnotes suffix from your backup A0 and ANSI E templates. The system now recognizes the A0 and ANSI E templates that no longer have common notes.

By default, your layout template font is set to Arial.

Manage elements

During product creation, the map elements are updated dynamically to reflect changes in the chart, such as scale, geographic extent, and generation date. PoD uses the names of elements to manage and identify which elements are to be modified by the automation script. Do not change map element names. If you modify the names, the element cannot be managed using the automation script. If necessary, you can access the name by clicking Element Name on the Size and Position tab on the Properties dialog box.

Map frame

The area of interest (AOI) generated in the PoD web app is obtained from the layout template's map frames. A calculator finds the bottom left corner of the data frame and then the left and bottom edge. Changing the map frame size impacts AOI size.

Configuring the web app

Once you have published your service definition files, updated your layout templates, published a map service with Maritime Chart Service enabled, and updated your Utilities.py file, you are ready to configure and deploy your PoD web app.

  1. Browse to <ArcGIS Server Installation Directory>\MaritimeServer\Server<version>\WebApplications and copy the POD folder to C:\inetpub\wwwroot if using Internet Information Server (IIS) to deploy your web app.
    Note:

    You can rename the POD folder. This is the name of the app you access over the web.

  2. Register your web app and get the App ID.
    Note:

    At 10.8.1 skip this step if your web app is configured for the Fixed Product type. For the Custom Product type, this is an optional setting. If you want to enable sign-in capability and need to add data from your organization's account, this step is required.

    You can also register your web app through your portal.

  3. Update your podconfig.js file located under pod\js.
    1. Update the serviceURL with the location of the service you created in step 2 of Publish the service definition files.

      If the recommended defaults were used, the path is https://gisserver.domain.com/arcgis/rest/services/POD.

    2. Update MCSURL to the map service with Maritime Chart Service enabled.

      If you enabled Maritime Chart Service for SampleWorldCities, the path is https://gisserver.domain.com/arcgis/rest/services/SampleWorldCities/MapServer/exts/MaritimeChartService/MapServer.

      Note:

      Your app uses the Esri Ocean basemap. You can choose another basemap by modifying the basemap variable.

    3. If necessary, update appID with the App ID you created in step 2. This allows you to sign in to ArcGIS Online or your portal account. This applies only to the Custom Product type.
  4. Save the changes to your podconfig.js file.

You are now ready to use PoD by launching the app.

Register the web app through your portal

If you registered the web app through your portal, complete these postregistration steps:

  1. Browse to the POD folder in your web root folder. For example, browse to C:\inetpub\wwwroot\POD if you are deploying your web app using Internet Information Server (IIS).
  2. In the widgets\AddData folder, open Widget.js.
  3. Update the portalUrl variable to https://portalserver.domain.com/arcgis.
  4. Click Save.
  5. In the widgets\LayerList folder, open Widget.js.
  6. In the appConfig section, update the portalUrl to https://portalserver.domain.com/arcgis.
  7. Click Save.
  8. In the js folder, open SignInButton.js.
  9. Uncomment // portalUrl: "https://portalserver.domain.com/arcgis", and update the portalUrl.
  10. Click Save.

Troubleshoot Maritime Server configuration issues

Use the following frequently asked questions to troubleshoot configuration issues:

What if I don't see Maritime Chart Service data in my Products on Demand app?

Verify that the MCSURL set in step 3 of the Configure the web app section is accessible to the user accessing the app.

What if I observe an Unable to complete Operation error?

Add Configure ArcGIS Server Account to the installation directory if you see the error Unable to complete Operation. Error Executing tool. CalculateExtent.

What if my Maritime Chart Service does not display or disappears after changing my display properties?

Check if you have exceeded the server URL length of 2,048 characters when using display parameters, and if so, increase the allowable URL length in the web.config.xml file.

What if I observe a possible error due to failure of enabling HTTPS on the web server?

Check if any dataset you are trying to export is using HTTPS, and if so, create the appropriate certificate in the server which hosts the dataset. For example, if you are accessing datasets outside the organization, create CA-signed certificate. If you are accessing datasets within the organization, create a domain certificate. Refer to enabled HTTPS on your web server for more information.

Related topics