Items published with a publisher in EJBCA can be put on a queue, either because the publisher is configured to only use a queue for publishing or because direct publishing failed.
Items on the queue are processed by a service on a regular basis. If the service is able to publish an item, it is removed from the queue.
Sometimes, things get stuck in the queue if there is e.g. a network outage. Currently is is possible to see the number of items per publisher lingering in the queue using "Publisher Queue Status" on the front page. However, it is not possible to see more information about these items, e.g. why they are still in the queue (not published yet, network outage, authorisation error ect) without going into the database.
The database table containing items stored in the publisher queue looks like this:
The aim of this ticket is to provide a graphical view (JSF page) in the CA web, of the content in the publisher queue. The JSF page should have the following functionality:
- The JSF page should display a data table with all items for a particular publisher present in the PublisherQueueData.
- It should be possible to reach this page by clicking on a link in the Publisher Queue Status-table on the front page.
- There can potentially be a lot of items in the queue. Not all of them should be displayed at once, but paging functionality should be provided ("Next" and "Previous" page buttons). Not more than "Maximum Query Count" items should be fetched/shown at once.
- The data table should contain the following information for each item in the publisher queue:
- Short string describing the item (e.g. the subjectDN of the certificate). If the item is a certificate, this description should be a link to a page, e.g. on the RA web, where the certificate can be inspected.
- publishStatus - The status of the item (not published yet, failed, published)
- A description of the error (if the status is "failed").
- lastUpdate - The amount of time since the last attempt/since the item was published, if the status is failed or published (e.g. X hours and Y minutes ago).
- timeCreated - The time the item was first put in the queue
- Items should be sorted on lastUpdate
- Merge patch
- Add documentation to Confluence