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

              Assignee:
              eduardo.garcia Eduardo García
              Reporter:
              eduardo.garcia Eduardo García
              Engineering Assignee:
              Eduardo García
              Recent user:
              Enterprise Release HU
              Participants of an Issue:
              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