This content has been archived.

Guidelines for creating pluggable components for storing and sourcing case and Pulse attachments

You can create a web storage component for storing and sourcing an application's case and Pulse attachments in an external web storage provider. Using an external web storage provider allows the users of your application to collaborate with colleagues on content from any device. When created and added to the Pega® Platform, the provider is listed as an option for configuring content storage and sourcing on the Integration & security tab of the Application rule form.

You can download the SharePoint Online web storage component from Pega Exchange to use as a reference when you are creating your own pluggable component.

Data pages

The web storage component must contain the following data pages:

The data pages must have a configured data source. You can use the REST Integration wizard to create a data source to obtain data from the web storage provider and to use the RESTful APIs offered by web storage providers.

All the data pages must have error normalization applied to them by using response data transforms to produce error messages that will be displayed to the end user. You can reuse or extend the Pega-API-Storage.pzPegaStorageAPIErrorHandler data transform for error handling.

Create file

This data page is used to create a file in the web storage provider using the information that is specified by the parameters. The resultant data contains the metadata of the file that was created. Minimally, the data includes the ID and Name properties.

  • Data page – D_<<PROVIDER_NAME>>CreateFile
  • Data type – Pega-API-Storage-File
  • Parameters
    • FileName – Required. Name of the file.
    • FileContent – Required. Base64 encoded value of the file content.
    • FolderPath – Required. Relative path, with respect to the root folder to use as the parent folder for the file. If the web storage provider uses a unique ID instead of a path to identify a folder resource, specify the unique ID instead of the path.
    • FileContentType – Content type of the file content.
    • AuthProfile – Required. Name of the authentication profile that contains the authentication or authorization details required to connect to the web storage provider.

Get file content

This data page is used to retrieve the content of a file in the web storage provider using the information specified by the parameters. The resultant data is the Base64 content of the file.

  • Data page – D_<<PROVIDER_NAME>>GetFileContent
  • Data type – Pega-API-Storage-File
  • Parameters
    • AuthProfile – Required. Name of the authentication profile that contains the authentication or authorization details required to connect to the web storage provider.
    • FilePath – Required. Relative file path with respect to the root. If the web storage provider uses a unique ID instead of a path to identify the file resource, specify the unique ID instead of the path.

Delete file

This data page is used to delete a file in the web storage provider using the information specified in the parameters. There is no resultant data.

  • Data page – D_<<PROVIDER_NAME>>DeleteFile
  • Data type – Pega-API-Storage-File
  • Parameters
    • FilePath – Required. Relative file path with respect to the root. If the web storage provider uses a unique ID instead of path to identify the file resource, specify the unique ID instead of the path.
    • AuthProfile – Required. Name of the authentication profile that contains the authentication or authorization details required to connect to the web storage provider.

Get folder items

This data page is used to get the folder items in the web storage provider using the information specified in the parameters. The resultant data contains the pxResults of the file and folder pages. Each page must minimally have values for ID, Name, and pxObjClass properties. The pxObjClass property value should be either Pega-API-Storage-File or Pega-API-Storage-Folder based on the object type.

  • Data page – D_<<PROVIDER_NAME>>GetFolderItems
  • Data type – Pega-API-Storage-Object
  • Parameters
    • FoldersOnly – Specify as true to retrieve only folders. Otherwise, this API retrieves both files and folders.
    • AuthProfile – Required. Name of the authentication profile that contains authentication or authorization details that are required to connect to the web storage provider.
    • FolderPath – Required. Relative folder path with respect to the root. If the web storage provider uses a unique ID instead of a path to identify folder resource, specify the unique ID instead of the path.

Field value rule

The component must contain a field value rule that indicates that the component is web storage-compliant and that contains the following parameters:

  • Applies To class – Embed-Application-StorageProvider
  • Field name – WebStorageProviderName
  • Field value – Name of the provider. This value must match the <<PROVIDER_NAME>> specified in the data pages. The specified provider name is the value that is displayed when you configure content storage and sourcing for the application.

Data transform rule

The component must contain a data transform rule that is an extension point for delegating the initialization of the web storage component. It must have the following properties:

  • Applies To class – Embed-Storage-Browser
  • Name – <<PROVIDER_NAME>>InitStorageBrowser
  • The following properties set the component defaults:
    • .pyProviderDisplayName – Required. Display name of the web storage provider that is displayed on the authorization screen while connecting to provider. This value can be the same value as the Field Value rule created in the above step, but does not have to be the same value.
    • .pyProviderLogo – To display the logo of the web storage provider on the authorization screen while connecting to the provider. Create a Rule-File-Binary instance with a logo image and specify its keys as the value of this property, for example, webwb/SPOnline_Logo.png.
    • .pzRootFolder.ID – Required. Uniquely identifiable ID or path of the folder. This is the root folder to use for sourcing content from this web storage provider.
    • .pzRootFolder.Name – Required. Name of the root folder that appears when sourcing content from this web storage provider.

Data transform exampleData transform example


100% found this useful


Related Content

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.