Skip to main content


Publishing PageSeeder data to print, the Web or both

Task config

The Universal Ant PS Config is used to centralize common configuration parameters and to maintain transparency about the config in use.


<ps:config name="[name]" file="[file]">
  <entry key="[key]" value="[value]"/>


nameThe name of the config - set to default if not specifiedNo
fileThe path of a file containing the properties to loadNo
load-defaultWhether to load the default properties from PageSeeder (only applicable if script is run within PageSeeder publisher)Notrue


Entries can also be specified individually using the inner element

<entry key="[key]" value="[value]">

Each entry overwrites any existing one with the same name.


Simplest case:

<ps:config />

 Reading properties from file:

<ps:config file="" />

Named configuration:

<ps:config name="A" file="" />
<ps:config name="B" file="" />

Overriding file properties:

<ps:config file="" >
  <entry key="scheme" value="https"/>


The task adds a list of properties to the current project. Each property can be accessed using the following pattern: 


where [config] is the name of the config (if none was specified, default is used) and [property] is the name of the property.


Following are the names of properties created by the PS config. They correspond to the old ps-* Ant properties except where 'new property' is specified.

jsessionidThe jsessionid for a PageSeeder user
hostThe webSiteAddress from PageSeeder
portThe webSitePort from PageSeeder
servlet.prefixThe servletPrefix from PageSeeder
site.prefixThe sitePrefix from PageSeeder
global.templateglobalTemplate name from PageSeeder (e.g. acmedefault)
group.idID of group initiating the publish (e.g. 12)
group.nameName of group initiating the publish (e.g. acme-demo)
group.folderPath of default group folder
  /ps/acme/demo of default group folder with no site prefix
group.schemeScheme of default group folder (e.g. https) – new property
group.hostHost of default group folder
group.portPort of default group folder (e.g. 80)
group.templateTemplate of group/default group for URI (e.g. acme) – previously ps-style-owner
custom.folderglobalTemplate name from (e.g. acmedefault). – DEPRECATED in v5.99 use global.template instead.
workingPath to local unique working folder for this group/document
working.rootPath to root for all local working folders
documents.rootPath to PageSeeder documents folder (only if Publish Engine is installed on PageSeeder server).
web.rootPath to the root for the ps-publisher webapp
engine.urlThe external URL used to contact the Publish Engine
session.folderA unique folder name for the current PS user session to copy result files to
(i.e. ${ps-webRoot}/session/${ps-sessionfolder} )


The following parameters are only passed when a Document is being published (not when a Group or Batch is being published and not when the document is in the Loading Zone):

uri.idURI id (e.g. 123)
uri.schemeURI scheme (e.g. http)
uri.hostURI host (e.g.
uri.portURI port (e.g. 80)
uri.pathURI path
  /ps/acme/demo/minutes/2006-12-08.xml path without prefix
  /acme/demo/minutes/2006-12-08.xml path without group prefix
uri.folderURI folder
  /ps/acme/demo/minutes folder with /ps prefix
 /acme/demo/minutes folder without group prefix
uri.filenameFilename (e.g.  2006-12-08.xml) without extension (e.g.  2006-12-08)
uri.extensionFile extension (e.g.  xml)
uri.document.idURI docid (e.g. mydoc1)
uri.document.typePSML document type (e.g. definition)
uri.publication.idThe ID of the publication that URI is the root of (e.g. mypub1)
uri.publication.typeThe type of the publication that URI is the root of (e.g. report) otherwise default.


The following parameters are for processing a Batch of documents (requires PageSeeder v5.98 or higher):


A comma-separated list of URI IDs in the batch.
For example:


The search question used to select the batch IDs from (optional).
For example:


The search question fields used to select the batch IDs from (optional).
For example:


The search filters used to select the batch IDs from (optional).
For example:


The search ranges used to select the batch IDs from (optional).
For example:


Loading Zone

The following parameters are only passed when a Document in the Loading Zone is being published.

upload.pathDocument path
upload.folderDocument folder
upload.filenameFilename (e.g.  2006-12-08.xml) without extension (e.g.  2006-12-08)
upload.extensionFile extension (e.g.  xml)
upload.confirmedIf script is run before displaying the Upload confirmation then false, otherwise true

Current user

The following parameters are only passed when the current user is logged in:

usernameThe current user’s username (e.g.  jsmith)
user.idThe current users ID (e.g 123)
user.firstnameThe current user’s first name (e.g.  John)
user.surnameThe current user’s surname (e.g.  Smith)

Set manually

The following properties can only be set manually:

passwordThe password used to connect to PageSeeder. When setting this property use load-default="false" on <ps:config> to ensure that the default jsessionid does not override the password.
To see the list of configuration properties while running a script, you can either use the DEBUG or VERBOSE mode (developer only) or use the echo properties Ant task  <echoproperties />


Created on , last edited on