Advanced Customization > Business Logic Customization > Deploying Arbortext Customizations > Anonymous Arbortext Access > Anonymous Access URL Format
  
Anonymous Access URL Format
Type
URL Format
Library
http://server:port/Windchill/servlet/WindchillGW/com.ptc.arbortext.windchill.anonymous.AnonymousAccessDownloader/lib/orgName/libraryName/name[?params]
Product
http://server:port/Windchill/servlet/WindchillGW/com.ptc.arbortext.windchill.anonymous.AnonymousAccessDownloader/product/orgName/productName/name[?params]
* 
The folder name itself is not contained in the URL. The folder name is defined in the Customizations Folder preference. See Configuring the Folder Path for Anonymous Access for information on setting this preference.
* 
As is normal for HTTP URLs, some characters, like spaces, colons, and non-Latin characters will need to be escaped in the URL; for example, space characters will need to be replaced with %20.
The name portion of the URL can be one of three things:
The object number in Windchill
The object name in Windchill
The filename of the underlying file. Generally, this is the originally uploaded file name.
Since folders in Windchill may contain multiple objects with the same name or underlying filename, the safest way to ensure you get the correct object is to use its number. Name clashes should be rare.
As an example, suppose you uploaded a file called hello.txt into this folder. The object name may be “hello”, an example object number may be “0000007324”, and the filename would be “hello.txt”. In this case, any of these could be used to specify this object in the URL.
When looking for an object to match the given string, highest priority is given to matching the number. If no matching number is found then a match against the first object with same name is done. If no matching name is found the, lastly, a match against the first object with the same filename is done.
In general, it is unlikely that there will be multiple objects with the same name or filename. But if that situation exists, the number can be used to safely access the desired object.
The optional combination of query parameters are as follows: The order of these parameter does not matter.
Parameter
Description
(no parameters)
The latest iteration from the latest version will be selected; not counting working (checked-out) iterations.
state
The most recent iteration from the most recent version that matches the given lifecycle state will be selected.
version
The most recent iteration from the specified version will be selected.
iteration
The iteration parameter is ignored. This is only used along with the version parameter.
state, iteration
The iteration parameter will be ignored. See “state” above.
state, version
The most recent iteration from the specified version that matches the given state will be selected.
version, iteration
The specified iteration from the specified version will be selected.
state, version, iteration
The iteration parameter will be ignored. See “state, version” above.
Examples of query parameter usage:
Query Parameters
Description
.../custom.zip.xml?version=C&iteration=2
Version C.2 of custom.zip
.../custom.zip?state=Approved
The most-recent version marked as Approved.
.../custom.zip?state=Approved&version=B
The most-recent version marked as Approved with a version of B.
.../custom.zip?version=B
The latest iteration in the B version.
If you specify the name of an object which does not exist in the folder, or no iteration of the object matches the given request parameters, the anonymous access URL will return a 404 response to the caller. This is normal HTTP behavior when the requested object is not found.
* 
Selecting the “Latest” Version
When dealing with versioned Windchill objects, the convention is that the “latest” object is selected by version and then by iteration. The latest iteration in version D will always be considered “newer” than the latest iteration in version C, even if that iteration was created more recently. For example, when browsing folder contents using the web UI, you’ll always see the latest iteration from the latest version, even if there are newer iterations in other versions.
The version selection for anonymous access URLs works in this way. For example, if the state parameter is specified without a version, and A.4 and B.2 both have the requested state, B.2 will always be returned regardless of when A.4 was created.