Widget catalog options and access

The widgets catalog is a server-based application that contains all centrally managed widgets and their underlying XML extension definitions, including content types and recognizers. The catalog is based on the IBM® Domino® server-supplied XPages widget catalog template (toolbox.ntf) and its access is controlled by a combination of application ACLs and Domino® policies (or plugin_customization.ini preferences), as well as widget categories.

Power users can configure new widgets and publish them to the catalog for user access. Users obtain the latest widgets from the catalog on a scheduled basis. Depending on how users are configured, they can browse the catalog for new widgets and update the widgets in their local catalog replica on demand.

Catalog documents

Each widget is represented in the catalog as a Notes® document containing the following elements.

  • Widget graphic for display in the catalog document

    Note: You can use the default graphic or specify another for display in the catalog document. However the graphic you specify for the catalog document has no effect on the widget thumbnail used in the My Widgets sidebar panel. The widget thumbnail is specified in the .XML file attachment using the imageUrl variable.
  • Title, Description, and Detail

    Use the default widget name or specify a different catalog document title. Use the Description and Details fields to describe the widget.
  • Category

    Control user access to the widget based on widget category grouping such as team name or job. This is the how you specify which users have access to which widgets. Users whose "category" policy or preference allows them access to widgets of a specific category name will be provisioned with those widgets automatically.
  • Platform

    Optionally specify a platform type such as Sametime®_version or Notes®_version.
  • Type

    Optionally specify the widget type(s) -- for example content type only, recognizer only, component, feature or plug-in, or any combination. You can use Type as a means of sorting widget display in the catalog view.
  • XML extension attachment

    This contains the widget XML itself, which informs the client what to do when the widget is provisioned to the user, for example deploy a plug-in from a named update site or install a gadget.

If you are using the catalog as an XPages application, users who are configured to do so can Rate, Tag, or Comment on the widget documents.

Catalog views

The catalog is supplied with the following views:

  • All Widgets
  • By Author
  • By Category
  • By Type

There are several other Administration catalog view options available.

If you are using the catalog as an XPages application, the catalog has expanded view and search capabilities. You can view entries in the widget catalog by author, by category, by type, or simply view all widgets. You can display widgets for specific products, such as IBM® Notes®, IBM® Sametime®, or IBM® Symphony®. While browsing the widget catalog you can add comments, tags and ratings to widgets.

Catalog access rights

The administrator can assign catalog access rights based on user type, using a combination of Notes® application ACLs and policy or preference settings.

  • Using catalog application ACLs

    A user with read and write access to the catalog and assigned the [WidgetAuthor] role can create and edit widgets in the catalog. They can change or add widget categories to catalog documents which, in use with policies or preference, can force deployment to specific users or groups. They can also create, edit, or remove widgets and can publish new widgets to the catalog from the My Widgets sidebar panel.

    Note: A user who has an access level of Editor or greater to the catalog and who is assigned the [Admins] and [WidgetAuthor] roles can create, edit, and remove widgets in the catalog.
    Note: If you are assigned the [Admins] role in the catalog ACL and are not provided with the Administrator features in your local replica, you may need to enable Enforce consistent access across replicas in the ACL of your local replica.
  • Using policy or plugin_customization.ini file preferences

    The administrator can control a variety of Widgets and Live Text and catalog access setting using policy. If using Widgets and Live Text outside of a server-managed environment, there are equivalent settings in the plugin_customization.ini file. For example, an administrator can control widget deployment based on categories. Categories are created in the catalog, but are administered by way of user policy or preference settings. Specific widgets can be deployed to specific users based on the category in which a given widget resides and the categories for which a given user is assigned.

Catalog action buttons

The catalog classic views contain the following action buttons:

  • Import
    This action makes it easy for administrators to create widget documents from widget xml files. If the widget is an OpenSocial widget type, the Import action can import proxy data and OAuth data for the widget. Separate files are used to store widget definition, proxy rules and OAuth information, as follows:
    • Widget xml is included in a file named widget_name.extension.xml.
    • Proxy rules are included in a file named widget_name.proxy.xml.
    • OAuth information is included in a file named widget_name.oauth.xml.

    When selecting the Import action, administrators need to browse for the widget xml file to import. The Import action will automatically locate the proxy and OAuth files in the same directory.

    The following is a sample of a proxy definition file. You can specify gadget proxy rules as well as content proxy rules. The ContentProxy attribute of gadget element is used to identify whether it is a gadget proxy rule or content proxy rule.
    <proxyrules>
    <gadget url="http://server.com/directory/GadgetFile.xml">
    <allow ip="9.6.1.0/255.255.255.0,9.6.1.1/255.255.255.0" /><!-- Multiple values are separated by comma -->
    <deny ip="9.6.0.0/255.255.0.0,9.6.1.4" /><!-- Multiple values are separated by comma -->
    <ProxyRule url="*" actions="GET,POST,PUT,HEAD,DELETE" headers="*" mime_types="" cookies=""></ProxyRule><!-- can be multiple-->
    </gadget>
    <gadget ContentProxy="true" url="http://server.com/directory/GadgetFile.xml">
    <allow ip="9.6.1.0/255.255.255.0,9.6.1.1/255.255.255.0" /><!-- Multiple values are separated by comma -->
    <deny ip="9.6.0.0/255.255.0.0,9.6.1.4" /><!-- Multiple values are separated by comma -->
    <ProxyRule url="*" actions="GET,POST,PUT,HEAD,DELETE" headers="*" mime_types="" cookies=""></ProxyRule><!-- can be multiple-->
    </gadget>
    </proxyrules>
    The following is a sample of an OAuth definition file. All OAuth2 information is defined under the OAuth2 element. All OAuth1.0a information is defined under the OAuth1a element. Multiple OAuth services can be defined in the same OAuth definition file.
    <App ID="http://server.com/directory/GadgetFile.xml">
    <OAuth2 ServiceName="OAuth2ServiceName"
    AllowModuleOverides="false"
    OAuth_Authorization_URI="http://server.com/oauth2/endpoint/provider/authorize"
    OAuth_Access_Token_URI="http://server.com/oauth2/endpoint/provider/token"
    Consumer_Key="key"
    Consumer_Secret="secret"
    Client_Type="CONFIDENTIAL"
    Grant_Type="AUTHORIZATION_CODE"
    Client_Auth_Type="STANDARD"
    Use_Authorization_Header="false"
    Use_Url_Parameter="true"
    Shared="true"
    />
    <OAuth1a ServiceName="OAuthServiceName"
    OAuth_Request_Token_URI="request token"
    OAuth_Authorization_URI="http://server.com/oauth/endpoint/authorize"
    OAuth_Access_Token_URI="http://server.com/oauth/endpoint/token"
    Consumer_Key="key"
    Signature_Method="RSA-SHA1"
    Consumer_Secret="secret"
    Include_Body_Hash="true"
    />
    </App>
  • Open

    This action allows you to open and view the selected catalog document for the purposes of viewing and optionally adding it to the My Widgets sidebar panel. Provided you have edit rights to that document, you can also open it for edit.

  • Add Widget to Catalog

    Use this action to add a widget, content type, or recognizer to the catalog. This action opens a dialog in which you can attach your .XML file and add a title, category name (optional), type designation, short description, and detailed description.

    Note: For Notes® clients, to automatically create a new document in the catalog for a specific widget in the My Widgets sidebar panel, if policies or preferences allow you to do so, you can right-click the widget in the My Widgets sidebar panel and select Publish to Catalog.

    When you are running the catalog as an XPages application, the views contains the Add Widget action button. Use this action to add a widget, content type, or recognizer to the catalog.