Migration from mod-configuration and mod-settings

Why? See Technical Council’s decision record: DR-000039 Distributed vs. centralized configuration

We will add a migration how-to here.

If migrating from mod-configuration to mod-settings use this guide: https://github.com/folio-org/mod-settings/blob/master/doc/porting-guide.md Only mod-settings allows to store settings per user that are protected by permissions.

Migration Epic

FOLIO-4017: Sunflower 2025 R1 - Migrate values from mod-configuration and mod settingsOpen

How to find calls to mod-configuration APIs?

You may search for API paths and permissions.

mod-configuration has these API paths:

  • /configurations/entries

  • /configurations/entries/{id}

  • /configurations/audit

mod-configuration has these permissions:

  • configuration.all

  • configuration.entries.collection.get

  • configuration.entries.item.get

  • configuration.entries.item.post

  • configuration.entries.item.put

  • configuration.entries.item.delete

  • configuration.audit.collection.get

Known mod-configuration uses

The following entries list the mod-configuration API calls that have been noticed in the browser’s development tools network tab when clicking through the settings at https://folio-snapshot.dev.folio.org/settings , more mod-configuration API calls may exist when using other settings or other data.

  • Acquisition units – none

  • Agreements

    • /configurations/entries?query=(module=AGREEMENTS and configName=general)

  • Calendar – none

  • Circulation

    • /configurations/entries?query=(module==CHECKOUT and configName==other_settings)

    • /configurations/entries?query=(module==LOAN_HISTORY and configName==loan_history)

    • /configurations/entries?query=(module==SETTINGS and configName==TLR)

    • /configurations/entries?query=(module==SETTINGS and configName==PRINT_HOLD_REQUESTS)

  • Courses

    • /configurations/entries?query=(module==COURSES and configName==display)

  • Data export – none

  • Data import

    • match profile: /configurations/entries?query=(module==TAGS and configName==tags_enabled)

  • Developer

    • /configurations/entries?limit=1000&query=cql.allRecords%3D1 sortby module configName code

  • eHoldings – none

  • erm-usage

    • /configurations/entries?query=(module==ERM-USAGE and configName==hide_credentials)

    • /configurations/entries?query=(module==ERM-USAGE-HARVESTER and configName==maxFailedAttempts)

    • /configurations/entries?query=(module==ERM-USAGE-HARVESTER and configName==daysToKeepLogs)

  • Finance – none

  • GOBI integration – none

  • INN-Reach – none

  • Inventory

    • /configurations/entries?query=(module==FAST_ADD and configName==fastAddSettings)

  • Invoices

    • /configurations/entries?query=(module==INVOICE and configName==approvals)

    • /configurations/entries?limit=1000&query=(module%3DINVOICE and configName%3DINVOICE.adjustments) sortby code

    • /configurations/entries?query=(module==INVOICE and configName==voucherNumber)

  • Licenses – none

  • Local KB admin – none

  • MARC authority – none

  • My profile – none

  • Notes – none

  • OAI-PMH

    • /configurations/entries?query=(module==OAIPMH and configName==general)

    • /configurations/entries?query=(module==OAIPMH and configName==technical)

    • /configurations/entries?query=(module==OAIPMH and configName==behavior)

  • Open access – none

  • Orders

    • /configurations/entries?query=(module==ORDERS and configName==approvals)

    • /configurations/entries?query=(module=ORDERS and configName=poLines-limit)

    • /configurations/entries?query=(module==ORDERS and configName==openOrder)

    • /configurations/entries?query=(module==ORDERS CRUD MODULE and configName==custom_fields_label)

    • /configurations/entries?query=(module==ORDERS and configName==orderNumber)

    • /configurations/entries?query=(module==ORDERS and configName==disableInstanceMatching)

    • /configurations/entries?query=(module==ORDERS and configName==createInventory)

    • /configurations/entries?query=(module==ORDERS and configName==inventory-instanceStatusCode)

    • /configurations/entries?query=(module==ORDERS and configName==inventory-instanceTypeCode)

    • /configurations/entries?query=(module==ORDERS and configName==inventory-loanTypeName)

  • Organizations settings – none

  • Remote storage – none

  • Reporting – none

  • Serials – none

  • Service interaction – none

  • Tags

    • /configurations/entries?query=(module==TAGS and configName==tags_enabled)

  • Tenant

    • /configurations/entries?limit=500&query=(module=TENANT and configName=tenant.addresses)

    • /configurations/entries?query=(module==ORG and configName==localeSettings)

    • /configurations/entries?query=(module==PLUGINS) sortby configName&limit=1000

  • Users

    • /configurations/entries?query=(module==USERS and configName==custom_fields_label)

  • Software versions

    • /configurations/entries?query=(module=="@folio/stripes-core" and configName=="aboutInstall")&limit=2000