This feature is included in IMS v6.1.18 and later releases. It requires the API Module to be included on your license. If you do not have the API Module, you can request an evaluation key by contacting firstname.lastname@example.org.
There is a walk-through example of how to use this feature in our Developer Exchange: https://devexchange.thirdlight.com/viewtopic.php?id=178
Introducing message queues and AMQP
Advanced Message Queuing Protocol (AMQP - https://www.amqp.org/) is a standard for message-oriented middleware. It allows messages to be queued and routed between publishers and subscribers. Your Third Light server can act as a publisher, and notify subscribers when a new file is uploaded to the Third Light server. This is helpful if you are expecting to do work based on new files being uploaded, for example triggering events or metadata changes which affect other systems. The main benefit of AMQP is that there is no need to repeatedly poll for new files - the message queue alerts you to these changes in real-time. AMQP is generally part of middleware or integration solutions which rely on timely and efficient interactions, and is therefore strongly recommended over repeatedly polling the Third Light API for changes, for example.
In the current release of Third Light, the only AMQP events which are published are for new file uploads.
Configuring AMQP in Third Light
All configuration of AMQP notifications is performed from the Configuration > Site Options > IMS API page. If you do not see this tab, please check your license includes the API Module and that you are logged in with an administrator account, and that your Third Light server is running a suitable release version later than v6.1.18.
The options available are listed, below:
|Enter the hostname or IP address of the AMQP server. This address must be accessible from the Third Light server's network.|
|Server port||Enter the TCP port for your AMQP server. Port 5672 is generally used by RabbitMQ, a popular AMQP implementation.|
|Connect over SSL||AMQP servers which implement SSL offer end-to-end encryption and authentication, and should be used where traffic is routed over a public network or an untrusted LAN. Please note: if your server hardware is unsupported, you will see this option is unavailable, with the message: "Not available on this platform".|
|Username||Your AMQP server should be configured to accept authenticated users only. Enter your username here.|
|Password||Enter your AMQP server password for the username, above.|
|In AMQP, messages are published to Exchanges, which handle routing and deliver messages to subscribers. Enter the AMQP Exchange name to which you wish to publish upload notifications.|
|Exchange Type||AMQP Exchanges can be of several types. For details of different exchange types, please see https://www.rabbitmq.com/tutorials/amqp-concepts.html. If you are unsure, use a Direct Exchange. This provides delivery of any message with the Message Key matching on the Subscriber (your AMQP server) and the Publisher (Third Light).|
|Declare a durable exchange||Check this box if your AMQP Exchange is durable. A durable Exchange survives being restarted without losing any messages.|
|Message Key||The Message Key is used to tag each message being published to the Exchange. It is used by subscribers to identify messages they wish to receive.|
Note: Declaring an Exchange will normally result in that Exchange being created for the first time, if it does not already exist. This will require the user account on the AMQP server to have sufficient privileges to complete this action.
When you click Save Settings to commit your changes, the connection will be validated. Any errors will be reported to you at the top of the page, or the settings will be accepted. Once enabled, all uploads to the site will trigger an AMQP notification which will be published to your nominated exchange.