United Search
A specialized search extension for Omeka S that enables site visitors to find exactly what they are looking for within collections through advanced filtering and hierarchical search capabilities.
Features
United Search provides two powerful search block options:
Item Set | Property Search
Enables searching within specific item sets by filtering on property values. Users can narrow results to a single item set and search by specific metadata properties.
Dual Property Search
Offers hierarchical searching with dynamic filtering between related properties. When users select values in the first dropdown, JavaScript dynamically updates the second dropdown's available options to show only relevant values, creating an intuitive search experience.
Requirements
- Omeka S 4.0.0 or higher
- PHP 8.0 or higher
- JavaScript enabled in browser (for dynamic property filtering)
Installation
- Download the latest release from the GitHub releases page
- Unzip the archive
- Rename the directory to "UnitedSearch"
- Upload the folder to your Omeka S
modulesdirectory - Log in to your Omeka S admin panel
- Navigate to Modules and activate "United Search"
Configuration
Site-Wide Setup
United Search does not require site-wide configuration. Search functionality is added through the site page builder using search blocks.
Using Search Blocks
- Edit or create a page in Omeka S
- Add a new block and select either "Item Set | Property Search" or "Dual Property Search"
- Configure the block settings:
- Item Set | Property Search: Select target item set and property to search
- Dual Property Search: Configure the hierarchical property relationships
- Save the page
The search blocks will appear on your site page and be immediately functional.
Usage
For Site Visitors
Users interact with search blocks through their browser interface: - Select values from dropdown menus to narrow search results - Results update dynamically as selections change - Combine multiple filters to refine searches - Clear selections to reset search
For Site Administrators
The module integrates seamlessly with Omeka S page blocks. No special administration interface is required beyond standard Omeka S page management.
Technical Implementation
United Search combines server-side data loading with client-side JavaScript to create responsive search experiences: - Server-side: Database queries retrieve relevant values and item data - Client-side: JavaScript updates dropdown options dynamically to reflect current selections - Results: Immediate feedback as users modify search criteria
Troubleshooting
Search Block Not Appearing
- Verify the module is activated in Omeka S admin panel
- Ensure the page has been saved after adding the block
- Check that JavaScript is enabled in your browser
- Clear browser cache if seeing outdated content
Dynamic Filtering Not Working
- Verify that the properties selected exist in your items
- Ensure items have values populated for the selected properties
- Check browser console (F12) for any JavaScript errors
- Try a different property combination
Slow Search Performance
- Consider limiting search to smaller item sets if searching large collections
- Verify your server meets recommended specifications
- Check database query performance using Omeka S logs
Support and Issue Reporting
For questions, bug reports, or feature requests: - Visit the GitHub repository: https://github.com/Fisk-University/UnitedSearch - Open an issue on the GitHub Issues page: https://github.com/Fisk-University/UnitedSearch/issues - Include details about your Omeka S version, server environment, and steps to reproduce any issues
Contributing
We welcome contributions from the digital humanities community. To contribute:
- Fork the repository on GitHub
- Create a feature branch for your changes
- Make your modifications following the existing code style
- Test thoroughly in a local Omeka S environment
- Submit a pull request with a clear description of your changes
Contributors should follow Omeka S coding standards and ensure all changes are compatible with Omeka S 4.0.0 and higher.
Development Setup
For developers interested in extending or modifying United Search:
- Clone the repository:
git clone https://github.com/Fisk-University/UnitedSearch.git - Install in an Omeka S instance at
modules/UnitedSearch - The module structure follows standard Omeka S conventions:
config/module.ini- Module metadatasrc/- PHP source codeview/- Template files- Review the existing block implementations in
src/View/Helper/for examples - Test changes in a local Omeka S development environment
Known Limitations
- Dynamic property filtering requires JavaScript to be enabled in users' browsers
- Search is limited to properties explicitly configured in the block settings
- Performance may degrade when searching very large item sets (10,000+ items)
- Only works with Omeka S 4.0.0 and higher
Version History
Version 1.0.0
- Initial release
- Item Set | Property Search block
- Dual Property Search block with dynamic filtering
- Basic support for Omeka S 4.0.0
See GitHub releases page for detailed changelogs: https://github.com/Fisk-University/UnitedSearch/releases
License
This module is published under the Server Side Public License (SSPL-1.0).
Authors
Developed by LaTaevia Berry and Sai Kiran Boppana for Fisk University and HBCUs nationwide.
Project Context
United Search is part of the larger Rosenwald Fund Collection project, a Mellon Foundation-funded digital humanities initiative that provides archival infrastructure for institutions managing significant cultural heritage collections.
For more information about the project: https://github.com/Fisk-University/Rosenwald-Fund-Collection