Community Package: Umbraco 17 Tag Manager now available

Tag Manager has been updated for Umbraco 17. It adds a dedicated section in the Umbraco for managing all your tags - edit, delete, create, and clean up duplicates without digging through content nodes.

This one has been a team effort over the versions - #h5yr :high-5-you-rock: to @NigelAtOptimised for the original package #friendly, @huwred for helping refactor and fix core issues during v13, and @Lantzify for the v13 PR improving the project structure and overview UI. Appreciated all around.

Previous versions available for v7, v8, and v13. Open to suggestions and collaboration as always PRs and feedback welcome.:umbraco-heart:

3 Likes

This sounds like a really great package to have when using tags and I just saw that it got updated for Umbraco 17. We’re running Umbraco 17.2.0 (Cloud) right now.

However, I get the following error locally when running after adding it with dotnet add package, any idea why? I’m the only user and I have no special user groups added, just the default. Running on MacOS.

[16:09:20 INF] Starting ā€˜UsomeTagManagerMigrationv1’…
[16:09:20 INF] At origin
[16:09:20 INF] Execute InstallHelper
[16:09:20 ERR] Exception (12bd8ddd).
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 1: ā€˜near ā€œumbracoUserGroup2Appā€: syntax error’.
at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at Umbraco.Cms.Persistence.Sqlite.Services.SqlitePreferDeferredTransactionsConnection.CommandWrapper.ExecuteNonQuery()
at StackExchange.Profiling.Data.ProfiledDbCommand.ExecuteNonQuery() in C:\projects\dotnet\src\MiniProfiler.Shared\Data\ProfiledDbCommand.cs:line 263
at Umbraco.Cms.Infrastructure.Persistence.FaultHandling.FaultHandlingDbCommand.b__32_0()
at Umbraco.Cms.Infrastructure.Persistence.FaultHandling.FaultHandlingDbCommand.<>c__DisplayClass38_01.<Execute>b__0() at Umbraco.Cms.Infrastructure.Persistence.FaultHandling.RetryPolicy.ExecuteAction[TResult](Func1 func)
at Umbraco.Cms.Infrastructure.Persistence.FaultHandling.FaultHandlingDbCommand.Execute[T](Func1 f) at Umbraco.Cms.Infrastructure.Persistence.FaultHandling.FaultHandlingDbCommand.ExecuteNonQuery() at NPoco.Database.<>c__DisplayClass338_0.<ExecuteNonQueryHelper>b__0() at NPoco.Database.ExecutionHook[T](Func1 action)
at NPoco.Database.ExecuteNonQueryHelper(DbCommand cmd)
at NPoco.Database.Execute(String sql, CommandType commandType, Object args)
at NPoco.Database.Execute(Sql Sql)
at NPoco.Database.Execute(String sql, Object args)
at Umbraco_Tag_Manager.InstallHelper.Migrate()
at Umbraco.Cms.Infrastructure.Migrations.MigrationBase.MigrateAsync()
at Umbraco.Cms.Infrastructure.Migrations.AsyncMigrationBase.RunAsync()
at Umbraco.Cms.Infrastructure.Migrations.MigrationPlanExecutor.RunMigrationAsync(Type migrationType, MigrationContext context)
at Umbraco.Cms.Infrastructure.Migrations.MigrationPlanExecutor.RunScopedMigrationAsync(Transition transition, MigrationPlan plan)
at Umbraco.Cms.Infrastructure.Migrations.MigrationPlanExecutor.RunMigrationPlanAsync(MigrationPlan plan, String fromState)
[16:09:20 ERR] Plan UsomeTagManagerMigrationv1 failed at step UsomeTagManagerMigrationv1-db
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 1: ā€˜near ā€œumbracoUserGroup2Appā€: syntax error’.
at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at Umbraco.Cms.Persistence.Sqlite.Services.SqlitePreferDeferredTransactionsConnection.CommandWrapper.ExecuteNonQuery()
at StackExchange.Profiling.Data.ProfiledDbCommand.ExecuteNonQuery() in C:\projects\dotnet\src\MiniProfiler.Shared\Data\ProfiledDbCommand.cs:line 263
at Umbraco.Cms.Infrastructure.Persistence.FaultHandling.FaultHandlingDbCommand.b__32_0()
at Umbraco.Cms.Infrastructure.Persistence.FaultHandling.FaultHandlingDbCommand.<>c__DisplayClass38_01.<Execute>b__0() at Umbraco.Cms.Infrastructure.Persistence.FaultHandling.RetryPolicy.ExecuteAction[TResult](Func1 func)
at Umbraco.Cms.Infrastructure.Persistence.FaultHandling.FaultHandlingDbCommand.Execute[T](Func1 f) at Umbraco.Cms.Infrastructure.Persistence.FaultHandling.FaultHandlingDbCommand.ExecuteNonQuery() at NPoco.Database.<>c__DisplayClass338_0.<ExecuteNonQueryHelper>b__0() at NPoco.Database.ExecutionHook[T](Func1 action)
at NPoco.Database.ExecuteNonQueryHelper(DbCommand cmd)
at NPoco.Database.Execute(String sql, CommandType commandType, Object args)
at NPoco.Database.Execute(Sql Sql)
at NPoco.Database.Execute(String sql, Object args)
at Umbraco_Tag_Manager.InstallHelper.Migrate()
at Umbraco.Cms.Infrastructure.Migrations.MigrationBase.MigrateAsync()
at Umbraco.Cms.Infrastructure.Migrations.AsyncMigrationBase.RunAsync()
at Umbraco.Cms.Infrastructure.Migrations.MigrationPlanExecutor.RunMigrationAsync(Type migrationType, MigrationContext context)
at Umbraco.Cms.Infrastructure.Migrations.MigrationPlanExecutor.RunScopedMigrationAsync(Transition transition, MigrationPlan plan)
at Umbraco.Cms.Infrastructure.Migrations.MigrationPlanExecutor.RunMigrationPlanAsync(MigrationPlan plan, String fromState)

hey @rolfis

ur not by chance using the beta version right>

that is not supposed to happen, on v17.0.0

would it be possible to report this at : GitHub Ā· Where software is built

and tag me @BishalTimalsina12 i will check this issue

thanks for using TagManager

1 Like

Created issue at SQLite Error 1: ā€˜near ā€œumbracoUserGroup2Appā€: syntax error’ when running after install Ā· Issue #1 Ā· ZAAKS/Umbraco-Tag-Manager Ā· GitHub

All the best,
Rolf

We are developing a similar package to meet some extra needs:

  • Permissions have been added to User / User Group to enable or restrict ā€œadding new tagsā€ and access to the ā€œTag managerā€ dashboard.
  • A new property editor for tags has been introduced that enforces these permissions, allowing editors without permission only to add existing tags, while those with permission can add new tags.

Our client was okay leaving the OOTB tag property alone and not wiring up notification handlers to verify on save/publish. So we were able to scope this new functionality to just a new ā€œcloneā€ of the already existing editor.

Would you consider these to be in-scope / welcome additions?

All the best,

Hi @markadrake

Thanks for sharing this that sounds like a really valuable addition :+1:

I’d absolutely be open to collaboration or a PR happy to discuss how we can integrate it cleanly into TagManager.

All the best :raising_hands:

/Bishal