manuxi/sulu-abbreviations-bundle
A Sulu CMS bundle for managing abbreviations and their definitions. Maintain a central glossary in the admin, then automatically annotate terms on the frontend with accessible tooltips or expansions for consistent terminology across your site.
content-bundle and content workflow. If the roadmap already tracks Sulu upgrades (or a move to Sulu 2.x-era admin/content APIs), this package is now aligned rather than a legacy outlier — a data point for standardizing content features on the content bundle.abbreviation_default structure template + Twig), normalized live content arrays, resolver and Twig helpers (sulu_get_abbreviations(), optional abbr filter) enable a headless-ish/API-first or template-first choice; the selection content type being a ReferenceContentTypeInterface means pages show up in an abbreviation’s references list.migrate-to-content, migrate-page-references, both idempotent, with --dry-run) give a concrete upgrade workstream to schedule and size, rather than an open-ended rewrite.Consider adoption when:
sulu/automation-bundle), version history with restore, and references to media/contacts/categories/tags.abbreviations), teaser provider, sitemap, smart content, search indexing, and HTTP cache invalidation for pages containing abbreviations.@SuluAbbreviations/abbreviation.html.twig), not a bundle-provided controller.Look elsewhere / defer when:
sulu_abbreviations.objects, AbbreviationDataMapper, custom controllers, task handlers), and changes link provider alias from abbreviation to abbreviations.manuxi/sulu-shared-tools-bundle and phpcr/phpcr-migrations-bundle are removed, sulu/automation-bundle is only a suggest, and the old copy toolbar action is replaced by copy_locale.migrate-to-content (creates new UUIDs, keeps legacy_id, migrates draft/live content, routes) and migrate-page-references (rewrites abbreviation_selection / single_abbreviation_selection and <sulu-link provider="abbreviation"> in draft and live workspaces).For executives: This is a major, strategic upgrade of the abbreviation capability, not a cosmetic release. It brings abbreviation content under the same editorial workflow as the rest of the CMS — draft/live, publishing, scheduling, per-locale translation, version history with restore, and audit/insights — and it plugs into teasers, links, sitemaps, search, and HTTP caching. That reduces bespoke code and makes multilingual abbreviation/glossary content a supported platform feature. The cost is a one-time, planned migration: IDs change to UUIDs, storage moves to the Sulu content bundle, and references in pages and links must be rewritten. The release ships idempotent migration commands with dry-run support precisely to de-risk that. Net: higher editorial safety and less custom maintenance, at the price of a scheduled upgrade project.
For engineering leads: Treat 2.0 as a platform alignment release with real breaking changes. Plan for: (1) the content-bundle/Doctrine/PHPCR schema change and data migration (sulu:abbreviations:migrate-to-content, --dry-run first), (2) the integer→UUID identifier change and reference rewrite (sulu:abbreviations:migrate-page-references, covering block properties and link properties in draft and live), (3) removing dependencies on deleted entities/namespaces/configuration and updating the link provider alias to abbreviations, and (4) replacing any reliance on the old website controller with the abbreviation_default structure template and @SuluAbbreviations/abbreviation.html.twig. The upside is substantial out-of-the-box plumbing — content workflow, version recorder, reference store/subscriber/refresher, teaser/link/sitemap/smart-content providers, HTTP cache invalidation, and functional tests — which is exactly the code we would otherwise own. Confirm optional integrations explicitly: sulu/automation-bundle is only suggested, and cache invalidation degrades gracefully without sulu/http-cache-bundle. Budget for test coverage against the new normalized live-content return shapes and the changed Twig variables (content replaces abbreviation).
How can I help you explore Laravel packages today?