{"id":50533083,"url":"https://github.com/umd-lib/umd-discover-customization","last_synced_at":"2026-06-03T15:02:05.730Z","repository":{"id":319923672,"uuid":"1026233987","full_name":"umd-lib/umd-discover-customization","owner":"umd-lib","description":null,"archived":false,"fork":false,"pushed_at":"2025-10-20T23:14:15.000Z","size":442,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-21T00:26:20.066Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"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":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-25T14:30:20.000Z","updated_at":"2025-10-20T23:14:18.000Z","dependencies_parsed_at":"2025-10-21T00:26:22.860Z","dependency_job_id":"06ce0afd-7989-4e34-8c22-0f287567d54c","html_url":"https://github.com/umd-lib/umd-discover-customization","commit_stats":null,"previous_names":["umd-lib/umd-discover-customization"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/umd-lib/umd-discover-customization","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fumd-discover-customization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fumd-discover-customization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fumd-discover-customization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fumd-discover-customization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umd-lib","download_url":"https://codeload.github.com/umd-lib/umd-discover-customization/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fumd-discover-customization/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33870026,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"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":"2026-06-03T15:02:04.539Z","updated_at":"2026-06-03T15:02:05.722Z","avatar_url":"https://github.com/umd-lib.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UMD Libraries Primo UI Customization\n\nThis repository contains customization code for the University of Maryland Libraries' Primo discovery interface (UMD Discover). The customizations enhance the user experience with additional features, branding, and integrations specific to UMD Libraries.\n\nTo see these features in the production environment, visit [UMD Discover](https://usmai-umcp.primo.exlibrisgroup.com/discovery/search?vid=01USMAI_UMCP%3AUMCP\u0026query=).\n\n## Overview\n\nThis project provides a comprehensive set of modules that customize various aspects of the Primo interface, including:\n\n- University branding and header integration\n- Chat widget for library support\n- Enhanced search functionality\n- Custom no-results page\n- Loan management features\n- And more\n\n## Repository Structure\n\n```\nrepo/\n  umd-libraries/            # Main customization files\n    js/\n      custom.js             # Main JavaScript file with all module integrations\n    css/\n      custom1.css.          # Main stylesheet for all customizations\n  modules/                  # Individual feature modules (see modules/readme.md)\n    umd-universal-header/\n    libchat-chat-widget/\n    search-branding-customization/\n    external-search/\n    no-results-page/\n    item-page-report-issue/\n    loan-overview/\n    page-title-updater/\n  readme.md                # This file\n```\n\n## Features\n\n### 1. UMD Universal Header\n\nIntegrates the university-wide UMD header with shadow DOM implementation, including:\n\n- University branding and logo\n- Alert system for campus-wide announcements\n- Mobile-responsive navigation\n- \"Make a Gift\" link integration\n\n### 2. LibChat Chat Widget\n\nReal-time chat support integration with:\n\n- Live status monitoring (online/offline)\n- Expandable/collapsible interface\n- Auto-reload functionality for optimal connectivity\n- Status indicators\n\n### 3. Search Branding Customization\n\nCustom branding for the search interface:\n\n- UMD Discover logo integration\n- Custom layout adjustments for search components\n- Responsive design for various screen sizes\n- Scope filtering customizations\n\n### 4. External Search Integration\n\nAdds external search options to Primo:\n\n- WorldCat UMD integration\n- Custom facet for external searches\n- Dynamic search query mapping\n\n### 5. Enhanced No-Results Page\n\nImproved user experience when searches return no results:\n\n- Helpful search tips and strategies\n- Links to additional resources\n- Subject specialist contact information\n- WorldCat search suggestions\n\n### 6. Item Page Report Issue\n\nAllows users to report problems with catalog items:\n\n- Pre-populated survey integration\n- Automatic capture of item metadata (MMS ID, title, URL)\n- Easy submission workflow\n\n### 7. Loan Overview\n\nComprehensive loan management interface:\n\n- View all loans across multiple institutions\n- Loan status indicators (due today, overdue, etc.)\n- Interactive dialog with loan statistics\n- Auto-fetch loan data from multiple sources\n\n### 8. Page Title Updater\n\nAutomatically updates browser tab titles:\n\n- Replaces \"Ex Libris Discovery\" with \"UMD Discover\"\n- Handles dynamic page navigation\n- Improves user experience and branding consistency\n\n## Installation\n\n### Prerequisites\n\n- Access to ALMA, with ability to Configure View for Primo\n- Ability to upload custom JavaScript and CSS files\n\n### Steps\n\n1. Choose the modules you want to install.\n\n2. Integrate the selected modules into custom.js.\n\nStructure of custom.js:\n\n```\n(function () {\n    \"use strict\";\n\n    // Use an empty dependency array (or list required modules).\n    // An empty string will cause \"Module '' is not available\" errors.\n    var app = angular.module(\"viewCustom\", []);\n\n    // ----- modules -----\n    // Insert module registration and initialization here\n    // ----- end modules -----\n})();\n```\n\n3. Copy existing styles or create your own and save them as css/custom1.css.\n\n4. Prepare the deployment package.\n\n- Replace the colon in the view code with a hyphen. Example:\n\n  - View code: `01USMAI_UMCP:ui_test`\n  - Folder name: `01USMAI_UMCP-ui_test`\n\n- Folder structure:\n\n```\n01USMAI_UMCP-ui_test/\n    js/\n        custom.js          # All modules combined\n    css/\n        custom1.css        # All styles combined\n```\n\n- From the terminal, navigate to the parent directory that contains `01USMAI_UMCP-ui_test` and run:\n\n```bash\nzip -r 01USMAI_UMCP-ui_test 01USMAI_UMCP-ui_test -x \"*.DS_Store\"\n```\n\nYou will get a ZIP file after this command completes.\n\n5. Upload to Alma\n\n- In Alma: go to Configure Views, select the target view, open Manage Customization Package, upload the ZIP file, and click Save. The customization will be loaded.\n\n## Development\n\n### Module Structure\n\nEach module is developed independently in the `modules/` directory with its own readme and documentation. The main `custom.js` file integrates all modules into a single deployment file.\n\nFor detailed information about individual modules, see [modules/readme.md](modules/README.md).\n\n### Making Changes\n\n1. **Modify individual modules** in the `modules/` directory\n2. **Update the main custom.js** file in `umd-libraries/js/` with your changes\n3. **Update styles** in `umd-libraries/css/custom1.css`\n4. **Test thoroughly** before deploying to production\n5. **Document changes** in module-specific readme files\n\n### Adding New Modules\n\n1. Create a new directory in `modules/` with your module name\n2. Add a readme.md explaining the module's purpose and functionality\n3. Develop your module code\n4. Integrate the module into `umd-libraries/js/custom.js`\n5. Add corresponding styles to `umd-libraries/css/custom1.css`\n6. Update this readme and `modules/readme.md` with the new module information\n\n## Contributing\n\nWhen contributing to this repository:\n\n1. Create a feature branch for your changes\n2. Document your changes thoroughly\n3. Test in a development environment\n4. Submit a pull request with a clear description\n5. Update relevant readme files\n\n## Support\n\nFor questions or issues:\n\n- Contact UMD Libraries\n- Check individual module readme files for specific documentation\n- Review Primo customization documentation from Ex Libris\n\n---\n\nLast updated: October 2025\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumd-lib%2Fumd-discover-customization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumd-lib%2Fumd-discover-customization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumd-lib%2Fumd-discover-customization/lists"}