...
ui-eholdings will be able to create and send the export jobs from UI
What should be done in this module:
- when a user clicks on the 'Actions' button, the modal window appears and shows multi-select controls filled with title & package fields;(
NOTE: it will be useful to have one task to keep only eHoldings fields, and another task to add non-eHoldings fields
- when a user clicks on the 'Export' button, UI creates a Job sending a request to mod-data-export-spring:
"methods": [ "POST" ], "pathPattern": "/data-export-spring/jobs", "permissionsRequired": [ "data-export.job.item.post" ], "modulePermissions": []
Request payload follows this schema: https://github.com/folio-org/folio-export-common/blob/master/schemas/job.json
Only "type" and "exportTypeSpecificParameters" are enough to fill in, for example:
{
"type": "E_HOLDINGS", (required)
"exportTypeSpecificParameters": {
"recordId": "a95bc506-c706-11ec-9d64-0242ac120002", (required)
"recordType": "RESOURCE", (required)
"titleSearchFilters": "",
"packageFields": [ ],
"titleFields": [ ]
}
}
- store the fields available to export (see attached user story);
- .
- when the export has started, a modal window disapears disappears and the green toast message appears, it shows a the name of generating file, and an approximate duration of export. Duration is defined based on the number of records for export;
We will test the export in various numbers of records to determine what's the approximate duration equal to.
mod-kb-ebsco-java stores packages & titles, and provides REST API to retrieve these objects. REST methods are already provided for mod-data-export-worker:
Retrieve package details: "methods": ["GET"], "pathPattern": "/eholdings/packages/{packageId}", "permissionsRequired": ["kb-ebsco.packages.collectionitem.get"]
Retrieve package titles (resource): "methods": ["GET"], "pathPattern": "/eholdings/titles/packages/{packageId}/resources", "permissionsRequired": ["kb-ebsco.titlespackage-resources.collection.get"]
Exporting non-eholdings fields
...