capell-app / tags
Shared multilingual tagging and taxonomy for Capell: site-scoped tags, polymorphic taggable relationships, and a reusable Filament tags input for Blog, Events, and other content packages.
Requires
- php: ^8.4
- capell-app/admin: ^1.0
- capell-app/core: ^1.0.21
- capell-app/navigation: ^1.0
- filament/spatie-laravel-tags-plugin: ~5.7.6
Requires (Dev)
None
Suggests
- capell-app/publishing-studio: Enables Publishing Studio to coordinate tag changes with workspace publishing workflows.
Provides
None
Conflicts
None
Replaces
None
- 4.x-dev
- dev-main / 1.x-dev
- v1.0.40
- v1.0.39
- v1.0.38
- v1.0.37
- v1.0.36
- v1.0.35
- v1.0.34
- v1.0.33
- v1.0.32
- v1.0.31
- v1.0.30
- v1.0.29
- v1.0.28
- v1.0.27
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.13
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0-beta.2
- dev-release-backup/v0.0.9-main
- dev-release-backup/v0.0.8-main
This package is auto-updated.
Last update: 2026-09-17 07:52:08 UTC
README
What This Extension Adds
Tags is an Available, Schema-owning Capell package in the Capell Foundation product group. It ships as capell-app/tags and extends these surfaces: admin, console.
Shared multilingual tagging and taxonomy for Capell: site-scoped tags, polymorphic taggable relationships, and a reusable Filament tags input for Blog, Events, and other content packages.
After install, admins get package-owned management or reporting surfaces inside Capell.
Status details:
- Status: Available
- Tier: free
- Bundle: foundation
- Composer package:
capell-app/tags - Namespace:
Capell\Tags - Theme key: not applicable
Why It Matters
For developers: The package gives developers package-owned service providers, Actions, Data objects, models, and Filament classes instead of pushing this behaviour into core or application code.
For teams: One shared, multilingual, multi-site taxonomy for every Capell content type - tag articles, pages, and events from a single managed tag list with reusable tag inputs and per-site scoping.
Screens And Workflow
Screenshot contract: docs/screenshots.json.
- Tags admin index (admin, required).
- Create/edit tag form (admin, required).
- Tag relation manager showing tagged pages (admin, required).
- Article or page form using TagsInput (admin, optional).
Technical Shape
- Service providers:
Capell\Tags\Providers\ConsoleServiceProvider,Capell\Tags\Providers\TagsServiceProvider,Capell\Tags\Providers\AdminServiceProvider. - Migrations:
packages/tags/database/migrations/2026_05_10_190872_01_alter_tags_table.php,packages/tags/database/migrations/2026_06_04_000001_add_type_site_id_index_to_tags_table.php. - Models:
HasTags,Tag,Taggable. - Filament classes:
TagsInput,CreateTag,EditTag,ListTags,PagesRelationManager,TagForm,TagsTable,TagResource. - Policies:
TagPolicy. - Actions:
BuildTagCloudAction,FindRelatedTaggablesAction,InstallTagsPackageAction,MergeTagsAction. - Data objects:
RelatedTaggableData,TagCloudItemData. - Command signatures:
capell:tags-install. - Console command classes:
InstallCommand. - Manifest contributions:
admin-resource: Capell\Tags\Manifest\TagResourceContribution,console-command: Capell\Tags\Manifest\TagsConsoleCommandsContribution,health-check: Capell\Tags\Health\TagsHealthCheck,migration: Capell\Tags\Manifest\TagsMigrationsContribution,model: Capell\Tags\Manifest\TagsModelsContribution. - Health checks:
Capell\Tags\Health\TagsHealthCheck. - Cache tags:
tags.
Data Model
- Required tables:
tags,taggables. - Models:
HasTags,Tag,Taggable. - Migration files:
2026_05_10_190872_01_alter_tags_table.php,2026_06_04_000001_add_type_site_id_index_to_tags_table.php. - Migration impact: run host migrations through the package install flow before opening package surfaces.
- Deletion/retention behaviour: Docs gap unless the package has an explicit pruning command, retention setting, or tested cascade path.
Install Impact
- Admin navigation: adds package-owned Filament classes when registered.
- Permissions: none declared in
capell.json. - Public routes: none detected in package route files.
- Database changes: package migrations are declared.
- Settings: no package settings declared.
- Queues or schedules: none detected in standard package paths.
- Cache tags:
tags. - Commands:
capell:tags-install.
Common Pitfalls
- Run migrations before opening package resources or public routes.
- Run package commands from the host app; in this repository use
vendor/bin/pestfor package tests. - Keep
composer.json,composer.local.json,capell.json, docs, screenshots, and tests aligned when the package surface changes.
Troubleshooting
| Symptom | Likely cause | Check | Fix |
|---|---|---|---|
| Package surface is missing after install | Provider or manifest is not loaded | Confirm capell.json, package composer.json, and provider registration |
Reinstall the package, refresh Composer autoload, and clear host caches |
| Admin screen or command fails on missing table | Package migrations have not run | Check the tables listed in Data Model |
Run host migrations and rerun the focused package test |
| Background work does not run | Queue worker or scheduled command is not active | Check package jobs, commands, and host scheduler configuration | Start the queue or scheduler, then run the focused command or package test |
Quick Start
- Install the package:
composer require capell-app/tags. - Run the required setup:
php artisan capell:tags-install. - Open the related Capell admin surface and verify Tags appears.
Next Steps
- Package docs
- Overview
- Screenshot contract
- Marketplace assets
- Capell content language plan
- Capell documentation design system
- Capell and package ERD notes
- Related packages: Navigation, Publishing Studio.
- Focused tests:
vendor/bin/pest packages/tags/tests --configuration=phpunit.xml.