Folio Architectural Blueprint Strategic Changes
This page contains a list of possible Folio Architectural changes for the Folio platform which are under consideration by the Technical Council. Some of these are actively under discussion, while others are intended for a later discussion. Once architectural changes have been agreed upon they will be reflected in the actual Folio Architectural Blueprint.
Status | Category | Item | Summary | Plan | Why | "Aspirational" Timing | Related Jira | Champion | Participants | |
|---|---|---|---|---|---|---|---|---|---|---|
ABI-001 | Done. (Pending inclusion in release) | Platform | AES: pre- and post-filters | Reinstate mod-aes to allow transaction data streaming directly from Okapi. The current implementation depends on Okapi filter functionality. |
|
| https://folio-org.atlassian.net/browse/MODAES-4 https://folio-org.atlassian.net/browse/MODAES-5 https://folio-org.atlassian.net/browse/OKAPI-837 | @VBar | @Jakub Skoczen @Adam Dickmeiss @Matt Reno | |
ABI-002 | Under Discussion | Multi-Tenancy | Cross-Tenancy Support | Allows selective and controlled data sharing between separate tenants in Folio. This addresses the needs of Institutions or Consortia who need to selectively share data between their member organizations. At present Folio supports only modeling as separate tenants (share nothing) or single tenant (share everything). |
| TBD | @VBar | @Mike Gorrell @Jakub Skoczen @Craig McNally @Adam Dickmeiss | ||
ABI-003 | Pending Discussion | Users | System and Tenant level users | Introduce the notion of tenant-level and system-level users. |
| This allows operations to be performed in the context of the entire tenant (tenant-level) or the platform (system-level). Accordingly these classes of users would be protected from casual user management and provided with suitable permissions. | 2020-Q3 design and development ??; 2020-Q3 released?? | @Craig McNally | ||
ABI-004 | Under Discussion | Multi-Tenancy | Database Connectivity: tenant; interface; method | Allow database connectivity to be specified on a per tenant basis. Currently Folio only supports database connectivity to be specified at the module level |
| This would be helpful for load balancing database connectivity between tenants (allowing a large/busy tenant to have a separate database than other tenants for the same module). | 2020-Q3 design and development??; 2020-Q4: released ?? | https://folio-org.atlassian.net/browse/FOLIO-1794 https://folio-org.atlassian.net/browse/RMB-664 | @spampell | @Jakub Skoczen @Mikhail Fokanov |
ABI-005 | Under Discussion | Platform | AuthN/Z Refactoring | Refactoring of authentication and authorization address:
| Plan:
| Primarily improved performance | 2020-Q2 Design 2020-Q2 Development | @Jakub Skoczen | @Adam Dickmeiss @Craig McNally | |
ABI-019 | Under Discussion | Platform | Distributed Transactions | Discussion regarding strategies for dealing with cross-module (microservice) communication that required data consistency. Including:
|
| 2020-Q1/Q2 Requirements analysis 2020-Q2 Research and design | @Marc Johnson | @Craig McNally @Jakub Skoczen @VBar @Taras Spashchenko | ||
ABI-006 | Suggested for evaluation | Refactor Okapi | Tenant Context (runtime) | Split out Okapi tenant management into "mod-tenant". Intersects with cross-tenancy functionality. | ||||||
ABI-007 | Suggested for evaluation | Refactor Okapi | Dependency Management | Dedicated global registry for Folio dependencies | ||||||
ABI-008 | Suggested for evaluation | Refactor Okapi | Registry (runtime) | Split out Okapi management of registered modules and interfaces. | ||||||
ABI-009 | Suggested for evaluation | Refactor Okapi | Tenant APIs (admin) | See below | ||||||
ABI-010 | Suggested for evaluation | Multi-Tenancy | Tenant Management | A administrative component for tenant provisioning and upgrading (including data upgrading). Refactoring the TenantAPI functionality from Okapi forms the basis | ||||||
ABI-011 | Under Discussion | Search | Search Engine | Introduce a dedicated search engine (e.g. ElasticSearch) for performance reasons. Also provides cross-tenant searching. | @VBar | @Jakub Skoczen @Ian Ibbotson (Use this one) @Mikhail Fokanov @folio_china @Sha Jiang | ||||
ABI-012 | Suggested for evaluation | Automation | Camunda | Add an automation engine for Folio | ||||||
ABI-013 | Suggested for evaluation | Users | Roles is this the same as Team/Group concept (data ownership)? | Create support for formalized Roles within Folio | ||||||
ABI-014 | Suggested for evaluation | Platform | GraphQL | Adopt GraphQL as a API calling convention in Folio | ||||||
ABI-015 | Suggested for evaluation | Release Management | Application packaging | Support the distribution of "Applications" separate from monolithic Folio releases. | ||||||
ABI-016 | Suggested for evaluation | Users | SAML SSO strategy | Come to a more focused project strategy for SAML support. | https://folio-org.atlassian.net/browse/MODLOGSAML-44 https://folio-org.atlassian.net/browse/MODLOGSAML-58 https://folio-org.atlassian.net/browse/MODLOGSAML-59 https://folio-org.atlassian.net/browse/MODLOGSAML-66 https://folio-org.atlassian.net/browse/UXPROD-554 https://folio-org.atlassian.net/browse/UXPROD-556 https://folio-org.atlassian.net/browse/UXPROD-1612 https://folio-org.atlassian.net/browse/UXPROD-2444 See also: | @Tod Olson | ||||
ABI-017 | Suggested for evaluation | Codex | Codex | Next generation of Codex functionality
| ||||||
ABI-018 | Suggested for evaluation | Instrumentation | Okapi/modules | Define instrumentation capabilities, including:
| @Jakub Skoczen | @John Malconian @Wayne Schneider @Ian Hardy @Mikhail Fokanov Core: platform |