-
Notifications
You must be signed in to change notification settings - Fork 9
Backward Compatibility Breaks 10.1
This document lists all backward compatibility (B/C) breaks between Proclaim 10.0.x and 10.1.0. Review this before upgrading, especially if you have custom templates, direct SQL queries, or third-party integrations.
Status: Initial audit completed 2026-02-16. Needs manual review and testing.
Migration: 10.1.0-20260217.sql
| Column | Type | Notes |
|---|---|---|
imageh |
INT | Legacy image height |
imagew |
INT | Legacy image width |
thumb |
TEXT | Legacy thumbnail path |
thumbw |
INT | Legacy thumbnail width |
thumbh |
INT | Legacy thumbnail height |
address1 |
TEXT | Legacy address field |
catid |
INT | Legacy category ID |
Impact: Any direct SQL or custom code referencing these columns will break. The CwmteacherTable class no longer declares these properties.
| Table | Migration | Purpose |
|---|---|---|
#__bsms_study_scriptures |
10.1.0-20260212.sql |
Replaces fixed 2-slot scripture columns (unlimited refs) |
#__bsms_study_teachers |
10.1.0-20260218.sql |
Replaces single teacher_id (multiple teachers) |
#__bsms_bible_translations |
10.1.0-20260208.sql |
Bible translation tracking |
#__bsms_bible_verses |
10.1.0-20260208.sql |
Local Bible verse storage |
#__bsms_scripture_cache |
10.1.0-20260208.sql |
API response cache |
#__bsms_studies: bible_version, bible_version2, image, created, created_by, created_by_alias, modified, modified_by, checked_out, checked_out_time
#__bsms_series: image, publish_up, publish_down, created, created_by, created_by_alias, modified, modified_by, checked_out, checked_out_time
9 tables gained checked_out/checked_out_time and created/created_by/modified/modified_by audit fields (teachers, series, topics, message_type, servers, podcast, templates, templatecode, comments).
17 composite indexes added for performance (10.1.0-20260207.sql).
-
Tooltip link types remapped (
10.1.0-20260214.sql): Link type 4 ("Details with ToolTip") converted to 1, link type 5 ("Media with ToolTip") converted to 2.
| Class | Side | Reason |
|---|---|---|
CwmuploadController |
Admin | Dead jQuery file upload |
CwmdirModel |
Admin | Dead directory browser |
Cwmdir/HtmlView |
Admin | Dead directory browser |
Cwmupload/HtmlView |
Admin | Dead upload view |
Cwmsqueezebox/HtmlView |
Site | Dead MooTools popup |
All associated tmpl/ directories also removed.
| Class | Reason |
|---|---|
StudyImageField |
Migrated to thumbnailm/image columns (PR #1060) |
ListOptionsField |
Dead code |
SeriesOptionsField |
Dead code |
PluploadField |
jQuery dependency removed |
| Class | Reason |
|---|---|
BibleGatewayProvider |
Scraping replaced with proper API providers |
Impact: Any configuration referencing biblegateway as a provider must be reconfigured to use GetBible, API.Bible, or Local.
All queries that previously did:
JOIN #__bsms_teachers ON teachers.id = studies.teacher_idNow use:
LEFT JOIN #__bsms_study_teachers stj ON stj.study_id = study.id AND stj.ordering = 0
LEFT JOIN #__bsms_teachers teacher ON teacher.id = COALESCE(stj.teacher_id, study.teacher_id)The COALESCE fallback preserves backward compatibility with the legacy teacher_id column. Affects 20+ query locations across models and helpers.
Impact: Third-party code doing direct teacher JOINs against studies.teacher_id will still work for the primary teacher but will miss secondary teachers.
Legacy columns (booknumber, chapter_begin, verse_begin, chapter_end, verse_end, and *2 variants) are preserved and kept in sync via CwmscriptureHelper::syncLegacyColumns(). The junction table is now the source of truth.
Impact: Old 2-slot limit removed (now supports up to 20 references per message). Direct queries against legacy columns still work but won't see references beyond the first two.
| Old Field | New Field | Change |
|---|---|---|
booknumber (BookList) |
scriptures (subform) |
Scripture entry redesigned |
chapter_begin, verse_begin, chapter_end, verse_end
|
Inside scripture_row.xml
|
Moved into subform |
booknumber2 (BookList) |
Removed | Replaced by unlimited subform |
teacher_id (TeacherList dropdown) |
teacher_id (hidden) + teachers (subform) |
Teacher selection redesigned |
studyimage (custom param field) |
Removed | Migrated to thumbnailm/image columns |
New fields added: scriptures, teachers, image, publish_up, publish_down, audit fields, check-in fields.
All handled automatically by CwmtemplatemigrationHelper during upgrade.
| Old Name | New Name | Reason |
|---|---|---|
teacher_id |
lteacher_id |
l-prefix for model filter params |
series_id |
lseries_id |
l-prefix |
booknumber |
lbooknumber |
l-prefix |
topic_id |
ltopic_id |
l-prefix |
messagetype |
lmessagetype |
l-prefix |
locations |
llocations |
l-prefix |
show_type_search |
show_messagetype_search |
Match PHP code |
show_locations_search |
show_location_search |
Match PHP code |
teacherimager*r*ow |
teacherimagerow |
Typo fix (all 6 context prefixes) |
Impact: Third-party code reading template params by the old names will get null values.
| Parameter | Default | Purpose |
|---|---|---|
show_passage_view |
'3' |
Bible passage display mode |
showpassage_icon |
'1' |
Passage icon display |
allow_version_switch |
'0' |
Bible version switcher |
listheadertype |
'table-light' |
List header style |
scripture_separator |
'middot' |
Scripture reference separator |
pagination_style |
'pagination' |
Pagination style |
infinite_scroll_threshold |
'3' |
Pages before infinite scroll pauses |
series_pagination_style |
'pagination' |
Series pagination style |
series_infinite_scroll_threshold |
'3' |
Series infinite scroll threshold |
default_show_archived |
'2' |
Archived messages display |
default_show_archive_badge |
'1' |
Archive badge display |
Legacy 0x hex format (e.g., 0xFF0000) auto-converted to # format (e.g., #FF0000). Affected: backcolor, frontcolor, lightcolor, screencolor, popupbackground, teacherdisplay_color, seriesdisplay_color.
All template params containing media/com_biblestudy/ converted to media/com_proclaim/.
-
scripture1- hidden from palette, still renders in existing layouts -
scripture2- hidden from palette, still renders in existing layouts
-
scriptures- unified replacement for scripture1/scripture2 -
teachers-list- all teachers comma-separated -
teacher-title- teacher title + name combined -
dstudytext- message body (details context only)
-
biblegateway-print.css(+ minified) - removed with BibleGateway provider -
proclaim-debug.css(+ minified) - removed -
simple-grid.css- removed
- Entire
media/images/directory (150+ legacy stock images) removed
- jQuery completely removed
- All
*.es5.jsfiles removed (30+ files) - All
addScript/addStyleSheet/addScriptDeclaration/addStyleDeclarationcalls migrated to WebAssetManager
- Link type 4 ("Link to Details with ToolTip") - removed from UI, silently falls back to type 1
- Link type 5 ("Link to Media with ToolTip") - removed from UI, silently falls back to type 2
- SQL migration converts stored values: 4 -> 1, 5 -> 2
| Provider | Status |
|---|---|
| BibleGateway | Removed - class deleted entirely |
| GetBible | Active (free, no key required) |
| API.Bible | Active (free API key required) |
| Local | Active (offline, always available) |
Most breaks are handled automatically by the migration system:
- Junction tables populated from legacy columns (data preserved)
- Template params renamed via
CwmtemplatemigrationHelper - Link types converted via SQL migration
- Color formats converted automatically
- Legacy paths updated (
com_biblestudy->com_proclaim) -
studyimageparam migrated to DB columns - Legacy
teacher_idand scripture columns preserved with COALESCE fallback
- BibleGateway is gone - reconfigure to GetBible, API.Bible, or Local
-
Legacy stock images removed - custom templates referencing
media/images/will 404 - jQuery removed - any custom JS using jQuery must be updated
- Tooltip link types silently downgraded - may affect user expectations
- Teacher table columns dropped - custom queries against dropped columns will fail
- Template param names changed - custom code reading old param names gets null
Last updated: 2026-02-16
- Multi-Campus-Admin-Guide
- Multi-Campus-User-Guide
- Template-Customization-Guide
- Print-Friendly-View
- Content-Security-Policy
- Troubleshooting-FAQ
- Setting-up-your-development-environment
- Standards and Conventions
- Contributing-Workflow
- Database-Schema
- Location-API-Reference
- Backward-Compatibility-Breaks-10.1
- Proclaim-Code-Road-map
- Tasks
- Overview
- Admin Center
- Messages
- Media Files
- Servers
- Teachers
- Series
- Podcasts
- Topics
- Locations
- Comments
- Message Types
- Templates
- Utilities