Skip To Content

Deploying Products on Demand (PoD)

Available with Production Mapping license.

ArcGIS for Maritime: Server 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 productsondemand folder from PoD installation to deployment location. The files in the installation location can be treated as a backup. And the files in the deployment location will be modified as needed. <ArcGIS Server installation drive>\arcgisserver\directories\ maritimeserver is a recommended location to copy the folder to since PoD folder and maritime server folder will be under the same directory.

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

Note:

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

  1. 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 maritimeserver folder created in step 1.
  3. Configure the ArcGIS Server account.

Sharing and permissions

Share and add permissions to your <ArcGIS Server installation drive>\arcgisserver folder with the following steps to make sure your ArcGIS Server account user has Full Control permission on this folder.

Note:

PoD product export processing will write or modify necessary files under this folder.

  1. Right-click the arcgisserver folder and select 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 your ArcGIS Server account user.
    Note:

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

  8. Once the user is added, click OK to close the Select Users or Groups dialog box.
  9. Select the newly added user in the Share Permissions tab and choose Full Control.
  10. Click OK.
  11. Click OK again to close the Advanced Sharing dialog box.
  12. Click Close.

Publishing service definition files

Publish the three 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://localhost:6443/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. Click Browse and browse to the <ArcGIS Server Installation Directory>\MaritimeServer\Server<version> location.

    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. Doing so will not allow the web app to work.

    By default, the service definition is published to the server folder specified in the service definition configuration. 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 Products on Demand. It is recommended that you create a folder to organize your PoD-related services. By default, POD is recommended.

  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 ExtentLayer.sd and Gateway.sd.

    Your services are now running at https://gisserver.domain.com:6443/arcgis/rest/services/POD and can be accessed by users and clients on your network.

Updating your Utilities.py file

This process must be done after you have published your PoD service definition files. This will allow your Calculator and Gateway geoprocessing services to know where you deployed the folderproductsondemand in the following steps.

  1. Browse to the Utilities.py file in your local machine and edit it. The default location is <ArcGIS Server installation drive>\arcgisserver\directories\ maritimeserver \productsondemand\Tools.

    This is the shared_products_path where the folder productsondemand will be deployed.

  2. You need to update the following variables:
    • shared_products_path and output_directory—Update with your machine name, domain and update the path if you did not use the recommended default settings.
    • output_url—Use of localhost is only for local testing. Otherwise, update with your machine name and domain and update path if you did not use the recommended default settings.
  3. Save changes to Utilities.py and click Exit.
  4. Copy your updated Utilities.py file to your newly published Calculators and Gateway 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\Gateway.GPServer\extracted\v101\tools.
    • Copy your updated Utilities.py file located in step 1 to <Installation Location>\arcgisserver\directories\arcgissystem\arcgisinput\POD\Calculators.GPServer\extracted\v101\tools.
  6. In ArcGIS Server Manager, click Services > Manage Services.
  7. Click Folders > POD.
  8. Restart your Calculator and Gateway geoprocessing services.

Setting the Maritime Chart Service URL in your layout templates

PoD comes with layout templates that have been predefined with various surround elements and a Maritime Chart Service WMS layer. The default WMS layer location is http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer/exts/MaritimeChartService/WMSServer. If your map service with Maritime Chart Service enabled is different, you will need to modify your layout templates before finishing your deployment.

Note:

The layer properties within the layout template contain a parameter named DPI with a value of 300. This is required to produce chart products at a higher resolution for printing.

Updating geo-enabled notes

Geo-enabled notes allow you to generate textual notes for Product on Demand (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 geo-enabled notes polygon layer, and a separate A4 sheet is appended to the GeoPDF export. If there is more than a single page of notes, a second page is generated, and so on.

Perform the following steps to customize geo-enabled notes:

  1. Unzip Notes.gdb.zip under <ArcGIS Server installation drive>\arcgisserver\directories\ maritimeserver\productsondemand\LayoutTemplates.
    Tip:

    The Notes.gdb.zip exists in the Notes.gdb folder.

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

NotesTitleColorminScalemaxScale

This is a mandatory field.

Note text or body of the paragraph.

This is an optional field.

Name of the note that will print above the note paragraph.

This is an optional field.

Red, Green, Blue (RGB) value of the note paragraph and title. Separate values with a single comma (,). The note will appear 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.

Allows you to specify the largest scale chart on which the note will appear. For example, if a note should appear on charts between 1:40000 and 1:90000, you will type 40000 in the field.

This is an optional field.

Allows you to specify the smallest scale chart on which the note will appear. For example, if a note should appear on charts between 1:40000 and 1:90000, you will type 90000 in the field.

Customizing map document templates

Map elements

PoD provides several map document templates for various page sizes and orientation. Each map document 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 data frames.

Tip:

Rename your A0 and ANSI E templates. For example with a _withnotes suffix in their name. Remove the _withoutnotes from your backup A0 and ANSI E templates. The system will now recognize the A0 and ANSI E templates that no longer have common notes.

By default your layout template font is set to Arial.

Managing 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. Map element names should not be changed. If names are modified, 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.

Data frame

The area of interest (AOI) generated in the PoD web app is obtained from the map document template's data frame. A calculator finds the bottom left corner of the data frame and then the left and bottom edges. Changing the data frame size will impact the 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 will be the name of the app you access over the web.

  2. Update your podconfig.js file located under pod\js with your newly published PoD service.
    • Update serviceURL to the location created in step 2 of Publishing service definition files. If defaults were used, then the path is https://gisserver.domain.com:6443/arcgis/rest/services/POD.
    • It is recommended that you update your MCSURL path to the same map service used in your layout template. The default location is https://gisserver.domain.com:6443/arcgis/rest/services/SampleWorldCities/MapServer/exts/MaritimeChartService/MapServer.
      Note:

      MCSURL will only be used in the web app for viewing. The layout template WMS service will be used by the print service to create the chart export.

      Note:

      Your app will use the Esri Ocean basemap. You can choose another basemap by modifying the BasemapWithMCS variable.

  3. Save changes to your podconfig.js file.
  4. You are now ready to use PoD by browsing to https://<your server>/<app name>/.

Troubleshooting the Maritime Server configuration

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

Verify that the MCSURL set in step 2 of the "Configuring the web app" section is accessible to the user accessing the app.

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

Verify that the S57 Layer in the layout template being accessed during PoD export is accessible to the user accessing the PoD app.

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

Check if you have exceeded your server URL length of 2048 characters when using display parameters in your GET request.

POST is not necessarily supported in all third-party apps.

If you are unable to support POST in your apps, it is recommenced that you increase your allowable URL length using a web.config.xml file.

What if I observe an Unable to complete Operation error?

Add Configure ArcGIS Server Account to install directory if you observe the following error: Unable to complete Operation. Error Executing tool. CalculateExtent.

Related topics