FOLIO Project Update – Month of August 2020

Metadata Management: Data Import and Export functionality continues to increase. Brief MARC records can now be exported, on the fly, from Inventory Instance data without underlying source records. QuickMARC is basically complete (waiting for one hotfix). A small group has been working on the model for representing bound-with materials in Inventory. The proposal is to allow a single item record to be linked to multiple holdings records. Next steps are to discuss this proposed change to the data model with developers. The Entity Management subgroup has drafted a vision statement for an entity management app. This vision will be the topic of future MM and App Interaction meetings. SIG SMEs have expressed concern about the lack of development of the change tracker app. Would like to know if the data itself is already being stored, even if no UI for viewing it is in development? Epic for Change Tracker. The Resource Access SIG is working on a Circ log, and will talk with the Metadata Management SIG to see if the issues are similar

Resource Management: The past July/August has been a little quieter with more vacations. The main SIG discussed item status and its impact on acquisitions workflows, gave feedback regarding documentation planning to Marcia Borensztajn, saw a demo of Missouri State’s acquisitions operations on Fameflower, and saw a demo of Lehigh’s batch order creation tool. Michelle Suranofsky shared the Github link. The group also discussed fiscal year roll over. The ERM Subgroup discussed customizing URLs, document storage within FOLIO (e.g., licenses and interactions with Box or other file management systems), the development of a dashboard, roles for Organizations, and comparing different packages of content or the same content over time (the “comparison basket”). Acquisitions Small Group reviewed the receiving process, where piece information should display, and how to update the location of an item during the receiving process; determined details for voucher export; and discussed allocations and the rollover process.

Resource Access: Discussions on Fast add included: Permissions – SMEs are okay with having the Fast add permission use the existing Inventory create permission; and suppress from discovery supporting a default setting of Suppress from discovery = Yes for Fast adds was discussed. Regarding circulation log, decisions were made on what actions and what information about those actions relevant to notices is worth recording in circ log and how to display notices that were sent for multiple items in the circulation log. For all request actions, display type and pickup service point/address type in search log. In addition, canceled requests should show the cancellation reason, edited requests should show the old and new values for what was edited, and queue reordering should only be logged when done manually.

User Management: The Spitfire team showed changes they’ve made to the user record, namely the addition of Department, Preferred first name, and Request preferences. There was  a lively discussion regarding how to create or update Departments, whether through the API exclusively or in the UI as well, which depends partly on how strongly we rely on a central user feed. It was requested that a large user load have a “silent failure,” where if one user record has bad data the record and the error get written to a file and then the bad record is skipped, and the load continues. Laura Wright commented that the Metadata Management SIG has the same desire for batch bib record loading. Implementing a boolean search for users in the User module was also discussed. Such a search exists in eHoldings, and there is interest in leveraging that. If Elastic search gets implemented soon, that would work just as well. Lucy Liu commented that elastic search may be ready in Q3 – Elastic search: UXPROD-2592

App Interaction: User needs as far as search and filter consistency across Folio is concerned was discussed. There was some inconsistency as far as display in menu bars was concerned = solved. Additionally, different apps have different preset filters. This may be solved by UXPROD-1398 – User preferences but it needs a dev team. Another SIG topic was the sorting of “cards”. Cards are sorted differently each time a user visits. Different apps display e.g. contacts in different ways, e.g. as lists or by using cards. In general, results as lists are sorted by the 1st column if they are sorted at all. May be solved by UXPROD-1398 – User preferences but it needs a dev team. The plan is to invite Filip to a future meeting and continue discussion. SIG discussed documentation needs with Marcia and gave a first feedback to her documentation plans and demo. The Item status subgroup wrapped up loose ends. Because requirements are defined so far, the meetings pause until the end of August. Emma will write stories for features linked to UXPROD-1321 – Item states (status).Additional questions will be asked over email till then. A new subgroup is being formed: the remote storage integration subgroup. The PO is Anastasiia Zakharova (Stacy). She is putting together a small group on the topic of remote storage and looking for SMEs to join the group, especially from Resource Access and Metadata Management, 1-2 members of each institution. More information can be found on the Wiki page.

Reporting: The Reporting SIG presented the July 15, 2020 FOLIO Forum: “Reporting Community Update on Building Reports” . The Metadata Management reports subgroup, Resource Access/User Management reports subgroup, and Resource Management reports subgroup continue to make progress on building report prototypes and queries for the FOLIO analytics report repository. The ERM reports subgroup has acquired a new test data set from Leipzig University and reconvenes to continue report development next week.  The Reporting SIG has developed a survey to assess reporting needs and plans for all FOLIO project participants. They want to be sure all participating institutions are represented by one respondent per institution. It would be very helpful for Product Council participants to make sure their institution representative for reporting has been identified and entered on the Reporting Survey Contact spreadsheet. The Reporting Data Privacy subgroup has identified the final list of fields to be anonymized in order to ensure GDPR compliance for the Library Data Platform. Version 1.0.4 of the Library Data Platform software was released on 8/5/20. The Reporting SIG is seeking a Test Data Developer for the LDP and an SQL Developer for Resource Access and User Management reports. Please see details on the Technical Skills in Demand page.

Consortia: They are working on a vision document for a hypothetical open source bib utility that could grow out of FOLIO and/or ReShare. The INN-Reach integration working group is working on a spreadsheet to map IR functions to FOLIO.

Accessibility: Product Owner, Khalilah Gambrell will move forward with accessibility testing. The SIG would like to work with FOLIO users. If you know anyone at your institutions who are or will be using FOLIO and uses assistive technology or relies on keyboard navigation, please have them contact Beth German (

SysOps: Goldenrod automatic migration testing; many jira issues were created, and have been closed after being tested successfully. There are issues with the order in which you upgrade, if a whole instance is being upgraded. The SIG defined requirements for automatic module upgrades with reference data. Current procedure loads all reference data, which can lead to issues. Proposal: Distinction between system data and reference data. Reference data might be custom overlaid and the changes will be kept during module upgrade. System data is immutable. Also include a predefined optional working set, also immutable. Upgrade shouldn’t leave the system in an unusable state. This has been brought to TC. The SIG discussed FOLIO SSO support based on login authentication using SAML. They think that the system needs to be “federation aware”. Maintaining the trust relationship between a FOLIO instance (Service Provider) and the library’s campus Identity Provider. This is highly desirable in FOLIO. There is a need to re-consider the login architecture and mod-login-saml. Marcia Borensztajn asked us about documentation needs and discussed her documentation plan. Demo of a full-automatic, interactive FOLIO installation without Docker containers, using Debian packages (work in progress); they also discussed use cases for this. In the data migration subgroup, they defined requirements for bulk load APIs. They think there should be a unique approach for all bulk APIs, built into RAML module builder. They should all support CRUD. There is a need for streaming on all APIs to avoid memory limits. They are integrating data migration into bugfest testing.

Support: The SIG continues refining the Support process. They are wrapping up support for Fameflower – there are 5 outstanding JIRAS. They are ready to respond to Goldenrod support issues when libraries go into production. Not Support but helpful for troubleshooting issues, there is demand for a Postman and the Apps training…any volunteers?

Implementers: After the rush to finish the rankings for the Capacity Planning Team things have quieted down for the Implementers. The CPT presented the development plan for the remainder of the calendar year. Lucy Liu, the liaison for the Shanghai Public Library introduced herself and we all hope we can work together on common issues. The already-implemented libraries are using the Implementers Slack channel for discussion of issues they encounter. Kelly Drake talked about the work of the Support SIG and the dashboard being set up for reporting of bugs found by the already-implemented libraries. John Ballestro from Texas A&M talked about the internal FOLIO testing being done there, using the bugfest test cases. The group is now beginning discussions on serials check-in and claiming.

Public Library: The SIG began meeting earlier this year, focusing initially on self-organization and the “starting point” for the SIG.  The group reviewed the gap analysis process, and each interested library or consortia will conduct a gap analysis on circulation, cataloging, and acquisitions.

Community Outreach: The SIG collaborated with community members and the PC to put out two recent community press releases: FOLIO Libraries Announcing Implementations and Timelines as the Open Source Library Platform Nears Significant Milestone and FOLIO’s Goldenrod Release Signifies Version One of the Open Source Library Services Platform is Ready for Adoption. In addition, release badges for Honeysuckle and Iris are now available in the Resource section of the website. Filtering by “branding” will make it easy to locate all release badges and FOLIO logos.

Forum Facilitators:  The FOLIO Forum has been off for the summer.  The recording of the last form is available: Reporting Community Update on Building Reports.

Product Council: From July 9 to August 13 the PC mainly focused on the various ongoing activities regarding the recently published release “Goldenrod”. The group collected and discussed the outcomes of the given updates from the last bugfest, the work of the product owners, the technical council and the capacity planning group to build an overview of FOLIO’s recent state and the necessary next functional and technical development work. Additionally, the work of the new technical writer was introduced. As a result, there will be a documentation group founded with one member out of each SIG to support this work. One meeting was dedicated to FOLIO’s testing process. Texas A+M presented their comprehensive test procedure and scenarios to the PC and offered practical options to approach this important aspect of the FOLIO implementation process to the community.

Technical Council: Over the last month the Tech Council has investigated, worked on and discussed multiple topics. In terms of technical debt (the DEBT Project in JIRA),there has been significant progress on many of the items in the list (data migration, accessibility, Kubernetes, streaming data (Bulk updates), etc.). However, the TC didn’t have an agreed/formal process to review these. Going forward it was decided that the TC will formally review the list twice a year. One review will be more cursory, and one an in-depth grooming session (looking to add/close items). These reviews should continue to trigger added focus and activity within the project. Any topic discussed at TC would be held up against the open list of Tech Debt to add context and potentially identify new TD items. Also note that the project has started using “Tech Debt” as an issue type, but these items are more tactical and not typically at the level of impact that would require Tech Council review and are used by teams as they manage their backlogs. Issues related to Reference Data and Upgrades to FOLIO have been discussed at length within the TC as well as with the SysOps team. The gist is that some values (think formats in Inventory) are supplied with FOLIO software and in fact are required for installation. However, sites can and will change some of these values. The current method of deployment doesn’t do a good job of reconciling this challenge. The solution will need to be partially architectural (and perhaps longer term) but also operationally tactical (i.e. allow installs to move forward in the short term). Two TC members are championing this issue and expect to have a tactical resolution in Q4. The TC reviewed activity related to FOLIO Architectural Blueprint Strategic Changes including ABI-001 – AES Pre and Post Filters. Work is happening that would remove defects that are preventing the AES to be used to store transactional data required for an EBSCO external reporting platform. As far as an architectural decision/effort is concerned, AES has been discussed in the past, specifically for this use case. Will consider removing ABI-001 from the list as it’s being done. Will also update the “Why” column. Regarding ABI-002 – Cross Tenancy Support,  there has been no activity recently. Mike Gorrell will supply use cases and consult the App Interaction group as well as the Consortia SIG. There hasn’t been activity on ABI-003 – System and Tenant Level Users and there is a need to identify a Champion. There hasn’t been activity on ABI-004 – Database Connectivity at a Tenant Level. A central document that outlines the issues and proposes some solutions will be important to frame the discussion. Stephen Pampell will draft it. There is not enough bandwidth to tackle the large surface area of the problem regarding ABI-005 – Authentication/Authorization refactoring. They are focusing on Auth Tokens and are considering breaking this into smaller issues. They will also work on a contextual document to help provide context and scope – Jakub Skoczen will draft. ABI-019 – Distributed Transactions – Discussions have been documented (somewhat slowed by Q2 release activities). There has been lots of discussion about ABI-011 – Search Engine, including with Shanghai Public Library. They are moving towards an updated document that the Tech Council can review. Tod Olson has been pushing some related discussions of SSO/SAML and will take the champion role for ABI-016 – SSO Shortcomings and clarify its definition. Regarding Shanghai Public Library, blueprint agreed to for the ElasticSearch; Shanghai is implementing towards that, and have a very tight deadline (by 20-September). They had a POC of their own and are expanding that to fit the FOLIO wiki approach. They are going to decouple systems by using Kafka. Three modules are being proposed at this point: a module to present interface for querying/etc; a module to pull messages off Kafka and push into the index (not using Pub/Sub for various reasons); and a module to place messages on Kafka (a little unclear, currently being discussed). The TC hopes that the overall project can adopt and/or build upon from the work Shanghai is doing (they are building in a separate repo – GitLabs). Note that this does not mean that the architecture for the search proposal has been accepted/adopted to be included in FOLIO. We also are going to need to evaluate the implementation choices that they make in terms of module and interface separation/independence. If FOLIO brings that work in, we could change some of their decisions.  Their circulation requirements feature an extreme transaction rate, users and volume of material. They decided to stay with their current model and ended a POC that would have been a dramatic departure. Recent improvements in Okapi and Performance encouraged them to do this. They are adding developer(s) to work on the Core Functional team. The TC wants to register the FOLIO Platform Release Policy as a final plan. There is a process for externally built modules to be pulled into standard FOLIO builds. If the module meets project standards (test coverage, artifacts) then it can be included once the Product Council agrees for it to be added. Any module that hasn’t been included (yet) can be added to anyone’s FOLIO instance… however each hosting provider will have its own criteria and they will likely differ. The UI Testing TaskForce is still getting started. They are still using two testing frameworks: Nightmare for end-to-end and BigTest v.1 for unit/integration. Both have been deprecated. BigTest v.2 alpha is expected in late July. Two frameworks are under review: BigTest v.2 and Cypress. The challenges are that the team has a lot of experience with BigTest v1, and expect that BigTest v2 would be easier transition. If we were starting from scratch, we would probably look at something more common in JS community for React testing. Is it possible to find a tool that could meet both front-end and back-end testing needs? The TC would like to give a recommendation on how to write front-end tests in 1-2 Sprints. SPIKEs assigned to individual developers to PoC for different candidates. Expect a recommendation later this month (August). There were discussions about how requirements get added to teams and how the project guidance on “Definition of Done” are adjusted. Security Group holds bi-weekly meet to discuss any issue labeled “Security” as well as all Github Security Notifications.  The group ensures all issues are assigned and planned in appropriate windows.