Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-138327

As an administrator, I can create web hooks associated to message bus destination to trigger external functions

Details

    Description

      Motivation:

      Liferay's Message Bus system provides a mechanism to handle communication both between and within applications. See https://help.liferay.com/hc/es/articles/360017899872-Liferay-s-Message-Bus-System.

      However, in a SaaS scenario, customers cannot deploy message listeners modules to exploit this mechanism. The goal of this story is to enable the creation of module-less extension points (web hooks) that forward the Message Bus messages of a certain destination to a given URL. 

      The URL can be that of a service running on a separate environment or even a serverless function (e.g. AWS Lambda). Back-communication to Liferay is possible through Headless API.

      Acceptance Criteria:

      • Given I am a Virtual Instance Admin, when I go to Control Panel > Applications > Custom Apps, I find Web Hooks app
      • Given I am a Virtual Instance Admin, when I go to Control Panel > Applications > Custom Apps > Web Hooks, I see the existing web hooks and the option to add new onw
      • Given I am a Virtual Instance Admin, when I click Add button in Web Hooks, the interface to add a new web hook is shown
      • Given I am adding/editing a web hook, when I click in destinations, I see an alphabetically ordered list of message destinations
      • Given I create a web hook, when I click Save, the web hook and its details are shown in the list
      • Given a existing web hook with destination X and URL http://abc.de, when I try to create a new web hook with the same destination and URL, then I get an error
      • Given a web hook is created with a destination (e.g. liferay/flags) and a valid URL, when you enter the gogo shell and check the services registered by the Web Hook Service bundle, then you find a MessageListener with the destination.name of the web hook.
      • Given a web hook, when it is deleted, then the associated listener is no longer shown in the gogo shell.
      • Given a web hook with a destination (e.g. liferay/flags) and a valid URL, when the destination is triggered (e.g. a content is reported with the flag widget), then the URL is requested with the message as a body.

      Update:

      This feature has been included and re-implemented as part of the new Objects framework. See LPS-139008.
      Thus, PM validation and QA testing should be address as part of that story.

      Attachments

        Issue Links

          Activity

            People

              eduardo.garcia Eduardo García (Inactive)
              eduardo.garcia Eduardo García (Inactive)
              Eduardo García Eduardo García (Inactive)
              Kiyoshi Lee Kiyoshi Lee
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Packages

                  Version Package
                  7.4.13 DXP GA1
                  Master