Skip to content

Add analyze_aio, analyze_broken_links, and analyze_seo to AI recipe - #79

Open
jjroelofs wants to merge 3 commits into
1.xfrom
feature/add-analyzers-aio-seo-broken-links
Open

Add analyze_aio, analyze_broken_links, and analyze_seo to AI recipe#79
jjroelofs wants to merge 3 commits into
1.xfrom
feature/add-analyzers-aio-seo-broken-links

Conversation

@jjroelofs

Copy link
Copy Markdown
Contributor

Summary

  • Adds three new Analyze modules (analyze_aio, analyze_broken_links, analyze_seo) to the dxpr_cms_ai recipe
  • Enables all three analyzers on the same six content bundles (blog, page, landing_page, case_study, news, event) where existing analyzers are already active
  • Adds composer dependencies with appropriate version constraints
  • Updates project description (dxpr_cms_project_desc.html) and modules list (docs/modules.md) with the new modules

Changes

File What changed
recipes/dxpr_cms_ai/recipe.yml Added to install and config.import
recipes/dxpr_cms_ai/composer.json Added drupal/analyze_aio, drupal/analyze_broken_links, drupal/analyze_seo
recipes/dxpr_cms_ai/config/analyze.settings.yml Enabled analyze_aio_readiness, analyze_broken_links_checker, analyze_seo_checker on all 6 bundles
docs/modules.md Added entries for the three modules
docs/developer-documentation/dxpr_cms_project_desc.html Added to AI Modules list and content analysis sections

Test plan

  • Install DXPR CMS with the AI recipe and verify the three new modules are installed
  • Check /admin/config/content/analyze to confirm the analyzers are enabled on all six content types
  • Edit a node and verify the new analysis tabs (SEO, AIO, Broken Links) appear in the Analyze panel

https://claude.ai/code/session_01GYzvAqkGoWi91UVpGGHJWm

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 jjroelofs left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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: '*'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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",

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant