{"id":23122534,"url":"https://github.com/folio-org/mod-serials-management","last_synced_at":"2025-08-17T01:32:19.138Z","repository":{"id":65219120,"uuid":"557193307","full_name":"folio-org/mod-serials-management","owner":"folio-org","description":"FOLIO Backend module for Serials Management","archived":false,"fork":false,"pushed_at":"2025-07-23T14:50:43.000Z","size":523,"stargazers_count":1,"open_issues_count":3,"forks_count":3,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-07-23T16:35:16.096Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Groovy","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/folio-org.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-10-25T08:41:09.000Z","updated_at":"2025-07-16T10:10:25.000Z","dependencies_parsed_at":"2024-05-02T14:00:24.964Z","dependency_job_id":"a702d34e-ef86-4e16-a8d3-2146ccdc4f5f","html_url":"https://github.com/folio-org/mod-serials-management","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/folio-org/mod-serials-management","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-serials-management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-serials-management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-serials-management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-serials-management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/folio-org","download_url":"https://codeload.github.com/folio-org/mod-serials-management/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-serials-management/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270796223,"owners_count":24647320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-17T07:27:54.809Z","updated_at":"2025-08-17T01:32:19.124Z","avatar_url":"https://github.com/folio-org.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mod-serials-management\n\nCopyright (C) 2024 The Open Library Foundation\n\nThis software is distributed under the terms of the Apache License,\nVersion 2.0. See the file \"[LICENSE](LICENSE)\" for more information.\n\n# Notes on third party libraries used in this software\n* This module uses [logback-groovy-config](https://github.com/virtualdogbert/logback-groovy-config) under an Eclipse Public License (EPL) v1.0.\n  * Developed by [Tucker Pelletier](https://github.com/virtualdogbert)\n  * Code: https://github.com/virtualdogbert/logback-groovy-config\n  * Documentation: https://virtualdogbert.github.io/logback-groovy-config/\n  * License: https://github.com/virtualdogbert/logback-groovy-config/blob/main/EPL.txt\n\n# Introduction\n\nmod-serials-management is a FOLIO module to support serials management functionality. Specifically this includes managing serial records which support a status and description, can be linked to a purchase order line and title from mod-orders and can have a publication pattern defined.\n\nPublication patterns (called `rulesets` in the code) specify information required to predict what issues are expected to be published for a serial during a given time period, and can be used with serials records to generate a list of expected receiving pieces in mod-orders.\n\n### Code of Conduct\n\nRefer to the Wiki [FOLIO Code of Conduct](https://wiki.folio.org/display/COMMUNITY/FOLIO+Code+of+Conduct).\n\n## Module installation and upgrade notes\n\nThe module has important dependences on reference data. initial installations and module upgrades should specify loadReference=true. The module may not work as expected if this is omitted.\n\nThe following reference data (refdata) categories are created on installation:\n\n| Refdata Category | URL for values |\n| --- | --- |\n|ChronologyTemplateMetadataRule.TemplateMetadataRuleFormat|/serials-management/refdata/ChronologyTemplateMetadataRule/TemplateMetadataRuleFormat|\n|CombinationRule.PatternType|/serials-management/refdata/CombinationRule/PatternType|\n|CombinationRule.TimeUnits|/serials-management/refdata/CombinationRule/TimeUnits|\n|EnumerationNumericLevelTMRF.Format|/serials-management/refdata/EnumerationNumericLevelTMRF/Format|\n|EnumerationNumericLevelTMRF.Sequence|/serials-management/refdata/EnumerationNumericLevelTMRF/Sequence|\n|EnumerationTemplateMetadataRule.TemplateMetadataRuleFormat|/serials-management/refdata/EnumerationTemplateMetadataRule/TemplateMetadataRuleFormat|\n|Global.Month|/serials-management/refdata/Global/Month|\n|Global.MonthDayFormat|/serials-management/refdata/Global/MonthDayFormat|\n|Global.MonthFormat|/serials-management/refdata/Global/MonthFormat|\n|Global.Weekday|/serials-management/refdata/Global/Weekday|\n|Global.WeekdayFormat|/serials-management/refdata/Global/WeekdayFormat|\n|Global.YearFormat|/serials-management/refdata/Global/YearFormat|\n|OmissionRule.PatternType|/serials-management/refdata/OmissionRule/PatternType|\n|OmissionRule.TimeUnits|/serials-management/refdata/OmissionRule/TimeUnits|\n|Recurrence.TimeUnits|/serials-management/refdata/Recurrence/TimeUnits|\n|RecurrenceRule.PatternType|/serials-management/refdata/RecurrenceRule/PatternType|\n|Serial.SerialStatus|/serials-management/refdata/Serial/SerialStatus|\n|SerialRuleset.RulesetStatus|/serials-management/refdata/SerialRuleset/RulesetStatus|\n|TemplateMetadataRule.TemplateMetadataRuleType|/serials-management/refdata/TemplateMetadataRule/TemplateMetadataRuleType|\n\n### Environment variables\nThis is a NON-EXHAUSTIVE list of environment variables which tweak behaviour in this module\n\n| Variable                   | Description                                                                                                                                                                                                                                                          | Options                                                    | Default                       |\n|----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------|-------------------------------|                               |\n| `ENDPOINTS_INCLUDE_STACK_TRACE` | Allows the HTTP response 500 to contain stacktrace from the exception thrown. Default return will be a generic message and a timestamp.                                                                                                                             | \u003cul\u003e\u003cli\u003e`true`\u003c/li\u003e\u003cli\u003e`false`\u003c/li\u003e\u003c/ul\u003e                                                     | `false`                       |\n\n### Deployment\n\nA sample k8s resource definition for service and deployment [can be found the scripts directory](https://github.com/folio-org/mod-serials-management/blob/master/scripts/k8s_deployment_template.yaml)\nOr you can get the latest module descriptor from the project OKAPI - [For example - v1.0.0-SNAPSHOT65](curl http://folio-registry.aws.indexdata.com/_/proxy/modules/mod-serials-management-1.0.0-SNAPSHOT.65)\n\nThis module requires the following env parameters\n* OKAPI_SERVICE_PORT - port number for okapi\n* OKAPI_SERVICE_HOST - Host [namespace.hostname if running in a different namespace to okapi]\n\nThe following properties are understood and documented in the [Module Descriptor](https://github.com/folio-org/mod-serials-management/blob/master/service/src/main/okapi/ModuleDescriptor-template.json)\n* DB_DATABASE\n* DB_HOST\n* DB_USERNAME\n* DB_PASWORD\n* DB_MAXPOOLSIZE\n* DB_PORT\n\n## ModuleDescriptor\n\nhttps://github.com/folio-org/mod-serials-management/blob/master/service/src/main/okapi/ModuleDescriptor-template.json\n\n## Additional information\n\n### Issue tracker\n\nSee project [mod-serials-management](https://folio-org.atlassian.net/browse/MODSER)\nat the [FOLIO issue tracker](https://dev.folio.org/guidelines/issue-tracker/).\n\n### Other documentation\n\nOther [modules](https://dev.folio.org/source-code/#server-side) are described,\nwith further FOLIO Developer documentation at [dev.folio.org](https://dev.folio.org/)\n\n### Download and configuration\n\nThe built artifacts for this module are available.\nSee [configuration](https://dev.folio.org/download/artifacts) for repository access,\nand the [Docker image](https://hub.docker.com/r/folioci/mod-serials-management).\n\nNotes on github actions for grails: https://guides.grails.org/grails-on-github-actions/guide/index.html, https://dev.to/erichelgeson/grails-ci-with-github-actions-25ff\n\n## Running using grails run-app with the vagrant-db profile\n\n    grails -Dgrails.env=vagrant-db run-app\n\n\n## Initial Setup\n\nMost developers will run some variant of the following commands the first time through\n\n### In window #1\n\nStart the vagrant image up from the project root\n\n    vagrant destroy\n    vagrant up\n\nSometimes okapi does not start cleanly in the vagrant image - you can check this with\n\n    vagrant ssh\n\nthen once logged in\n\n    docker ps\n\nshould list running images - if no processes are listed, you will need to restart okapi (In the vagrant image) with\n\n    sudo su - root\n    service okapi stop\n    service okapi start\n\nFinish the part off with\n\n    tail -f /var/log/folio/okapi/okapi.log\n\n### In window #2\n\nBuild and run mod-agreements stand alone\n\n    cd service\n    grails war\n    ../scripts/run_external_reg.sh\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffolio-org%2Fmod-serials-management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffolio-org%2Fmod-serials-management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffolio-org%2Fmod-serials-management/lists"}