Application Facilities |
When packages are published to channels, name/value filters can be used to limit the packages published to individual subscribers. Subscriber-specified name/value filters are compared to the name/value pairs in the published packages. If the filters match the package, the package is published to the subscriber.
Subscribers use the SAS Subscription Manager applet to specify default filters and per-channel override filters. The applet manages filtering attributes in the subscriber's LDAP entry.
Subscribers also use the Subscription Manager applet to specify a delivery
transport. If a subscriber specifies a delivery transport of
queue
, that subscriber can specify additional filters to limit
the package entries included in the packages published to that subscriber.
Package entry or MIME type filters are compared to the entry type
or MIME type of each package entry. If the package entry type or MIME type
matches the subscriber's entry type or MIME type filters, that package
entry is included in the package published to that queue subscriber.
During package development, user-defined name/value pairs are added to packages in the PACKAGE_BEGIN CALL routine. Entry types are added to package entries automatically in the various INSERT CALL routines. User-defined MIME types are added to package entries in the INSERT_FILE CALL routine.
At publish time, filtering takes place when a package is published with the PACKAGE_PUBLISH CALL routine with a publishType of TO_SUBSCRIBERS.
To implement name/value filters across your enterprise, the name/value pairs applied to packages must agree with the name/value pairs that appear in subscriber filters. Maintaining a global list of agreed-upon name/value pairs and including definitions and usage information for each name/value pair enables accurate package description and subscriber filtering in your enterprise.
The name/value filters used in your enterprise depend on the types of packages
that you publish and on the types of subscribers that receive those packages.
For example,
you could define a channel called Maintenance that includes e-mail subscribers
and an archive subscriber named MaintReports. You could add a name/value
filter to the LDAP entry for the MaintReports archive subscriber that would
refuse to accept packages that contain a name/value pair of
noarchive
. For this filter to be effective, packages published to
the Maintenance channel would need to include the noarchive
name/value pair in the appropriate way in order to keep unwanted packages out
of the MaintReports archive.
A global list of name/value pairs would help ensure that the filters and the
packages both used the noarchive
name/value pair appropriately.
A wide variety of syntax options for name/value filters gives subscribers many filtering options, including filtering based on logical relationships between multiple name/value pairs. For information on the syntax of name/value filters, refer to Specifying Name/Value Filters in the documentation for the Subscription Manager application.
For additional information on defining channels and name/value pairs for your enterprise, see the Publish and Subscribe Planning and Implementation Guide.
Like name/value pairs, MIME types are user-defined and as such need to be maintained globally to ensure consistent filtering. See the INSERT_FILE CALL routine for a list of suggested MIME types.
Entry types are specified automatically in the various INSERT CALL routines. For a list of available package entry types, see the syntax description of the ENTRY_FIRST CALL routine.
Application Facilities |