feat: migrate scripture settings to ScriptureLinks plugin#1191
Merged
bcordis merged 10 commits intodevelopmentfrom Mar 20, 2026
Merged
feat: migrate scripture settings to ScriptureLinks plugin#1191bcordis merged 10 commits intodevelopmentfrom
bcordis merged 10 commits intodevelopmentfrom
Conversation
Move scripture provider settings (GetBible, API.Bible, API key, GDPR mode, cache days, default version) from component params to plugin params. The scripture system becomes self-contained in the library + plugin. Library changes: - ScriptureParamsHelper: read/write plugin params from #__extensions - ApiKeyField + BibleTranslationField: moved to library namespace - TranslationsmanagerField: full Scripture tab UI (panels + table) - bible-translations.js + cwm-fetch.js: copied to library media Plugin changes: - onAjaxScripturelinks: 9 AJAX actions for Proclaim + 3 for plugin UI - Settings tab: mode + display only - Scripture tab: full provider/settings/translations management Proclaim changes: - Admin Center Scripture tab reads/writes plugin params - CwmadminModel intercepts save to redirect scripture params - bible-translations.js AJAX URLs use com_ajax - Controller: removed ~630 lines of scripture AJAX methods - Form fields: thin wrappers delegating to library - Migration script copies params on upgrade Build changes: - Library manifest symlinked for namespace autoloading - npm build outputs updated JS with com_ajax URLs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… tab Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace ~130 lines of custom Scripture tab HTML + 60-line config div with a single call to TranslationsmanagerField::renderScriptureTab(). Both plugin and Proclaim now render identical Scripture tab UI from the same code path. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
gdpr_mode is a shared setting — Proclaim needs it for analytics/privacy, the plugin needs it for scripture API calls. - Proclaim keeps gdpr_mode in component params (not stripped on save) - Proclaim syncs gdpr_mode to plugin params via SHARED_KEYS - Plugin syncs gdpr_mode back to #__bsms_admin.params on save - CwmanalyticsHelper reads from component params (its own copy) - Migration copies gdpr_mode to plugin but keeps component copy Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All scripture display modes now use local/API text only. No external links that expose visitor IPs to third parties. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Supports {scripture display="tooltip" version="kjv"}...{/scripture}
per-tag overrides for display mode and translation version.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves scripture provider settings from Proclaim's component params (
#__bsms_admin.params) to the ScriptureLinks plugin params (#__extensions.params). The scripture system becomes self-contained — install the library + plugin and you get full scripture functionality without Proclaim.Architecture
ScriptureParamsHelperfor reading/writing plugin params, shared form fields, and theTranslationsmanagerFieldrendererTranslationsmanagerField::renderScriptureTab()— single shared renderer for identical UI on both plugin and Proclaim admin pagesChanges
Library (CWMScriptureLinks submodule)
ScriptureParamsHelper— read/write plugin params from#__extensionsApiKeyField+BibleTranslationField— moved to library namespaceTranslationsmanagerField— complete Scripture tab UI (panels + translations table)bible-translations.js+cwm-fetch.js— copied to library media{scripture display="tooltip" version="kjv"}...{/scripture}Proclaim
CwmadminModelintercepts save to redirect scripture params to pluginbible-translations.es6.jsAJAX URLs usecom_ajaxinstead ofcom_proclaimTest plan
{scripture}John 3:16{/scripture}to an article. Verify passage renders.com_ajaxURLs.composer test: All PHPUnit + Jest tests pass.🤖 Generated with Claude Code