├── .gitignore ├── .gitmodules ├── CODEOWNERS ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── assets ├── icons │ ├── logo.png │ └── logo.svg └── scss │ ├── _sidebar-toc.scss │ ├── _sidebar-tree.scss │ ├── _styles_project.scss │ └── _variables_project.scss ├── buildspec.yml ├── config.toml ├── content └── en │ ├── _index.html │ ├── docs │ ├── About FOLIO │ │ ├── Benefits │ │ │ └── _index.md │ │ ├── FOLIO Terminology │ │ │ └── _index.md │ │ ├── Features │ │ │ └── _index.md │ │ ├── Glossary │ │ │ └── _index.md │ │ ├── License │ │ │ └── _index.md │ │ └── _index.md │ ├── Access │ │ ├── Additional topics │ │ │ ├── _index.md │ │ │ ├── feesfines │ │ │ │ └── feesfines.md │ │ │ └── loans │ │ │ │ └── loans.md │ │ ├── Check in │ │ │ └── checkin.md │ │ ├── Check out │ │ │ └── checkout.md │ │ ├── Circulation log │ │ │ └── circ_log.md │ │ ├── Courses │ │ │ └── courses.md │ │ ├── Reading room │ │ │ └── reading_room.md │ │ ├── Requests │ │ │ └── requests.md │ │ └── _index.md │ ├── Acquisitions │ │ ├── Additional topics │ │ │ ├── Central ordering │ │ │ │ └── index.md │ │ │ ├── Invoice adjustments │ │ │ │ └── index.md │ │ │ ├── Order status │ │ │ │ └── index.md │ │ │ └── _index.md │ │ ├── Claiming │ │ │ └── _index.md │ │ ├── Finance │ │ │ └── _index.md │ │ ├── Invoices │ │ │ └── _index.md │ │ ├── Orders │ │ │ └── _index.md │ │ ├── Organizations │ │ │ └── _index.md │ │ ├── Receiving │ │ │ └── _index.md │ │ ├── Serials │ │ │ └── _index.md │ │ └── _index.md │ ├── Bulk Edit │ │ └── _index.md │ ├── Consortia │ │ └── _index.md │ ├── Dashboard │ │ └── _index.md │ ├── ERM │ │ ├── Agreements │ │ │ └── _index.md │ │ ├── ERM comparisons │ │ │ └── _index.md │ │ ├── Licenses │ │ │ └── _index.md │ │ ├── Local KB admin │ │ │ └── _index.md │ │ ├── _index.md │ │ ├── eHoldings │ │ │ └── _index.md │ │ └── eUsage │ │ │ └── _index.md │ ├── Export Manager │ │ └── _index.md │ ├── Getting started │ │ ├── Installation │ │ │ ├── _index.md │ │ │ ├── customizations.md │ │ │ ├── deploy-all-backend-modules.sh │ │ │ ├── deploy-backend-module.sh │ │ │ ├── hostnames.md │ │ │ ├── kubernetesex.md │ │ │ ├── okapi-pull.json │ │ │ └── vagrantboxes.md │ │ └── _index.md │ ├── Lists │ │ └── _index.md │ ├── Metadata │ │ ├── Additional topics │ │ │ ├── Job profiles │ │ │ │ ├── job_profiles.jpg │ │ │ │ └── jobprofiles.md │ │ │ └── _index.md │ │ ├── Data export │ │ │ └── _index.md │ │ ├── Data import │ │ │ └── _index.md │ │ ├── Inventory │ │ │ ├── MARCAuthority.md │ │ │ ├── QuickMARC.md │ │ │ └── _index.md │ │ └── _index.md │ ├── Platform essentials │ │ ├── Item status │ │ │ └── itemstatus.md │ │ ├── Keyboard shortcuts │ │ │ └── keyboardshortcuts.md │ │ ├── Locations │ │ │ └── locations.md │ │ ├── Permissions │ │ │ ├── _index.md │ │ │ ├── auth-1.png │ │ │ ├── auth-2.png │ │ │ ├── auth-3.png │ │ │ ├── auth-4.png │ │ │ ├── auth-5.png │ │ │ ├── relation-diagram.png │ │ │ ├── role-creation-1.png │ │ │ ├── role-creation-2.png │ │ │ ├── role-creation-3.png │ │ │ ├── role-creation-4.png │ │ │ ├── role-creation-5.png │ │ │ ├── role-deletion-1.png │ │ │ ├── role-duplication-1.png │ │ │ ├── role-duplication-2.png │ │ │ ├── role-modification-1.png │ │ │ ├── role-modification-2.png │ │ │ ├── shared-roles-1.png │ │ │ ├── shared-roles-2.png │ │ │ ├── users-1.png │ │ │ ├── users-2.png │ │ │ ├── users-3.png │ │ │ ├── users-4.png │ │ │ ├── users-5.png │ │ │ ├── users-6.png │ │ │ └── users-7.png │ │ └── _index.md │ ├── Reporting │ │ ├── FOLIO Analytics │ │ │ └── _index.md │ │ ├── LDLite │ │ │ └── _index.md │ │ ├── MARC Transformation │ │ │ └── _index.md │ │ ├── Metadb │ │ │ └── _index.md │ │ ├── Reporting App │ │ │ └── _index.md │ │ └── _index.md │ ├── Settings │ │ ├── Settings_Authorization-roles │ │ │ └── Settings_Authorization-roles.md │ │ ├── Settings_acquisition_units │ │ │ └── Settings_acquisition_units.md │ │ ├── Settings_agreements │ │ │ └── Settings_agreements.md │ │ ├── Settings_calendar │ │ │ └── settings_calendar.md │ │ ├── Settings_circulation │ │ │ └── settings_circulation.md │ │ ├── Settings_consortium-manager │ │ │ └── settings_consortium-manager.md │ │ ├── Settings_courses │ │ │ └── settings_courses.md │ │ ├── Settings_data_export │ │ │ └── settings_data_export.md │ │ ├── Settings_data_import │ │ │ └── settings_data_import.md │ │ ├── Settings_eholdings │ │ │ └── settings_eholdings.md │ │ ├── Settings_eusage │ │ │ └── settings_eusage.md │ │ ├── Settings_finance │ │ │ └── Settings_finance.md │ │ ├── Settings_gobi_integration │ │ │ └── settings_gobi_integration.md │ │ ├── Settings_inventory │ │ │ └── Settings_inventory.md │ │ ├── Settings_invoices │ │ │ └── Settings_invoices.md │ │ ├── Settings_licenses │ │ │ └── Settings_licenses.md │ │ ├── Settings_marc_authority │ │ │ └── Settings_marc_authority.md │ │ ├── Settings_my-profile │ │ │ └── settings_my-profile.md │ │ ├── Settings_notes │ │ │ └── Settings_notes.md │ │ ├── Settings_oaipmh │ │ │ └── Settings_oaipmh.md │ │ ├── Settings_orders │ │ │ └── Settings_orders.md │ │ ├── Settings_organizations │ │ │ └── Settings_organizations.md │ │ ├── Settings_remotestorage │ │ │ └── remotestorage.md │ │ ├── Settings_reporting │ │ │ └── Settings_reporting.md │ │ ├── Settings_serials │ │ │ └── Settings_serials.md │ │ ├── Settings_service_interaction │ │ │ └── settings_service_interaction.md │ │ ├── Settings_tags │ │ │ └── Settings_tags.md │ │ ├── Settings_tenant │ │ │ └── Settings_tenant.md │ │ ├── Settings_users │ │ │ └── Settings_users.md │ │ ├── System_software_versions │ │ │ └── System_software_versions.md │ │ └── _index.md │ ├── Users │ │ └── _index.md │ └── _index.md │ ├── featured-background.jpg │ └── search.md ├── i18n ├── de.toml └── en.toml ├── layouts ├── 404.html ├── docs │ └── list.html └── partials │ ├── footer.html │ ├── head.html │ ├── hooks │ ├── body-end.html │ └── head-end.html │ ├── navbar.html │ ├── page-meta-lastmod.html │ ├── page-meta-links.html │ ├── sidebar-tree.html │ └── toc.html ├── package-lock.json ├── package.json ├── s3-website-config.json ├── static ├── css │ └── toc.css ├── img │ ├── FOLIOReportingDataflow.png │ ├── FOLIO_6.png │ ├── deb_installer_start.png │ ├── deb_modules_installer.png │ ├── kubernetes_deployment.png │ ├── single_deb.png │ ├── single_docker_compose.png │ ├── temp │ │ ├── folio_overview.png │ │ └── okapi-stripes_architecture.png │ └── vagrant_boxes.png └── js │ └── scrollspy.js └── themes └── .keep /.gitignore: -------------------------------------------------------------------------------- 1 | public/ 2 | resources/ 3 | node_modules/ 4 | tech-doc-hugo 5 | .hugo_build.lock 6 | 7 | # Ignore Mac system files 8 | .DS_Store 9 | 10 | # Windows 11 | Thumbs.db 12 | ehthumbs.db 13 | Desktop.ini 14 | $RECYCLE.BIN/ 15 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "themes/docsy"] 2 | path = themes/docsy 3 | url = https://github.com/google/docsy 4 | 5 | ignore = dirty 6 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @folio-org/docs 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution guidelines 2 | 3 | Guidelines for Contributing Code: 4 | [dev.folio.org/guidelines/contributing](https://dev.folio.org/guidelines/contributing) 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FOLIO Documentation 2 | 3 | Copyright (C) 2017-2024 The Open Library Foundation 4 | 5 | This software is distributed under the terms of the Apache License, 6 | Version 2.0. See the file "[LICENSE](LICENSE)" for more information. 7 | 8 | ## Introduction 9 | 10 | This is the documentation for FOLIO apps. 11 | If working with this Hugo site locally, be sure to execute 12 | 13 | ``` 14 | git submodule update --init --recursive 15 | ``` 16 | 17 | before attempting to build with Hugo for the first time. 18 | 19 | ### Serve with Docker 20 | One way to locally serve the site is with Docker 21 | 22 | 1. [Install Docker for your operating system](https://docs.docker.com/get-docker/) 23 | 2. From the docs directory, run 24 | ``` 25 | docker run --rm -it -v $(pwd):/src -p 1313:1313 klakegg/hugo:ext-alpine server 26 | ``` 27 | 28 | ### Serve locally with Hugo 29 | Another option is to run Hugo locally on your computer 30 | 31 | 1. [Install Hugo for your operating system](https://gohugo.io/getting-started/installing) 32 | 2. From the docs directory, run 33 | ``` 34 | hugo server -D 35 | ``` 36 | ### Preview the Docs site 37 | After serving, visit 38 | 39 | ## FOLIO Documentation Working Group 40 | 41 | Community members who are interested in helping with documentation should reach out to a member of the FOLIO Documentation Working Group to find out how you can help. 42 | 43 | For questions regarding documentation, please join the 44 | [slack channel](https://folio-org.atlassian.net/wiki/spaces/COMMUNITY/pages/4227287/FOLIO+Communication+Spaces#FOLIOCommunicationSpaces-slackSlack) 45 | #folio-documentation and ask there. 46 | 47 | Please refer to the 48 | [FOLIO Documentation Working Group webspace](https://folio-org.atlassian.net/wiki/spaces/SS/pages/4489616/FOLIO+Documentation+Working+Group) 49 | that includes the 50 | [Basic Workflow in Github for Updating Existing Documentation](https://folio-org.atlassian.net/wiki/spaces/SS/pages/4490218/Basic+Workflow+in+Github+for+Updating+Existing+Documentation). 51 | 52 | ## Issue tracker 53 | 54 | See project [DOCS](https://issues.folio.org/browse/DOCS) 55 | at the [FOLIO issue tracker](https://dev.folio.org/guidelines/issue-tracker). 56 | 57 | -------------------------------------------------------------------------------- /assets/icons/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/assets/icons/logo.png -------------------------------------------------------------------------------- /assets/icons/logo.svg: -------------------------------------------------------------------------------- 1 | FOLIO-Logo-White -------------------------------------------------------------------------------- /assets/scss/_sidebar-toc.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Right side toc 3 | // 4 | .td-sidebar-toc { 5 | border-left: 1px solid $border-color; 6 | 7 | @supports (position: sticky) { 8 | position: sticky; 9 | top: 4rem; 10 | height: calc(100vh - 10rem); 11 | overflow-y: auto; 12 | } 13 | 14 | order: 2; 15 | padding-top: 0.75rem; 16 | padding-bottom: 1.5rem; 17 | vertical-align: top; 18 | 19 | a { 20 | display: block; 21 | font-weight: $font-weight-light; 22 | padding-bottom: .25rem; 23 | } 24 | 25 | li { 26 | list-style: none; 27 | display: block; 28 | } 29 | 30 | li li { 31 | margin-left: 0.5rem; 32 | } 33 | 34 | .td-page-meta { 35 | a { 36 | font-weight: $font-weight-medium; 37 | } 38 | } 39 | 40 | #TableOfContents { 41 | // Hugo's ToC is a mouthful, this can be used to style the top level h2 entries. 42 | > ul > li > ul > li > a {} 43 | 44 | a { 45 | color: $gray-600; 46 | 47 | &:hover { 48 | color: $blue; 49 | text-decoration: none; 50 | } 51 | } 52 | } 53 | 54 | ul { 55 | padding-left: 0; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /assets/scss/_sidebar-tree.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Left side navigation 3 | // 4 | .td-sidebar-nav { 5 | padding-right: 0.5rem; 6 | margin-right: -15px; 7 | margin-left: -15px; 8 | 9 | @include media-breakpoint-up(md) { 10 | @supports (position: sticky) { 11 | max-height: calc(100vh - 5rem); 12 | overflow-y: auto; 13 | } 14 | } 15 | 16 | 17 | @include media-breakpoint-up(md) { 18 | display: block !important; 19 | } 20 | 21 | 22 | &__section { 23 | li { 24 | list-style: none; 25 | } 26 | 27 | ul { 28 | padding: 0; 29 | margin: 0.3em; 30 | } 31 | 32 | @include media-breakpoint-up(md) { 33 | & > ul { 34 | padding-left: 0rem; 35 | } 36 | } 37 | 38 | 39 | padding-left: 0px; 40 | } 41 | 42 | &__section-title { 43 | display: block; 44 | font-weight: $font-weight-medium; 45 | 46 | .active { 47 | font-weight: $font-weight-bold; 48 | } 49 | 50 | a { 51 | color: $gray-900; 52 | } 53 | } 54 | 55 | .td-sidebar-link { 56 | display: block; 57 | padding-bottom: 0.375rem; 58 | 59 | &__page { 60 | color: #FFFFFF; 61 | font-weight: $font-weight-light; 62 | } 63 | } 64 | 65 | a { 66 | &:hover { 67 | color: $blue; 68 | text-decoration: none; 69 | } 70 | 71 | &.active { 72 | font-weight: $font-weight-bold; 73 | } 74 | } 75 | 76 | .dropdown { 77 | .dropdown-menu, .dropdown-item { 78 | background-color: $black; 79 | background-image: none; 80 | } 81 | 82 | a { 83 | color: $white; 84 | 85 | &:hover, &:focus, &:active { 86 | color: $blue; 87 | text-decoration: none; 88 | } 89 | } 90 | 91 | .nav-link { 92 | padding: 0 0 1rem; 93 | } 94 | } 95 | } 96 | 97 | .td-sidebar { 98 | @include media-breakpoint-up(md) { 99 | padding-top: 4rem; 100 | background-color: $td-sidebar-bg-color; 101 | padding-right: 1rem; 102 | border-right: 1px solid $td-sidebar-border-color; 103 | } 104 | 105 | 106 | padding-bottom: 1rem; 107 | 108 | &__toggle { 109 | line-height: 1; 110 | color: $white; 111 | margin: 1rem; 112 | 113 | &:hover, &:focus, &:active { 114 | color: $white; 115 | background-color: $blue; 116 | } 117 | } 118 | 119 | &__search { 120 | padding: 1rem 15px; 121 | margin-right: -15px; 122 | margin-left: -15px; 123 | } 124 | 125 | &__inner { 126 | order: 0; 127 | 128 | @include media-breakpoint-up(md) { 129 | @supports (position: sticky) { 130 | position: sticky; 131 | top: 4rem; 132 | z-index: 10; 133 | height: calc(100vh - 6rem); 134 | } 135 | } 136 | 137 | 138 | @include media-breakpoint-up(xl) { 139 | flex: 0 1 320px; 140 | } 141 | 142 | 143 | .td-search-box { 144 | width: 100%; 145 | } 146 | } 147 | } 148 | -------------------------------------------------------------------------------- /assets/scss/_styles_project.scss: -------------------------------------------------------------------------------- 1 | .copyright {font-size: 1rem;} 2 | .copyright a {color: white} 3 | -------------------------------------------------------------------------------- /assets/scss/_variables_project.scss: -------------------------------------------------------------------------------- 1 | $td-enable-google-fonts: false; 2 | $google_font_name: "Lato"; 3 | $google_font_family: "font-family: 'Lato', sans-serif;"; 4 | 5 | $dark: #3F7DA7 !default; 6 | 7 | $primary: $dark !default; 8 | $font-size-base: 0.9rem !default; 9 | $lead-font-size: 0.9rem !default; 10 | $lead-font-weight: 400 !default; 11 | 12 | $navbar-dark-color: rgba(#FFFFFF, 1.0) !default; 13 | $navbar-dark-hover-color: rgba(#FFFFFF, 0.5) !default; 14 | $navbar-dark-active-color: #FFFFFF !default; 15 | $navbar-dark-disabled-color: rgba(#FFFFFF, 0.25) !default; 16 | 17 | $info: rgba(#FF4C2F, 0.75) !default; 18 | 19 | $primary: #3F7DA7; 20 | $secondary: #FF4C2F; 21 | -------------------------------------------------------------------------------- /buildspec.yml: -------------------------------------------------------------------------------- 1 | version: 0.2 2 | 3 | phases: 4 | install: 5 | runtime-versions: 6 | python: 3.7 7 | commands: 8 | - apt-get update 9 | - curl -L -o hugo.deb https://github.com/gohugoio/hugo/releases/download/v0.76.5/hugo_extended_0.76.5_Linux-64bit.deb 10 | - dpkg -i hugo.deb 11 | pre_build: 12 | commands: 13 | - echo In pre_build phase.. 14 | - echo Current directory is $CODEBUILD_SRC_DIR 15 | - git submodule update --init --depth 1 --recursive 16 | - npm install --only=dev 17 | build: 18 | commands: 19 | - echo "******** Building Hugo site ********" 20 | - HUGO_ENV="production" hugo --verbose 21 | post_build: 22 | commands: 23 | - echo "******** Uploading to S3 ********" 24 | - aws s3 sync --delete public/ "s3://${BUCKET_NAME}" 25 | - aws s3api put-bucket-website --bucket "${BUCKET_NAME}" --website-configuration file://s3-website-config.json 26 | #artifacts: 27 | #files: 28 | # - location 29 | # - location 30 | #discard-paths: yes 31 | #base-directory: location 32 | cache: 33 | paths: 34 | - 'node_modules/**/*' 35 | -------------------------------------------------------------------------------- /content/en/_index.html: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "FOLIO" 3 | linkTitle = "FOLIO" 4 | 5 | +++ 6 | 7 | {{< blocks/cover title="Welcome to FOLIO Docs" image_anchor="top" height="full" color="orange" >}} 8 |
9 | }}"> 10 | Go to the docs 11 | 12 | 13 | GitHub 14 | 15 |
16 | {{< /blocks/cover >}} 17 | -------------------------------------------------------------------------------- /content/en/docs/About FOLIO/Benefits/_index.md: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | title: "Benefits" 4 | linkTitle: "Benefits" 5 | date: 2021-02-26 6 | weight: 20 7 | tags: ["parenttopic"] 8 | --- 9 | 10 | ## Community-driven 11 | FOLIO is developed through a community collaboration of libraries, vendors, and developers, coming together to build the open-source library services platform. The community of libraries is central to the development of FOLIO’s strategic product roadmap, direction, and governance. Libraries' subject matter expertise is central to the development of FOLIO and inform the features and functionality across the different FOLIO domains. 12 | 13 | ## Extensible 14 | The FOLIO microservices system architecture supports development efforts and contributions from multiple teams, which can constitute different libraries and/or service providers who work in parallel and focus on their areas of expertise. As a result, the platform can be extended by different developers to deliver new and improved services to users. FOLIO has been developed for interoperability and includes APIs to support external functions. 15 | 16 | ## Modern 17 | FOLIO features a modern user interface that provides for an easy and intuitive way to understand the workflows, the presentation of information, and navigation within the system. 18 | 19 | ## Service choice-oriented 20 | FOLIO is supported via an ‘open source as a service’ model, which allows the library to implement FOLIO independently or choose among multiple service organizations to provide implementation, hosting, and support services. The library can therefore operate a fully supported open source solution with a complete range of services available from a variety of providers. 21 | -------------------------------------------------------------------------------- /content/en/docs/About FOLIO/FOLIO Terminology/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FOLIO Terminology" 3 | linkTitle: "FOLIO Terminology" 4 | date: 2024-04-17 5 | weight: 10 6 | tags: ["parenttopic"] 7 | --- 8 | 9 | *The list of terminology and definitions is designed to provide a common framework and language for community members to use when discussing FOLIO. The definitions have been left at a deliberately high level to provide for flexibility and to avoid unintentionally excluding common usage. This approach also recognizes that the definitions as they currently stand may not be in a completed or detailed enough state. This point was emphasized at the Tri-Council meeting on April 13, 2023, particularly around Platform, there was distress over the fact that there are many valid and important uses of the word Platform (e.g. Platform Minimal or Okapi-Stripes Platform) and these current definitions do not reference/acknowledge these terms. As such, this work is ongoing and definitions will continue to be refined appropriately.* 10 | 11 | **FOLIO** is an acronym: the “Future Of Libraries Is Open”. This adjective can be used to describe a platform, project, product, or community, among other things. 12 | 13 | The **FOLIO Project** is a community effort to create an open-source library services platform. The FOLIO Project has a [governance model](https://wiki.folio.org/display/COMMUNITY/FOLIO+Governance+Model) that defines three councils and their roles, membership, and other groups. 14 | 15 | The **FOLIO Library Services Platform (LSP)[^1] **, is open-source software that implements a Library Services Platform including traditional LMS / ILS and other functionality. The **FOLIO LSP** is the **Product** of the FOLIO Project. This is the actualized output of the project, including both code and documentation describing functionality and use. 16 | 17 | The term **FOLIO Platform** (see [2016 visualization](https://www.folio.org/wp-content/uploads/2018/08/PDF-2016_08_FOLIO-Platform-Visualization.pdf)) refers to the architecture and foundational components of the **FOLIO Product** that support the suite of apps that make up the full FOLIO LSP. The FOLIO Platform may be used by other projects, such as Project ReShare. 18 | 19 | A **FOLIO App** is a cohesive set of functionality that fulfills a defined business purpose and has a user interface (whether that’s a GUI or API) within the FOLIO LSP. An App is composed of one or more FOLIO Modules. 20 | 21 | **FOLIO Modules** are software components which comprise FOLIO Apps (see [platform overview](https://wiki.folio.org/display/DD/Platform+Overview) & [module types](https://wiki.folio.org/display/DD/Folio+module+types) ). 22 | 23 | 24 | The **FOLIO Community** is a community of individuals and organizations involved with the FOLIO Project. The community includes libraries, vendors, subject matter experts, developers, documentation writers, etc. The community is open to all, whether affiliated with a FOLIO Member Organization or not. Community members must follow the [FOLIO code of conduct](https://wiki.folio.org/display/COMMUNITY/FOLIO+Code+of+Conduct). 25 | 26 | 27 | [^1] A Library Services Platform, or LSP, was a term first coined by Marshall Breeding to distinguish next generation library management systems from the legacy “Integrated Library System” [https://librarytechnology.org/document/25609](https://librarytechnology.org/document/25609). The definitions and differences between LSPs and ILSes, used in part for marketing purposes, admittedly are flexible and along a continuum. We do not endeavor to provide our own separate, more specific definition, but rather use the term LSP to describe the FOLIO product because we think it is most consistent with what the FOLIO product is and its place in the library management system marketplace. 28 | -------------------------------------------------------------------------------- /content/en/docs/About FOLIO/Features/_index.md: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | title: "Features" 4 | linkTitle: "Features" 5 | date: 2021-02-26 6 | weight: 10 7 | tags: ["parenttopic"] 8 | --- 9 | The FOLIO LSP includes the domains that support the library’s operations such as circulation, acquisitions, cataloging, and e-resources management. Each domain is comprised of multiple, smaller apps (for example a check-in or checkout app within the circulation domain). For example, features include the ability to: 10 | 11 | * Manage the library inventory including cataloging and bibliographic management functions 12 | * Manage vendors, budgets, orders, and invoicing when acquiring materials 13 | * Manage electronic resources including holdings, licenses, and agreements 14 | * Manage users including library staff, faculty, and students 15 | * Support different patron types, loan types, fines and fees structures, recalls, holds, and various reporting functions 16 | * Circulate items and define circulation rules including loan, fines, notices, and requests policies 17 | * Manage data import and export 18 | -------------------------------------------------------------------------------- /content/en/docs/About FOLIO/License/_index.md: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | title: "License" 4 | linkTitle: "License" 5 | date: 2021-02-26 6 | weight: 30 7 | tags: ["parenttopic"] 8 | --- 9 | 10 | The FOLIO project underscores transparency by ensuring the public availability of the code repository, software releases, and the platform roadmap. The open source software is available under a permissive Apache 2 open source license. FOLIO is a project with the Open Library Foundation, a 501(c)(3) non-for-profit organization. 11 | 12 | See the [Apache 2 license](https://www.apache.org/licenses/LICENSE-2.0). 13 | -------------------------------------------------------------------------------- /content/en/docs/About FOLIO/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "About FOLIO" 3 | linkTitle: "About FOLIO" 4 | weight: 100 5 | --- 6 | 7 | FOLIO is an open source Library Services Platform (LSP). The platform supports core functionality for the management of print and electronic resources. Built natively for the cloud, FOLIO uses a modern microservices architecture to allow libraries to choose applications they need. As a result, FOLIO moves beyond the traditional integrated library system, allowing anyone to freely build on the platform’s core functionality or to extend it through the development of applications that deliver new services. 8 | 9 | ## Supporting partners and contributors 10 | 11 | FOLIO is 100% driven by and open to the community. As a true open source project, any library or library consortium can choose to host and operate FOLIO locally. The software is free to any library. 12 | 13 | If you do want to take advantage of commercial hosting or support services, there are many opportunities to engage with vendors in the FOLIO community. Services include: implementation, hosting, service, and support and training. See a list of vendors who currently offer implementation, hosting, and support services for FOLIO: 14 | 15 | * [List of vendors](https://www.folio.org/community/members/) 16 | 17 | Note that some consortia also offer FOLIO support for member libraries. 18 | -------------------------------------------------------------------------------- /content/en/docs/Access/Additional topics/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Additional topics (Resource Access)" 3 | linkTitle: "Additional topics" 4 | weight: 60 5 | tags: ["subtopic", "parenttopic"] 6 | --- 7 | 8 | In addition to workflows that take place in a single app, library staff will also want to know about workflows that cross multiple apps, such as managing fees and fines, and managing loans and circulation rules together. 9 | -------------------------------------------------------------------------------- /content/en/docs/Access/Reading room/reading_room.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Reading room access" 3 | linkTitle: "Reading room access" 4 | weight: 45 5 | date: 2024-11-18 6 | --- 7 | 8 | 9 | The Reading room access app allows you to approve or deny access to Reading rooms. Reading rooms are created in [Settings > Tenant > Reading room access](../../../settings/settings_tenant/settings_tenant/#settings--tenant--reading-room-access). You can edit a user’s [Reading room access](../../../users/#edit-reading-room-access) and [Reading room notes](../../../users/#edit-reading-room-access) in the Users app. 10 | 11 | ## Permissions 12 | The permissions / capabilities listed below allow you to interact with the Reading room app and determine what you can and cannot do within the app. You can assign User roles to users in the Users app, or in the Settings > Authorization roles app. If the first capability is not assigned to a user, then they will be unable to see the Reading room access app or any related information. 13 | 14 | To add a capability or capability set to an Authorization role: 15 | 16 | Select all applications to ensure access to all capabilities. 17 | 1. Open the Capability sets or Capability accordion (see description in the table below for whether to look for a Capability set or a Capability). 18 | 2. Look under the matching Type. 19 | 3. Find the Resource (you can search using Ctrl-f/Cmd-f). 20 | 4. Select the Action. 21 | 22 | See [Settings > Authorization roles](../../../settings/settings_authorization-roles/settings_authorization-roles) for instructions on how to create and assign Authorization roles. 23 | 24 | The following are all the Reading room permissions: 25 | 26 | | Permission Display Name (OKAPI) | Resource (EUREKA) | Type | Action | Description | 27 | |--------------------------------------------------------------------|-------------------------------------------------|----------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 28 | | Reading room access: In app - track access | UI-Reading-Room | Data | Manage | This Capability set allows users to open and use the Reading room access app. | 29 | | Settings (tenant): Can create, edit and remove reading room access | UI-Tenant-Settings Settings Reading-Room-Access | Settings | Manage | This Capability set allows users to view, create, edit, and delete reading rooms in [Settings > Tenant > Reading room access](../../../settings/settings_tenant/settings_tenant/#settings--tenant--reading-room-access). | 30 | | Settings (tenant): Can view reading room access | UI-Tenant-Settings Settings Reading-Room-Access | Settings | View | This Capability set allows users to view reading rooms in [Settings > Tenant > Reading room access](../../../settings/settings_tenant/settings_tenant/#settings--tenant--reading-room-access). | 31 | | Users: Can view reading room access | UI-Users Reading-Room-Access | Data | View | This Capability set allows users to view the Reading rooms a user has and has not access to. It does not allow editing which reading rooms the user has access to. Note that the user needs to have an assigned User type. | 32 | | Users: Can view, and edit reading room access | UI-Users Reading-Room-Access | Data | Edit | This Capability set allows users to view and edit a user’s [Reading room access status](../../../users/#edit-reading-room-access) and add [Reading room notes](../../../users/#edit-reading-room-access). Note that the user needs to have an assigned User type. This Capability set also allows editing of other areas of the User record. | 33 | 34 | 35 | ## Locating a patron in the system 36 | You need to be signed into a service point the reading room is associated with before looking up a patron. 37 | 38 | You can find the patron by either: 39 | 40 | * Scanning / entering the barcode provided by the patron. 41 | * Using the Patron Look-up function. 42 | 43 | Locate the patron using a barcode: 44 | 45 | 1. Either scan the barcode on the patron’s library card, or enter the patron barcode number. 46 | 2. Click **Enter**. Patron details are displayed. The access status to the Reading room associated with the logged in user’s service point is shown. 47 | 48 | Locate the patron using the Patron look-up function: 49 | 1. In the Scan patron card pane, click **Patron look-up**. 50 | 2. In the **Select User** dialog, in the **User search** box, enter part or all of the patron’s name, email, or username. 51 | 3. Optional: Filter results by Status (active/inactive), or by Patron group. 52 | 4. Click **Search**. 53 | 5. Click the patron to use. The Select User dialog closes, the barcode appears in the Scan patron card pane, and the patron details are displayed. The access status to the Reading room associated with the logged in user’s service point is shown. 54 | 55 | Note: Unlike in the **Check out** app, Patron look-up will only return results if the patron has a barcode. 56 | 57 | ## Allowing reading room access 58 | 59 | 1. [Look up the patron](#locating-a-patron-in-the-system). 60 | 2. You will see the patron’s reading room access (**allowed** or **not allowed**) and any notes. 61 | 3. Select **Allowed** or **Not allowed**. 62 | 63 | Note: Inactive users will display an Inactive user message under their patron details. The allowed and not allowed buttons do not display for inactive users. 64 | 65 | You can access the log of approvals and denials via the **/reading-room/access-log** API endpoint. 66 | -------------------------------------------------------------------------------- /content/en/docs/Access/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Resource Access (Circulation)" 3 | linkTitle: "Resource Access (Circulation)" 4 | weight: 300 5 | --- 6 | 7 | In FOLIO, resource access includes essential circulation functions. These functions include: 8 | 9 | * Checking out and discharging library materials 10 | * Checking in materials 11 | * Managing hold requests 12 | * Managing course reserves 13 | * Managing circulation logs 14 | 15 | ## Circulation Settings 16 | 17 | The circulation of library materials is governed by a set of rules and policies. These rules and policies are defined by the library and implemented in the [Circulation](../settings/settings_circulation/settings_circulation/) and the [Courses](../settings/settings_courses/settings_courses/) areas of the FOLIO Settings app. 18 | -------------------------------------------------------------------------------- /content/en/docs/Acquisitions/Additional topics/Central ordering/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Central ordering" 3 | linkTitle: "Central ordering" 4 | date: 2024-12-04 5 | weight: 05 6 | tags: ["subtopic"] 7 | --- 8 | 9 | FOLIO environments with Enhanced Consortial Support (ECS) enabled can be configured to support ordering actvities within the central tenant, while allowing authorized staff at member libraries to receive corresponding materials within their member library tenants. With this feature enabled, libraries may still create local orders, while also benefiting from central or network ordering programs that may be in use by their consortium. 10 | 11 | ## Enabling central ordering 12 | Within the Central tenant of an ECS-enabled FOLIO environment: 13 | 1. Navigate to **Settings > Consortium manager**. 14 | 2. Click on **Central ordering**, listed under **Network ordering**. 15 | 3. Check the box next to **Allow user to select locations from other affiliations for central orders**. 16 | 4. Click **Confirm** in the modal that appears. **Please note:** This feature cannot be disabled once this action is confirmed. 17 | 5. Click **Save**. In the current version of FOLIO, a note will appear notifying administrators that the setting can no longer be disabled. 18 | 19 | ## Configuring Receiving app behavior 20 | When Central ordering is activated in the Central tenant, the Receiving app in the corresponding member tenants provides visibility into both central orders - those created in the Central tenant - and local orders - those created in the member library tenant. Member libraries can establish default search behavior for the Receiving app. 21 | 22 | Within each member tenant in an ECS-enabled FOLIO environment: 23 | 1. Navigate to **Settings > Orders**. 24 | 2. Click on **Central ordering**, listed under **Network ordering**. 25 | 3. In the **Set default for receiving search** dropdown, select the desired option: **Active affiliation only** indicates that a library will only be able to access receiving records for the current member library tenant. **Central only** indicates that a library will only be able to access receiving records for orders placed in the Central tenant. **Central default** indicates that a library will have the 'Central' tab selected by default in the Search & Filter pane of Receiving app, but will be able to switch tabs and view local orders' receiving records, as well. **Active affiliation default** indicates that a library will have the 'Local' tab selected by default in the Search & Filter pane of Receiving app, but will be able to switch tabs and view central orders' receiving records, as well. 26 | 4. Click **Save**. 27 | 28 | ## Central ordering workflow 29 | Central orders must originate in the Central tenant affiliation. Creating a central order largely mimics the workflow for [creating an order record](../../orders/#creating-an-order) in any FOLIO tenant. The variation emerges when [specifying location information](../../orders/#location) on the purchase order line (POL). 30 | 31 | **With the active affiliation set to the Central tenant:** 32 | 1. Open the Orders app. 33 | 2. Create a new order record. See [Creating an order](../../orders/#creating-an-order) for instructions. 34 | 3. Add a POL. See [Adding an order line to an order](../../orders/#adding-an-order-line-to-an-order) for instructions. **Please note:** Central orders associated with an instance record may only be associated with a shared instance record. 35 | 4. In the **Location** accordion, select an **Affiliation**. A user will only see the affiliations for which they have associated capabilities. 36 | 5. In the **Select holdings** dropdown, select a pre-existing holdings record to associate the quantity with, or use the **Create new holdings for location** link to lookup a location to which this quantity will be associated. **Please note:** The **Select locations** modal will be pre-limited to the locations within the selected affiliation. 37 | 6. Enter the appropriate quantity information. 38 | 7. Once all required and desired information is entered, **Save & close**. 39 | 8. Open the order. See [Opening an order](../../orders/#opening-an-order) for instructions. 40 | 41 | **Please note:** For POL with a quantity greater than 1, staff may select multiple affiliations and locations within the **Location** accordion. If **Receiving workflow** is set to 'Synchronized order and receipt quantity' and **Create inventory** is set to create holdings and/or items, those Inventory records will be created within the selected affiliation(s) from the **Location** accordion. 42 | 43 | ### Receiving central orders 44 | Central orders may be received from the Central tenant affiliation or within the applicable member tenants, if configured. 45 | 46 | **In the Central tenant affiliation:** 47 | 1. Open the Receiving app. 48 | 2. Use the **Search & filter** options to locate the receiving title record. 49 | 3. Open the receiving title record. For POL with a **Receiving workflow** set to 'Synchronized order and receipt quantity', all the pieces that are associated with the order record **and** with the staff user's authorized affiliations will be displayed in the **Expected** accordion. For POL with a **Receiving workflow** set to 'Independent order and receipt quantity', pieces may be added. See [Adding an expected piece](../../receiving/#adding-an-expected-piece) for instructions. **Please note:** When creating pieces in the Central tenant, you must specify the affiliation for the piece in addition to its location within the affiliation. 50 | 4. Receive materials as needed. See [Receiving a piece](../../receiving/#receiving-a-piece) for instructions. 51 | 52 | **In the member tenant affiliation:** 53 | 1. Open the Receiving app. 54 | 2. Use the **Search & filter** options to locate the receiving title record. **Please note**: The Receiving app must be configured to include central orders to view this receiving title. 55 | 3. Open the receiving title record. For POL with a **Receiving workflow** set to 'Synchronized order and receipt quantity', only the pieces that are associated with the order record **and** with the active tenant affiliations will be displayed in the **Expected** accordion. For POL with a **Receiving workflow** set to 'Independent order and receipt quantity', pieces may be added. See [Adding an expected piece](../../receiving/#adding-an-expected-piece) for instructions. 56 | 4. Receive materials as needed. See [Receiving a piece](../../receiving/#receiving-a-piece) for instructions. 57 | -------------------------------------------------------------------------------- /content/en/docs/Acquisitions/Additional topics/Invoice adjustments/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Invoice adjustments" 3 | linkTitle: "Invoice adjustments" 4 | date: 2024-12-04 5 | weight: 10 6 | tags: ["subtopic"] 7 | --- 8 | 9 | Adjustments are an optional feature within the Invoices app in FOLIO. 10 | 11 | ## What is an invoice adjustment? 12 | An adjustment is an addition to an invoice record that accounts for charges that are supplemental to the cost of acquired materials, like shipping or tax. 13 | 14 | ## How do I add an adjustment to an invoice? 15 | An adjustment can be added at the invoice level or to an individual invoice line. 16 | 17 | To add an adjustment to the invoice level, see [Adjustments](../../invoices/#adjustments) for instructions. 18 | 19 | To add an adjustment to an invoice line, see [Adjustments](../../invoices/#adjustments-1) for instructions. 20 | 21 | ## How do I select the correct pro-rate option? 22 | When adding an adjustment to an invoice, staff must select one of the following options for **Pro rate**: 23 | * By line 24 | * By amount 25 | * By quantity 26 | * Not prorated 27 | 28 | **By line** will distribute the cost of the adjustment equally across all invoice lines, so each line absorbs an equal amount within its total. For example: 29 | An invoice has two invoice lines: line 1 has a quantity of 5 and subtotal of $50, line 2 has a quantity of 4 and a subtotal of $100. 30 | * A $10 adjustment is applied and prorated by line. 31 | * Each line absorbs $5 of the adjustment. 32 | 33 | **By amount** will distribute the cost of the adjustment proportionally across all invoice lines, so lines with a higher subtotal will absorb more of the adjustment than those with lower subtotals. For example: 34 | An invoice has two invoice lines: line 1 has a quantity of 5 and subtotal of $50, line 2 has a quantity of 4 and a subtotal of $100. 35 | * A $10 adjustment is applied and prorated by amount. 36 | * Line 1 absorbs $3.33. 37 | * Line 2 absorbs $6.67, since the subtotal of this line is twice the subtotal of line 1. 38 | 39 | **By quantity** will distribute the cost of the adjustment proportionally across all invoice lines, so lines with a higher quanity will absorb more of the adjustment than those paying for lower quantities of material. For example: 40 | An invoice has two invoice lines: line 1 has a quantity of 5 and subtotal of $50, line 2 has a quantity of 4 and a subtotal of $100. 41 | * A $10 adjustment is applied and prorated by quantity. 42 | * Line 1 absorbs $5.56. 43 | * Line 2 absorbs $4.44, since this line is paying for a lower quantity of material. 44 | 45 | **Not prorated** indicates that the adjustment will not be absorbed by any invoice line. Instead, staff must select a fund to use for payment of the adjustment. 46 | 47 | ## How do I select to correct 'Relation to total' for an invoice adjustment? 48 | When adding an adjustment, staff must select one of the following options for **Relation to total**: 49 | * In addition to 50 | * Included in 51 | * Separate from 52 | 53 | Each option has a separate use case, so please use the definitions and examples below to select the appropriate option for your use case. 54 | 55 | **In addition to** indicates that the amount of the adjustment should be added to the subtotal of the invoice or invoice line. A use case would be if a library wishes to break out a shipping cost that must be paid on top of the cost of materials. 56 | For example: if the entered subtotal is $10 and a 10% adjustment is added with the selection of **In addition to**: 57 | * The entered subtotal will be used to calculate the adjustment amount. 58 | * The adjustment will be $1 (10% of $10). 59 | * The subtotal will remain $10. 60 | * The adjustment will be added to the subtotal and the calculated total amount will be $11. 61 | 62 | **Included in** indicates that the amount of the adjustment is already bundled within the subtotal, so the specified subtotal already includes material cost, plus the adjustment. A use case would be when the material cost includes the cost of the item's associated sales tax. 63 | For example: if the entered subtotal is $10 and a 10% adjustment is added with the selection of **Included in**: 64 | * The entered subtotal will be used to calculate the adjustment amount. 65 | * The adjustment will be $0.91 (10% of the material cost, rounded to the nearest cent). 66 | * The subtotal will decrease to $9.09 (the cost of the material, minus the calculated adjustment for tax). 67 | * The new subtotal plus the calculated adjustment will combine to equal the original $10 subtotal. 68 | 69 | **Separate from** indicates that the adjustment amount should not impact the calculated total amount of the invoice. A use case may be import duties that need to be reported on the invoice, but not paid as part of the invoice because another entity is responsible for payment. 70 | For example: if the entered subtotal is $10 and a 10% adjustment is added with the selection of **Separate from**: 71 | * The entered subtotal will be used to calculate the adjustment amount. 72 | * The adjustment will be $1 (10% of $10). 73 | * The subtotal will remain $10. 74 | * The adjustment will not impact the subtotal and the calculated total amount will be $10. 75 | 76 | 77 | ## Is there a way to save adjustments that are commonly applied to invoices? 78 | Yes, for commonly used adjustments, it is recommended that these be added to **Settings > Invoices** as [preset adjustments](../../../settings/settings_invoices/settings_invoices/#settings--invoices--adjustments), which can be applied to relevant invoices. If a library wishes to apply a preset adjustment to every invoice, check the **Always show** box. The adjustment will be proactively applied to every newly created invoice, but may be edited or deleted on each individual invoice, as needed. 79 | -------------------------------------------------------------------------------- /content/en/docs/Acquisitions/Additional topics/Order status/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Order status" 3 | linkTitle: "Order status" 4 | date: 2024-12-04 5 | weight: 20 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The status of an order record impacts downstream workflows related to Receiving, Invoices, and aspects of Metadata Management. 10 | 11 | ## What is workflow status and why is it significant? 12 | Workflow status is the overall status of the order record: Pending, Open, or Closed. When an order record is created, it is saved in a 'Pending' status and cannot be opened until at least one purchase order line (POL) is associated with the order. 13 | 14 | When an order is opened, several different events occur. See [Opening an Order](../../orders/#opening-an-order) for more information. The act of opening an order also impacts editability of select fields on the order and POL (see below). 15 | 16 | An order can be closed automatically by the system (see below) or can be manually closed by a staff user in FOLIO. See [Closing an Order](../../orders/#closing-an-order) for more information. 17 | 18 | ## Which fields are editable when an order is open? 19 | A library may need to edit fields on an order record with an 'Open' status. This is especially common on Ongoing and Ongoing subscription orders. Use the table below to determine if a field is editable. If the field is not listed in the table below, and order must be unopened to edit the field. See [Unopening an Order](../../orders/#unopening-an-order) for more information. 20 | 21 | ### Order fields 22 | | One-Time | Ongoing | Ongoing Subscription | 23 | | -------- | ------- | ------- | 24 | | Vendor | Vendor | Vendor | 25 | | Acquisition unit | Acquisition unit | Acquisition unit | 26 | | Assigned to | Assigned to | Assigned to | 27 | | Bill to | Bill to | Bill to | 28 | | Ship to | Ship to | Ship to | 29 | | Tags | Tags | Tags | 30 | | Note | Note | Note | 31 | | Custom fields | Subscription | Subscription | 32 | | | Review date | Renewal interval | 33 | | | Notes | Renewal date | 34 | | | Custom fields | Review period | 35 | | | | Notes | 36 | | | | Custom fields | 37 | 38 | ### Order line fields 39 | | One-Time | Ongoing | Ongoing Subscription | 40 | | -------- | ------- | ------- | 41 | | Receiving note | Receiving note | Receiving note | 42 | | Subsciption from | Subsciption from | Subsciption from | 43 | | Subscription to | Subscription to | Subscription to | 44 | | Linked package | Linked package | Linked package | 45 | | Internal note | Internal note | Internal note | 46 | | Receipt date | Receipt date | Receipt date | 47 | | Receipt status | Receipt status | Receipt status | 48 | | Payment status | Payment status | Payment status | 49 | | Claiming active | Claiming active | Claiming active | 50 | | Claiming interval | Claiming interval | Claiming interval | 51 | | Cancellation restriction | Cancellation restriction | Cancellation restriction | 52 | | Cancellation description | Cancellation description | Cancellation description | 53 | | Line description | Line description | Line description | 54 | | Tags | Tags | Tags | 55 | | Donor information | Donor information | Donor information | 56 | | Vendor reference number and type | Renewal note | Renewal note | 57 | | Unit price (physical and electronic) | Vendor reference number and type | Vendor reference number and type | 58 | | Additional cost | Unit price (physical and electronic) | Unit price (physical and electronic) | 59 | | Currency | Additional cost | Additional cost | 60 | | Set exchange rate | Currency | Currency | 61 | | Discount | Set exchange rate | Set exchange rate | 62 | | Fund distribution | Discount | Discount | 63 | | Material supplier/access provider | Fund distribution | Fund distribution | 64 | | Receipt/Activation due | Quantity (physical and electronic)* | Quantity (physical and electronic)* | 65 | | Expected activation/receipt date | Material supplier/access provider | Material supplier/access provider | 66 | | URL | Receipt/Activation due | Receipt/Activation due | 67 | | | Expected activation/receipt date | Expected activation/receipt date | 68 | | | URL | URL | 69 | 70 | ## How does FOLIO know when to close an order as 'Complete'? 71 | An order will automatically close with a ‘Reason for closure’ of Complete if all POL associated with the order achieve one of the following: 72 | | Receiving status | Payment status | 73 | | -------- | ------- | 74 | | Fully Received | Fully Paid | 75 | | Fully Received | Payment Not Required | 76 | | Receipt Not Required | Fully Paid | 77 | | Receipt Not Required | Payment Not Required | 78 | | Cancelled | Cancelled | 79 | -------------------------------------------------------------------------------- /content/en/docs/Acquisitions/Additional topics/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Additional topics (Acquisitions)" 3 | linkTitle: "Additional topics - Acquisitions" 4 | weight: 60 5 | tags: ["subtopic", "parenttopic"] 6 | --- 7 | 8 | This section of documentation aims to address frequently asked questions about acquisitions related topics and address workflows that cross multiple apps. 9 | -------------------------------------------------------------------------------- /content/en/docs/Acquisitions/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Resource Management (Acquisitions)" 3 | linkTitle: "Resource Management (Acquisitions)" 4 | weight: 400 5 | --- 6 | 7 | In FOLIO, acquisitions includes essential functions. These functions include: 8 | 9 | * Creating fund structures and managing money 10 | * Creating and managing purchase orders 11 | * Receiving materials ordered by the library 12 | * Tracking and managing the payment of materials 13 | * Creating and managing organizations and vendors 14 | 15 | 16 | ## Acquisitions Settings 17 | 18 | The acquisition of library materials is governed by a set of rules and policies. These rules and policies are defined by the library and implemented in the Finance, Invoices, Orders, and Organizations areas of the [FOLIO Settings app](../settings/). 19 | -------------------------------------------------------------------------------- /content/en/docs/ERM/ERM comparisons/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "ERM comparisons" 3 | linkTitle: "ERM comparisons" 4 | date: 2024-12-06 5 | weight: 15 6 | tags: ["parenttopic"] 7 | --- 8 | 9 | The ERM comparisons app is used to compare the contents of two different packages or agreements to check whether there are any overlaps in content. 10 | 11 | Definition of terms related to the ERM comparisons app: 12 | 13 | * **Comparison.** A record that compares the contents of two collections of e-resources (agreements or packages) and as a result shows, which titles are contained in which set and whether titles in the collections overlap or not. 14 | * **Package.** A collection of e-resource titles bundled together as a unit and distributed by a provider. 15 | * **Agreement.** An agreement outlines the content your library can access. 16 | 17 | ## Permissions 18 | 19 | The Capability sets listed below allow you to interact with the ERM comparisons app and determine what you can or cannot do within the app. You can assign Capability sets to users in the section **Authorization roles** of the Settings app. 20 | 21 | |permissionDisplayName (OKAPI) |Capability/Capability Set (EUREKA) |Type|ApplicationID |Action| 22 | |-------------------------------------|--------------------------------------------------------|----|---------------------------|------| 23 | |ERM comparisons: View jobs |UI-Erm-Comparisons Jobs (ui-erm-comparisons_jobs.view) |data|app-erm-usage-2.0.2 |view | 24 | |ERM Comparisons: Create jobs |UI-Erm-Comparisons Jobs (ui-erm-comparisons_jobs.edit) |data|app-erm-usage-2.0.2 |edit | 25 | |ERM Comparisons: Delete jobs |UI-Erm-Comparisons Jobs (ui-erm-comparisons_jobs.delete)|data|app-erm-usage-2.0.2 |delete| 26 | |Agreements: Search & view agreements |UI-Agreements Agreements (ui-agreements_agreements.view)|data|app-platform-complete-2.1.9|view | 27 | |Agreements: Search & view e-resources|UI-Agreements Resources (ui-agreements_resources.view) |data|app-platform-complete-2.1.9|view | 28 | 29 | ## Creating a comparison 30 | 31 | 1. In the **ERM comparisons** pane, click **New**. 32 | 2. Select a name. 33 | 3. Add as a first comparison point either a package or an agreement to the comparison. 34 | 4. Select a date. All titles that where an active component of the collection on this date are included in the comparison. The current day is preset by default. 35 | 5. Add as a second comparison point either a package or an agreement to the comparison. 36 | 6. Select a date. All titles that where an active component of the collection on this date are included in the comparison. The current day is preset by default. 37 | 7. Once you have included all of the information you want about the comparison, click **Save & close**. A confirmation message appears, and the comparison is saved and appears in the comparison pane. The comparison will start automatically. 38 | 39 | ## Searching for a comparison 40 | 41 | You can search for a comparison in the **Search & filter** pane. To search for comparisons, enter your search terms in the search box and click **Search**. It will be searched for the name of the comparison. 42 | 43 | You can also search for comparisons by selecting any of the filters in the **Search & filter** pane. Additionally, you can apply the filters before or after you perform a search via search box to limit your results. See the sections below for more information. 44 | 45 | ### Running status 46 | 47 | To filter comparisons by their status, select one of the following: 48 | 49 | * **Ended.** The comparison of the two comparison points is finished. The outcome/result can be checked. 50 | * **In progress.** The comparison of the two comparison points is currently running. 51 | * **Queued.** The comparison of the two comparison points has not started yet. It will be automatically started at some point. 52 | 53 | ### Result 54 | 55 | To filter comparisons by their result, select one of the following: 56 | 57 | * **Failure.** The comparison of the two comparison points was not successful. The comparison report is empty. 58 | * **Interrupted.** The comparison of the two comparison points was interrupted. 59 | * **Partial success.** The comparison of the two comparison points was partially successful. 60 | * **Success.** The comparison of the two comparison points was successful. A comparison report can be viewed. The report only contains titles if at least one of the two comparison points contained titles. 61 | 62 | ### Comparison point 1 & 2 63 | 64 | To filter for comparisons that contain specific packages or the components of a specific agreement, select one or both of the following: 65 | 66 | * **Select agreement.** Select an existing agreement from the Agreements app. 67 | * **Select package.** Select a package from the internal KB. 68 | 69 | ## Viewing a comparison 70 | 71 | Once you search for a comparison, the following information appear in the ERM comparisons pane: 72 | 73 | * **Name.** The name of the comparison. 74 | * **Running status.** The running status of the comparison. 75 | * **Outcome.** The outcome of the comparison as soon as the running status is set to *ended*. 76 | * **Errors.** The number of errors that occured during the comparison. 77 | * **Started.** The time and date the comparison process started. 78 | * **Ended.** The time and date the comparison process ended. 79 | 80 | In the search results, click a comparison to view it. The **comparisons details** pane displays the following additional information: 81 | 82 | * **Comparison report.** The listing of the compared titles with the information in which comparison point the titles are and whether they overlap or not. 83 | * **Comparison points.** The listing of the e-resouce collections (agreements and/or packages) that were being compared. 84 | * **Error log.** An error log will be shown if the comparison was not successful. 85 | * **Info log.** An info log will be shown if the comparison was not fully successful. 86 | 87 | ## Viewing a comparison report 88 | 89 | To view a comparison report, click on the comparison whose report you would like to view. In the **comparisons details** pane, click **View comparisons report**. The report displays the following information: 90 | 91 | * **Title.** The title of each e-resource that is whether in one or the other or both packages, shown in alphabetical order. 92 | * **Available via.** The name of the platform of the specific e-resource and a link to the e-resource on this platform. 93 | * **Coverage.** If available, the start date and/or end date of the e-resource. Coverage is typically only displayed for e-Journals. 94 | * **Agreement/Package #1 on MM/DD/YYYY.** The first comparison point with the name of the package or agreement and date of the comparison. The field will display a check mark circled in green if the comparison point contains the e-resource and an X circled in red if the comparison point does not contain the e-resource. 95 | * **Agreement/Package #2 on MM/DD/YYYY.** The second comparison point with the name of the package or agreement and date of the comparison. The field will display a check mark circled in green if the comparison point contains the e-resource and an X circled in red if the comparison point does not contain the e-resource. 96 | * **Overlap.** 97 | * **None.** The e-resource does not overlap. The title is only found in one of the comparison points. No overlap will be displayed in a red color. 98 | * **Full.** The e-resource overlaps. The title including its metadata is found in both comparison points. Full overlap will be displayed in a green color. 99 | * **Partly.** The e-resource is partly overlapping. The title is found in both comparison points but with differentiating metadata, e.g. the coverage or plattform-URL. Partly overlap will be displayed in an orange color. 100 | 101 | ## Deleting a comparison 102 | 103 | 1. Find the comparison you want to delete. 104 | 2. In the **comparisons details** pane, click **Actions > Delete**. 105 | 3. In the **Delete comparison** dialog, click **Delete**. A confirmation message appears and the comparison is deleted. 106 | -------------------------------------------------------------------------------- /content/en/docs/ERM/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Electronic Resource Managment (ERM)" 3 | linkTitle: "Electronic Resource Management (ERM)" 4 | weight: 450 5 | --- 6 | 7 | In FOLIO, ERM includes essential functions. These functions include: 8 | 9 | * Creating and managing agreements 10 | * Creating and managing licenses 11 | * Managing an external or internal knowledge base 12 | * Managing your library’s electronic resources 13 | 14 | ## ERM Settings 15 | 16 | Parts of the ERM apps are customizable by your library. These configurations are defined by the library and implemented in the [Agreements](../settings/settings_agreements/settings_agreements/), [eHoldings](../settings/settings_eholdings/settings_eholdings/), and [Licenses](../settings/settings_licenses/settings_licenses/) areas of the [FOLIO Settings](../settings/) app. 17 | -------------------------------------------------------------------------------- /content/en/docs/Getting started/Installation/_index.md: -------------------------------------------------------------------------------- 1 | 2 | --- 3 | title: "Install FOLIO" 4 | linkTitle: "Install FOLIO" 5 | date: 2025-01-06 6 | weight: 10 7 | tags: ["parenttopic"] 8 | --- 9 | 10 | ## Types of installations and deployments 11 | 12 | You can work with, install and deploy FOLIO in different ways: 13 | 14 | * Pre-built Vagrant boxes 15 | * Single-server deployment 16 | * Kubernetes deployment 17 | 18 | ### Pre-built Vagrant boxes 19 | 20 | If you just want to try FOLIO without installing it, you can run one of the pre-built Vagrant boxes. This will take a couple of minutes to download and run a virtual machine with a FOLIO instance and sample data that can be used right away. 21 | 22 | See [Vagrant boxes]({{< ref "vagrantboxes.md" >}}) for more information. 23 | 24 | ### Single-server deployment 25 | 26 | Currently we don't have complete installation instructions for a single-server deployment in the Ramsons release. 27 | 28 | Work in progress is [Eureka Single Server Fresh Install](https://folio-org.atlassian.net/wiki/spaces/FOLIJET/pages/441843733/Single+Server+Fresh+Install) and [eureka-platform-bootstrap](https://github.com/folio-org/eureka-platform-bootstrap). 29 | 30 | ### Kubernetes 31 | 32 | FOLIO's built-in multi-tenant capabilities make it straightforward to harness economies of scale and improve efficiencies for libraries. In this scenario, FOLIO will be deployed on a cluster of servers using Kubernetes for orchestration. This configuration allows the addition of new tenants and hardware resources on demand and it is ideal if you need to scale-up your FOLIO instance in the future. 33 | 34 | See [Kubernetes example]({{< ref "kubernetesex.md" >}}) for more information. 35 | 36 | ## Prerequisites 37 | 38 | ### Memory 39 | 40 | At least 24 GB memory are needed to run the official [platform-complete](https://github.com/folio-org/platform-complete) set of FOLIO modules. 41 | 42 | ### Infrastructure 43 | 44 | FOLIO requires 45 | * a PostgreSQL server 46 | * an OpenSearch or Elasticsearch server 47 | * a Kafka server 48 | 49 | Optional is 50 | * a MinIO object store or an Amazon S3 bucket 51 | 52 | #### PostgreSQL 53 | 54 | FOLIO requires PostgreSQL 16 or any later version. 55 | 56 | `pg_hba.conf` must be configured for `md5` [password authentication](https://www.postgresql.org/docs/current/auth-password.html). Some PostgreSQL distributions default to `scram-sha-256` password authentication failing the FOLIO installation with this error message: 57 | 58 | ``` 59 | Opening SQLConnection failed: com/ongres/scram/common/stringprep/StringPreparation 60 | java.lang.NoClassDefFoundError: com/ongres/scram/common/stringprep/StringPreparation 61 | ``` 62 | 63 | The FOLIO development teams are working on enabling the more secure `scram-sha-256` method, see [FOLIO-2411](https://issues.folio.org/browse/FOLIO-2411) and the issues it lists in its Issues Link section. 64 | -------------------------------------------------------------------------------- /content/en/docs/Getting started/Installation/deploy-all-backend-modules.sh: -------------------------------------------------------------------------------- 1 | #/bin/bash 2 | # This script deploys all backend modules of a list 3 | # Author: Ingolf Kuss, hbz 4 | # Date: Nov. 5th, 2021 5 | 6 | list=$1 7 | ip_address=$2 8 | if [ -z "$list" ]; then 9 | echo "Please pass a module list in the command line, e.g. okapi-install.json" 10 | exit 0 11 | fi 12 | if [ -z "$ip_address" ]; then 13 | echo "Please pass the IP address of your deployment server as the second parameter on the command line!" 14 | exit 0 15 | fi 16 | 17 | for module in `sed -e 's/^[ \t]\+"id": "\(.*\)",/ID\1/g' $list | grep "^ID"`; do 18 | module=${module/#ID} 19 | echo "Module: $module" 20 | ./deploy-backend-module.sh $module $ip_address 21 | done 22 | 23 | exit 0 24 | -------------------------------------------------------------------------------- /content/en/docs/Getting started/Installation/deploy-backend-module.sh: -------------------------------------------------------------------------------- 1 | #/bin/bash 2 | # This script deploys one backend module via Okapi 3 | # Author: Ingolf Kuss, hbz 4 | # Date: Nov. 5th, 2021 5 | 6 | module=$1 7 | ip_address=$2 8 | if [ -z "$module" ]; then 9 | echo "Please pass a module name, including the module version number, on the command line (e.g. \"mod-circulation-22.0.3\")" 10 | exit 0 11 | fi 12 | if [ -z "$ip_address" ]; then 13 | echo "Please pass the IP address of your deployment server as the second parameter on the command line!" 14 | exit 0 15 | fi 16 | 17 | cat > $module-deployment-descriptor.json <. 40 | -------------------------------------------------------------------------------- /content/en/docs/Getting started/Installation/okapi-pull.json: -------------------------------------------------------------------------------- 1 | { 2 | "urls": [ 3 | "https://folio-registry.dev.folio.org" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /content/en/docs/Getting started/Installation/vagrantboxes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Vagrant boxes" 3 | linkTitle: "Vagrant boxes" 4 | weight: 40 5 | description: 6 | tags: ["subtopic"] 7 | --- 8 | If you just want to try FOLIO without installing it, you can run one of the pre-built Vagrant boxes. 9 | ![FOLIO Vagrant Box](/img/vagrant_boxes.png) 10 | 11 | If you are a developer, you can get a FOLIO installation up and running quickly using a pre-built Vagrant box. These virtual machines have a Single server installation of FOLIO running. The Stripes and Okapi services can be accessed via port forwarding. You can create new modules on the host operating system and connect them to Okapi using a host only network that allows bidirectional connections between the host and the guest operating system. 12 | 13 | At least 24 GB memory are needed to run the folio/release or folio/snapshot Vagrant box. 14 | 15 | Please see https://dev.folio.org/tutorials/folio-vm/ for detailed instructions how to run a Vagrant box. 16 | -------------------------------------------------------------------------------- /content/en/docs/Getting started/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Getting Started" 3 | linkTitle: "Getting Started" 4 | weight: 200 5 | description: > 6 | --- 7 | 8 | Thinking about getting started with FOLIO? Check out the resources below to familiarize yourself with the platform. 9 | 10 | ## See FOLIO in action 11 | 12 | Check out these videos to learn about FOLIO: 13 | 14 | * [FOLIO videos on the Open Library Foundation](https://www.youtube.com/c/OpenLibraryFoundation) 15 | 16 | ## Ready to experience FOLIO for yourself? 17 | 18 | Access our demo site and explore FOLIO features and functionality. 19 | 20 | Login: diku\_admin / admin 21 | 22 | * Current demo site: https://folio-orchid.dev.folio.org 23 | 24 | ### Work with a demo site 25 | 26 | Once you've accessed a demo site, you can experiment with the platform to see how it works. Some examples of things you can try include: 27 | 28 | * Check out an item, and check it back in 29 | * Update an item record with quickMARC 30 | * Update licenses and agreements for an electronic resource 31 | * View and edit a patron record 32 | 33 | ## Install FOLIO for yourself 34 | 35 | You've played with the platform, and now you're ready to install something for yourself. There are different ways to set up and run FOLIO. The type of installation you do and the components you install depends upon your goals. 36 | 37 | See [Install FOLIO]({{< ref "Installation/_index.md" >}}) for types of installations and deployments. 38 | -------------------------------------------------------------------------------- /content/en/docs/Metadata/Additional topics/Job profiles/job_profiles.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Metadata/Additional topics/Job profiles/job_profiles.jpg -------------------------------------------------------------------------------- /content/en/docs/Metadata/Additional topics/Job profiles/jobprofiles.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Job profiles" 3 | linkTitle: "Job profiles" 4 | weight: 10 5 | tags: ["subtopic"] 6 | --- 7 | # How to create job profiles 8 | 9 | ## How profiles work together 10 | 11 | Job profiles are assembled from several different types of sub-profiles. These components lay out a logical order of actions on incoming records. Incoming data for job profiles must be either in MARC or EDIFACT format. A job profile takes a file of MARC or EDIFACT data and processes it per each step specified by the match, action, and field mapping sub-profiles. 12 | 13 | ![Diagram of Job profile that contains one match profile linked to two action profiles.](./job_profiles.jpg) 14 | 15 | ## Example job profile structures 16 | 17 | ### Overlay on an instance and create attached holdings and item records (incoming MARC record) 18 | 19 | In this scenario, a suppressed instance already exists for the title, created by the Acquisitions team and linked to a purchase order line (POL) in the Orders app. The cataloger is overlaying this instance with the finalized catalog record while simultaneously creating holdings and item data for it. 20 | 21 | * **Match profile (instance)** — Incoming `949$a` to instance HRID 22 | * **Action profile (instance)** — Update instance (uses default MARC-Instance mapping) 23 | * **Field mapping (instance)** — Set Instance status to “Cataloged”; enter today’s date in *Cataloged date* 24 | * **Action profile (holdings)** — Create attached holdings record 25 | * **Field mapping (holdings)** — Set permanent location to “Main”; map `050_4` to Call number 26 | * **Action profile (item)** — Create item record attached to holdings 27 | * **Field mapping (item)** — Assign *Can Circulate* as permanent loan rule 28 | 29 | ### Remove existing 856 fields from a batch of e-resource records (incoming MARC record) 30 | In this scenario, Acquisitions is creating an order and then creating a suppressed instance to link to that order. See the Field mapping section for more details about the specific placement of field mapping profiles that modify incoming MARC. 31 | 32 | * **Action profile (MARC SRS)** — Modify incoming MARC data 33 | * **Field mapping profile (MARC SRS)** — Delete all existing `856` fields 34 | * **Action profile (instance)** — Create instance (uses default MARC-Instance mapping) 35 | * **Field mapping (instance)** — Set Instance status to “Uncataloged” and mark *Suppress* 36 | 37 | ### Overlay existing instances to transform call numbers in holdings (incoming MARC record) 38 | In this scenario, a group of titles needs new call numbers. The record subset is identified in Inventory or Lists, exported from Data Export (using a profile that puts holdings HRIDs in the `960$f`), modified in MarcEdit, and imported back into Data Import to effect the change. 39 | 40 | * **Match profile (MARC to instance)** — Incoming `001` to instance HRID 41 | * **Match profile (MARC to holdings)** — Incoming `960$f` to holdings HRID 42 | * **Action profile (holdings)** – Update holdings 43 | * **Field mapping (holdings)** – Map `050_4` to call number field 44 | 45 | ## Types of sub-profiles 46 | 47 | ### Match profiles 48 | 49 | * **Optional** — Only needed if job profile operates on existing records in Inventory 50 | * Designates a match point between incoming data and a FOLIO record or SRS field, which allows overlay on or updates to existing records 51 | * Can be **nested** for cascading logic 52 | * Example: An initial match on an instance HRID can implement an action profile/field mapping pair to update an instance, then a secondary match profile can match on an attached holdings record and implement another action profile/field mapping to update the holdings 53 | 54 | ### Action profiles 55 | 56 | * **Required** — Defines **what** operation to perform and **on what** type of record 57 | * Example: Create item record, Update instance 58 | * Must be **paired** with a **field mapping profile** that specifies how to handle the incoming data 59 | * Example: a field mapping for a holdings record can be combined with an action profile that updates holdings records 60 | * Action profiles can only be associated with one field mapping profile so must be created for each specific scenario 61 | 62 | ### Field mapping profiles 63 | 64 | * **Required** — Highly customizable mappings that can insert incoming data into Inventory record fields 65 | * Insert incoming data into Inventory record fields 66 | * Example: a field mapping for a holdings record can take location information from a `999` in an incoming MARC record and use that to set the permanent location of a resource in a FOLIO holdings record 67 | 68 | Note: Data export profiles can be an important counterpart to field mappings. For instance, a Data export job profile could map the holdings permanent location code to a `960$a` and a related Data import job would then use that `960$a` as a match point for a match profile 69 | * Must be **paired with** an action profile 70 | * Can be associated with more than one action profile 71 | * Each of these must be created and saved separately, then they are combined into an overarching job profile 72 | 73 | Note: It can be a helpful practice to give each component part a shared name element so they are more easily searched on and identifiable 74 | 75 | ## Creating a job profile 76 | 77 | All sub-profiles must be created before creating a job profile. 78 | **_Detailed guides for sub-profile creation are forthcoming._** 79 | 80 | ### TIPS 81 | * Establish a naming convention for job profiles (i.e. ERM1, ERM2, CAT1, CAT2) that indicate their purpose and make them easier to refer to 82 | * Make descriptions detailed (e.g., "Matches on holdings HRID in `960$f`; updates holdings electronic access from `960$c`; Used for transfer workflow") 83 | * You can edit existing job profiles, but you **cannot reorder sub-profiles** - sub-profiles can only be added or removed 84 | 85 | **For steps to create a job profile see [Settings documentation](content/en/docs/Settings/Settings_data_import/settings_data_import.md)** 86 | -------------------------------------------------------------------------------- /content/en/docs/Metadata/Additional topics/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Additional topics (Data import)" 3 | linkTitle: "Additional topics - Data import" 4 | weight: 60 5 | tags: ["subtopic", "parenttopic"] 6 | --- 7 | 8 | This section of documentation aims to address frequently asked questions about Data import profile best practices not covered in [Settings > Data import](../../Settings/Settings_data_import/settings_data_import). 9 | -------------------------------------------------------------------------------- /content/en/docs/Metadata/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Metadata Management (Cataloging)" 3 | linkTitle: "Metadata Management (Cataloging)" 4 | weight: 500 5 | --- 6 | 7 | In FOLIO, metadata management includes essential cataloging functions. These functions include: 8 | 9 | - Creating Instance, Holdings, and Item records 10 | - Managing your collections (physical and/or virtual) 11 | - Importing and exporting bibliographic data 12 | - Editing MARC records 13 | 14 | ## Cataloging Settings 15 | 16 | Metadata management is governed by a set of rules and policies. These rules and policies are defined by the library and implemented in the [Data export](../settings/settings_data_export/settings_data_export/), [Data import](../settings/settings_data_import/settings_data_import/), and [Inventory](../settings/settings_inventory/settings_inventory/) areas of the FOLIO Settings app. 17 | -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Keyboard shortcuts/keyboardshortcuts.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Keyboard shortcuts" 3 | linkTitle: "Keyboard shortcuts" 4 | date: 2022-06-07 5 | weight: 50 6 | --- 7 | 8 | Keyboard shortcuts facilitate actions. For the [apps listed below](#list-of-apps-displaying-the-shortcut-list), you can [view the available shortcuts](#viewing-the-keyboard-shortcuts-list) while using the app. Note: Most apps do not use all the listed shortcuts. For example, **Alt+c** does not work in the **Users** app because you cannot duplicate a record in the Users app. 9 | 10 | The action associated with the shortcut may vary slightly for different apps -- for example, in the **Dashboard** app **Alt+n** is **Create a new widget**. 11 | 12 | ## Keyboard shortcuts list 13 | 14 | | Action | Shortcut keys | 15 | | :------------------------------- | :------------ | 16 | | Create a new record | Alt+n | 17 | | Edit a record | Ctrl+Alt+e | 18 | | Save a record | Ctrl+s | 19 | | Expand or collapse an accordion | Spacebar | 20 | | Expand all accordions | Ctrl+Alt+b | 21 | | Collapse all accordions | Ctrl+Alt+g | 22 | | Go to Search & Filter pane | Ctrl+Alt+h | 23 | | View keyboard shortcuts list | Ctrl+Alt+k | 24 | | Duplicate a record | Alt+c | 25 | | Close a modal or pop-up | Esc | 26 | | Copy | Ctrl+c | 27 | | Cut | Ctrl+x | 28 | | Paste | Ctrl+v | 29 | | Find | Ctrl+f | 30 | 31 | ### Keyboard shortcuts that are only available in one or two app: 32 | 33 | | Action | Shortcut keys | App used in | 34 | |------------------------------------------------------------------|------------------------|----------------------| 35 | | Add POL | Alt+a | Orders | 36 | | Receive pieces/Quick receive | Ctrl+Alt+r | Receiving | 37 | | Save a piece and create another | Alt+s | Receiving | 38 | | Edit MARC record | Ctrl+Shift+e | Inventory | 39 | | quickMARC only: Move to the next subfield in a text box | Ctrl+\] | Inventory, MARC authority | 40 | | quickMARC only: Move to the previous subfield in a text box | Ctrl+\[ | Inventory, MARC authority | 41 | ## Viewing the keyboard shortcuts list 42 | 43 | To view the list of available shortcut keys, follow these steps: 44 | 45 | Click on the name of a FOLIO app from the top menu bar. The app opens and the app name displays at the top left of the window. 46 | 47 | Click on the downward-facing caret, “v”, at the end of the app name. 48 | 49 | Click **Keyboard shortcuts** to view the list of shortcut actions. 50 | 51 | Alternatively, use the keyboard shortcut Ctrl+Alt+k after opening the app. 52 | 53 | ## List of apps displaying the shortcut list 54 | 55 | The following apps display the list of keyboard shortcuts which can be viewed by following the steps described above. 56 | 57 | * Agreements 58 | * Claiming 59 | * Courses 60 | * Dashboard 61 | * eHoldings 62 | * ERM comparisons 63 | * eUsage 64 | * Finance 65 | * Inventory 66 | * Invoices 67 | * Licenses 68 | * Lists 69 | * Local KB admin 70 | * MARC Authority 71 | * Open access 72 | * Orders 73 | * Organizations 74 | * Receiving 75 | * Requests 76 | * Serials 77 | * Users 78 | -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Locations/locations.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Locations" 3 | linkTitle: "Locations" 4 | date: 2023-11-09 5 | weight: 50 6 | --- 7 | In FOLIO, **locations** are used to describe where items are located in a library. 8 | 9 | Locations are required for any library that wants to use holdings or item records in the Inventory app. Locations are used in workflows with service points, borrowing and returning items, charging fines, requesting items, providing remote storage, and data export for holdings and item records. 10 | 11 | The location setup has four hierarchical elements - each level of the hierarchy must have at least one value in order to create a value at the next, more specific level. 12 | 13 | * **Institution.** An institution is the highest level of the FOLIO location hierarchy. An institution typically represents entities such as the college or university, though that is not a FOLIO requirement. You can create one or more institutions. 14 | * **Campus.** A campus is the second highest level of the FOLIO location hierarchy, A campus typically represents distinct parts of an institution, like a physical or branch campus, or online programs, though that is not a FOLIO requirement. 15 | * **Library.** A library is the third level of the FOLIO Location hierarchy. A library typically represents physical buildings on a campus, or domains of service on a virtual campus, though that is not a FOLIO requirement. 16 | * **Location.** A location is the fourth and most detailed level of the FOLIO Location hierarchy. A location typically represents specific shelving areas, like the stacks, reserves, or specific language collections, though that is not a FOLIO requirement. 17 | 18 | In practice, most libraries represent physical locations in their location tree, but FOLIO does not have a requirement to do so. Libraries can represent locations in a variety of ways. 19 | 20 | * A library could choose to describe their collection by the physical location of the stacks, such as 3rd Floor, N side, Aisle 1, Side A. 21 | * A library could choose to group their locations by administrative structure - for example, one institution with two campuses, one for professional degree libraries and one for undergraduate program libraries. 22 | * A library could choose to include their electronic items in their location structure, and have an institution that represents physical items, and an institution that represents electronic items, each with their own campus, library and location structure nested below. 23 | 24 | ## Permanent, temporary and effective locations 25 | In Inventory, you can set permanent and temporary location values on a holdings and/or item record. A holding must have a value set for permanent location. 26 | 27 | Using the values in the permanent and temporary location fields, FOLIO computes two **effective locations** - one on the holdings record, and one on the item record. Libraries do not set the effective location value - FOLIO computes it for them. 28 | 29 | ### Examples 30 | Temporary locations can be used to support various library workflows. 31 | 32 | #### Example 1: Supporting a New Books section of the library 33 | 34 | Smith University Library purchases a copy of _The Midnight Library_ by Matt Haig, a popular new book. They want _The Midnight Library_ to be shelved at the “Smith New Arrivals” location for three months, before it gets sent to its permanent location of “Smith Main Stacks.” 35 | * When they order the item, library staff set the location on the PO line to “Smith Main Stacks”. This becomes the **holdings permanent location** for _The Midnight Library_. 36 | * Using Data Import or Inventory workflows, staff then set the **item temporary location** for _The Midnight Library_ to “Smith New Arrivals”. FOLIO then sets the **item effective location** to “Smith New Arrivals”, and that location is used by FOLIO when the book circulates. 37 | * After _The Midnight Library_ has been circulating for three months, library staff use Inventory or Data Import workflows to remove the item temporary location. That changes the **item effective location** to “Smith Main Stacks”, and FOLIO uses that location to circulate the item going forward. 38 | 39 | #### Example 2: Supporting a library renovation 40 | 41 | Pacific College is renovating their Arts Library. Staff need to move 5,000 items from the Arts Library to the Undergraduate Library during the nine month renovation. 42 | * Library staff use Data Import workflows to set a **holdings temporary location** of “Undergrad Stacks” on the 5,000 holdings records, and then physically move the items. 43 | * That changes the **item effective location** for all 5,000 items to “Undergrad Stacks”, and then FOLIO uses that location as they circulate. 44 | * When the renovation is over and the items are returned to the Arts Library, library staff use Data Import workflows to remove the **holdings temporary location** from all 5,000 items, and that changes their effective locations back to “Arts Library.” FOLIO uses that location to circulate the items going forward. 45 | 46 | ## Configuring Locations 47 | To create the location tree, follow the steps outlined in [Settings \> Tenant]({{< ref "Settings_tenant.md" >}}). 48 | 49 | ## Holdings and Item effective locations 50 | FOLIO supports a **holdings effective location** and **item effective location**. Both fields are calculated automatically by FOLIO. 51 | 52 | ### Holdings effective location 53 | The holdings effective location is used to provide location information for holdings that are not always itemized, such as periodicals, microfilm, or in-process special collections. It is not used in item circulation workflows. 54 | 55 | On the holdings record, there are three location fields: 56 | * **Holdings permanent location** (required) 57 | * **Holdings temporary location** (optional) 58 | * **Holdings effective location** (computed value, set by FOLIO) 59 | 60 | FOLIO sets the holdings effective location to the first value it finds in the following list: 61 | 62 | 1. Holdings temporary location 63 | 2. Holdings permanent location 64 | 65 | Note that if your library is using SRS for MARC Holdings, you will not be able to edit the permanent holdings location field on the inventory record - that will only be editable in quickMARC. You will be able to set a holdings temporary location. 66 | 67 | The **Holdings effective location** is always computed, but it will only display on the holdings detail record if there are no items attached to the holdings. 68 | 69 | ### Item effective location 70 | The item effective location is used by FOLIO to know the current home location for an item, and for staff and patrons to understand where to find an item in the library. 71 | 72 | The item effective location is used in multiple apps, including Check out, Check in, Requests, and Users (when viewing loans and fee/fines). 73 | 74 | On the item record, there are three location fields: 75 | * **Item permanent location** (optional) 76 | * **Item temporary location** (optional) 77 | * **Item effective location** (computed value, set by FOLIO) 78 | 79 | FOLIO sets the item effective location to the first value it finds in the following list: 80 | 81 | 1. Item temporary location 82 | 2. Item permanent location 83 | 3. Holding temporary location 84 | 4. Holding permanent location 85 | 86 | Note that an item permanent location **does not need to be set** if the holding permanent location is set. **Item effective location** is what is used in circulation workflows, and it will inherit the holding permanent location if no location values are set directly on the item. If an item record is moved to a new holdings record, it will inherit its effective location and call number from the holdings record unless it has a temporary or permanent location or call number specified in the item record. 87 | -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/auth-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/auth-1.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/auth-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/auth-2.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/auth-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/auth-3.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/auth-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/auth-4.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/auth-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/auth-5.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/relation-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/relation-diagram.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/role-creation-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/role-creation-1.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/role-creation-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/role-creation-2.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/role-creation-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/role-creation-3.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/role-creation-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/role-creation-4.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/role-creation-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/role-creation-5.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/role-deletion-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/role-deletion-1.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/role-duplication-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/role-duplication-1.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/role-duplication-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/role-duplication-2.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/role-modification-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/role-modification-1.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/role-modification-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/role-modification-2.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/shared-roles-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/shared-roles-1.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/shared-roles-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/shared-roles-2.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/users-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/users-1.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/users-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/users-2.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/users-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/users-3.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/users-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/users-4.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/users-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/users-5.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/users-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/users-6.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/Permissions/users-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/docs/Platform essentials/Permissions/users-7.png -------------------------------------------------------------------------------- /content/en/docs/Platform essentials/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Platform Essentials" 3 | linkTitle: "Platform Essentials" 4 | weight: 225 5 | --- 6 | 7 | In FOLIO, there are several parts of functionality that support library workflows 8 | across FOLIO apps. These include: 9 | 10 | * [Item status]({{< ref "itemstatus.md" >}}) 11 | * [Keyboard Shortcuts]({{< ref "keyboardshortcuts.md" >}}) 12 | * [Locations]({{< ref "locations.md" >}}) 13 | * [Permissions]({{< ref "Permissions" >}}) 14 | -------------------------------------------------------------------------------- /content/en/docs/Reporting/LDLite/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "LDLite" 3 | linkTitle: "LDLite" 4 | date: 2025-04-08 5 | weight: 60 6 | tags: ["parenttopic"] 7 | --- 8 | 9 | LDLite is a tool that is part of the Library Data Platform project. It provides basic data reporting functions without requiring a reporting database server to be installed. It also can be used to supplement a reporting database with additional or real-time FOLIO data. 10 | 11 | LDLite allows users to query FOLIO directly. Once connected to FOLIO services, the LDLite software can provide some features of the full Library Data Platform software such as JSON transformation. The transformed data can be saved in an embedded database as a simple file on the user’s computer or into a shared database. Users must be running Python to install LDLite. 12 | 13 | LDLite can also be used to report on MARC data retrieved from Source Record Storage (SRS). This feature is still in the experimental stages and not officially supported at this time. Instructions for setting up access to MARC data from LDLite are available on [GitHub](https://github.com/library-data-platform/ldlite/blob/main/srs.md). 14 | 15 | For more information about LDLite and access to the code base, see the [GitHub repository](https://github.com/library-data-platform/ldlite). -------------------------------------------------------------------------------- /content/en/docs/Reporting/MARC Transformation/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "MARC Transformation" 3 | linkTitle: "MARC Transformation" 4 | date: 2025-04-08 5 | weight: 40 6 | tags: ["parenttopic"] 7 | --- 8 | 9 | ## MARC Transformation for Metadb 10 | 11 | Metadb converts SRS/MARC records from JSON to tabular format. SRS stands for Source Record Storage. MARC stands for Machine-Readable Cataloging, which is a standard format for storing data elements within bibliographic records in computer systems. Metadb reads the SRS MARC data from the database tables marc_records_lb and records_lb in schema folio_source_record. Next, it transforms only the current versions of the records from these tables into tabular data. The transformed records are written to the folio_source_record.marc__t table. 12 | 13 | Once the MARC data is transformed, the folio_source_record.marc__t table is ready to be used in queries that require MARC data from the reporting database. For example, the query below shows the contents of the MARC 008 field, which captures general bibliographic information about a library item. 14 | 15 | ``` 16 | SELECT 17 | sm.instance_hrid, 18 | sm.field, 19 | sm.content 20 | FROM folio_source_record.marc__t AS sm 21 | WHERE (sm.field = '008') 22 | LIMIT 10 23 | ; 24 | ``` 25 | For more information about how MARC data is transformed in Metadb, please review the guide linked below: 26 | 27 | * [MARC Transformation Guide for Metadb](https://d1f3dtrg62pav.cloudfront.net/doc/#_marc_transform) -------------------------------------------------------------------------------- /content/en/docs/Reporting/Metadb/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Metadb" 3 | linkTitle: "Metadb" 4 | date: 2024-12-04 5 | weight: 30 6 | tags: ["parenttopic"] 7 | --- 8 | 9 | 10 | 11 | **Note**: This [WOLFcon 2024 presentation](https://youtu.be/ACBBSZ6Lx_s?feature=shared) gives an overview of the Metadb platform. 12 | 13 | In order for the Metadb software to connect to FOLIO, it needs a [Kafka data source](https://d1f3dtrg62pav.cloudfront.net/doc/#_configuring_a_kafka_data_source) streaming the changes made in the FOLIO database. The Metadb reporting database can be hosted and administered locally by an institution's own staff or can be contracted out to a third party hosting service. You can find specific [system requirements](https://d1f3dtrg62pav.cloudfront.net/doc/#_system_requirements) in the Metadb documentation. 14 | 15 | ## Installing and configuring the Metadb software* 16 | 17 | There are three main software components to install for your Metadb implementation: Metadb, marct, and Folio Analytics. In general, install the latest production release for the Metadb and marct software components, which do not have a dependency on FOLIO (flower) software release versions. For FOLIO Analytics, see https://github.com/folio-org/folio-analytics/blob/main/README.md. 18 | 19 | ### Documentation 20 | 21 | For detailed information about how to set up and configure the Metadb software, please review this [link](https://github.com/library-data-platform/ldp#readme) to access individual links to guides in the Metadb repository. There you also will find the latest versions and fixes of the Metadb software. 22 | 23 | ## Setting up derived tables 24 | 25 | To let report users take full advantage of the community-developed [report queries](../folio-analytics/#using-queries-from-the-folio-analytics-repository) as well as having a good starting point for [ad hoc querying](../folio-analytics/#ad-hoc-querying-using-ldp-tables), it is strongly recommended to set up a nightly update on [derived tables](https://github.com/folio-org/folio-analytics/blob/main/sql/derived_tables/README.md ). 26 | 27 | **Note**: Use of *views* and *materialized views* is not supported in Metadb databases and may cause the software to be unable to perform data updates. 28 | 29 | You can find instructions in Github on how to set up [FOLIO Reporting Derived Tables](https://github.com/folio-org/folio-analytics/tree/main/sql/derived_tables#folio-reporting-derived-tables). 30 | 31 | ## Data privacy 32 | 33 | The Metadb software is designed to support GDPR and other data privacy requirements. Administrators can exclude a predefined set of tables. 34 | 35 | See the [Anonymization Guide](https://github.com/library-data-platform/ldp/blob/main/doc/Admin_Guide.md#6-data-privacy) for information on how to activate and configure these features. 36 | 37 | The pages linked below list attributes that contain potential personal data: 38 | 39 | * [Users module](https://wiki.folio.org/display/RPT/Potential+personal+data%3A+List+of+FOLIO+attributes?src=contextnavpagetreemode): tables that will not loaded in Metadb software when anonymization is turned on 40 | * [Organizations module](https://wiki.folio.org/display/RPT/Potential+personal+data+in+mod-organizations-storage?src=contextnavpagetreemode): potential personal data in organizations module 41 | 42 | **Note:** The Metadb software currently does not support anonymization. The above information is for LDP software only. 43 | 44 | ## Adding local data 45 | As documented in the [user guide](https://github.com/library-data-platform/ldp/blob/main/doc/User_Guide.md#4-local-tables), it is also possible to load and create local data into your Metadb reporting database. 46 | 47 | ### Using schemas 48 | The concept of schemas allows you to organize tables and permissions within one database. In Metadb, we have separate schemas for each FOLIO application area: 49 | 50 | * public: contains all extracted tables and its current data from the bound FOLIO tenant 51 | * [history](https://github.com/library-data-platform/ldp/blob/main/doc/User_Guide.md#6-historical-data): stores data that have been updated in the past or may no longer exist 52 | * [folio_reporting](https://github.com/folio-org/folio-analytics/blob/main/sql/derived_tables/README.md): contains all [derived tables](https://github.com/folio-org/folio-analytics/blob/main/sql/derived_tables) created and supported by the community 53 | * [local](https://github.com/library-data-platform/ldp/blob/main/doc/User_Guide.md#4-local-tables): common area for report users to create or import own data 54 | 55 | Besides using the local schema, you might consider setting up separate schemas for different report user groups or purposes. You are free to create more schemas for your local needs (e.g., to provide data for different departments or to separate and protect sensitive data). 56 | 57 | Learn more about the schema concept and how to configure schemas using [Postgres's Schema Documentation](https://www.postgresql.org/docs/current/ddl-schemas.html). 58 | 59 | For a granular setup of permissions, see also the built-in [Roles](https://www.postgresql.org/docs/current/user-manag.html) and [Privileges](https://www.postgresql.org/docs/current/ddl-priv.html) concepts of Postgres. 60 | 61 | ### Moving and loading data 62 | Loading and moving data into a Metadb reporting database is as simple as it is for databases in general. 63 | 64 | For Postgres there are two common approaches: 65 | 66 | * [COPY](https://www.postgresql.org/docs/current/sql-copy.html): SQL command for moving table data via csv files 67 | * [pg_dump](https://www.postgresql.org/docs/current/app-pgdump.html) / [pg_restore](https://www.postgresql.org/docs/current/app-pgrestore.html): Postgres command line tools for importing and exporting data 68 | 69 | ## Installing and configuring the Metadb software 70 | For installing and configuring Metadb follow the *Metadb Documentation* at the [Library Data Platform - resources site](https://librarydataplatform.org/resources/). -------------------------------------------------------------------------------- /content/en/docs/Reporting/Reporting App/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Reporting App" 3 | linkTitle: "Reporting App" 4 | date: 2024-11-13 5 | weight: 20 6 | tags: ["parenttopic"] 7 | --- 8 | 9 | The Reporting app provides a FOLIO interface for interacting with a Metadb database. There are two section to the app, the **Query builder** and **Saved queries**. The **Query builder** allows you to build a query with the option to save it for later use. **Saved queries** allows you to load a previous query into the **Query builder** to start editing or run. 10 | 11 | ## Permissions and Capabilities 12 | 13 | The permissions/capabilities listed below allow you to set user permissions to interact with the Reporting app. You can assign permissions to users in the Users app. If none of these permissions/capabilities are assigned to a user, they are unable to see the Reporting app or any related information. The “Reporting: all permissions” or “UI-Ldp” permission/capability for the Reporting App are either all enabled or all disabled when you are assigning them to a user. 14 | 15 | | Permission Display Name (OKAPI) | Resource (EUREKA) | Type | Action | Description | 16 | | :-----: | :-----: | :-----: | :-----: | :-----: | 17 | | *Reporting: all permissions* | *UI-Ldp* | Data | Manage | This permission allows the user to see and use the Reporting app. | 18 | | *Settings (Reporting): browse and load Reporting saved queries* | *Ui-Ldp Saved Queries* | Settings | View | This capability allows a user to browse and load queries that they or other users have saved using the Reporting app’s | 19 | | *Settings (Reporting): Can modify default record limits* | *UI-Ldp Settings Record-Limits* | Settings | View | This capability allows a user to set the amount of records/rows that can be returned and exported to a CSV (can be different values) when running a query in the Reporting app. | 20 | | *Settings (Reporting): Can modify reporting database connection details* | *UI-Ldp Settings Dbinfo* | Settings | View | This capability allows a user to configure the Reporting app’s connection to an LDP/Metadb instance including the username and password used to query the LDP/Metadb reporting database. | 21 | | *Settings (Reporting): Can modify templated-query repos configuration* | *UI-Ldp Settings Tqrepos* | Settings | View | This capability allows a user to create new or modify existing connections to GitHub repositories for the purpose of accessing parameterized SQL queries via the Reporting app. | 22 | | *Settings (Reporting): Can select which tables are available to search* | *UI-Ldp Settings Table-Availability* | Settings | View | This capability allows a user to select/remove which tables will appear in the “Table” dropdown while using the Reporting app’s “Build query” feature. | 23 | | *Settings (Reporting): create and update Reporting saved queries* | *Mod-Settings Global Write Ui-Ldp Queries* | Settings | Manage | This capability allows a user to save queries they’ve created using the Reporting app’s “Build query” feature as well as edit and overwrite existing queries (whether they are the report’s creator or not). | 24 | 25 | 26 | ### Schema 27 | Think of schema as the “buckets” in which data tables live. The schema drop-down menu allows you to select one schema at a time to use in your query. Three types of schemas are available: public, folio_reporting, and local. For a fuller explanation of schemas and examples of some defaults included see [Metadb - Using schemas](../metadb/#using-schemas). 28 | 29 | ### Table 30 | The **Table** drop-down menu allows you to select a data table from the schema you have selected to use in your query. Tables are where related data lives. Tables belong to a specific schema. With the schema and table selected, the other fields will unlock and update based on the selection. 31 | 32 | ## Filter by column 33 | The **Filter by column** drop-down menu allows you to refine your results by selecting a column and applying constraints. You can create multiple filters using the Add Filter button. When you use multiple filters, results are generated using the AND operator. Once you select a column to filter on, you may select equality and inequality operations in combination with a numeric value (e.g., a date or a count), TRUE, or FALSE. Operators include: 34 | * **equal to (=)** 35 | * **not equal to (<>)** 36 | * **less than (<)** 37 | * **less than or equal to (<=)** 38 | * **greater than (>)** 39 | * **greater than or equal to (>=)** 40 | * **TRUE (not case sensitive)** 41 | * **FALSE (not case sensitive)** 42 | 43 | Here are some examples for filtering by column: 44 | * **find where previously_held = TRUE** 45 | * **find where _version > 1** 46 | 47 | When entering date ranges, both YYYY-MM-DD and MM/DD/YYYY are supported. The LIKE and ILIKE operators, which allow pattern matching within character-based column data, will be included in a future release. LIKE is case-sensitive, while ILIKE is case-insensitive. 48 | 49 | ### Show columns 50 | The **Show columns** drop-down menu allows you to select one or more fields from the schema and table you have selected to show in your query results. By default all columns will be present. The list of columns you wish to include will build as you select each column from the drop-down menu. 51 | 52 | To limit, simply click on the **Show Columns** drop-down and click on the listed fields. 53 | To remove added fields you can either click on the **x** next to the field name in the box or from the drop-down list, click on the field again to deselect it. 54 | 55 | ### Order by column 56 | You can click the **Add ordering criterion** button to add one or more columns to use to order your results. Options such as **ascending** in the next field to the right will appear in a drop-down menu, which you may combine with additional options, such as **Nulls at end** in the third field to the right. If you wish to order on multiple columns you can click the **Add ordering criterion** button again. To remove a column sort click the trashcan icon. 57 | 58 | ### Limit number of results 59 | The **Limit number of results** drop-down menu allows you to restrict the number of rows returned in your query results to 1, 10, 100, or 1000. This is useful if you just want to see a sample of the full results set, especially if you expect the number of rows returned to be particularly large. 60 | 61 | ### New icon 62 | The New icon at the top right of the Query builder allows you to start a new query. Any query currently in progress will be cleared and any unsaved work will be lost. 63 | 64 | ### Save icon 65 | The Save icon at the top right of the Query builder allows you to save a query once you have built it. Once saved, queries will appear in the list in the **Saved queries** section of the Reporting app. 66 | 67 | ### Copy icon 68 | The Copy icon at the top right of the Query builder allows you to create an editable copy of any existing, saved query. 69 | 70 | ### Saved queries 71 | The **Saved queries** section of the Reporting app lists queries that have been saved by Reporting app users by clicking the Save icon in the **Query builder** section of the Reporting app. Anyone with access to the Reporting app may click and run the queries in the Saved queries list. Queries may be removed from this list by clicking the trash can icon next to the individual query on the right end of the list. -------------------------------------------------------------------------------- /content/en/docs/Reporting/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Reporting with Metadb" 3 | linkTitle: "Reporting with Metadb" 4 | date: 2024-12-04 5 | weight: 650 6 | --- 7 | 8 | The [Library Data Platform (LDP)](https://librarydataplatform.org) is a project that develops an open-source platform which is utilized by both the [FOLIO](http://folio.org/) and [ReShare](https://projectreshare.org/) projects to provide statistical and operational analytics. One of the core technologies being developed as part of the LDP project is Metadb, an open-source data integration system that transforms, versions, and annotates streaming data from multiple sources. The Metadb software extracts data from FOLIO modules into a relational database, making it possible to engage in complex reporting and analytics using FOLIO data. While some FOLIO apps have built-in reports or the ability to download results from a search-and-filter workflow, Metadb supports larger and more complex queries that combine data from across the FOLIO apps. Metadb has been adopted by many institutions. Find detailed and very recent information about the platforms on the [project website](https://librarydataplatform.org). 9 | 10 | Some FOLIO apps include functionality that allows the user to download data as a CSV (comma separated values) file. For example, the Users app allows you to run an overdue loans report and download the results as a CSV file. See the documentation on individual apps for more details on this functionality where it is available. 11 | 12 | 13 | ## Data Flow from FOLIO to Metadb 14 | 15 | The basic flow of data from FOLIO to Metadb is described in the figure below. Metadb extracts data from the database used by FOLIO apps. From Metadb, data flows into two types of queries: derived tables (which simplify the FOLIO data and save the results back into Metadb) and report queries (which meet specific needs of report users). These queries are shared via the [FOLIO Analytics query repository](folio-analytics) and also form the backbone of [ad hoc querying](folio-analytics/#ad-hoc-querying-using-metadb-tables). 16 | 17 | ![The Metadb software extracts data from the FOLIO database and loads into its own Metadb database. The FOLIO Analytics repository stores derived table queries, which add derived tables to the Metadb database, and report queries, which build reports for reporting end users. The Metadb database can also be used to store non-FOLIO data in custom tables.](/img/FOLIOReportingDataflow.png) 18 | 19 | 20 | ## Features of Metadb 21 | 22 | * Open-source software and query development 23 | * Built on trusted database platforms 24 | * Ability to create custom tables to import non-FOLIO data 25 | * Historical tracking of FOLIO records 26 | * Ability to connect from a wide variety of reporting applications 27 | * Ability to perform cross-app FOLIO queries 28 | * Ability to query FOLIO data without impacting production application performance 29 | * Ability to query a simplified FOLIO data model through the use of derived tables 30 | * Nearly real time data through streaming technique 31 | * JSON data array extraction 32 | * Full FOLIO data coverage -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_Authorization-roles/Settings_Authorization-roles.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Authorization Roles" 3 | linkTitle: "Authorization Roles" 4 | date: 2025-05-08 5 | weight: 25 6 | tags: ["subtopic"] 7 | --- 8 | 9 | **This section of the documentation contains links to external sites. Please be advised that these sites are not maintained by the FOLIO Documentation Group and may not be aligned with the current release of FOLIO.** 10 | 11 | 12 | Definitions of terms related to Settings \> Authorization roles: 13 | 14 | - **applicationId**. An attribute of a capability or capability set that identifies the platform for a FOLIO application. 15 | - **Authorization role**. Also known as **User role**. Comprised of capabilities or capability sets, allows a user to perform role-based actions in a FOLIO application. 16 | - **Capabilities**. Component of an authorization role that when assigned, allows the user to perform an action in a FOLIO application. 17 | - **Capability Sets**. A set of individual capabilities. 18 | - **Data (Type)**. Capabilities that allow the user to directly manage resources in FOLIO. 19 | - **Procedural (Type)**. Capabilities that allow the user to initiate and control processes in FOLIO. 20 | - **Settings (Type)**. Capabilities that allow the user to manage FOLIO configurations administratively. 21 | - **permissionDisplayName (OKAPI)**. The permission set name displayed in the UI of the Okapi platform (pre-Sunflower release). 22 | - **Resource (EUREKA)**. An operation that can be performed in a FOLIO application. 23 | - **User role**. See **Authorization role** above. 24 | 25 | 26 | ## Capabilities 27 | The following are the **Capabilities** that when assigned, allow the user to interact with **Settings \> Authorization roles**. 28 | 29 | For all Settings \> Authorization roles capabilities: 30 | 31 | - **Application** is *app-platform-minimal*. 32 | - **Type** is *Settings*. 33 | 34 | | permissionDisplayName | Resource | Action | 35 | | :----- | :----- | :-----: | 36 | | *Settings (Authorization roles): Can manage authorization roles* | *UI-Authorization-Roles Settings Admin* | View | 37 | | *Settings (Authorization roles): Can manage user/role assignments* | *UI-Authorization-Roles Users Settings* | Manage | 38 | | *Settings (Authorization roles): Can create authorization roles* | *UI-Authorization-Roles Settings* | Create | 39 | | *Settings (Authorization roles): Can delete authorization roles* | *UI-Authorization-Roles Settings* | Delete | 40 | | *Settings (Authorization roles): Can edit authorization roles* | *UI-Authorization-Roles Settings* | Edit | 41 | | *Settings (Authorization roles): Can view authorization role details* | *UI-Authorization-Roles Settings* | View | 42 | | *Settings (Authorization roles): Can view user/role assignments* | *UI-Authorization-Roles Users Settings* | View | 43 | | *Settings (Authorization roles): display list of settings pages* | *Settings Authorization-Roles Enabled* | View | 44 | 45 | ## Permission name/displayName to capabilities mapper 46 | 47 | The Eureka platform, adopted in the Sunflower release, replaces permission sets with **Capabilities** and **Capability sets** for role-based management of user accounts. **Permission** names in the Okapi platform (pre-Sunflower release) differ from **Capabilities** in the Eureka platform. 48 | 49 | The Authorization Roles section of Settings allows configuration and management of **Authorization roles**, also known as user roles, through capabilities and capability sets. For more information about **Capabilities** and **Capability sets**, see [Roles Management in Eureka](https://folio-org.atlassian.net/wiki/x/BIATLw). 50 | 51 | To map **Permission** names to **Capabilities** and identify their attributes, use the **Permission name/displayName to capabilities mapper** in the Settings \> Developer app: 52 | 53 | 1. Log in as an admin user in the Sunflower Bugfest environment: https://bugfest-sunflower.int.aws.folio.org (folio folio) . 54 | 2. Open **Settings \> Developer**. 55 | 3. Select **I can haz capabilities?** in the **Developer** pane. 56 | 4. Type the **Permission name** in the search box in the **Capabilities** pane. 57 | 58 | - Keyword or exact phrase (including punctuation) searches work best. For example, use *requests* or *Users: View requests* to search for the **Capability** that allows users to view requests. 59 | 60 | 5. Select **permissionDisplayname** in the **Search by** drop-down menu, if necessary. This filter searches for **Permission names** as they are displayed in the Okapi UI. 61 | 6. Click **Search**. A list of **Capabilities** and/or **Capability Sets** and their attributes display in the **Capabilities** pane. 62 | 63 | - Search results show the attributes (**type**, **applicationId**, **resource**, **action**, and **permissionDisplayName**) for each capability and capability set. 64 | - If no results are found, a blank space appears under the **Search by** drop-down menu. 65 | - If there are many search results, use CTRL+F to quickly find a specific capability or capability set. 66 | 67 | 7. Use these attributes to [create an **Authorization role**](https://folio-org.atlassian.net/wiki/spaces/UM/pages/789807108/Roles+Management+with+Eureka#Role-Creation). 68 | 69 | ## Create an authorization role 70 | 71 | To assign **Capabilities** or **Capability sets** to a user record, you must first create an **Authorization role**. 72 | 73 | To create an **Authorization role**, follow the steps outlined in [Role Creation](https://folio-org.atlassian.net/wiki/spaces/UM/pages/789807108/Roles+Management+with+Eureka#Role-Creation). 74 | 75 | ## Assign or unassign an Authorization role 76 | 77 | Management of role assignments can be done in several FOLIO applications: Settings \> Authorization roles, Users, or Consortia manager. See [Managing Role Assignments](https://folio-org.atlassian.net/wiki/spaces/UM/pages/789807108/Roles+Management+with+Eureka#Managing-Role-Assignments) for more information. 78 | 79 | ## Edit an Authorization role 80 | 81 | See [Role modification](https://folio-org.atlassian.net/wiki/spaces/UM/pages/789807108/Roles+Management+with+Eureka#Role-Modification). 82 | 83 | ## Duplicate an Authorization role 84 | 85 | See [Role Duplication](https://folio-org.atlassian.net/wiki/spaces/UM/pages/789807108/Roles+Management+with+Eureka#Role-Duplication). 86 | 87 | ## Delete an Authorization role 88 | 89 | See [Role Deletion](https://folio-org.atlassian.net/wiki/spaces/UM/pages/789807108/Roles+Management+with+Eureka#Role-Deletion). 90 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_acquisition_units/Settings_acquisition_units.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Acquisition units" 3 | linkTitle: "Acquisition units" 4 | date: 2025-04-16 5 | weight: 10 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The Acquisition units section of the Settings app is where you can configure your acquisition units and assign users to the units you created. 10 | 11 | Acquisition units are an additional layer you can add to acquisitions records that restrict a user’s ability to interact with those records unless they have been assigned to that unit. While acquisition capabilities may allow a user to perform certain actions within a particular app to any record within that app, acquisition units can further limit user access to only individual records. 12 | 13 | For example, a university that shares FOLIO across multiple independent libraries, such as a Law Library, Medical Center Library, and Undergraduate Library could set up separate acquisition units for each library and assign staff from each library to the appropriate unit. Only staff within an assigned acquisition unit could take allowed actions on orders, organizations, invoices, or funds that share the same acquisition unit assignment. Even if a Law Library user has authorization to create and delete records within the Finance app, they would still be restricted from creating or deleting a Medical Center Library fund if they are not assigned to the Medical Center Library acquisition unit. 14 | 15 | Acquisitions units can be applied to the following types of records in FOLIO: 16 | 17 | * Fiscal years 18 | * Ledgers 19 | * Groups 20 | * Funds 21 | * Invoices 22 | * Orders 23 | * Organizations 24 | * Receiving titles 25 | 26 | 27 | ## Capabilities 28 | 29 | The capabilities listed below allow you to interact with the Acquisition units settings. You can assign capabilities to users via user roles. If none of these capabilities are assigned to a user, they are unable to see the Acquisition units settings or any related information. 30 | 31 | It is recommended that you select all applications prior to assigning capabilities to ensure you have access to all capabilities. 32 | 33 | |**Permission Display name (OKAPI)** | **Resource (EUREKA)** | Type | Action | Description | 34 | | -------- | ------- | ------- | ------- | ------- | 35 | |**Settings (acquisition units): Can view, edit, create and delete acquisition units.** | **UI-Acquisition-Units Settings** | settings | manage | This capability allows you to view, edit, create, and delete acquisition units.| 36 | |**Settings (acquisition units): display list of settings pages** | **Settings Acquisition-Units Enabled** | settings | view | This capability displays the acquisition units area of the Settings app to the user.| 37 | |**Settings (acquisition units): Manage acquisition unit user assignments.** | **Acquisition Units Settings User Assignment** | settings | manage | This capability allows you to assign users to acquisition units.| 38 | |**Settings (acquisition units): View acquisition units.** | **UI-Acquisition-Units Settings** | settings | view | This capability provides view-only access to the acquisition units area of the Settings app.| 39 | 40 | 41 | 42 | ## Creating an acquisition unit 43 | 44 | 1. In the **Acquisition units** pane, click **New**. 45 | 46 | 2. Enter the **Name** of the unit in the box. 47 | 48 | 3. Select the types of actions members in the unit can perform: 49 | 50 | 51 | 52 | * **View.** Users assigned to the unit are the only ones who can view records that have the unit assigned. If you want to allow all users to view the records that have this unit assigned, do not select this checkbox. 53 | * **Edit.** Users assigned to the unit are the only ones who can edit records that have the unit assigned. 54 | * **Create.** Users assigned to the unit are the only ones who can add the unit to a record they are creating. 55 | * **Delete.** Users assigned to the unit are the only ones who can delete records that have the unit assigned. 56 | 57 | 4. Click **Save**. The unit is saved and appears in the Acquisition units pane. 58 | 59 | 60 | ## Assigning users to an acquisition unit 61 | 62 | Note: Users can be assigned to more than one acquisition unit. 63 | 64 | 1. In the **Acquisition units** pane, find the acquisition unit you want to assign the user to and select it. 65 | 66 | 2. In the **Acquisition unit detail** pane, click **Assigned users > Assign users**. 67 | 68 | 3. In the **Select User** dialog, in the **User search** box, enter part or all of the user’s name. 69 | 70 | 4. Optional: Filter results by Status (Inactive/Active), or by Patron group. 71 | 72 | 5. Click **Search**. 73 | 74 | 6. Select the **checkbox** in the row of the users(s) you want to add to the unit and click **Save**. The Select User dialog closes and the user appears in the Assigned users section. 75 | 76 | 77 | ## Deleting a user from an acquisition unit 78 | 79 | 1. In the **Acquisition units** pane, find the acquisition unit you want to delete the user from and select it. 80 | 81 | 2. In the **Acquisition unit detail** pane, locate the user you wish to delete under the **Assigned users** accordion. 82 | 83 | 3. Click the **trash can icon** at the end of their row. The user is removed from the list and deleted from the unit. 84 | 85 | 86 | ## Editing an acquisition unit 87 | 88 | 1. In the **Acquisition units** pane, find the acquisition unit you want to edit and select it. 89 | 90 | 2. In the **Acquisition unit detail** pane, click **Actions > Edit**. 91 | 92 | 3. Edit the acquisition unit. 93 | 94 | 4. Click **Save**. The acquisition unit is updated. 95 | 96 | 97 | ## Deleting an acquisition unit 98 | 99 | Note: You cannot delete acquisition units that have users assigned to them. Acquisition units can be deleted if in use on records in acquisition apps. This may leave a broken reference on these records, so it is recommended to check for usage of the acquisition unit within these apps prior to deletion. 100 | 101 | 1. In the **Acquisition units** pane, find the acquisition unit you want to delete and select it. 102 | 103 | 2. In the **Acquisition unit detail** pane, click **Actions > Delete**. 104 | 105 | 3. In the **Delete acquisition unit** dialog, click **Confirm**. The acquisition unit is deleted and is removed from the Acquisition units pane. 106 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_consortium-manager/settings_consortium-manager.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Consortium Manager" 3 | linkTitle: "Consortium-manager" 4 | Date: 2024-06-24 5 | weight: 45 6 | tags: ["subtopic"] 7 | --- 8 | 9 | 10 | **This section of the documentation contains links to external sites. Please be advised that these sites are not maintained by the FOLIO Documentation Group and may be aligned with a different FOLIO release.** 11 | 12 | 13 | The Consortium Manager app allows libraries to share data and settings between multiple FOLIO tenants. 14 | 15 | 16 | **Enhanced Consortial Support (ECS)** must be enabled in the tenant in order to use Consortium Manager. For more information about setting up ECS in your tenant, see [Steps to setup Consortia environment](https://wiki.folio.org/display/FOLIJET/Steps+to+setup+Consortia+env). 17 | 18 | 19 | Definition of terms related to **Settings \> Consortium manager**: 20 | 21 | 22 | * **Consortium**: An association of independent libraries and/or library systems established by formal agreement, usually for the purpose of resource sharing. Membership may be restricted to a specific geographic region, type of library (public, academic, special), or subject specialization. 23 | * **Central tenant**: The administrative tenant in a multi-tenant system. Also referred to as a **primary tenant**, 24 | * **Enhanced Consortial Support (ECS)**: A setting enabled in a tenant for managing a consortium using the Consortium Manager. 25 | * **Permission**: Value assigned to a FOLIO user that allows them access to view, create, update or delete records in FOLIO, or to carry out specific FOLIO tasks. 26 | * **Permission set**: A group of permissions that allows a user to perform a specific set of tasks. 27 | * **Primary tenant**: See **Central tenant**. 28 | * **Tenant**: A FOLIO client whose data are stored separately and are accessible and visible separately from other FOLIO clients. 29 | 30 | 31 | The following are the permissions for **Settings \> Consortium Manager**: 32 | 33 | 34 | * **Settings (Consortia): Can view and edit consortia membership** This permission allows the user to view and edit the details of the list of members in the Settings app of the central tenant. 35 | * **Settings (Consortia): Can view consortia membership** This permission allows the user to view the details of the list of members in the Settings app of the central tenant. 36 | 37 | For more general information about permissions, see [Platform Essentials \> Permissions](../../platform-essentials/permissions/). 38 | 39 | ## Edit member details 40 | 41 | 42 | Members cannot be added or removed in **Consortium manager**, but member details can be edited in **Settings \> Consortium manager**. 43 | 44 | 45 | To edit a member, go to **Settings \> Consortium manager** and follow these steps: 46 | 47 | 48 | 1. Select **Membership** in the **Network settings** pane. The list of members displays in the **Addresses** pane. **Code**, **Name**, and **Tenant address** for each member also displays. 49 | 2. Click on the appropriate **pencil icon** in the **Actions** column. 50 | 3. Make changes to the **Code** or **Name** fields. 51 | 4. Click the **Save** button in the **Actions** column to save the changes. 52 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_courses/settings_courses.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Courses" 3 | linkTitle: "Courses" 4 | date: 2022-03-21 5 | weight: 50 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The Courses section of the Settings app is where you manage your terms, course types, course departments, and other courses settings. 10 | 11 | ## Permissions 12 | 13 | Each setting within Courses has its own permission / capability set associated with it. If a user has one of the below capability sets, they will be able to view and interact with that particular setting. You can assign User roles to users in the Users app, or in the Settings > Authorization roles app. 14 | 15 | 16 | To add a capability or capability set to an Authorization role: 17 | 18 | Select all applications to ensure access to all capabilities. 19 | 1. Open the Capability sets or Capability accordion (see description in the table below for whether to look for a Capability set or a Capability). 20 | 2. Look under the matching Type. 21 | 3. Find the Resource (you can search using Ctrl-f/Cmd-f). 22 | 4. Select the Action. 23 | 24 | See [Settings > Authorization roles](../../../settings/settings_authorization-roles/settings_authorization-roles) for instructions on how to create and assign Authorization roles. 25 | 26 | The following are all the Settings > Courses capability sets: 27 | 28 | | Permission Display Name (OKAPI) | Resource (EUREKA) | Type | Action | Description | 29 | |-----------------------------------------------------------------|--------------------------|----------|--------|------------------------------------------------------------------------------------------------------------| 30 | | Settings (Courses): Can create, edit and delete course settings | UI-Courses Settings | Data | Manage | This capability set allows users to maintain (view, add, edit, and delete) all course settings. | 31 | | Settings (Courses): Can view course settings | UI-Courses Settings View | Settings | View | This capability set allows users to view course settings. They cannot add, edit or delete course settings. | 32 | 33 | 34 | ## Settings > Courses > Display settings 35 | 36 | This setting controls FOLIO's behavior when duplicating a course in the Courses app via Actions > Duplicate. 37 | 38 | If the user chooses this setting when duplicating a course, the "Duplicate all cross-listed courses" checkbox in the [Duplicate modal](../../../access/courses/courses/#duplicating-a-course) will be checked by default. 39 | 40 | ## Settings > Courses > Terms 41 | 42 | Use this setting to create and manage Terms. Terms define the start and end date of a course. For example, when a user adds items to a course, Folio automatically assigns a Start Date and End Date to the new item as specified in the Term. If needed, you can edit the dates by editing the reserve item. 43 | 44 | 45 | ### Creating a term 46 | 47 | 1. Click **New**. 48 | 2. Enter a **Name**, **Start Date**, and **End Date** in the boxes. 49 | 3. Click **Save**. The Term is saved and appears alphabetically in the list. 50 | 51 | 52 | ### Editing a term 53 | 54 | 1. Find the Term you want to edit and click the **pencil icon**. 55 | 2. Edit the **Name**, **Start Date**, or **End Date**. 56 | 3. Click **Save**. The Term is saved. 57 | 58 | 59 | ### Deleting a term 60 | 61 | 1. Find the Term you want to delete and click the **trash can icon**. 62 | 2. In the **Delete Term** dialog, click **Delete**. A confirmation message appears and the term is deleted. 63 | 64 | 65 | ## Settings > Courses > Course Types 66 | 67 | Use this setting to create and manage Course Types. Examples of Course Types include: Online, Hybrid, and In Person. 68 | 69 | 70 | ### Creating a course type 71 | 72 | 1. Click **New**. 73 | 2. Enter a **Name** in the box. 74 | 3. Optional: Enter a **Description** in the box. 75 | 4. Click **Save**. The Course Type is saved. 76 | 77 | 78 | ### Editing a course type 79 | 80 | 1. Find the Course Type you want to edit and click the **pencil icon**. 81 | 2. Edit the **Name** or **Description**. 82 | 3. Click **Save**. The Course Type is saved. 83 | 84 | 85 | ### Deleting a course type 86 | 87 | 1. Find the Course Type you want to delete and click the **trash can icon**. 88 | 2. In the **Delete Course Types** dialog, click **Delete**. A confirmation message appears and the term is deleted. 89 | 90 | 91 | ## Settings > Courses > Course Department 92 | 93 | Use this setting to create and manage Course Departments. Examples of Course Departments include: Mathematics, English, and Business. 94 | 95 | 96 | ### Creating a course department 97 | 98 | 1. Click **New**. 99 | 2. Enter a **Name** in the box. 100 | 3. Optional: Enter a **Description** in the box. 101 | 4. Click **Save**. The Course Department is saved. 102 | 103 | 104 | ### Editing a course department 105 | 106 | 1. Find the Course Department you want to edit and click the **pencil icon**. 107 | 2. Edit the **Name** or **Description**. 108 | 3. Click **Save**. The Course Department is saved. 109 | 110 | 111 | ### Deleting a course department 112 | 113 | 1. Find the Course Department you want to delete and click the **trash can icon**. 114 | 2. In the **Delete Department** dialog, click **Delete**. A confirmation message appears and the department is deleted. 115 | 116 | 117 | ## Settings > Courses > Processing Statuses 118 | 119 | Use this setting to create and manage Processing Statuses. These statuses are specific to the Courses app and can be used to reflect the status of a reserve item. Examples of Processing Statuses include: On Order, Cataloging, and Recalled. 120 | 121 | 122 | ### Creating a processing status 123 | 124 | 1. Click **New**. 125 | 2. Enter a **Name** in the box. 126 | 3. Optional: Enter a **Description** in the box. 127 | 4. Click **Save**. The Processing Status is saved. 128 | 129 | 130 | ### Editing a processing status 131 | 132 | 1. Find the Processing Status you want to edit and click the **pencil icon**. 133 | 2. Edit the **Name** or **Description**. 134 | 3. Click **Save**. The Processing Status is saved. 135 | 136 | 137 | ### Deleting a processing status 138 | 139 | 1. Find the Processing Status you want to delete and click the **trash can icon**. 140 | 2. In the **Delete Processing Status** dialog, click **Delete**. A confirmation message appears and the status is deleted. 141 | 142 | 143 | ## Settings > Courses > Copyright Statuses 144 | 145 | Use this setting to create and manage Copyright Statuses. These statuses are specific to the Courses app and can be used to indicate the copyright of license of a reserve item. Examples of Copyright Statuses include: Public Domain, CC BY, and CC BY-SA. 146 | 147 | 148 | ### Creating a copyright status 149 | 150 | 1. Click **New**. 151 | 2. Enter a **Name** in the box. 152 | 3. Optional: Enter a **Description** in the box. 153 | 4. Click **Save**. The Copyright Status is saved. 154 | 155 | 156 | ### Editing a copyright status 157 | 158 | 1. Find the Copyright Status you want to edit and click the **pencil icon**. 159 | 2. Edit the **Name** or **Description**. 160 | 3. Click **Save**. The Copyright Status is saved. 161 | 162 | 163 | ### Deleting a copyright status 164 | 165 | 1. Find the Processing Status you want to delete and click the **trash can icon**. 166 | 2. In the **Delete Copyright Status** dialog, click **Delete**. A confirmation message appears and the status is deleted. 167 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_finance/Settings_finance.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Finance" 3 | linkTitle: "Finance" 4 | date: 2025-04-16 5 | weight: 120 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The Finance section of the Settings app is where you establish and specify the categories you want to use to classify the different fund types that will be used during a fiscal year. 10 | 11 | 12 | ## Capabilities 13 | 14 | The capabilities listed below allow you to interact with the Finance settings. You can assign capabilities to users via user roles. If none of these capabilities are assigned to a user, they are unable to see the Finance settings or any related information. 15 | 16 | It is recommended that you select all applications prior to assigning capabilities to ensure you have access to all capabilities. 17 | 18 | |**Permission Display name (OKAPI)** | **Resource (EUREKA)** | Type | Action | Description | 19 | | -------- | ------- | ------- | ------- | ------- | 20 | |**Settings (Finance): Can view and edit settings** | **Settings Finance Enabled** | settings | view | This capability allows the user to view and edit Finance settings.| 21 | |**Settings (Finance): Export fund and expense class codes.** | **UI-Finance Settings ExportFundAndExpenseClassCodes** | settings | view | This capability allows the user to export a CSV file containing fund codes and expense classes for a selected fiscal year.| 22 | |**Settings (Finance): View settings.**| **UI-Finance Settings** | settings | view | This capability allows the user view-only access to Finance settings.| 23 | |**Settings (Finance): View, edit, create, delete.** | **UI-Finance Settings** | settings | manage | This capability allows the user to view, create, edit, and delete all Finance settings.| 24 | 25 | 26 | ## Settings > Finance > Fund types 27 | 28 | A fund type is a categorization to help distinguish between the purpose of the different funds. You can use fund types to track the types of items funds are applied to, such as gifts, endowments, and exchanges. You need to first add the fund types in the Settings app in order to assign them to funds as fund types are created within the system. Fiscal year rollover of funds is often defined by fund type, so definition of the type values should consider future fiscal year rollover requirements. 29 | 30 | 31 | ### Creating a new fund type 32 | 33 | 1. Click **New**. 34 | 35 | 2. Enter a fund type **Name** in the box. 36 | 37 | 3. Click **Save**. The fund type is saved and appears in the Fund types list. 38 | 39 | 40 | ### Editing a fund type 41 | 42 | 1. Find the fund type you want to edit and click the **pencil icon**. 43 | 44 | 2. Edit the Name. 45 | 46 | 3. Click **Save**. The fund type is updated. Note: if another user edited and saved the same fund type record while you were editing, the following message appears: "You are editing an old version of this data. To load the latest version click cancel, refresh the page and try again." 47 | 48 | 49 | ### Deleting a fund type 50 | 51 | 1. Find the fund type you want to delete. Click the **trash can icon**. 52 | 53 | 2. In the **Delete Fund type** dialog, click **Delete**. A confirmation message appears and the fund type is deleted. Note: Fund types cannot be deleted if assigned to a fund. The action will result in an error message: "This fund type cannot be deleted, as it is in use by one or more records." 54 | 55 | 56 | ## Settings > Finance > Expense classes 57 | 58 | Expense classes allow you to track spending by defined categories within a fund. They enable tracking and reporting by the classes defined in this setting. For example, you may want to track spending based on order format (electronic vs print). When an order or invoice is created, both the fund and the expense class can be selected by the user. 59 | 60 | 61 | ### Creating a new expense class 62 | 63 | 1. Click **New**. 64 | 65 | 2. Enter a category **Name**, **Code**, and **External account number extension** in the boxes. 66 | 67 | 3. **Name.** The name to designate the expense class. 68 | 69 | 4. **Code.** Self-created, based on name, a unique identifier for the expense class. 70 | 71 | 5. **External account number extensions.**, optional. The financial account listing outside of the system linked to the expense class. For example, 01. This value will be appended to the external account number specified on the fund record. 72 | 73 | 6. Click **Save**. The expense class is saved and appears in the Expense class list. 74 | 75 | 76 | ### Editing an expense class 77 | 78 | 1. Find the expense class you want to edit and click the **pencil icon**. 79 | 80 | 2. Edit the Name, Code, or External account number extension. 81 | 82 | 3. Click **Save**. The expense class is updated. Note: if another user edited and saved while you were editing the same expense class, the following message appears: "You are editing an old version of this data. To load the latest version click cancel, refresh the page and try again." 83 | 84 | 85 | ### Deleting an expense class 86 | 87 | 1. Find the expense class you want to delete. Click the **trash can icon**. 88 | 89 | 2. In the **Delete Expense class** dialog, click **Delete**. A confirmation message appears and the expense class is deleted. Note: Expense classes cannot be deleted if assigned to a budget. The action will result in an error message: "This expense class cannot be deleted, as it is in use by one or more records." 90 | 91 | 92 | ## Settings > Finance > Export fund and expense class codes 93 | 94 | When exporting the combined fund and expense class codes for a selected fiscal year you will receive a delimited file that includes all fund codes and all fund code & expense class code combinations where expense class has a status of 'active'. 95 | 96 | 1. In the **Fiscal year** dropdown, select the fiscal year for which you wish to export information. 97 | 98 | 2. The CSV file will download to your machine. It contains two columns: **Fund code** and **Fund and active expense class codes**. 99 | 100 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_invoices/Settings_invoices.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Invoices" 3 | linkTitle: "Invoices" 4 | date: 2025-04-16 5 | weight: 140 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The Invoices section of the Settings app is where you establish one click approvals, create preset adjustments, manage and configure batch groups, and control voucher settings. 10 | 11 | 12 | ## Capabilities 13 | 14 | The capabilities listed below allow you to interact with the Invoices settings. You can assign capabilities to users via user roles. If none of these capabilities are assigned to a user, they are unable to see the Invoices settings or any related information. 15 | 16 | It is recommended that you select all applications prior to assigning capabilities to ensure you have access to all capabilities. 17 | 18 | |**Permission Display name (OKAPI)** | **Resource (EUREKA)** | Type | Action | Description | 19 | | -------- | ------- | ------- | ------- | ------- | 20 | |**Settings (Invoices): Batch group usernames and passwords: view.**| **UI-Invoice BatchVoucher ExportConfigs Credentials** | data | view | This capability allows the user to view FTP/SFTP authentication credentials entered in [Settings \> Invoices \> Batch group configuration](#settings--invoices--batch-group-configuration/).| 21 | |**Settings (Invoices): Batch group usernames and passwords: view and edit.**| **UI-Invoice BatchVoucher ExportConfigs Credentials** | data | edit | This capability allows the user to view and edit FTP/SFTP authentication credentials entered in [Settings \> Invoices \> Batch group configuration](#settings--invoices--batch-group-configuration/).| 22 | |**Settings (Invoices): View settings.** | **UI-Invoice Settings** | settings | view | This capability allows the user to view the Invoice settings.| 23 | |**Settings (Invoices): Can view and edit settings.** | **UI-Invoice Settings** | settings | manage | This capability allows the user to view and edit all of the Invoice settings.| 24 | 25 | 26 | ## Settings > Invoices > Approvals 27 | 28 | This setting lets you approve and pay invoices with one click. Select **Approve and pay in one click** to combine the acts of approving an invoice and processing payment. If you enable this setting, the Invoices app still asks you to confirm your approval before submitting. The invoice and the voucher produced by this action will transition to a paid status. 29 | 30 | 31 | ## Settings > Invoices > Adjustments 32 | 33 | Use this setting to create preset adjustments that you can add to invoices at any time. 34 | 35 | 36 | ### Creating an adjustment 37 | 38 | 39 | 40 | 1. Click **New.** 41 | 2. Enter a **Description** in the box. 42 | 3. Select a **Type** from the list: Percent, Amount. 43 | 4. Select the **Always show** checkbox if you want the adjustment to show up automatically when you create a new invoice. Note: You can still remove an adjustment from invoices with this option enabled. 44 | 5. Enter a **Value** in the box. 45 | 6. Select a **Pro rate** from the list: By line, By amount, By quantity, Not prorated. 46 | 7. Select a **Relation to total** from the list: In addition to, Separate from. Note: Adjustments that are created with a "Relation to total" value of "Separate from" are not included in the **Total adjustments** amount or **Calculated total amount** for the invoice." 47 | 8. Select the **Export to accounting** checkbox if you want to send a copy of the adjustment to an external financial system. 48 | 9. Click **Save & close.** The adjustment is saved. 49 | 50 | 51 | ### Editing an adjustment 52 | 53 | 54 | 55 | 1. Find the adjustment you want to edit and click it. 56 | 2. Click **Actions** > **Edit**. 57 | 3. Edit the adjustment. 58 | 4. Click **Save & close**. 59 | 60 | 61 | ### Deleting an adjustment 62 | 63 | 64 | 65 | 1. Select the adjustment you want to delete. 66 | 2. In the adjustment window, select **Actions** > **Delete**. 67 | 3. In the **Delete adjustment** dialog, click **Delete**. A confirmation message appears and the adjustment is deleted. 68 | 69 | 70 | ## Settings > Invoices > Batch groups 71 | 72 | Use this setting to create, edit, and delete batch groups, which are used to organize invoices for export as vouchers to an external payment system. FOLIO tenants come with a single batch group, FOLIO, configured. Additional batch groups can be added and the FOLIO batch group label may be edited, but the group itself cannot be deleted. 73 | 74 | 75 | ### Creating a batch group 76 | 77 | 78 | 1. Click **New.** 79 | 2. Enter a **Name** in the box. 80 | 3. Optional: Enter a **Description** in the box. 81 | 4. Click **Save.** The Batch group is saved. 82 | 83 | 84 | ### Editing a batch group 85 | 86 | 87 | 1. Find the Batch group you want to edit and click the **pencil icon**. 88 | 2. Edit the **batch group**. 89 | 3. Click **Save**. 90 | 91 | 92 | ### Deleting a batch group 93 | 94 | 95 | 96 | 1. Find the Batch group you want to edit and click the **trash can icon.** 97 | 2. In the **Delete Batch group** dialogue box, click **Delete**. A confirmation message appears and the Batch group is deleted. Note: A batch group may not be deleted if in use on invoice records. 98 | 99 | 100 | ## Settings > Invoices > Batch group configuration 101 | 102 | Use this setting to configure batch group voucher exports. This configuration enables you to setup automated exports of files containing all invoice vouchers created since the last export. For more information about how vouchers are created, see [Invoices > Approving an invoice](../../invoices/#approving-an-invoice). All vouchers with the **Export to accounting** checkbox selected that were created since the last export for the batch group will be exported to a file. For more information about the Export to accounting checkbox, see [Invoices > Extended information](../../invoices/#extended-information). Each invoice generates a single unique voucher on which all fund charges are grouped by the fund external account number. 103 | 104 | 105 | 106 | ### Configuring a batch group 107 | 108 | 1. Select a **Batch group.** 109 | 2. Select a **Location type.** FTP or SFTP. 110 | 3. Enter an **Upload location.** If this box is left blank, the export downloads the file to your computer. 111 | 4. Enter a **Port**, if needed for the file upload location. 112 | 5. Enter a **Directory**, if needed for the file upload location (e.g. /files). 113 | 6. Select a **Format.** JSON or XML. 114 | 7. Enter a **Username**, if needed for the file upload location. 115 | 8. Enter a **Password**, if needed for the file upload location. 116 | 9. Click **Save**. 117 | 118 | Click **Show credentials/Hide credentials** to show or hide the password. If you want to test the connection with the upload location, click **Test connection**. 119 | 120 | 121 | 122 | ## Settings > Invoices > Voucher number 123 | 124 | This section lets you configure voucher numbers to use for invoices. 125 | 126 | 1. Enter a **Prefix**, if required by your library. For example, if your financial office requires all invoice payments for the library to begin with "LIB". 127 | 2. Enter a **Starting number**. 128 | 3. Click **Reset sequence** if you need to reset the voucher number. 129 | 4. Select the **Allow voucher number to be edited** checkbox if you want to allow editing for the voucher number. 130 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_marc_authority/Settings_marc_authority.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > MARC authority" 3 | linkTitle: "MARC authority" 4 | date: 2024-04-22 5 | weight: 170 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The MARC authority section of Settings allows you to view, create, edit, and delete authority files. 10 | 11 | ## Permissions 12 | 13 | To interact with MARC Authority app settings, a user may be assigned the following permissions: 14 | 15 | - **Settings (MARC authority): View authority files.** This permission allows the user to view authority files but not make changes to them. 16 | - **Settings (MARC authority): View, create, edit, delete authority files.** This permission allows the user to view, create, edit, and delete authority files. 17 | 18 | ## Settings > MARC authority > Manage authority files 19 | 20 | ### Creating new authority files 21 | 22 | 1. In the **Manage authority files** pane, click **New**. 23 | 2. Enter the following information for the new authority file: 24 | - **Name.** The name of the authority file. 25 | - **Prefix.** The prefix for authority record identifiers within the authority file. This prefix can only contain alphabetical values, is limited to 25 characters, and must be unique among the listed authority files. 26 | - **HRID stats with.** A number starting from which the HRID will be assigned to authority records. This number cannot contain leading zeros. 27 | - **Base URL.** (Optional) The base URL for the authority file. 28 | 3. Check the box in the **Active** column if the authority file should be active. 29 | 4. Click **Save**. 30 | 31 | ### Editing authority files 32 | 33 | 1. In the **Manage authority files** pane, click the **pencil icon** in the row of the authority file you want to edit. 34 | 2. Make your desired edits. 35 | 3. Click **Save**. 36 | 37 | ### Deleting authority files 38 | 39 | 1. In the **Manage authority files** pane, click the **trash can icon** in the row of the authority file you want to delete. 40 | 2. In the **Delete authority file** dialog, click **Yes, delete**. A confirmation message appears and the authority file is deleted. 41 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_my-profile/settings_my-profile.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > My profile" 3 | linkTitle: "My profile" 4 | date: 2025-05-08 5 | weight: 175 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The My profile section in the Settings app allows the user to customize and save the display order of FOLIO applications in the UI or change their FOLIO password. 10 | 11 | 12 | ## Capabilities 13 | 14 | The Eureka platform, adopted in the Sunflower release, replaces permission sets with **Capabilities** and **Capability sets** for role-based management of user accounts. 15 | 16 | For more information about **Capabilities**, **Capability sets**, and their attributes, see [Roles Management in Eureka](https://folio-org.atlassian.net/wiki/x/BIATLw). 17 | 18 | The following **Capabilities** allow interaction with the My profile section of the Settings app. 19 | 20 | For all Settings \> My profile capabilities: 21 | 22 | - **Application** is *app-platform-complete*. 23 | - **Type** is *settings*. 24 | 25 | | permissionDisplayName (OKAPI) | Resource (EUREKA) | Action | 26 | | :----- | :----- | :-----: | 27 | | *Settings (My profile): Can change your local password* | *UI-Myprofile Settings Change-Password* | view | 28 | | *Settings (My profile): Can change application order in main navigation* | *UI-Myprofile Settings Main-Nav-Order* | manage | 29 | 30 | 31 | ## Application display order 32 | 33 | The **Application display order** setting determines the display order of FOLIO applications in the navigation menu using a numerical list. Applications are displayed in numerical order from left to right. 34 | 35 | In Settings \> My profile, you can customize the display order of the FOLIO applications that you have permission to access. 36 | 37 | To customize the display order of FOLIO applications in the top navigation menu: 38 | 39 | 1. In the **My profile** pane, click **Application display order**. A numerical list of all FOLIO applications that you have permission to access appears in the **Application display order** pane. 40 | 2. Applications can be reordered in the display using the **Drag & Drop** method. Hover over an application until the hand icon appears, then drag and drop it into its new position in the list. 41 | 3. Click **Save**. 42 | 43 | To reset the display order of FOLIO applications in the top navigation menu to the default setting: 44 | 45 | 1. In the **My profile** pane, click **Application display order**. A numerical list of all FOLIO applications that you have permission to access appears in the **Application display order** pane. 46 | 2. Click the **Reset to default** button in the top right corner of the **Application display order** pane. 47 | 3. Click **Save**. The display order of FOLIO applications reverts to the default setting. 48 | 49 | 50 | ## Change password 51 | 52 | The **Change password** option in Settings \> My profile allows the user to change their FOLIO password. 53 | 54 | To change your FOLIO password: 55 | 56 | 1. In the **My profile** pane, click **Change password**. 57 | 2. In the **Change password** pane, type in your current FOLIO password. Toggle the **Show password** and **Hide password** to display your typing accordingly. 58 | 3. Type the new password in the **New FOLIO password** and **Confirm FOLIO password** fields. Passwords must contain: 59 | 60 | 61 | - at least one numeric character; 62 | - at least one special character; 63 | - no keyboard sequence of characters; 64 | - both lowercase and uppercase letters. 65 | 66 | 67 | 4. Click **Save** to save the new FOLIO password. The green toast message, *The FOLIO password for [FOLIO username] was saved successfully*, appears at the bottom of the screen. 68 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_notes/Settings_notes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Notes" 3 | linkTitle: "Notes" 4 | date: 2022-02-01 5 | weight: 180 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The Notes section of the Settings app is where you establish your library’s note types. 10 | 11 | Notes are a way for your library to add extra information to a record. The Notes section appears in records in the following FOLIO apps: 12 | 13 | * Agreements 14 | * eHoldings 15 | * eUsage 16 | * Licenses 17 | * Organizations 18 | * Users 19 | 20 | ## Permissions 21 | 22 | In order to interact with Notes settings, a user needs to be assigned the following permission: 23 | 24 | * **Settings (notes): display list of settings pages.** This permission allows the user to create, edit and delete note types. 25 | 26 | In order to manage notes attached to FOLIO records, the following permissions are required: 27 | 28 | * **Notes: Can assign and unassign a note.** This permission allows the user to assign and unassign notes. 29 | * **Notes: Can create a note.** This permission allows the user to create notes. 30 | * **Notes: Can delete a note.** This permission allows the user to delete notes. 31 | * **Notes: Can edit a note.** This permission allows the user to edit notes. 32 | * **Notes: Can view a note.** This permission allows the user to view notes. 33 | 34 | ## Settings > Notes > General 35 | 36 | Note types are categories you can create for notes to indicate the type of note they are. Notes have associated types that can be used to categorize the note. This area of Settings is where you configure note types. The note types you create here appear throughout FOLIO. They are not app specific. This means that note types can be used in different apps, even if they were created with a particular app in mind. 37 | 38 | ### Creating a note type 39 | 40 | 1. Click **New**. 41 | 2. In the **Note type** column, enter a **name** for the note type in the box. 42 | 3. Click **Save**. The note type is saved and appears in the Note types list. 43 | 44 | ### Editing a note type 45 | 46 | 1. Find the note type you want to edit, and in the **actions** column, click the **pencil icon**. 47 | 2. In the **Note type** column, make your desired changes to the **name.** 48 | 3. Click **Save**. The note type is updated. 49 | 50 | ### Deleting a note type 51 | 52 | 1. Find the note type you want to delete. 53 | 2. In the **actions** column, click the **trash can icon**. 54 | 3. In the **Delete Note type** dialog, click **Delete**. A confirmation message appears and the note type is deleted. 55 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_oaipmh/Settings_oaipmh.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > OAI-PMH" 3 | linkTitle: "OAI-PMH" 4 | date: 2023-11-29 5 | weight: 190 6 | tags: ["subtopic"] 7 | --- 8 | 9 | **This section of the documentation contains links to external sites. Please be advised that these sites are not maintained by the FOLIO Documentation Group and may be aligned with a different FOLIO release.** 10 | 11 | The OAI-PMH section of the Settings app is where you configure the behavior of FOLIO's OAI-PMH feed. Learn more about the [OAI-PMH Specification at the Open Archives website](http://www.openarchives.org/OAI/openarchivesprotocol.html). 12 | 13 | FOLIO currently supports three metadata formats: 14 | * marc21 15 | * oai_dc 16 | * marc21_withholdings 17 | 18 | This list can be viewed by using the [**ListMetadataFormats** verb](http://www.openarchives.org/OAI/openarchivesprotocol.html#ListMetadataFormats). 19 | 20 | ## Permissions 21 | 22 | To interact with OAI-PMH settings, a user needs to be assigned the following permission: 23 | 24 | * **Settings (OAI-PMH): Can view** This permission allows the user to view all the OAI-PMH settings, but "Save" button is disabled. 25 | * **Settings (OAI-PMH): Can view and edit settings** This permission allows the user to view and edit the OAI-PMH settings. 26 | * **Settings (OAI-PMH): Can view logs** This permission allows the user to view Settings > OAI-PMH > Logs. 27 | 28 | 29 | ## Settings > OAI-PMH > General 30 | 31 | General settings to configure how the [**Identify** verb](http://www.openarchives.org/OAI/openarchivesprotocol.html#Identify) responses. 32 | 33 | ### Enable OAI service 34 | 35 | Checkbox to globally enable or disable OAI services. 36 | 37 | ### Repository name 38 | 39 | Sets the content in the `respositoryName` XML element of the Identify response. 40 | 41 | ### Base URL 42 | 43 | Sets the content in the `baseURL` XML element of the Identify response. This value also appears in the content of the `response` XML element of the ListRecords verb. 44 | 45 | ### Time granularity 46 | 47 | Sets the content in the `granularity` XML element of the Identify response. 48 | 49 | ### Administrator email(s) 50 | 51 | Sets the content in the `adminEmail` XML element of the Identify response. 52 | 53 | ## Settings > OAI-PMH > Technical 54 | 55 | ### Max records per response 56 | 57 | Number of records to return per page of response. 58 | 59 | ### Enable validation 60 | 61 | Defines if the response content should be validated against XSD schemas. 62 | 63 | ### Formatted output 64 | 65 | Determines if the marshalled XML data is line feeds and indentation. 66 | 67 | ## Settings > OAI-PMH > Behavior 68 | 69 | ### Deleted records support 70 | One of: 71 | * **No** - Indicates that no information about deleted records is presented. 72 | * **Persistent** - Records with MARC Leader 05 equal to 'd', 's' or 'x' will be listed as deleted in OAI-PMH ListRecords responses. 73 | * **Transient** - Same behavior as **Persistent**, but without a guarantee that deleted records will be kept indefinitely in FOLIO. 74 | 75 | See for more details of the implementation. 76 | 77 | Setting value appears in `deletedRecord` XML element of Identify response. 78 | 79 | ### Suppressed records processing 80 | One of: 81 | * **Transfer suppressed records with discovery flag value** - Adds a MARC subfield $t = 1 to FOLIO's 999 field (for Instances), 852 field (for Holdings) or 952 field (for Items). 82 | * **Skip suppressed from discovery records** - Instances marked 'Suppress from Discovery' are not included in the OAI-PMH response. 83 | 84 | ### OAI-PMH errors processing 85 | One of: 86 | * **Associate with HTTP status 200** - Error messages are returned with an HTTP 200 response code. 87 | * **Associate with HTTP error statuses** - Error messages are returned with an appropriate HTTP error code. 88 | 89 | ### Record source 90 | One of: 91 | * **Source records storage** - MARC instance records are harvested from SRS. 92 | * **Inventory** - Instance records are harvested from inventory only, and all OAI-PMH records are generated on-the-fly as part of the harvesting. 93 | * **Source records storage and inventory** - All instance records with a metadata source of MARC are retrieved from source record storage. Instance records with a metadata source are retrieved from inventory and OAI-PMH records are generated on-the-fly for those inventory-only records as part of the harvest. 94 | 95 | ## Settings > OAI-PMH > Logs 96 | The logs page displays a list of completed harvests and is kept for 30 days. If a harvest contains a record or records that cannot be handled, a "Download" link will appear in the rightmost column of the logs. Clicking this link will download a spreadsheet where errors are listed with the UUID of the affected instance and an error message. 97 | 98 | ## Field mappings for ListRecords response 99 | 100 | In order for Discovery services and OPACs to allow for filtering, aggregating and searching based on location and call number information, the OAI-PMH server in FOLIO needs to be able to supply this information as part of the feed. 101 | 102 | Mapping from Inventory records to MARC fields as part of the feed is as follows: 103 | 104 | | Inventory field | MARC | Additional rules | 105 | | --- | ----------- | --- | 106 | | Effective location: Institution | 952$a || 107 | | Effective location: Campus | 952$b || 108 | | Effective location: Library | 952$c || 109 | | Effective location: Name| 952$d || 110 | | Effective call number components: call number | 952$e || 111 | | Effective call number components: prefix | 952$f || 112 | | Effective call number components: suffix| 952$g || 113 | | Effective call number components: type | 952$h || 114 | | Material type | 952$i || 115 | | Volume | 952$j || 116 | | Enumeration | 952$k || 117 | | Chronology | 952$l || 118 | | Barcode | 952$m || 119 | | Copy number | 952$n || 120 | | Electronic access: URI | 856$u | Creates separate datafield for each URL. Uses URLs from each record level (holding and item) | 121 | | Electronic access: Link text | 856$y| Creates separate datafield for each URL. Uses URLs from each record level (holding and item) | 122 | | Electronic access: Materials specified | 856$3 | Creates separate datafield for each URL. Uses URLs from each record level (holding and item) | 123 | | Electronic access: Public note | 856$z | Creates separate datafield for each URL. Uses URLs from each record level (holding and item) | 124 | | Electronic access: Relationship: No display constant generated | 856 2nd indicator 8 1st indicator 4 || 125 | | Electronic access: Relationship: No information provided | 856 2nd indicator blank 1st indicator 4 | Such indicator filling in works also for empty "Relationship" value | 126 | | Electronic access: Relationship: Related resource | 856 2nd indicator 2 1st indicator 4 || 127 | | Electronic access: Relationship: Resource | 856 2nd indicator 0 1st indicator 4 || 128 | | Electronic access: Relationship: Version of resource | 856 2nd indicator 1 1st indicator 4 || 129 | | Electronic access: Relationship: empty value | 856 2nd indicator empty 1st indicator 4 || 130 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_organizations/Settings_organizations.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Organizations" 3 | linkTitle: "Organizations" 4 | date: 2025-04-24 5 | weight: 210 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The Organizations section of the Settings app is where you establish the categories you want to use to classify the contact people and contact information you add to an organization, any types you may wish to use to classify the organization records for filtering purposes, and banking information related to vendors. 10 | 11 | 12 | ## Capabilities 13 | 14 | The capabilities listed below allow you to interact with the Organizations settings. You can assign capabilities to users via user roles. If none of these capabilities are assigned to a user, they are unable to see the Organizations settings or any related information. 15 | 16 | It is recommended that you select all applications prior to assigning capabilities to ensure you have access to all capabilities. 17 | 18 | |**Permission Display name (OKAPI)** | **Resource (EUREKA)** | Type | Action | Description | 19 | | -------- | ------- | ------- | ------- | ------- | 20 | |**Settings (Organizations): Can view and edit settings.** | **Organizations Settings** | data | manage | This capability allows the user to view, create, edit, and delete all organizations settings.| 21 | |**Settings (Organizations): Manage number generator options** | **UI-Organizations Settings NumberGenerator** | settings | manage | This capability allows the user to view and edit Number generator options within Organizations settings. 22 | |**Settings (Organizations): View settings.** | **UI-Organizations Settings** | settings | view | This capability allows the user to view, but not interact with, organizations settings.| 23 | 24 | 25 | 26 | 27 | ## Settings \> Organizations \> Categories 28 | 29 | Categories are a way to classify the contact people and contact information you add to an organization. Categories are defined by your library and can be used to group contact information and contact people to make them easier to find and identify. You need to first add the categories in the Settings app in order to assign them to organization contacts. 30 | 31 | For more information on adding contact information and contact people to organizations, see [Contact information](../../organizations/#contact-information) and [Contact people](../../organizations/#contact-people). 32 | 33 | 34 | ### Creating a new category 35 | 36 | 1. Click **New**. 37 | 38 | 2. Enter a category **Name** in the box. 39 | 40 | 3. Click **Save**. The category is saved and appears in the Categories list. 41 | 42 | 43 | ### Editing a category 44 | 45 | 1. Find the category you want to edit and click the **pencil icon**. 46 | 47 | 2. Make the changes to the category name. 48 | 49 | 3. Click **Save**. The category is updated. 50 | 51 | 52 | ### Deleting a category 53 | Note: Categories may be deleted when in use on Organization records. FOLIO will not produce a warning to prevent the deletion. 54 | 55 | 1. Find the category you want to delete. 56 | 57 | 2. Click the **trash can icon**. 58 | 59 | 3. In the **Delete Category** dialog, click **Delete**. The category is deleted and a confirmation message appears. 60 | 61 | 62 | ## Settings \> Organizations \> Types 63 | Libraries may create controlled lists of organization types to facilitate filtering based on the nature of the library's relationship with the organization, e.g. Subscription agent, consortium. An organization may have multiple types assigned to its record. This value can also be exported within the Orders CSV, when applied to selected vendors. 64 | 65 | ### Creating a new type 66 | 67 | 1. Click **New**. 68 | 69 | 2. Enter a type **Name** in the box. 70 | 71 | 3. Enter a type **Status**: Active or Inactive. Inactive types will not appear in the dropdown menu to assign to Organization records, but will still appear within the **Types** filter in the Organizations app. 72 | 73 | 3. Click **Save**. The type is saved and appears in the Types list. 74 | 75 | 76 | ### Editing a type 77 | 78 | 1. Find the type you want to edit and click the **pencil icon**. 79 | 80 | 2. Make the changes to the type name or status. 81 | 82 | 3. Click **Save**. The type is updated. 83 | 84 | 85 | ### Deleting a type 86 | 87 | 1. Find the type you want to delete. 88 | 89 | 2. Click the **trash can icon**. 90 | 91 | 3. In the **Delete Type** dialog, click **Delete**. The type is deleted and a confirmation message appears. Note: Types cannot be deleted when in use on an Organization record. You will see an error: "This type cannot be deleted, as it is in use by one or more records." 92 | 93 | ## Settings \> Organizations \> Banking information 94 | Libraries may wish to record banking information to use for payments to vendors. To activate the **Banking information** accordion on Organization records, select the **Enable banking information** checkbox and click **Save**. This accordion will only be accessible to staff users with corresponding capabilities to view/interact with Banking information. 95 | 96 | ## Settings \> Organizations \> Account types 97 | If **Banking information** is enabled, a library can configured account types to include alongside banking information. Examples may include 'Corporate checking' or 'Corporate savings'. 98 | 99 | ### Creating a new account type 100 | 101 | 1. Click **New**. 102 | 103 | 2. Enter a type **Name** in the box. 104 | 105 | 3. Click **Save**. The account type is saved and appears in the account types list. 106 | 107 | 108 | ### Editing an account type 109 | 110 | 1. Find the account type you want to edit and click the **pencil icon**. 111 | 112 | 2. Make the changes to the account type name. 113 | 114 | 3. Click **Save**. The account type is updated. 115 | 116 | 117 | ### Deleting an account type 118 | 119 | 1. Find the account type you want to delete. 120 | 121 | 2. Click the **trash can icon**. 122 | 123 | 3. In the **Delete account type** dialog, click **Delete**. The account type is deleted and a confirmation message appears. Note: Account types can be deleted while in use on an organization record. The field will appear empty within the Banking information. 124 | 125 | ## Settings \> Organizations \> Number generator options 126 | Use this setting to enable Number generators for Code in Organizations. 127 | 128 | Three options are available: 129 | * Number generator off: the vendor code can be filled manually only. 130 | * Number generator on, editable: the vendor code can be filled using the generator and be edited or filled manually. 131 | * Number generator on, fixed: the vendor code can be filled using the generator only. 132 | 133 | For more information about Number generator sequences, see [Settings > Service Interaction > Number generator sequences](../../settings_service_interaction/settings_service_interaction/). 134 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_remotestorage/remotestorage.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Remote Storage" 3 | linkTitle: "Remote Storage" 4 | date: 2022-02-25 5 | weight: 220 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The Remote storage section of the Settings app is where you configure options to connect to an external remote storage system. 10 | 11 | Libraries generally use remote storage systems when they are housing books in a facility that is not the library. Often these facilities have high-capacity storage, where books are housed by size to be able to store as many items as possible. Libraries with these facilities need systems to keep track of where the books are in the facility and help manage patron requests to have items retrieved and shipped to the library for their use. 12 | 13 | The Juniper release supports connections to CAIASoft and Dematic. Generally, settings in this area will be managed by your library’s FOLIO administrator. 14 | 15 | If a library does not use remote storage, they do not need to install remote storage modules or configure any settings in this area of FOLIO. 16 | 17 | ## Permissions 18 | 19 | The permissions listed below determine what you can do or not do with the individual parts of the Remote storage section of Settings. If none of these permissions are assigned to a user, the user will not see this area of the Settings app. 20 | 21 | * **Remote storage: Create, edit, delete**. This permission allows the user to view, create, edit, and delete remote storage settings. 22 | * **Remote storage: View**. This permission allows the user to view all remote storage settings. 23 | 24 | ## Settings > Configurations 25 | 26 | A configuration entry must be created for each remote storage system. Directions are different for Dematic EMS (API), StagingDirector (TCP/IP), and CAIASoft. 27 | 28 | ### Create a configuration for Dematic EMS (API) 29 | 1. Click **New**. 30 | 2. In the **Create configuration** screen, provide the **Remote storage name**, **Provider name**, and **URL (domain)**. 31 | 3. Click **Save & close**. 32 | 33 | ### Create a configuration for StagingDirector (TCP/IP). 34 | 1. Click **New**. 35 | 2. In the **Create configuration** screen, provide the **Remote storage name**, **Provider name**, **URL (domain)**, and **Status URL**. 36 | 3. For the **Data synchronization schedule**, choose how often FOLIO and your remote storage system will synchronize data. You may choose an interval of minute(s), hour(s), day(s), week(s), or month(s). 37 | 4. Click **Save & close**. 38 | 39 | ### Create a configuration for CAIASoft 40 | 41 | 1. Click **New**. 42 | 2. In the **Create configuration** screen, provide the **Remote storage name**, **Provider name**, **URL (domain)**, and **Credential properties**. 43 | 3. For **Accession holding workflow preference**, choose one of two options: 44 | * **Change permanent location**: When an item is accessioned into CAIASoft, if the holdings permanent location does not have the same location as the new remote location of the item, the holdings permanent location is changed. 45 | * **Duplicate holdings**: When an item is accessioned into CAIASoft, and a holdings record for the new remote location does not already exist, the non-remote holdings record is duplicated, the location on the new holdings record is changed to the item’s location, and the item is moved to that new holdings record. 46 | 4. For **Returning workflow preference**, choose one of two options: 47 | * **Items received at remote storage scanned into FOLIO**: When this option is selected, FOLIO will expect that an item will be scanned directly in FOLIO and FOLIO will send an update to CAIASoft indicating that the item is expected to be stored, and set the item’s FOLIO item status to **Available**. 48 | * **Items received at remote storage scanned into CAIASoft**: When this option is selected, FOLIO expects that items will be scanned for return in CAIASoft. When items are scanned in CAIASoft, CAIASoft will send information to FOLIO; if FOLIO finds open requests on the item, CAIASoft will immediately move the item into requesting workflows. If the item is not requested, FOLIO will check the item in and change the item status to **Available**. 49 | 5. Click **Save & close**. 50 | 51 | ### Edit a configuration 52 | 53 | 1. From the list of configurations, choose the one you wish to edit. It will open in a fourth pane. 54 | 2. On the fourth pane, choose **Actions > Edit**. 55 | 3. In the edit pane, make changes as desired. 56 | 4. Click **Save & close**. 57 | 58 | ### Delete a configuration 59 | 60 | You will not be able to delete a configuration if any locations on your FOLIO instance are associated with the configuration. 61 | 62 | 1. From the list of configurations, choose the one you wish to delete. It will open in a fourth pane. 63 | 2. From the fourth pane, choose **Actions > Delete**. 64 | 3. Click **Delete** on the pop-up window to confirm. 65 | 66 | ## Settings > Accession Tables 67 | 68 | Libraries only need to configure accession tables if they are using CAIASoft. 69 | 70 | Accession tables provide a way to configure how locations change when items are accessioned into CAIASoft. The **Original location** is the item’s location at the library (non-remote); the **Final location (Remote)** is the location that that item should be moved to when received in CAIASoft. The location chosen as the **Final location (Remote)** must be associated with your CAIASoft provider as part of its configuration options. 71 | 72 | To configure accession tables, first choose your **Remote storage name** from the drop-down list. 73 | 74 | ### Map an original location to a final location 75 | 1. Click the pencil icon under **Actions** for the location you wish to configure. 76 | 2. Under **Final location (Remote)**, click the dropdown and select the location that the non-remote location should map to at your remote storage facility. You may map more than one onsite non-remote location to a single remote location. 77 | 3. Click **Save** to save your changes. 78 | 79 | ### Edit a mapping between an original location and a final location 80 | 1. Click the pencil icon under **Actions** for the **Original location** you wish to configure. 81 | 2. Under **Final location (Remote)**, click the dropdown and make changes as desired. 82 | 3. Click **Save**. 83 | 84 | ### Remove a mapping between an original location and a final location 85 | 1. Click the pencil icon under **Actions** for the **Original location** you wish to configure. 86 | 2. Under **Final location (Remote)**, click the dropdown and choose **Select location name or code**. 87 | 3. Click **Save**. 88 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_reporting/Settings_reporting.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Reporting" 3 | linkTitle: "Reporting" 4 | date: 2024-12-04 5 | weight: 225 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The Reporting section of the Settings app is where you can configure FOLIO’s connection to an LDP or Metadb database instance, set limitations on running queries and establish connections to GitHub repositories for the sake of running parameterized SQL queries. 10 | 11 | ## Permissions and Capabilities 12 | 13 | The following are the capabilities and permissions for Reporting in the Settings app: 14 | 15 | | Permission Display Name (OKAPI) | Resource (EUREKA) | Type | Action | Description | 16 | | :-----: | :-----: | :-----: | :-----: | :-----: | 17 | | *Settings (Reporting): browse and load Reporting saved queries* | *Ui-Ldp Saved Queries* | Settings | View | This capability allows a user to browse and load queries that they or other users have saved using the Reporting app’s | 18 | | *Settings (Reporting): Can modify default record limits* | *UI-Ldp Settings Record-Limits* | Settings | View | This capability allows a user to set the amount of records/rows that can be returned and exported to a CSV (can be different values) when running a query in the Reporting app. | 19 | | *Settings (Reporting): Can modify reporting database connection details* | *UI-Ldp Settings Dbinfo* | Settings | View | This capability allows a user to configure the Reporting app’s connection to an LDP/Metadb instance including the username and password used to query the LDP/Metadb reporting database. | 20 | | *Settings (Reporting): Can modify templated-query repos configuration* | *UI-Ldp Settings Tqrepos* | Settings | View | This capability allows a user to create new or modify existing connections to GitHub repositories for the purpose of accessing parameterized SQL queries via the Reporting app. | 21 | | *Settings (Reporting): Can select which tables are available to search* | *UI-Ldp Settings Table-Availability* | Settings | View | This capability allows a user to select/remove which tables will appear in the “Table” dropdown while using the Reporting app’s “Build query” feature. | 22 | | *Settings (Reporting): create and update Reporting saved queries* | *Mod-Settings Global Write Ui-Ldp Queries* | Settings | Manage | This capability allows a user to save queries they’ve created using the Reporting app’s “Build query” feature as well as edit and overwrite existing queries (whether they are the report’s creator or not).| 23 | 24 | ### Settings > Reporting > Record limits 25 | The **Record limits** setting allows you to set the default and maximum numbers of records to show in a user’s query results. You may also restrict the number of records a user can export using the **Maximum number to export** setting. 26 | * Default number to show 27 | * Maximum number to show 28 | * Maximum number of export 29 | ### Settings > Reporting > Table availability 30 | The **Table availability** setting 31 | * Shows the schema and tables in the connected database and allows tables to be “turned off” from being able to query against them so that users cannot include them in queries. This is useful for tables that may contain restricted data, such as PII (Personally Identifiable Information). 32 | 33 | {{% alert title="Currently recommended to disable" color="info"%}} 34 | It is currently recommended to disable tables: srs_marc, srs_marctab, srs_records. 35 | Currently the app does not support indexing of certain columns. Keeping them enabled can cause performance issues and extra stress on the database. 36 | {{% /alert %}} 37 | 38 | ### Settings > Reporting > Database configuration 39 | The **Configure database connection URL & credentials** setting is used to set the connection from the FOLIO application instance to the LDP/Metadb reporting database instance. This is also used to set the username and password to be used by the Reporting app to query the LDP/Metadb reporting database. 40 | 41 | ### Settings > Reporting > Report repositories 42 | The **Report repositories** setting allows you to configure connections to GitHub repositories for the purpose of accessing SQL queries created by individual institutions or the wider FOLIO reporting community. Queries saved in these repositories can be run using the Reporting app’s “Run report” option and can be configured to display parameters to filter the data output. The GitHub user, repository name, repository branch, and directory within the repository must be specified here. 43 | 44 | For information on how to set up SQL queries compatible with the Reporting app in GitHub, please refer to [Authoring reports for the FOLIO Reporting App] (https://github.com/folio-org/ui-ldp/blob/master/doc/reports.md). -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_serials/Settings_serials.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Serials" 3 | linkTitle: "Serials" 4 | date: 2025-01-15 5 | weight: 227 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The Serials's section of the Settings app is where you view and manage pick lists and values. 10 | 11 | ## Capabilities and Capability Sets 12 | 13 | In order to interact with Serials settings, a user needs to be assigned the following capabilities: 14 | 15 | | permissionDisplayName (OKAPI)| Resource (EUREKA) | Type | Action | Description | 16 | | :-----: |:-----: |:-----: |:-----: |:-----: | 17 | | Settings (Serials): Manage pick lists and values | UI-Serials-Management Picklists | data | manage | Grants all capabilities included in 'Settings (Serials): View pick lists and values' plus the ability to manage pick lists and pick list values. | 18 | | Settings (Serials): View pick lists and values | UI-Serials-Management Picklists | data | view | A user with this capability set can access the settings for the Serials app and view pick lists and pick list values. | 19 | 20 | ## Settings > Serials > Pick lists 21 | 22 | ### Creating a pick list 23 | 24 | 1. Click **New**. 25 | 2. Under **Category** fill in the name of your new pick list. 26 | 3. Click **Save**. The pick list appears alphabetically in the Pick list column. 27 | 28 | Please note that it is currently not possible to delete a pick list. 29 | 30 | ## Settings > Serials > Pick lists values 31 | 32 | ### Viewing pick list values 33 | Select the desired pick list from the drop-down menu. If available, the pick list values of the selected pick list are displayed. 34 | 35 | ### Creating pick list values 36 | 1. Select the pick list to which you want to add a new value. 37 | 2. Click **New**. 38 | 3. Fill in the label of your new value. 39 | 4. Click **Save** to save your label or **Cancel** to dismiss the changes. 40 | 41 | ### Editing a pick list value 42 | 1. Click the **pencil icon** under **Actions** to edit a label of a pick list value. 43 | 2. Edit the label of your pick list value. 44 | 3. Click **Save** to save your label or **Cancel** to dismiss the changes. 45 | 4. After saving, the value field is set automatically. 46 | 47 | ### Deleting a pick list value 48 | 1. In the pick list drop-down menu, select the pick list in which you want to delete a pick list value. 49 | 2. Click the **trash icon** under **Actions** to delete the value. 50 | 51 | Please note that some predefined values cannot be deleted. In this case, no trash icon is displayed. 52 | -------------------------------------------------------------------------------- /content/en/docs/Settings/Settings_tags/Settings_tags.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Tags" 3 | linkTitle: "Tags" 4 | date: 2022-02-01 5 | weight: 230 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The Tags section of the Settings app is where you enable the use of tags in FOLIO apps. 10 | 11 | ## Permissions 12 | 13 | To interact with Tag settings, a user needs to be assigned the following permission: 14 | 15 | * **Settings (Tags): Can enable or disable tags for all apps.** This permission allows the user to enable or disable tags globally in FOLIO. 16 | 17 | Note: This is the only permission available for Tags settings. You are unable to view and access Tags settings if you do not have this permission assigned to you. You can assign permissions to users in the Users app. 18 | 19 | ## Allowed characters 20 | 21 | Tags cannot be saved with space characters or pipe characters (|). They are removed before the tag is created. 22 | 23 | Upper case characters will be converted to lower case when the tag is saved. 24 | 25 | ## Settings > Tags > General 26 | 27 | Use this setting to enable or disable tags across the following FOLIO apps: 28 | 29 | * Finance > Funds 30 | * Inventory 31 | * Invoices 32 | * Orders 33 | * Organizations 34 | * Receiving 35 | * Requests 36 | * Users 37 | 38 | ### Enable tags 39 | 40 | 1. Select the **Enable tags** checkbox. 41 | 2. Click **Save**. A confirmation message appears and the setting is saved. 42 | 43 | ### Disable tags 44 | 45 | 1. Clear the **Enable tags** checkbox. 46 | 2. Click **Save**. A confirmation message appears and the setting is saved. 47 | -------------------------------------------------------------------------------- /content/en/docs/Settings/System_software_versions/System_software_versions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings > Software versions" 3 | linkTitle: "Software versions" 4 | date: 2023-04-18 5 | weight: 500 6 | tags: ["subtopic"] 7 | --- 8 | 9 | The software versions page lists all components that run for the current tenant. When reporting a bug try to communicate the version of the affected module to help the support and development teams. 10 | 11 | ## Permissions 12 | 13 | There is no explicit permission to view Settings > Software versions. If a FOLIO user has access to view any area of Settings, they will also be able to see Settings > Software versions. 14 | 15 | ## Page layout 16 | 17 | The page shows three columns. 18 | 19 | * User interface: Information about Stripes (the FOLIO UI framework) and its associated infrastructure 20 | * Foundation 21 | * User Interface - App Modules 22 | * User Interface - Plugin Modules 23 | * User Interface - Settings Modules 24 | * User Interface - Handler Modules 25 | * Okapi: Information about Okapi (the FOLIO API gateway) and its associated infrastructure 26 | * Base Okapi Version 27 | * Okapi Modules 28 | * Okapi Interfaces 29 | * UI/Service Dependencies: Information about dependencies between different areas of FOLIO infrastructure 30 | * Foundation 31 | * App modules 32 | * Plugin modules 33 | * Handler modules 34 | 35 | 36 | ## Flower release 37 | 38 | Look for these modules to find out which FOLIO flower release the system runs. This is a good indicator if the official `platform-complete` set of modules has been installed and no individual changes have been made. 39 | 40 | | mod-inventory | mod-inventory-storage | release | 41 | | ------- | ------- | - | 42 | | 21.1.1 | 29.0.4 | [Sunflower R1-2025](https://github.com/folio-org/platform-complete/blob/R1-2025/install.json) | 43 | | 21.0.12 | 28.0.9 | [Ramsons R2-2024-csp-1](https://github.com/folio-org/platform-complete/blob/R2-2024-csp-1/install.json) | 44 | | 21.0.9 | 28.0.8 | [Ramsons R2-2024-GA](https://github.com/folio-org/platform-complete/blob/R2-2024-GA/install.json) | 45 | | 20.2.11 | 27.1.5 | [Quesnelia R1-2024-csp-10](https://github.com/folio-org/platform-complete/blob/R1-2024-csp-10/install.json) | 46 | | 20.2.11 | 27.1.5 | [Quesnelia R1-2024-csp-9](https://github.com/folio-org/platform-complete/blob/R1-2024-csp-9/install.json) | 47 | | 20.2.8 | 27.1.4 | [Quesnelia R1-2024-csp-8](https://github.com/folio-org/platform-complete/blob/R1-2024-csp-8/install.json) | 48 | | 20.2.8 | 27.1.4 | [Quesnelia R1-2024-csp-7](https://github.com/folio-org/platform-complete/blob/R1-2024-csp-7/install.json) | 49 | | 20.2.8 | 27.1.4 | [Quesnelia R1-2024-csp-6](https://github.com/folio-org/platform-complete/blob/R1-2024-csp-6/install.json) | 50 | | 20.2.7 | 27.1.4 | [Quesnelia R1-2024-csp-5](https://github.com/folio-org/platform-complete/blob/R1-2024-csp-5/install.json) | 51 | | 20.2.7 | 27.1.4 | [Quesnelia R1-2024-csp-4](https://github.com/folio-org/platform-complete/blob/R1-2024-csp-4/install.json) | 52 | | 20.2.7 | 27.1.4 | [Quesnelia R1-2024-csp-3](https://github.com/folio-org/platform-complete/blob/R1-2024-csp-3/install.json) | 53 | | 20.2.7 | 27.1.4 | [Quesnelia R1-2024-csp-2](https://github.com/folio-org/platform-complete/blob/R1-2024-csp-2/install.json) | 54 | | 20.2.7 | 27.1.4 | [Quesnelia R1-2024-csp-1](https://github.com/folio-org/platform-complete/blob/R1-2024-csp-1/install.json) | 55 | | 20.2.6 | 27.1.3 | [Quesnelia R1-2024-GA](https://github.com/folio-org/platform-complete/blob/R1-2024-GA/install.json) | 56 | | 20.1.12 | 27.0.6 | [Poppy R2-2023-csp-5](https://github.com/folio-org/platform-complete/blob/R2-2023-csp-5/install.json) | 57 | | 20.1.11 | 27.0.6 | [Poppy R2-2023-csp-4](https://github.com/folio-org/platform-complete/blob/R2-2023-csp-4/install.json) | 58 | | 20.1.10 | 27.0.5 | [Poppy R2-2023-csp-3](https://github.com/folio-org/platform-complete/blob/R2-2023-csp-3/install.json) | 59 | | 20.1.9 | 27.0.4 | [Poppy R2-2023-csp-2](https://github.com/folio-org/platform-complete/blob/R2-2023-csp-2/install.json) | 60 | | 20.1.8 | 27.0.4 | [Poppy R2-2023-csp-1](https://github.com/folio-org/platform-complete/blob/R2-2023-csp-1/install.json) | 61 | | 20.1.6 | 27.0.4 | [Poppy R2-2023-GA](https://github.com/folio-org/platform-complete/blob/R2-2023-GA/install.json) | 62 | -------------------------------------------------------------------------------- /content/en/docs/Settings/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Settings" 3 | linkTitle: "Settings" 4 | weight: 700 5 | --- 6 | 7 | In FOLIO, libraries use the Settings app to configure apps according to each institution's unique needs. Most apps have associated settings in the Settings app, some of which are required and some of which are optional. However, some apps do not have explicitly associated settings, and some settings do not have explicitly associated apps, but are meant to support configuration for FOLIO as a whole. 8 | 9 | Some settings have effects across multiple apps. For example, inventory settings for material types are used in circulation rules and are visible in loan records in Check Out and Users. 10 | -------------------------------------------------------------------------------- /content/en/docs/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Welcome" 3 | linkTitle: "Home" 4 | weight: 10 5 | --- 6 | 7 | {{% alert color="info"%}} 8 | This documentation supports the Sunflower release of FOLIO. Use the Releases menu to select a released version as needed. 9 | {{% /alert %}} 10 | 11 | **This section of the documentation contains links to external sites. Please be advised that these external sites are not maintained by the FOLIO Documentation Group and may be aligned with a different FOLIO release.** 12 | 13 | Welcome to FOLIO documentation. FOLIO is an open source project that creates a new paradigm for collaboration between libraries, developers, and vendors. This open platform moves the industry well beyond the traditional library management system, offering libraries more choices of features and services. 14 | 15 | ![FOLIO Intro](/img/FOLIO_6.png) 16 | 17 | ## A modern library ecosystem 18 | 19 | The FOLIO project aims to facilitate a sustainable, community-driven collaboration around the creation of a modern technology ecosystem that empowers libraries through open source applications to manage library resources and expand library value. 20 | 21 | ### Community collaboration 22 | 23 | Development of the FOLIO platform is driven by the transparent collaboration of librarians, developers, and vendors. A Product Council provides oversight of platform development, with representation from the many institutions and organizations involved. A healthy number of communication channels supports ongoing interactions to move the project forward. 24 | 25 | 26 | ## The future is here: An open source library platform 27 | FOLIO is an open source Library Services Platform developed by libraries, vendors, and developers who collaborate to reimagine library software. The collaboration enables librarians and vendors alike to contribute functional expertise and developers in any area of library workflows. Due to the open source nature of the platform and choice of service providers, libraries can speed up the delivery of extensible or enhanced software and deliver the enhancement(s) to the community without relying on a particular vendor’s roadmap. 28 | -------------------------------------------------------------------------------- /content/en/featured-background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/content/en/featured-background.jpg -------------------------------------------------------------------------------- /content/en/search.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Search Results 3 | layout: search 4 | 5 | --- 6 | 7 | -------------------------------------------------------------------------------- /i18n/de.toml: -------------------------------------------------------------------------------- 1 | 2 | [in_this_topic] 3 | other = "Auf dieser Seite" 4 | 5 | -------------------------------------------------------------------------------- /i18n/en.toml: -------------------------------------------------------------------------------- 1 | 2 | [in_this_topic] 3 | other = "In this Topic" 4 | -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | {{ define "main"}} 2 |
3 |
4 |

Not found

5 |

Oops! This page doesn't exist. Try going back to our home page.

6 | 7 |

You can learn how to make a 404 page like this in Custom 404 Pages.

8 |
9 |
10 | {{ end }} 11 | -------------------------------------------------------------------------------- /layouts/docs/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |

{{ .Title }}

4 | {{ with .Params.description }}
{{ . | markdownify }}
{{ end }} 5 | {{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) }} 6 | {{ partial "reading-time.html" . }} 7 | {{ end }} 8 | {{ .Content }} 9 | 10 | {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.GoogleAnalytics)) }} 11 | {{ partial "feedback.html" .Site.Params.ui.feedback }} 12 |
13 | {{ end }} 14 | {{ if (.Site.DisqusShortname) }} 15 |
16 | {{ partial "disqus-comment.html" . }} 17 | {{ end }} 18 |
{{ partial "page-meta-lastmod.html" . }}
19 |
20 | {{ end }} 21 | -------------------------------------------------------------------------------- /layouts/partials/footer.html: -------------------------------------------------------------------------------- 1 | {{ $links := .Site.Params.links }} 2 |
3 |
4 |
5 |
6 | {{ with $links }} 7 | {{ with index . "user"}} 8 | {{ template "footer-links-block" . }} 9 | {{ end }} 10 | {{ end }} 11 |
12 |
13 | {{ with $links }} 14 | {{ with index . "developer"}} 15 | {{ template "footer-links-block" . }} 16 | {{ end }} 17 | {{ end }} 18 |
19 |
20 | {{ with .Site.Params.copyright }}© {{ now.Year}} {{ .}}. This work is licensed under a Creative Commons Attribution 4.0 International License{{ end }} 21 | {{ with .Site.Params.privacy_policy }}||  {{ T "footer_privacy_policy" }}{{ end }} 22 | {{ if not .Site.Params.ui.footer_about_disable }} 23 | {{ with .Site.GetPage "about" }}

{{ .Title }}

{{ end }} 24 | {{ end }} 25 |
26 |
27 |
28 |
29 | {{ define "footer-links-block" }} 30 |
    31 | {{ range . }} 32 |
  • 33 | 34 | 35 | 36 |
  • 37 | {{ end }} 38 |
39 | {{ end }} 40 | -------------------------------------------------------------------------------- /layouts/partials/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ hugo.Generator }} 4 | {{ range .Site.Params.custom_css -}} 5 | 6 | {{- end }} 7 | {{ if eq hugo.Environment "production" }} 8 | 9 | {{ else }} 10 | 11 | {{ end }} 12 | {{ range .AlternativeOutputFormats -}} 13 | 14 | {{ end -}} 15 | {{ partialCached "favicons.html" . }} 16 | {{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{ end }} 17 | {{- template "_internal/opengraph.html" . -}} 18 | {{- template "_internal/schema.html" . -}} 19 | {{- template "_internal/twitter_cards.html" . -}} 20 | {{ if eq (getenv "HUGO_ENV") "production" }} 21 | {{ template "_internal/google_analytics_async.html" . }} 22 | {{ end }} 23 | {{ partialCached "head-css.html" . "asdf" }} 24 | 28 | {{ if .Site.Params.offlineSearch }} 29 | 33 | {{end}} 34 | {{ partial "hooks/head-end.html" . }} 35 | -------------------------------------------------------------------------------- /layouts/partials/hooks/body-end.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /layouts/partials/hooks/head-end.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/partials/navbar.html: -------------------------------------------------------------------------------- 1 | {{ $cover := .HasShortcode "blocks/cover" }} 2 | 36 | -------------------------------------------------------------------------------- /layouts/partials/page-meta-lastmod.html: -------------------------------------------------------------------------------- 1 | {{ T "post_last_mod"}} {{ .Lastmod.Format .Site.Params.time_format_default }} 2 | -------------------------------------------------------------------------------- /layouts/partials/page-meta-links.html: -------------------------------------------------------------------------------- 1 | {{ if .Path }} 2 | {{ $pathFormatted := replace .Path "\\" "/" }} 3 | {{ $gh_repo := ($.Param "github_repo") }} 4 | {{ $gh_subdir := ($.Param "github_subdir") }} 5 | {{ $gh_project_repo := ($.Param "github_project_repo") }} 6 | {{ $gh_branch := (default "master" ($.Param "github_branch")) }} 7 | {{ if $gh_repo }} 8 |
9 | {{ $editURL := printf "%s/edit/%s/content/%s" $gh_repo $gh_branch $pathFormatted }} 10 | {{ if and ($gh_subdir) (.Site.Language.Lang) }} 11 | {{ $editURL = printf "%s/edit/%s/%s/content/%s/%s" $gh_repo $gh_branch $gh_subdir ($.Site.Language.Lang) $pathFormatted }} 12 | {{ else if .Site.Language.Lang }} 13 | {{ $editURL = printf "%s/edit/%s/content/%s/%s" $gh_repo $gh_branch ($.Site.Language.Lang) $pathFormatted }} 14 | {{ else if $gh_subdir }} 15 | {{ $editURL = printf "%s/edit/%s/%s/content/%s" $gh_repo $gh_branch $gh_subdir $pathFormatted }} 16 | {{ end }} 17 | {{ $issuesURL := printf "%s/issues/new?title=%s" $gh_repo (htmlEscape $.Title )}} 18 | 19 | 20 | {{ if $gh_project_repo }} 21 | {{ $project_issueURL := printf "%s/issues/new" $gh_project_repo }} 22 | 23 | {{ end }} 24 |
25 | {{ end }} 26 | {{ end }} 27 | -------------------------------------------------------------------------------- /layouts/partials/sidebar-tree.html: -------------------------------------------------------------------------------- 1 | {{/* We cache this partial for bigger sites and set the active class client side. */}} 2 | {{ $shouldDelayActive := ge (len .Site.Pages) 2000 }} 3 |
4 | {{ if not .Site.Params.ui.sidebar_search_disable }} 5 | 10 | {{ else }} 11 | {{/* With small screen width: this "d-block d-lg-none" element. With wide screen width: "d-none d-lg-block" in navbar.html */}} 12 |
13 | 18 |
19 |
20 | {{ end }} 21 | 36 |
37 | {{ define "section-tree-nav-section" }} 38 | {{ $s := .section }} 39 | {{ $p := .page }} 40 | {{ $subTopics := and ($p.IsDescendant $s) }} 41 | {{ $subToc := .Params.tags}} 42 | {{ $shouldDelayActive := .delayActive }} 43 | {{ $active := eq $p.CurrentSection $s }} 44 | {{ $show := or (and (not $p.Site.Params.ui.sidebar_menu_compact) ($p.IsAncestor $s)) ($p.IsDescendant $s) }} 45 | {{ $sid := $s.RelPermalink | anchorize }} 46 | {{ if not (in $s.Params.tags "parenttopic") }}
    {{ end }} 47 |
  • 48 | {{ $s.LinkTitle }} 49 |
  • 50 |
      51 |
    • 52 | {{ $pages := where (union $s.Pages $s.Sections).ByWeight ".Params.toc_hide" "!=" true }} 53 | {{ $pages := $pages | first 50 }} 54 | {{ range $pages }} 55 | {{ if .IsPage }} 56 | {{ $mid := printf "m-%s" (.RelPermalink | anchorize) }} 57 | {{ $active := eq . $p }} 58 | {{ .LinkTitle }} 59 | {{ else }} 60 | {{ template "section-tree-nav-section" (dict "page" $p "section" .) }} 61 | {{ end }} 62 | {{ end }} 63 |
    • 64 |
    65 | {{ if not (in $s.Params.tags "parenttopic") }}
{{ end }} 66 | {{ end }} 67 | -------------------------------------------------------------------------------- /layouts/partials/toc.html: -------------------------------------------------------------------------------- 1 | {{ partial "page-meta-links.html" . }} 2 | {{ if not .Params.nosidetoc }} 3 |

{{ T "in_this_topic" }}

4 | {{ with .TableOfContents }} 5 | {{ if ge (len .) 200 }} 6 | {{ . }} 7 | {{ end }} 8 | {{ end }} 9 | {{ end }} 10 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tech-doc-hugo", 3 | "version": "0.0.1", 4 | "description": "Hugo theme for technical documentation.", 5 | "main": "none.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/google/docsy-example.git" 12 | }, 13 | "author": "", 14 | "license": "ISC", 15 | "bugs": { 16 | "url": "https://github.com/google/docsy-example/issues" 17 | }, 18 | "homepage": "https://github.com/google/docsy-example#readme", 19 | "dependencies": {}, 20 | "devDependencies": { 21 | "autoprefixer": "^9.8.6", 22 | "postcss-cli": "^7.1.2" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /s3-website-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "ErrorDocument": { 3 | "Key": "error.html" 4 | }, 5 | "IndexDocument": { 6 | "Suffix": "index.html" 7 | }, 8 | "RoutingRules": [ 9 | { 10 | "Condition": { 11 | "KeyPrefixEquals": "example/" 12 | }, 13 | "Redirect": { 14 | "ReplaceKeyWith": "example/new-location" 15 | } 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /static/css/toc.css: -------------------------------------------------------------------------------- 1 | .td-sidebar-nav .td-sidebar-link { 2 | display: block; 3 | padding-bottom: 0.375rem; 4 | color: #FFFFFF; 5 | font-weight: 300; 6 | font-size: 13px; 7 | } 8 | 9 | .td-sidebar-link.td-sidebar-link__section { 10 | font-size: 16px; 11 | } 12 | 13 | 14 | /* .td-sidebar-nav__section-title { 15 | text-transform: uppercase; 16 | } */ 17 | 18 | .td-sidebar-nav__section ul { 19 | padding: 0; 20 | margin: 0px !important ; 21 | } 22 | 23 | .sub-section-parent { 24 | padding-left: 1em; 25 | display: none !important; 26 | } 27 | 28 | .parent-with-subtopics > li { 29 | margin-top: 0px !important; 30 | } 31 | 32 | .parent-with-subtopics > li > a { 33 | /* font-size: 1px !important; */ 34 | color: hsl(210, 9%, 31%) !important; 35 | font-weight: 300; 36 | 37 | } 38 | 39 | 40 | ul.td-sidebar-nav__section.pr-md-3.parent-with-subtopics > li > a { 41 | /* color: hsl(210, 9%, 31%); */ 42 | /* font-weight: 300; */ 43 | } 44 | 45 | li.td-sidebar-nav__section-title { 46 | font-weight: 600; 47 | margin-top: 1.5em; 48 | text-transform: uppercase; 49 | } 50 | 51 | 52 | ul.td-sidebar-nav__section.pr-md-3.parent-with-subtopics > li > a { 53 | color: hsl(210, 9%, 31%) !important; 54 | font-weight: 300; 55 | } 56 | 57 | ul.td-sidebar-nav__section.pr-md-3.parent-with-subtopics > li > a:hover { 58 | color: transparent !important; 59 | text-shadow: 0 0 0.5px hsl(220, 100%, 70%) !important; 60 | } 61 | 62 | a.align-left.pl-0.pr-2.active.td-sidebar-link.td-sidebar-link__section { 63 | font-weight: 700; 64 | margin-top: 0px !important; 65 | } 66 | 67 | 68 | 69 | ul.side-main { 70 | margin-left: 0px !important; 71 | } 72 | 73 | .td-sidebar-link__sub_section{ 74 | padding-bottom: 0px; 75 | } 76 | 77 | li.td-sidebar-link.td-sidebar-link__sub_section_title { 78 | padding: 0px !important; 79 | line-height: 1rem !important; 80 | } 81 | 82 | .sub-section-child-topic { 83 | padding-left: 1em; 84 | display: none !important; 85 | } 86 | 87 | .sub-section-title { 88 | margin-top: 0px !important; 89 | padding-bottom: 0px; 90 | } 91 | 92 | nav#td-section-nav { 93 | background-color: #2C3442; 94 | } 95 | 96 | 97 | .td-sidebar-nav a.active { 98 | font-weight: 700 !important; 99 | } 100 | 101 | 102 | a.activeToc { 103 | font-weight: 100; 104 | color: #6C9CE8 !important 105 | } 106 | 107 | /* From Arnon */ 108 | 109 | footer.bg-dark.py-5.row.d-print-none { 110 | background-color: #3F7DA7 !important; 111 | } 112 | 113 | /* From Arnon */ 114 | 115 | .col-12.col-md-3.col-xl-2.td-sidebar.d-print-none { 116 | background-color: #2B3343; 117 | } 118 | 119 | /* From Arnon */ 120 | 121 | .td-sidebar__search { 122 | border-bottom: 1px solid hsl(0deg 0% 50%); 123 | } 124 | -------------------------------------------------------------------------------- /static/img/FOLIOReportingDataflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/static/img/FOLIOReportingDataflow.png -------------------------------------------------------------------------------- /static/img/FOLIO_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/static/img/FOLIO_6.png -------------------------------------------------------------------------------- /static/img/deb_installer_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/static/img/deb_installer_start.png -------------------------------------------------------------------------------- /static/img/deb_modules_installer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/static/img/deb_modules_installer.png -------------------------------------------------------------------------------- /static/img/kubernetes_deployment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/static/img/kubernetes_deployment.png -------------------------------------------------------------------------------- /static/img/single_deb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/static/img/single_deb.png -------------------------------------------------------------------------------- /static/img/single_docker_compose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/static/img/single_docker_compose.png -------------------------------------------------------------------------------- /static/img/temp/folio_overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/static/img/temp/folio_overview.png -------------------------------------------------------------------------------- /static/img/temp/okapi-stripes_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/static/img/temp/okapi-stripes_architecture.png -------------------------------------------------------------------------------- /static/img/vagrant_boxes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/static/img/vagrant_boxes.png -------------------------------------------------------------------------------- /static/js/scrollspy.js: -------------------------------------------------------------------------------- 1 | window.addEventListener("load", (event) => { 2 | createObserver(); 3 | }, false); 4 | 5 | function createObserver() { 6 | let observer; 7 | 8 | let options = { 9 | root: null, 10 | rootMargin: '5px 5px -50%' 11 | }; 12 | 13 | observer = new IntersectionObserver((entries, observer) => { 14 | entries.forEach(entry => { 15 | const id = entry.target.getAttribute('id'); 16 | if (entry.intersectionRatio > 0) { 17 | document.querySelector(`nav li a[href="#${id}"]`).classList.add('activeToc'); 18 | } else { 19 | document.querySelector(`nav li a[href="#${id}"]`).classList.remove('activeToc'); 20 | } 21 | }); 22 | 23 | },options); 24 | document.querySelectorAll('h2[id], h3[id]').forEach((section) => { 25 | observer.observe(section); 26 | }); 27 | } -------------------------------------------------------------------------------- /themes/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/folio-org/docs/3f4cc4fb3f127acda1a87d753acc243744ec188e/themes/.keep --------------------------------------------------------------------------------