Uploaded image for project: 'ERM Platform'
  1. ERM Platform
  2. ERM-376

Export full Agreement as JSON

    XMLWordPrintable

Details

    • ERM Sprint 76, ERM Sprint 77
    • Bienenvolk

    Description

      Need to implement an export of full agreement including license terms, linked organisations and resources. This is to enable remote systems to consume and use this information as they see fit. Driven by requirements for GBV libraries including Bremen and ZBW

      Export specification
      The export should use the same JSON structure as is returned by:
      /erm/sas/<agreement_id>
      with the addition of an element to contain the list of current resources, which should use the format as the JSON returned by:
      /erm/sas/<agreement_id>/export/current

      It should be noted that this will mean that the export does not include any data not already provided by those two endpoints. Excluded information includes:

      • notes
      • agreement lines or any associated POLs
      • any details of the internal contacts (beyond the UUID and role)
      • any details of interfaces associated with an organisation

      Implementation should include:

      • Export for single agreement
        • Ability to do export for a single agreement from the Agreement preview panel in the UI
        • Export for single agreement can be done by any user with permission to view the Agreement
        • Export for single agreement should be accessed through the drop down on the Agreement name at the top of the Agreement preview pane
      • This is all in addition to the exports already by ERM-265 etc. implemented for resources (accessed from the 'E-Resources covered by this agreement" section of the Agreements Lines concertina)

      Export of multiple agreements is out of scope of this story

      Roles and restrictions:

      • Export for single agreement can be done by any user with permission to view the Agreement
      • The user should only be able to export data they have the right permissions to view
      • If the user does not have the permission to view a particular object, the export should include the UUID of the remote object, and any of the relevant information stored by Agreements directly (e.g. in the case of an Organisation they would get the UUID of the Org, and the org role as stored by Agreements)

      Workflow / UI expectations:

      • Export for single agreement should be accessed through the drop down on the Agreement name at the top of the Agreement preview pane - see attached screenshot. Icon used is Stripes 'down arrow'
      • At the same time "Edit Agreement" in that menu should be amended to just read "Edit" as in attached screenshot

      Business rules & constraints:
      see export specification above

      NOTES for UI
      The urls for these exports have replaced the existing ones for the export of just the resources. So this export lives at
      /erm/sas/$ID/export
      /erm/sas/$ID/export/current

      The exports that used to live at the above urls have been moved to be prefixed with /resources, so now live at
      /erm/sas/$ID/resources/export
      /erm/sas/$ID/resources/export/kbart
      /erm/sas/$ID/resources/export/current
      /erm/sas/$ID/resources/export/current/kbart

      The relevant existing components will also need this change reflecting.

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                ostephens Owen Stephens
                ostephens Owen Stephens
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases