Skip to content

Task #253454 core : Add Configurable Notice Message to UCM List Pages#430

Open
iamnileshmittha wants to merge 1 commit intotechjoomla:j4xfrom
iamnileshmittha:nm-columnType
Open

Task #253454 core : Add Configurable Notice Message to UCM List Pages#430
iamnileshmittha wants to merge 1 commit intotechjoomla:j4xfrom
iamnileshmittha:nm-columnType

Conversation

@iamnileshmittha
Copy link

Task #253454 core : Add Configurable Notice Message to UCM List Pages
UCM_list_Note-02-23-2026_03_51_PM
UCM_type_config

@coderabbitai
Copy link

coderabbitai bot commented Feb 23, 2026

Caution

Review failed

Failed to post review comments

Warning

Ignoring CodeRabbit configuration file changes. For security, only the configuration from the base branch is applied for open source repositories.

📝 Walkthrough

Summary by CodeRabbit

Release Notes

  • New Features

    • Added item copy functionality across UCM types with cluster support
    • Introduced CSV bulk import for items
    • Added autosave and draft-save options with configurable intervals
    • Introduced accordion and grid layout options for item forms
    • Added enhanced filtering including draft status, cluster, and category filters
    • Added copy item permission controls with queue support
  • Improvements

    • Enhanced item deletion with confirmation dialog
    • Added notice/note display above list tables
    • Improved related field options dynamic updates
    • Added compatibility checks for copying items between UCM types
  • Chores

    • Modernized framework dependencies to Joomla 4+ APIs
    • Added action logging plugin for audit trail tracking

Walkthrough

Comprehensive migration of Joomla UCM component from legacy Joomla 3.x architecture to Joomla 4.x namespaced APIs, introducing CSV item import, item copy-to-UCM functionality, accordion form layouts, clustering support, access control via TjucmAccess, and an action-logging plugin, alongside a test automation framework.

Changes

Cohort / File(s) Summary
Joomla API Modernization - Core Classes
src/components/com_tjucm/administrator/controller.php, src/components/com_tjucm/administrator/controllers/item.php, src/components/com_tjucm/administrator/controllers/items.php, src/components/com_tjucm/administrator/controllers/type.php, src/components/com_tjucm/administrator/controllers/types.php, src/components/com_tjucm/site/controller.php, src/components/com_tjucm/site/controllers/item.php, src/components/com_tjucm/site/controllers/itemform.php, src/components/com_tjucm/site/controllers/itemform.json.php, src/components/com_tjucm/site/controllers/items.php, src/components/com_tjucm/site/controllers/type.php, src/components/com_tjucm/site/router.php, src/components/com_tjucm/site/tjucm.php
Replaced JControllerLegacy, JControllerForm, JControllerAdmin with BaseController, FormController, AdminController; updated all JFactory calls to Factory; replaced JRoute with Route; updated token validation and input handling.
Joomla API Modernization - Models
src/components/com_tjucm/administrator/models/item.php, src/components/com_tjucm/administrator/models/items.php, src/components/com_tjucm/administrator/models/type.php, src/components/com_tjucm/administrator/models/types.php, src/components/com_tjucm/site/models/item.php, src/components/com_tjucm/site/models/itemform.php, src/components/com_tjucm/site/models/items.php
Migrated JModelAdmin/JModelList to AdminModel/ListModel; replaced JTable with Table; replaced JModelLegacy::getInstance with BaseDatabaseModel::getInstance; updated database access patterns and docblock return types.
Joomla API Modernization - Views & Templates
src/components/com_tjucm/administrator/views/.../view.html.php, src/components/com_tjucm/administrator/views/.../tmpl/*.php, src/components/com_tjucm/site/views/.../view.html.php, src/components/com_tjucm/site/views/.../tmpl/*.php
Replaced JViewLegacy with HtmlView; updated JHtml to HTMLHelper; replaced JText with Text; updated JFactory calls to Factory; replaced JRoute with Route; modernized toolbar methods (ToolbarHelper).
Joomla API Modernization - Tables & Helpers
src/components/com_tjucm/administrator/tables/item.php, src/components/com_tjucm/administrator/tables/type.php, src/components/com_tjucm/administrator/helpers/tjucm.php, src/components/com_tjucm/administrator/helpers/listhelper.php, src/components/com_tjucm/site/helpers/tjucm.php
Replaced JTable with Table base class; replaced JHelperContent with ContentHelper; updated JFactory/JText usage to Factory/Text; renamed legacy helper classes to modern conventions.
Form Fields Modernization
src/components/com_tjucm/site/models/fields/createdby.php, src/components/com_tjucm/site/models/fields/filemultiple.php, src/components/com_tjucm/site/models/fields/foreignkey.php, src/components/com_tjucm/site/models/fields/modifiedby.php, src/components/com_tjucm/site/models/fields/submit.php, src/components/com_tjucm/site/models/fields/timecreated.php, src/components/com_tjucm/site/models/fields/timeupdated.php
Replaced JFormField with FormField; updated JFactory with Factory; replaced JText/JHtml/JDate with Text/HTMLHelper/Date equivalents in field rendering.
CSV Import Feature
src/components/com_tjucm/site/controllers/items.php, src/components/com_tjucm/site/views/items/tmpl/importitems.php
Added importCsv() and getCsvImportFormat() public methods; implements CSV parsing, field validation, and batch record insertion with error reporting and per-row result tracking.
Item Copy Feature
src/components/com_tjucm/site/controllers/itemform.json.php, src/components/com_tjucm/site/models/itemform.php, src/components/com_tjucm/site/views/items/tmpl/default_copyitems.php, src/components/com_tjucm/media/js/services/items.js, src/components/com_tjucm/media/js/ui/items.js
Added copyItem() public method in FormController; added queueItemCopy() static method in ItemForm model; new services module for copy operations with compatibility and cluster field checks.
Access Control System
src/components/com_tjucm/site/includes/access.php
Introduced new TjucmAccess class with static methods: canCreate, canImport, canView, canEdit, canEditState, canEditOwn, canDelete, canDeleteOwn, hasCluster; includes cluster-aware RBAC and subusers integration.
Accordion Layout Templates
src/components/com_tjucm/site/views/itemform/tmpl/accordian.php, src/components/com_tjucm/site/views/itemform/tmpl/default_extrafieldsaccordian.php
New accordion-based form layouts with grouped field rendering, cluster field handling, dynamic stylesheets, and reverse-list functionality for related records.
Form & Configuration Updates
src/components/com_tjucm/administrator/models/forms/type.xml, src/components/com_tjucm/administrator/models/forms/filter_types.xml, src/components/com_tjucm/administrator/config.xml
Added new form filters (state, search) for types; extended type form with bitrate autosave, note display, is-subform, and layout selection fields; added tjqueue_copy_items configuration.
Housekeeping & Database Migration
src/components/com_tjucm/administrator/houseKeeping/1.2.4/updateAlias.php, src/components/com_tjucm/script.php
Added new migration script (v1.2.4) to sanitize type and menu aliases via stringURLSafe; updated installer to use getManifest() method.
JavaScript Enhancements
src/components/com_tjucm/media/js/core/base.js, src/components/com_tjucm/media/js/services/item.js, src/components/com_tjucm/media/js/ui/item.js, src/components/com_tjucm/media/js/ui/itemform.js, src/components/com_tjucm/media/js/ui/items.js
Added async configuration support; new services for item-related field options; deletion confirmation dialogs; extensive autosave/bitrate logic; multiple editor support (TinyMCE/JCE); subform field handling.
Styling
src/components/com_tjucm/media/css/tjucm.css
Added CSS for loader overlay, accordion UI (headers, toggle indicators, pseudo-elements), calendar/textarea/minicolors styling, and wordwrap container.
Language & Permission Updates
src/components/com_tjucm/languages/administrator/en-GB/en-GB.com_tjucm.ini, src/components/com_tjucm/languages/administrator/en-GB/en-GB.com_tjucm.sys.ini, src/components/com_tjucm/languages/site/en-GB/en-GB.com_tjucm.ini
Expanded language strings for types/items UI; added import, copy, bitrate, notes, and layout-related keys; added 200+ new permission and form field labels and descriptions.
Action Log Plugin
src/plugins/actionlog/tjucm/tjucm.php, src/plugins/actionlog/tjucm/tjucm.xml, src/plugins/actionlog/tjucm/language/en-GB/*.ini
New plugin for logging UCM type and item lifecycle events (save, delete, state change, import); implements event handlers with cluster-aware context; includes language strings and configuration options.
Manifest & Packaging
src/components/com_tjucm/tjucm.xml, src/pkg_tjucm.xml
Added media/gif folder to component manifest; updated package manifest to explicitly reference new actionlog plugin.
Test Automation Framework (NFTA)
tests/NFTA/*
New comprehensive test automation framework: Maven-based Java project with keyword-driven test execution, Excel-based test data, object repository, Actions class with 40+ Selenium keywords, ExcelUtils for data-driven tests, ReportUtils for HTML reporting, TestNG configuration, and extensive element locators/properties.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main feature: adding a configurable notice message to UCM list pages, which aligns with the PR's primary objective.
Description check ✅ Passed The description includes the task ID and visual references showing the feature implementation, demonstrating the notice message functionality on list pages and its configuration interface.
Docstring Coverage ✅ Passed Docstring coverage is 90.65% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@iamnileshmittha iamnileshmittha changed the base branch from master to j4x February 23, 2026 10:25
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