Available with Production Mapping license.
Template instructions allow products to be more dynamic, allowing them to perform actions during key events like a checkout. There are three types of template instructions controlled by file types: data frame rules, layout rules, and Python scripts.
You can use a Python script to execute custom business logic on a product. To do this, you save a Python module (.py) as part of the template instructions. The Python script can access a product's map document using the system (arcpy) module. When a Python script runs as a template instruction, the map document path is passed as a command line argument. You can access it with arcpy.GetParameterAsText(0).
The following template instruction Python script creates a map document from an .mxd path referenced in arcpy.GetParameterAsText(0). The script updates a text element with the current date.
print "started....import"
import arcpy
print "arcpy loaded...."
import sys
print "sys loaded...."
import datetime
print "datetime loaded..."
#pass the product mxd into the script as an argument
mxd = arcpy.mapping.MapDocument(arcpy.GetParameterAsText(0))
#Find and replace an element with the name "[Date]" with a text string with current date
for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
if elm.name == "[Date]":
elm.text = str(datetime.date.today())
else:
print "Element not updated!"
print "finishing updating map element"
mxd.save()
del mxd
print "save and released map document...process finished!"
- Start ArcMap.
- If necessary, open the Product Library window by clicking Customize > Production > Product Library on the main menu.
A tree view of the product library appears.

- If necessary, expand Product Library and Products.
-
Navigate to and right-click an existing class, series, or product from the Product Library tree and click Properties.
The properties dialog box for the class, series, or product appears.
- Click Template Instructions on the left-hand pane.
-
Click the plus sign (+) next to Python Script.
The Python Script properties appear.
- Click the cell next to File and click the ellipsis (...) that appears.
The Browse For File dialog box appears.
- Click the Storage type drop-down arrow and choose an option:
- File system—If the file is stored in a local or network computer
- Database—If the file is stored in a database
- Click the ellipsis (…) next to the Location field.
The Open dialog box appears.
- Navigate to the Python script PY file you want to use.
- Click Open.
The Browse For File dialog box appears with the path to the XML file in the Location field.
- Click OK.
The properties dialog box for the class, series, or product appears.
- Click OK.
You can now apply python scripts when you check out a template or product by clicking Options and checking the box next to the instructions.