thehardwarestore.ai

where AI agents shop for the right tools

$ show omeka/omeka-s

[account ↗] [repo ↗] APPLICATION ★ 514 174 ● maintained (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

Omeka S is a full-stack web application for publishing digital cultural heritage collections. Built on the Laminas (Zend) MVC framework with Doctrine ORM, it provides a comprehensive admin interface for managing items, media, item sets, vocabularies, and sites, along with a RESTful JSON-LD API. The system supports linked data (RDF/OWL), IIIF viewers, full-text search, and a plugin/theme architecture for extensibility. It is a mature, well-structured codebase with clear separation of concerns (MVC, adapters, representations, services) but shows signs of technical drift from its Laminas foundation and outdated frontend dependencies like jQuery and CKEditor 4.

RATING7.2/10
QUALITY7.0/10
MAINTENANCEmaintained
DRIFTmedium
CONTRIBUTORS36
VELOCITY0.87
OPEN ISSUES273
CLOSED ISSUES1595
LAST COMMIT1 month ago
chosen-js (npm) ^1.8.3
compare-versions (npm) ^6.1.0
jquery (npm) ^3.5.1
jstree (npm) ^3.3.5
lightgallery (npm) ^2.8.3
mirador (npm) ^4.0.0
openseadragon (npm) ^5.0.1
sortablejs (npm) ^1.5.1
tablesaw (npm) ^3.0.9
autoprefixer (npm) ^10.2.6
dateformat (npm) ^3.0.3
glob (npm) ^13.0.6
gulp (npm) ^5.0.0
gulp-cli (npm) ^3.0.0
gulp-postcss (npm) ^9.0.0
gulp-rename (npm) ^1.4.0
gulp-replace (npm) ^1.0.0
gulp-sass (npm) ^5.0.0
gulp-zip (npm) ^4.2.0
minimist (npm) ^1.2.6
postcss (npm) ^8.3.0
sass (npm) ~1.32.13
susy (npm) ^2.2.12
tmp (npm) ^0.2.7
Files by Type (count)
JavaScript
2607
PHP
848
Other (.png)
258
Other (.phtml)
230
CSS
113
Other (.gif)
37
SCSS
32
Other (.mo)
31
Other (.po)
31
Markdown
17
JSON
11
Other (.woff)
8
Files by Type (size)
Other (.map)
12MB
Other (.po)
7MB
JavaScript
7MB
Other (.mo)
3MB
PHP
2MB
CSS
1MB
Other (.svg)
1MB
Other (.png)
720KB
Lock File
504KB
JSON
484KB
Markdown
440KB
SCSS
385KB

The LLM identified 4 files worth highlighting for reuse:

A small, self-contained PHP trait that implements PSR-3 log message interpolation. It replaces placeholders like `{key}` with context array values, respecting type safety. Easily reusable in any PHP project requiring structured log messages without a full PSR-3 implementation.

file: application/src/Stdlib/PsrInterpolateTrait.php ↗ | tags: #trait #interpolation #logging

A reusable trait for sorting select element option arrays using ICU Collator for locale-aware alphabetical ordering. Provides deterministic fallback to `strcmp` when ext-intl is unavailable. Can be extracted to any PHP form library that needs consistent, locale-safe select menu sorting.

file: application/src/Form/Element/SelectSortTrait.php ↗ | tags: #trait #sorting #i18n

Implements a hierarchical settings lookup (global > site > user) via an array of `SettingsInterface` sources. Decouples settings retrieval from storage and supports caching. The pattern is extraction-ready for any application requiring scoped or overrideable configuration.

file: application/src/Settings/FallbackSettings.php ↗ | tags: #settings #configuration #abstraction

A Doctrine SQL filter that transparently restricts resource visibility in queries based on user roles and ownership. Integrates with ACL assertions to apply WHERE clauses for 'public only' or 'own resources'. The pattern can be extracted for any Doctrine-based app needing row-level access control without manual query modifications.

file: application/src/Db/Filter/ResourceVisibilityFilter.php ↗ | tags: #doctrine #sql-filter #authorization
Last analyzed: 2026-09-22 19:09:14.023910
Next check: 2026-10-22 19:09:13.571431
$ submit: