{"id":24093211,"url":"https://github.com/umd-lib/solr-textbook","last_synced_at":"2026-01-30T21:37:12.184Z","repository":{"id":49032908,"uuid":"218841246","full_name":"umd-lib/solr-textbook","owner":"umd-lib","description":"Solr Database - Textbook Availability","archived":false,"fork":false,"pushed_at":"2024-09-09T15:56:30.000Z","size":386,"stargazers_count":0,"open_issues_count":0,"forks_count":3,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-06-15T03:02:26.455Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/umd-lib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2019-10-31T19:11:17.000Z","updated_at":"2024-09-09T15:56:27.000Z","dependencies_parsed_at":"2024-02-13T15:11:10.081Z","dependency_job_id":"665bbee2-8b85-4f0f-85f3-7d080999ad12","html_url":"https://github.com/umd-lib/solr-textbook","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/umd-lib/solr-textbook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fsolr-textbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fsolr-textbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fsolr-textbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fsolr-textbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umd-lib","download_url":"https://codeload.github.com/umd-lib/solr-textbook/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fsolr-textbook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28919731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T20:25:28.696Z","status":"ssl_error","status_checked_at":"2026-01-30T20:25:13.426Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2025-01-10T09:26:05.422Z","updated_at":"2026-01-30T21:37:12.165Z","avatar_url":"https://github.com/umd-lib.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Textbook Availability Solr Core\n\n## Introduction\n\nWhen making updates to the data or configuration, a new Docker image should\nbe created.\n\n## Generating the data.csv file\n\nThe \"data.csv\" file will be used to populate the Solr database. The \"data.csv\"\nfile is generated from the \"Top Textbooks\" spreadsheet.\n\n1) Examine the delivered Top Textbooks Excel spreadsheet and look for data\n   errors. For example, in the demo sheet, data for \"Year\" and \"Edition\" was\n   sometimes swapped. If any errors are minor, feel free to adjust and continue.\n   Otherwise, we should reach out and request repaired data.\n\n   * **Note:** We only care about the \"DSS Sheet\" spreadsheet tab. If we receive\n   a spreadsheet without such a tab or fields that do not match the following\n   (below), we may need to request clarification or an update.\n\n   * Expected Columns\n     * UniqueID\n     * Course\n     * Title\n     * Edition\n     * Year\n     * Author\n     * ISBN\n     * Alternate ISBNs\n     * MMS ID\n     * Call number\n     * Barcode\n     * Current Status\n     * New/Returning/Past Semester\n     * UMCP copy?\n     * Notes\n     * Comment\n     * Branch Location\n\n2) Assuming all data is correct or fixed, export the spreadsheet to CSV and\n  place somewhere easily accessible from the command line. For the export, I\n  recommend using Excel's \"Comma Separated Values (.csv)\" format (in the\n  \"Specialty Formats\" section) over the MS-DOS option. Open the file\n  afterwards to ensure there is no odd formatting, such as the lines running\n  together.\n\n3) Open the CSV in a text editor and replace header row with a row matching the\n  Solr schema fields. By this, you can simply delete the first row and replace\n  it with the following (assuming no change in fields):\n\n  ```\n  uniqueid,course,title,edition,year,author,isbn,alternate_isbns,mms_id,call_number,bar_code,current_status,new_returning_past_semester,umcp_copy,test_notes,comment\n  ```\n\n  Also do the following:\n\n  a) Delete any empty record lines at the bottom of the file, i.e. lines that looked like:\n\n  ```\n  \t,,,,,,,,,,,,,,\n  ```\n\n  b) Delete the last comma at the end of every line. In vi, this can be done by running\n\n  ```\n  %s/,$//g\n  ```\n\n  c) Search for \"href\" (used in hyperlinks for on-line resources), and verify\n     that the URLs are fully-qualified, i.e., \"https://rebrand.ly/a3acb\", not\n     \"rebrand.ly/a3acb\"\n\n4) Copy the CSV file into this repository as \"data.csv\".\n\n## Validating the data.csv file\n\nThe validation occurs automatically as part of the Docker image build, but if you want to run it manually, execute:\n\n```bash\ndocker run -it --rm -v `pwd`/data.csv:/tmp/data.csv -v `pwd`/data.csvs:/tmp/data.csvs docker.lib.umd.edu/csv-validator:1.1.5-umd-0 validate /tmp/data.csv /tmp/data.csvs\n```\n\nSee [CVS Schema Language](http://digital-preservation.github.io/csv-schema/csv-schema-1.1.html) for more information about validation rules you can add to [data.csvs](data.csvs).\n\n## Building the Docker Image for Testing\n\nWhen building the Docker image, the \"data.csv\" file will be used to populate\nthe Solr database.\n\nTo build the Docker image named \"solr-textbook\":\n\n```\n\u003e docker build -t solr-textbook .\n```\n\nTo run the freshly built Docker container on port 8983:\n\n```\n\u003e docker run -it --rm -p 8983:8983 solr-textbook\n```\n\nSolr will then be available at [http://localhost:8983/](http://localhost:8983/).\n\n## Building the Docker Image for Deployment\n\nWhen building the Docker image for deployment, do the following:\n\n```\n\u003e docker buildx build . --builder=kube -t docker.lib.umd.edu/solr-textbook:VERSION --push\n```\n\nwhere \\\u003cVERSION\u003e is the Docker image version to use (typically the same as the\ntagged version of this repository). For example, to create the \"3.1.0\" version:\n\n```\n\u003e docker build --no-cache -t docker.lib.umd.edu/solr-textbook:3.1.0 -f Dockerfile .\n```\n\n**Note:** The \"--no-cache\" option is used to force Docker to download the latest\nversion of any images, instead of relying on whatever might be in the cache on a\nparticular workstation.\n\n## License\n\nSee the [LICENSE](LICENSE.txt) file for license rights and limitations.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumd-lib%2Fsolr-textbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumd-lib%2Fsolr-textbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumd-lib%2Fsolr-textbook/lists"}