Uploaded image for project: 'EJBCA'
  1. EJBCA
  2. ECA-8461

Add the ability to view queued publisher items in the CA web

    Details

      Description

      Background
      =========

      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.

      Details
      =====

      The database table containing items stored in the publisher queue looks like this:

      +---------------+--------------+------+-----+---------+-------+
      | Field         | Type         | Null | Key | Default | Extra |
      +---------------+--------------+------+-----+---------+-------+
      | pk            | varchar(250) | NO   | PRI | NULL    |       |
      | fingerprint   | varchar(250) | YES  |     | NULL    |       |
      | lastUpdate    | bigint(20)   | NO   |     | NULL    |       |
      | publishStatus | int(11)      | NO   |     | NULL    |       |
      | publishType   | int(11)      | NO   |     | NULL    |       |
      | publisherId   | int(11)      | NO   |     | NULL    |       |
      | rowProtection | longtext     | YES  |     | NULL    |       |
      | rowVersion    | int(11)      | NO   |     | NULL    |       |
      | timeCreated   | bigint(20)   | NO   |     | NULL    |       |
      | tryCounter    | int(11)      | NO   |     | NULL    |       |
      | volatileData  | longtext     | YES  |     | NULL    |       |
      +---------------+--------------+------+-----+---------+-------+
      

      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

      To do
      ====

      • Merge patch
      • Add documentation to Confluence

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              bastianf Bastian Fredriksson
              Reporter:
              bastianf Bastian Fredriksson
              Verified by:
              Henrik Sunmark
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 1 week
                  1w
                  Remaining:
                  Time Spent - 1 day, 7 hours, 10 minutes Remaining Estimate - 3 days, 50 minutes
                  3d 50m
                  Logged:
                  Time Spent - 1 day, 7 hours, 10 minutes Remaining Estimate - 3 days, 50 minutes
                  1d 7h 10m