Page tree
Skip to end of metadata
Go to start of metadata

Current as of January, 2023.

This document reflects both current work within the FOLIO Project and TC aspirations for future technical work and direction to support the program described in FOLIO Vision, Strategic Objectives and Initiatives.

The TC will consult this document when considering and evaluating technical initiatives and priorities for the Project and use it as a guide to help make decisions about technical directions within the Project.

The TC will periodically revise this document to reflect new initiatives that come up through the community and to reflect updated technical priorities for the Project.

Vision 

Support a thriving open source community in building a LSP (Library Service Platform) that is effective, cost effective, & reliable

Objectives

  • Community Growth (CG)
  • Enhance LSP Capabilities  (LSP)
  • Improved process efficiency and transparency (ET)
  • Efficient operations and maintenance (OM)
  • Technical Debt Management (TD)

Initiatives

The initiatives listed here both represent work in the technical aspects of the FOLIO project, whether the TC has the role of leading or endorsing the work. This includes work actively going on in different parts of the community and aspirational initiatives which the TC would like help steer the technical direction of the project.

These initiatives are at a varying degree of granularity, but generally described at a high level; refer to the supporting documents under Resources for more detail.

Immediate Initiatives (active/ASAP)

Many of these initiatives were generated by dev teams and other technical stakeholders and are being brought to TC for review and approval. 

Short Term Initiatives (~1 yr)

  • Painless Onboarding (CG)
  • Create architectural blueprint (LSP, ET)
  • Reduce resource footprint required to run FOLIO in the cloud and locally (CG, OM)
  • Release upgrade improvements (OM)
  • All modules should support read-only PostgreSQL replicas (i.e. support read/write separation) (DB_HOST_READER, RMB-348) (LSP, OM)
  • Document preferred/supported/unsupported approaches to secret management (OM)
  • Documentation goals: (CG,  LSP, ET, OM)
    • Improve documentation standards for modules, to facilitate understanding of basic purpose and operation of a module.
      • Include documenting implicit/hidden dependencies such as interactions through Kafka.
    • Improve API documentation to include things like supported searches (available indexes) and API side-effects, to help people new to the API understand how to use in in a practical way.
    • Improve operational and installation documentation for running FOLIO and for understanding the technical architecture and philosophy.
  • Guidance about balance between HTTP and Kafka as inter-module communication (LSP,  OM)
  • Improve observability/logging for troubleshooting  (OM)

Medium Term Initiatives (2-3 yr)

  • Consortia Support (related to tenant issues) (CG, LSP)
  • Improvements to managing tenants (OM)
  • Conduct Hackathons, webinars and other outreach efforts to spread the word about FOLIO (CG)
  • Actively recruit libraries worldwide that have a proven track record with open source development projects and have the experience and resources that would benefit FOLIO (CG)
  • Promote and illustrate the benefits of FOLIO's community-owned reporting capability in partnership with the Library Data Platform (LDP) project to increase adoption of the FOLIO platform. (CG)
  • Form and support User Groups, carefully ensuring fit with existing groups and SIGs (CG)
  • GDPR support (CG, LSP)
  • Simplify back-end module interactions (LSP, OM, TD)
  • Release packaging (OM, TD)
  • Okapi role: facilitate a conversation about the desired role and capabilities of Okapi. (LSP, OM, TD)
    • What do we want and need from Okapi?
    • Need to support both self-hosting and large-scale hosting.
  • Okapi bootstrapping & management (OM, TD)
    • Improve documentation and processes for setting up Okapi
    • Improve situation for managing module discovery and deployment
      • including for locally-developed modules
      • ability to share modules developed in the community but outside of the project itself.
  • Address issues around REST API design in FOLIO (LSP, OM, TD)
  • Address issues around batch APIs in FOLIO (LSP, OM, TD)
  • Performance issues around design of storage (OM, TD)
  • Perceived performance issues around synchronous updates (LSP)
  • Data consistency issues (see also FOLIO Cross-Application Data Sync Solution and Implementing the Transactional Outbox pattern) (OM, TD)
  • Data Import complexity and performance issues (LSP, OM, TD)

Long Term Initiatives (4+ yr)

  • Event driven architecture (but see also discussions of HTTP vs Kafka and Kafka hosting expenses)
  • Support for non-MARC record-based data models (for instance: Dublin Core, VRAcore, PBCore, FGDC)
  • Cross-tenant architecture (LSP, TD)
  • Create an app store and incentivize the addition of apps to the store by individuals, institutions, and commercial partners
  • Search Engine
  • Reporting and Analytics
  • Codex
  • Automation Engine
  • Inter FOLIO integration
  • Develop and distribute an Implementers’ Satisfaction Survey
  • Measure implementers satisfaction
  • Develop an Implementers SWOT Analysis
  • GraphQL - Eliminates stripes connect
  • Concerns that SRS is too tied to MARC21, and less open to other MARC dialects
  • Stripes platform build and deploy issues

Resources 

FOLIO Vision, Strategic Objectives and Initiatives

Goals and Objectives - Draft

FOLIO Pain points

SysOps Pain points


  • No labels

4 Comments

  1. I am not sure if this has been done, but I feel like goals should be expressed in service of achieving specific objectives. I think it would be nice if each goal referenced the objective which it is advancing.

    1. I could be wrong but I think the traditional meanings of goals and objectives are flipped in this document? Usually goals are broad and at the top, and objectives are achievable below goals. So then you could have like "Goal 1: Ease on boarding" and then "Objective: Platform minimal (supports Goal 1)".

      1. Yes, that may be. Looking back, this came to us with the language "objectives and initiatives" (see FOLIO Vision, Strategic Objectives and Initiatives), but here in TC it morphed into goals & objectives though some chain of events that I don't quite recall.

        1. At this point I'm tempted to replace "Goals" in all of the headers with "Initiatives", but it feels a little late for this version.