manuxi/sulu-glossary-bundle
A Sulu CMS bundle that adds glossary management to your site. Create and organize glossary terms with definitions, manage them through Sulu's admin interface, and render a searchable glossary on the frontend, making it easy to explain domain-specific terminology to visitors.
Architecture fit
GlossaryEntry entity with UUIDv7, GlossaryEntryDimensionContent for draft/live per locale, admin module with security contexts, content types, resource loader, providers, SEAL indexing, HTTP cache tagging, trash handler, reference refresher.type) matches Sulu's editorial workflow, so editorial and localization expectations align with native behavior rather than a bolt-on.Integration feasibility
sulu:glossary:migrate-from-2x and sulu:glossary:migrate-page-references target the predecessor manuxi/sulu-abbreviations-bundle 2.0, which materially lowers the cost of adopting a successor bundle.sulu/automation-bundle for scheduled publish/unpublish is cleanly scoped — feature degrades gracefully if absent.Technical risk
admin, website) and HTTP cache tagging are core to correctness — the package is not viable in a stripped-down deployment.Key questions
sulu-abbreviations-bundle installs?type (abbreviation/acronym/term) sufficient taxonomy, or will we need extension points — and are the entities designed for extension?Stack fit
#[Route] attributes, not a documented public content API — or (c) reimplement the glossary domain in Laravel. All three are materially more expensive than the package implies.sulu_resolve_glossary_entry, sulu_get_glossary_entries, load_glossary_settings, optional abbr filter) means front-end rendering assumptions live in Twig; a Laravel/Blade front end would need a translation layer.Migration path
manuxi/sulu-abbreviations-bundle 2.0: run sulu:glossary:migrate-from-2x, then sulu:glossary:migrate-page-references to repoint page content references.docs/templates/doctrine-migration.php.dist for MySQL schema changes; treat as a template requiring review, not a black box.Compatibility
admin and website must exist and be reindexable.sulu/automation-bundle is required only for scheduled publishing; if we need it, our scheduler/worker must already be operational.sulu_glossary.versioning.max_versions (20 default, 0 = unlimited — avoid 0 in production) and sulu_glossary.twig.auto_abbr.Sequencing
sulu.glossary.entries / sulu.glossary.settings, and content types render.glossary_entry_selection, single_glossary_entry_selection, and the resource loader; confirm smart content, teaser, link, sitemap, preview, and route defaults (glossary_entries).Maintenance
Support
Scaling
max_versions default of 20 caps unbounded version growth; explicitly set it rather than relying on defaults.Failure modes
migrate-page-references command suggests reference integrity is the fragile step.sulu/automation-bundle is absent or its worker is down, unpublished/published transitions never fire.type: unlocalized taxonomy means a mis-set type is global across locales.Ramp-up
abbr filter behavior all need a short training pass and a style guide for when to use abbreviation vs acronym vs term.How can I help you explore Laravel packages today?