2025-08-18 eUsage subgroup

2025-08-18 eUsage subgroup

Calendar file:

You can request a calendar invitation from @Stefan Dombek by e-mail

Zoom link: Join our Cloud HD Video Meeting

Time: 10 a.m. ET

Recording of the meeting: FOLIO Recordings | Open Library Foundation

Item

Notes

Item

Notes

New members?

Introduce yourself!

Please add “eUsage” to “Focus of Work” in the table https://folio-org.atlassian.net/wiki/spaces/ERMSIG (ERM SIG Home - Members).

Roadmap update

  • The following roadmap was developed based on discussions with stakeholders.

  • The outstanding tickets will be finalized shortly and put to the voting (Prioritization in the ERM SIG).

  • The respective release of a feature will be agreed upon with the development team on a case-by-case basis, which is why no decision can be made at this time. We are a small team and need to make agile decisions.

See https://folio-org.atlassian.net/wiki/x/BADHLw

Roadmap

  1. Improve handling of COUNTER API Exceptions (See ongoing discussion)

    1. Backend (Harvester): Behavior depending on error code.

    2. UI: Improvements to the overview of Counter reports within the UDP, if necessary. For example: new icons.

  2. Improvements to error overviews:

    1. UI + Backend: Extended error messages in the harvester logs

    2. Backend: Additional field for error code in Counter reports. Currently, the error code can only be filtered out using a kind of LIKE command. Other things can also be stored as errors, not just counter API errors. The field would thus contain the code or “Other,” as in the provider's data record.

      See also the agenda item Extend information from Counter exceptions which was mentioned in Slack by Bernd.

    3. If you want: InApp report to see all Counter reports that have errors. FYI: API calls for errors are already possible. Leipzig has an API query and an SQL report that displays all errors.

      1. @Stefan Dombek will create subpages explaining how to create these queries.

  3. Features to solve errors

    1. UI: Repeat failed server requests manually.

    2. UI: Delete failed reports

  4. Features that prevent incorrect harvesting configurations

    1. UI: Provider list with data from counter registry

    2. UI: Integrated status check of the provider's Counter API.

    3. During the harvesting configuration:

      1. Checking credentials

      2. Which report types are available

    4. After the harvesting configuration: If the credentials are no longer valid after a certain period of time and this causes an error, no further reports should be requested. Instead, a different error message should be displayed in eUsage.

Date format in the UI for Month picker

https://folio-org.atlassian.net/browse/UIEUS-416

  • Backend format = YYYY-MM

  • UI: We can set it via dateFormat="YYYY-MM". Right now, the default value of the current language is used.

    Screenshot 2025-08-05 130909.png
  • The format will be discussed with the other POs. Are there standards in FOLIO?

New requirement(s)

Moved

S3 Objekt Cloud Storage

  • https://folio-org.atlassian.net/wiki/x/SABS

  • Not only via AWS, but general connection to S3 object cloud storage (data sovereignty).

  • Feedback from backend developer: It would work for the non-Counter reports. For the Counter reports, you would have to modify the backend a lot.

Extend information from Counter exceptions

  • Use case: The UI only shows the Exception.Code and and Exception.Message. The exception often includes additional information in the Exception.Data element, for example for code 3032 the information which period is still available, for 3031 the months not yet processed, or for code 1020 how many requests are permitted. There are 9 exceptions listed in Appendix D of the CoP where the server should provide additional information in the data element.

    • DevTeam Leipzig: For various reasons, it makes sense to add another field for errors in the JSON of a report. At the moment, the only way to filter out the contents of the errors is to use a kind of LIKE command, because the “failedReason” field contains all error messages across multiple releases, including HTTP error messages. This means that the backend will be redesigned so that it extracts the error message and stores it in the new additional field accordingly. This allows API queries to be made more targeted and the UI to use the data more effectively.

    • Examples

cr_5.png
cr_4.png
{"Code":2000,"Severity":"Error","Message":"Requestor Not Authorized to Access Service","Help_URL":"","Data":"Incorrect API key."} {"Code":1011,"Severity":"Warning","Message":"Report queued for processing","Help_URL":"https:\/\/connect.liblynx.com\/sushi\/r5\/help\/1011"} {"Code":2020,"Severity":"Error","Message":"APIKey Invalid","Data":"Incorrect API key."} Report not valid: [{"Code":3030,"Severity":null,"Message":"No Usage Available for Requested Dates","Data":"Requested data between 2022-11-01 and 2022-11-30"}]

Harvester - Improving the processing of CoP error codes

In the next meetings we would like to discuss how eUsage should react to the individual exception codes.

Refinement / Discussion

Feel free to add points to the list

 

Workshopping

There will be a new agenda item in the next meetings. If anyone has errors in the system or problems, these can be presented at the meeting. We can look at these together.