/
0010-eureka

0010-eureka

Start Date

Oct 21, 2024

End Date

TBD

Contributors

@Craig McNally @VBar

Status

RFC Preparation

Summary

The Folio Eureka Platform (henceforth referred to as Eureka for brevity) represents the next generation of Folio’s architecture which allows the project to operate at enterprise scale and expand its solution space. It seeks to replace custom-developed core components found in the original Folio architecture, with feature-rich, best-of-class, specialized open-source components. The need for this has become critical as Folio has become widely adopted, and particularly in ever increasing numbers in complex configurations such as consortia and national libraries.

Motivation

It became increasingly clear that requirements imposed by some high-profile libraries adopting Folio were going to be very difficult, if not impossible to meet on the current platform.

Scope

This RFC is intended to cover all aspects of Eureka at a high level. This includes:

Detailed Explanation/Design

This is the bulk of the RFC.

Explain the proposal as though it were already implemented and you were teaching it to someone already familiar with Folio - foregoing unnecessary introductory material.

  • Get into the specifics including corner cases and plenty of examples.

  • Define any new terminology and named concepts

  • Fully explain the scope of the proposal: backend; frontend; full-stack.

  • Provide clear guidance as to how the proposal might be implemented.

  • Include any reference to any existing Folio Jira issues.

  • If appropriate, the use of diagrams and illustrations is encouraged.

  • Provide any assessment of the dependency impact of the proposed change; its interaction with other features is clear.

  • If possible describe how disruptive the change might be to the existing Folio development community.

  • Discuss how any breaking changes can be rolled out (migration guidance).

  • If applicable, provide sample code or pseudo-code, error messages, or deprecation warnings

  • Describe the impact on existing Folio documentation, guides and other reference materials.

New Components

The Eureka platform introduces several new components. These will need to undergo some evaluation process. However, there is insufficient time in the proposed timeline to use the standard TCR/New module evaluation process.

Deprecations

The following could be deprecated/archived once Eureka has been fully adopted and these components are no longer within the support period:

  • Okapi - Functionality has been delegated to various single-purpose components

    • folio-kong

    • folio-keycloak

    • folio-module-sidecar

    • mgr-tenants

    • mgr-applications

    • mgr-tenant-entitlements

    • mod-scheduler

    • mod-okapi-facade

  • mod-authtoken - Replaced by Keycloak/Sidecars

    <