Add analyze_aio, analyze_broken_links, and analyze_seo to AI recipe - #79
Add analyze_aio, analyze_broken_links, and analyze_seo to AI recipe#79jjroelofs wants to merge 3 commits into
Conversation
Include three new Analyze modules in the dxpr_cms_ai recipe, enabled on all six content bundles (blog, page, landing_page, case_study, news, event) matching the existing analyzer configuration. Update composer dependencies, config imports, project description, and modules list. Claude-Session: https://claude.ai/code/session_01GYzvAqkGoWi91UVpGGHJWm
jjroelofs
left a comment
There was a problem hiding this comment.
I found two access-control issues that prevent the new analyzers from working fully for DXPR's intended non-admin roles. CI is green, but the installation test uses the administrator account and does not exercise role access.
| analyze_ai_brand_voice: '*' | ||
| analyze_ai_content_marketing_audit: '*' | ||
| analyze_ai_content_security_audit: '*' | ||
| analyze_aio: '*' |
There was a problem hiding this comment.
[P1] Grant the analyzer report permissions
These plugins require access aio reports, access broken links reports, and access seo reports, but the recipe grants only view analyze reports to content_editor, content_administrator, and site_builder. AnalyzeController also checks each plugin's access() method, so all three enabled analyzers remain invisible to those roles. Grant the dedicated permissions to the appropriate roles.
| "drupal/analyze_ai_sentiments": "^1.2", | ||
| "drupal/analyze_ai_content_marketing_audit": "^1.2", | ||
| "drupal/analyze_ai_content_security_audit": "^1.2", | ||
| "drupal/analyze_aio": "^1.0@beta", |
There was a problem hiding this comment.
[P2] Fix the inaccessible analyzer settings routes
The resolved releases of all three packages protect their settings routes with administer analyze settings, but Analyze 1.4 defines only administer analyze. Drupal removes undefined permissions from non-admin roles, so the site_builder role cannot access these settings despite receiving administer analyze. Use fixed upstream releases or patch the routes to require the real permission.
There was a problem hiding this comment.
Follow-up after 0ad41bf: the new commit fixes the report visibility permissions, but this settings-access issue remains. The latest green install resolves drupal/analyze 1.4.0, analyze_aio 1.0.0-beta2, analyze_broken_links 1.0.2, and analyze_seo 1.0.0-beta2. Analyze 1.4.0 defines administer analyze, while all three analyzer releases still route their settings forms through the undefined administer analyze settings; Drupal removes undefined permissions from non-admin roles. Please use fixed releases/patch the routes, or document that these settings are intentionally administrator-only.
Add access aio reports, access broken links reports, and access seo reports permissions to content_editor, content_administrator, and site_builder roles so the new analyzer tabs are visible to non-admin users. Claude-Session: https://claude.ai/code/session_01GYzvAqkGoWi91UVpGGHJWm
Add 10 missing modules that have both a desc.html and a live drupal.org project: analyze, analyze_posthog, analyze_search_console, dxpr_builder, dxpr_theme, dxpr_theme_helper, drush_webmaster, toast_image_editor, speculative_loading, views_color_scales. Organised into new sections: DXPR Core, Site Management, Media, Performance, and Views.
Summary
analyze_aio,analyze_broken_links,analyze_seo) to thedxpr_cms_airecipedxpr_cms_project_desc.html) and modules list (docs/modules.md) with the new modulesChanges
recipes/dxpr_cms_ai/recipe.ymlinstallandconfig.importrecipes/dxpr_cms_ai/composer.jsondrupal/analyze_aio,drupal/analyze_broken_links,drupal/analyze_seorecipes/dxpr_cms_ai/config/analyze.settings.ymlanalyze_aio_readiness,analyze_broken_links_checker,analyze_seo_checkeron all 6 bundlesdocs/modules.mddocs/developer-documentation/dxpr_cms_project_desc.htmlTest plan
/admin/config/content/analyzeto confirm the analyzers are enabled on all six content typeshttps://claude.ai/code/session_01GYzvAqkGoWi91UVpGGHJWm