| Publishing Packages |
Syntax |
| CALL PACKAGE_PUBLISH(packageId, publishType, rc, properties,<propValue1, ...propValueN>); |
identifies the package that is to be published.
| Type: | Numeric |
| Direction: | Input |
indicates how to publish the package. To publish the package using the WebDAV transport, specify a publishType of TO_WEBDAV.
| Type: | Character |
| Direction: | Input |
receives a return code.
| Type: | Numeric |
| Direction: | Output |
identifies a comma-separated list of optional property names. Specify any of the following property names, or specify '' to indicate that no properties are to be applied:
ARCHIVE_NAME
ARCHIVE_PATH
COLLECTION_URL
HTTP_PASSWORD
HTTP_PROXY_URL
HTTP_USER
IF_EXISTS
PARENT_URL
TARGET_VIEW_MIMETYPE
TARGET_VIEW_NAME
TEXT_VIEWER_NAME
VIEWER_NAME
| Type: | Character |
| Direction: | Input |
specifies one value for each specified property name. The order of the property values must match the order of the property names in the properties parameter.
| Type: | Character or Numeric |
| Direction: | Input |
| Details |
Publishing with a publishType of TO_WEBDAV publishes a package to a specified URL on a WebDAV-compliant server. Starting with SAS 9.2, the HTTPS protocol is supported when publishing to a WebDAV server. WebDAV servers enable distributed authoring and versioning, which enables collaborative development of Web files on remote servers.
The WebDAV transport stores package entries as members of a collection.
If you specify the COLLECTION_URL property, then the package is published to the specified URL on a WebDAV-compliant Web server. When you use COLLECTION_URL, the default behavior is to replace the existing collection and its nested directories at that location. If you do not want to replace an existing collection and its nested directories, then you must use the IF_EXISTS property. An example of a collection URL is
http://www.host.com/AlphaliteAirways/revenue/quarter1
The collection is named quarter1.
The PARENT_URL property is similar to the COLLECTION_URL property except that it specifies the location under which the new WebDAV collection is to be placed. The PUBLISH_PACKAGE CALL routine generates a unique name for the new collection. The unique name is limited to eight characters with the first character as an s. An example of a parent URL directory location is http://www.host.com/AlphaliteAirways/revenue. An example of a collection name that is automatically generated might be s9811239.
The specifications of the COLLECTION_URL property and the PARENT_URL property are mutually exclusive.
To announce the availability of new WebDAV collections on WebDAV-compliant servers, use a publishType of TO_SUBSCRIBERS or TO_EMAIL.
WebDAV publishing uses the following file extensions for each item type:
| Item Type | File Extension |
|---|---|
| CATALOG | .sac |
| DATA | .sad |
| FDB | .saf |
| MDDB | .sam |
| REFERENCE | .ref |
| VIEW | .sav |
If you specify the VIEWER_NAME property with the COLLECTION_URL or PARENT_URL property, then the view is rendered in HTML format. If you specify the TEXT_VIEWER_NAME with the COLLECTION_URL or PARENT_URL properties, then the view is rendered in text format.
The specified viewer is used to create a rendered view that is named index.html. To override the default name that is assigned to the rendered view, use the APPLIED_VIEWER_NAME or APPLIED_TEXT_VIEWER_NAME, as appropriate, to specify a filename for the rendered view.
If you specify the ARCHIVE_PATH property, then an archive is created and published as a binary package on a WEBDAV-compliant server. All entries that are inserted into the package are published as an archive. If you specify a value for ARCHIVE_PATH, then the created archive is stored at the designated location. To create a temporary archive that is deleted after the package is published, specify an ARCHIVE_PATH value of "" or "tempfile".
For more details on how to use the archive properties, see PACKAGE_PUBLISH (PublishPackage to Archive).
Note: In order to create an archive under the z/OS operating environment,
the z/OS environment must support UNIX
System Services directories. ![[cautionend]](../../../../common/61991/HTML/default/images/cautend.gif)
When publishing a binary package with the WEBDAV transport, you can specify the following archive properties: ARCHIVE_NAME, ARCHIVE_PATH, HTTP_PASSWORD, HTTP_PROXY_URL, or HTTP_USER.
When publishing to a WebDAV-compliant server, optional name/value pairs are transmitted to the WebDAV server in XML format. XML format requires that the name portion of the name/value pair specification follow these conventions:
It must begin with an alphabetic character or an underscore.
It can contain only alphabetic characters, numeric characters, and these special characters: . (period), - (hyphen), and _ (underscore).
If a namespace is associated with the name portion of a name/value pair, then the name can also include a colon (:). Name/value pairs not explicitly associated with a namespace might not be retained by the WebDAV server. For details about the NAMESPACE property or about specifying the nameValue parameter for an entire package, see PACKAGE_BEGIN.
For details about specifying the nameValue parameter for a single package item, see the applicable INSERT_item CALL routine, where item can be any of the following:
CATALOG. See CATALOG.
DATASET. See DATASET.
FILE. See FILE.
HTML. See HTML.
MDDB. See MDDB.
PROC SQL VIEW. See PROC SQL VIEW.
REFERENCE. See REFERENCE.
VIEWER. See VIEWER.
| Examples |
The following example uses the HTTPS protocol when publishing to the WebDAV server:
rc = 0; pubType = "TO_WEBDAV"; http_user="vicdamone"; http_password="myway"; properties="COLLECTION_URL, http_user, http_password"; cUrl = "https://www.alpair.web/NightlyMaintReport"; CALL PACKAGE_PUBLISH(packageId, pubType, rc, properties, cUrl, http_user, http_password);
The following example publishes a package to a URL via the specified proxy server by using the specified credentials:
rc = 0; pubType = "TO_WEBDAV"; properties="COLLECTION_URL,HTTP_PROXY_URL, IF_EXISTS,HTTP_USER,HTTP_PASSWORD"; cUrl = "http://www.alpair.secureweb/NightlyMaintReport"; pUrl = "http://www.alpair.proxy:8000/"; exists = "update"; user = "JohnSmith"; password = "secret"; CALL PACKAGE_PUBLISH(packageId, pubType, rc, properties, cUrl, pUrl, exists, user, password);
The following example uses the e-mail transport to publish a collection URL on a WebDAV-compliant server. The HTTP user ID and password enable the publisher to bind to the secured HTTP server. All e-mail recipients who are members of the mail list receive the e-mail announcement that the best rates are accessible at the specified URL.
pubType = "TO_EMAIL"; properties="COLLECTION_URL, SUBJECT, HTTP_USER, HTTP_PASSWORD"; collurl="http://www.alphaliteairways/fares/discount.html"; subj="Announcing Best Rates Yet"; http_user="vicdamone"; http_password="myway"; Addr = "admins-l@alphaliteair05"; CALL PACKAGE_PUBLISH(packageId, pubType, rc, properties, collurl, subj, http_user, http_password, Addr);
The following example uses the ARCHIVE_PATH property to publish a binary package to the WebDAV-compliant server. The archive path is specified as "tempfile" so that the locally created archive file will be deleted once it has been published to the WebDAV server.
pubType = "TO_WEBDAV"; properties="COLLECTION_URL, ARCHIVE_PATH"; cUrl = "http://www.alpair.secureweb/Reports"; apath = "tempfile"; CALL PACKAGE_PUBLISH(packageId, pubType, rc, properties, cUrl, apath);
Copyright © 2008 by SAS Institute Inc., Cary, NC, USA. All rights reserved.