Skip to content

feat(menu): Add new Angular Tags portlet to /api/v1/menu and admin sidebar#34617

Open
hmoreras wants to merge 3 commits intoissue-33882-primeng-updatefrom
issue-32937-add-tags-angular-portlet-to-menu
Open

feat(menu): Add new Angular Tags portlet to /api/v1/menu and admin sidebar#34617
hmoreras wants to merge 3 commits intoissue-33882-primeng-updatefrom
issue-32937-add-tags-angular-portlet-to-menu

Conversation

@hmoreras
Copy link
Contributor

@hmoreras hmoreras commented Feb 11, 2026

Summary

Registers the new Angular Tags portlet (tags-new) so it appears in the backend menu API (/api/v1/menu) and in the admin sidebar, without requiring manual configuration.

Problem

The Tags portlet was migrated to Angular and is served at /tags-new, but it was not registered in the backend portlet configuration or in any layout. As a result, the menu API did not return an entry for it and the new portlet did not show up in the admin navigation.

Solution

  • portlet.xml: Added a new portlet definition for tags-new with PortletController and portlet-url /tags-new, so the menu API returns the correct URL and the portlet is treated as Angular.
  • Language files: Added com.dotcms.repackage.javax.portlet.title.tags-new in Language.properties and Language_es.properties so the menu displays the correct label (e.g. "Tags" / "Etiquetas").
  • PortletID: Added TAGS_NEW("tags-new") for consistent use of the portlet id.
  • Runonce task: Added Task260211AddTagsNewPortletToMenu to insert the tags-new portlet into the same layout as the legacy Tags portlet (typically the "Content Types" group) on startup, so both new and existing installations get the new portlet in the sidebar.

Testing

  • After deployment, GET /api/v1/menu should include a menu item with id: "tags-new", url: "/tags-new", and angular: true.
  • The admin sidebar should show the new Tags entry under the same tab as Content Types / Categories / (legacy) Tags.

#32937

…debar

- Register 'tags-new' portlet in portlet.xml with PortletController and
  portlet-url /tags-new so the menu API returns the correct route for the
  migrated Angular tags portlet.
- Add portlet title keys in Language.properties and Language_es.properties
  (com.dotcms.repackage.javax.portlet.title.tags-new) so the menu shows
  the correct label (Tags / Etiquetas).
- Add TAGS_NEW to PortletID enum for consistent portlet id usage.
- Add runonce Task260211AddTagsNewPortletToMenu to insert the tags-new
  portlet into the same layout as the legacy Tags portlet (Content Types
  group), so existing and new installations get the new portlet in the
  sidebar without manual DB changes.

The Angular tags UI lives at /tags-new; without these changes it would
not appear in the backend menu response or in the admin navigation.

Co-authored-by: Cursor <cursoragent@cursor.com>
hmoreras and others added 2 commits February 13, 2026 15:48
…acy as tags-legacy

- portlet.xml: legacy portlet id tags -> tags-legacy (display name Tag Manager unchanged).
  Angular portlet id tags-new -> tags with portlet-url /tags.
- Language*.properties: title.tags for Angular, title.tags-legacy for legacy; remove tags-new.
- PortletID: remove TAGS_NEW, add TAGS_LEGACY("tags-legacy").
- app.routes.ts: path 'tags-new' -> 'tags' so Angular serves at /tags.
- Task260211: ensure tags (Angular) in menu, hide tags-legacy; migrate layout entries
  tags-new -> tags, delete tags-legacy from layouts, add tags to Content Types if missing.

Co-authored-by: Cursor <cursoragent@cursor.com>
@semgrep-code-dotcms-test
Copy link

Legal Risk

The following dependencies were released under a license that
has been flagged by your organization for consideration.

Recommendation

While merging is not directly blocked, it's best to pause and consider what it means to use this license before continuing. If you are unsure, reach out to your security team or Semgrep admin to address this issue.

MPL-2.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant