Configuring Product visibility at a Catalog or Space level
How to set a limit on the visibility for all Products that are published to a Catalog or Space.
Before you begin
To configure Product visibility at the Catalog or Space level, you must be assigned to a role that has the Creating and configuring Catalogs.
permission for that Catalog or Space. For more information on assigning Catalog permissions to a role, seeNote: All references in this topic to a Catalog can also be
applied to a Space in a
Catalog, unless specified otherwise. For more information about Spaces, see Using syndication in API Connect.
About this task
The availability of a Product to users is determined by both the visibility setting (that covers which users can view the Product), and the subscribability setting (that covers which users can subscribe to the Product). When you create a draft Product, you typically define the visibility and subscribability in the Product document; see Specifying the visibility of your Product, and Creating a draft Product for details.
You can define a Catalog or Space setting to control the visibility of all of the Products that
are published to that Catalog or Space, as described in the following instructions. When this
Catalog or Space setting is enabled, it can be used for the following two purposes:
- The setting can ensure that any Product published to that Catalog or Space, cannot have a visibility setting that exceeds the visibility limit set at the Catalog or Space level.
- The setting can also be used as the default visibility setting for all Products that are published to that Catalog or Space.
When you're publishing a Product, the visibility setting can come from the following four places:
- Product override; set during the API Manager UI sequence to publish a Product. If this setting is used, it supersedes any visibility setting in the draft Product.
- Product document; set in the draft Product.
- Catalog or Space setting. If Product visibility is enabled in the Catalog or Space, and the visibility is not set by a Product override or in the Product document, then the Catalog or Space visibility setting is used as the default setting. This setting can also be used as a limiter, to ensure that any Product that is published cannot exceed the Catalog or Space visibility setting.
- Default setting. If there are no other visibility settings, then the following default
visibility and subscribability settings are used:
visibility: { view: { enabled: true, type: 'public', orgs: [] }, subscribe: { enabled: true, type: 'authenticated', orgs: [] } }
Table 1 shows which Product level visibility settings are allowed when
different Catalog level visibility settings are enabled.
Catalog level visibility setting | Product level visibility setting |
---|---|
Public | Public, Authenticated, or Custom. |
Authenticated | Authenticated, or Custom. |
Custom | Custom. Note that the Product level visibility organization and group URLs are limited by the Catalog level organization and group URLs. |
Table 2 shows how the Product subscribe setting is limited by the
Product visibility level. Only visible Products are available for subscriptions. For example, if you
want the subscription audience to be authenticated, the visibility audience
cannot be custom.
Product visibility level | Product subscribe setting |
---|---|
Public | Authenticated, or Custom. |
Authenticated | Authenticated, or Custom. |
Custom | Custom. Note that the Product subscribe organization and group URLs are limited by the Product visibility organization and group URLs. |
Note:
- Changes to the Catalog visibility setting affects only future Product publishes. There is no change to Products that are already published.
- Any updates to the visibility of a Product are always verified against the
Catalog visibility setting, as the Catalog visibility setting sets the maximum visibility level that
is allowed. Therefore, if Product visibility is enabled in a Catalog, and the visibility setting of
a Product is less restrictive than is set in the Catalog, then the Product publish to that Catalog
will fail. For example, if the Catalog visibility setting is
authenticated
, then any Products that are published to that Catalog cannot have a visibility setting ofpublic
. - You can also modify the Catalog visibility settings by using the API Connect REST APIs; see the API Connect REST API documentation.
Procedure
To modify the Catalog or Space visibility settings by using the developer toolkit CLI, complete the
following steps.