Commit Graph
203 Commits
Author SHA1 Message Date
Robot bb9b155f00 Release of v6.2.0
Add a dedicated Extrusion view for importing existing Joomla components and PHP libraries into JCB. Unify component-folder and SQL-dump extrusion through a single engine. Add PHP class harvesting into JCB Powers, including automatic class matching and dependency linking. Add import pairing with Create, Update, and Skip controls, dry runs, and per-record change previews. Improve SQL schema reconstruction to preserve column types, defaults, keys, indexes, and table configuration. Improve field imports to preserve XML settings, options, GUID relationships, and storage formats without double-encoding subform data. Reuse shared field definitions across views and preserve existing customizations during repeated imports. Detect unchanged records and avoid unnecessary writes during repeated Extrusion runs. Restore language strings and compiler placeholders in imported code, field XML, view markup, and SQL. Improve Site View and Custom Admin View discovery, template recovery, and Dynamic Get relationships. Fix Power namespace reconstruction to correctly preserve custom aliases and apply NamespacePrefix and ComponentNamespace placeholders. Fix duplicate Compile button submissions that could start concurrent builds and cause intermittent folder creation or deletion errors. #1318. Add Repair Existing Power Namespaces with automatic matching and namespace-only updates that preserve class code, GUIDs, and settings. Improve Power discovery performance with component-scoped matching, dependency indexes, and reusable parsing. Protect Extrusion imports against ambiguous matches, conflicting compiler paths, and stale change previews. Improve Extrusion error reporting and recovery after interrupted import requests. Improve the Extrusion interface with folder pickers, grouped filtering, bulk selection, responsive layouts, and a dedicated dashboard icon. Fix Extrusion self-compilation by preserving runtime marker literals and align import authorization with native view-access permissions. Replace execution of imported SQL with static parsing and validate source paths without executing imported PHP. Complete JSON:API generation for API-enabled Admin Views, including CRUD operations, relationships, filtering, pagination, and field-level permissions. Include generated API files in component manifests so they are installed with compiled components. Add API_ROUTES and API_ROUTES_METHOD placeholders for linked webservices plugins, supporting routes by record ID, GUID, and unique fields. Add read-only API resources for supported Site Views and Custom Admin Views using their existing Dynamic Gets. Fix API record creation when IDs and GUIDs are omitted, generate record keys on the server, and preserve existing GUIDs during updates. Fix API item and list model selection, including resource names with irregular plural forms. Fix API read permissions to support read-only users and return native JSON:API access-denied responses instead of administrator redirects. Fix cross-site scripting risks in generated views through corrected text sanitization, Joomla-native HTML escaping, and field escape settings. Fix edit-own permission bypasses by checking stored record ownership and applying field permissions to the record being saved. Strengthen file upload and deletion permissions with ownership and component permission checks. Fix subform updates that could overwrite or reassign records belonging to another parent. Block unsafe URL schemes in Markdown links and images. Use cryptographically secure randomness for generated passwords and upload names, and sanitize uploaded filenames. Fix generated IIS library access configuration and add missing index.html files to compiled folders. Complete extraction of generated-code logic from the legacy Fields, Interpretation, and Infusion helpers into dedicated compiler services. Consolidate shared compiler logic across Joomla versions while retaining version-specific generation where required. Refactor the Power parser to use PHP's native lexer for reliable handling of modern syntax, multiline declarations, and complex types. Fix JCB Search to prevent matching records from being skipped when processing successive batches. Fix compilation of database-aware Joomla 4 modules caused by a missing utility class import. Fix CLI repository resolution to report unresolved repository GUIDs without triggering a fatal error. Fix PHP warnings when the compiler's placeholder report contains no results. Fix toolbar generation when descriptions are missing or null. Preserve original source line endings when compiler processing leaves the content unchanged.
2026-10-08 15:36:26 +00:00
Robot 2fe5f4b174 Release of v6.1.6
Add Health Check buttons to the JCB Compiler and Component list view to verify system PHP configuration. Add the Toolbar Custom Buttons subform to the Global Subform settings for improved usability and presentation. Fix the Field edit view to ensure full compliance with Joomla 6 standards and updated UI/UX conventions. Begin migration from UIkit to Bootstrap 5 to align JCB with Joomla 6+ standards. Complete Bootstrap 5 refactor of all primary views and core UI. Continue phased removal of UIkit with full transition planned for upcoming releases. Fix deprecated JText usage in Admin Custom Tabs area for Joomla 5+ compatibility. #1302. Fix snippet loading for Joomla 6, improving reliability and removing legacy UIkit dependencies during migration. Introduced strict version-aware compilation to ensure libraries are only included when explicitly defined for Joomla 6. Disabled automatic UIkit injection for Joomla 6, preventing auto-loading across custom admin views, site views, templates, and layouts. Migrate Search view for J6 to use Bootstrap and Joomla-native HTML and JavaScript. Remove all manually linked Bootstrap v4 assets from the component. Improve subform ordering fields for clearer display and better readability. Refactor the JavaScript waiting spinner to use solid, native JavaScript with improved page-loading handling.
2026-05-21 20:49:33 +00:00
Robot 0f1153555c Release of v6.1.5
Fix variable name mismatch for organization in the Network Resolve class. #1291. Fix issue where Admin Field relations using custom code did not automatically include multiple fields as expected. #1293. Fix issue where Admin Field relations did not correctly apply concatenation/glue options. #1294. Refactor Compiler functions to improve maintainability and align with modern PHP coding best practices. Refactor the JCB Dashboard, introducing a modernized layout, improved usability, and full responsiveness across desktop, tablet, and mobile devices. Fix deprecated warnings triggered in the JCB CLI. Fix resolve PHP syntax errors and PHP 8.4 deprecations across codebase. Fix four fatal parse/compile errors. Fix implicit nullable parameter deprecations.
2026-03-24 13:48:05 +00:00
Robot 636c708b83 Release of v6.1.4
Fix the linked [new] button to use the correct init_default params. Fix the Components list view to better display long website urls. Fix language text area css. #1264. Refactor the JS selText method. Add fix for empty currentFullPath in the Structuresingle class. Fix the buildSelectPart method to not access an empty select value in the Queries class. Fix that ensure that we always load and int into loadUserById. Fix the subform permission behaviour to use removeField. Add version 6 to the version 5 update server, for easier upgrade path. Fixed linked admin views with New and New & Close buttons to correctly initialize fields using global unique IDs and default conventions. Resolved missing language strings when linked admin views are also configured as site edit views. Corrected misconfiguration of the isModal property for site-linked views to default to false since modals are not yet supported on the site area. Enhanced security in edit views by moving access validation into the model, ensuring protection even when Joomla bypasses the controller layer. Added user access verification logic in the model to prevent unauthorized direct item loading. Refactored the view class to introduce a class constructor that initializes key dependencies more reliably. Began aligning the view class structure with Joomla 6's updated MVC architecture for future compatibility. Improved initialization handling in the view to reduce dependency errors during rendering. Fixed a bug caused by missing option settings in the model configuration. Updated and refined the site view class for greater consistency with backend view logic. Continued progressive improvements across view classes to ensure compatibility with Joomla's evolving MVC patterns. Fix permission issue in the list view. #1266. Refactor the list view buttons. Refactor the getActions helper method. Rename Custom Buttons tab to Toolbar for clearer grouping of toolbar functions. #1268. Add options for overriding default toolbars in all Admin, Site, and Custom Admin Views. #1268. Refactor toolbar into version specific classes to resolve getToolbar errors. #1267. Add method to unify getDatabase handling across Joomla versions and prevent undefined method calls. #1270. Fix php8.3 deprecation warnings in compiler templates. #1265. Refactor and enhance the JCB Email Helper class for a more robust and maintainable design. Fix an issue where the Email Helper send() function was executed twice. Fix a issue where layouts added to the PHP Ajax Model were not loaded during compilation. Add new functionality to the toolbar override system, enabling the inclusion of custom buttons via placeholders. Fix the Compiler success message to display both build seconds and project weeks. Add Development Valuation Model to calculate JCB component pricing. Add functionality to push JCB packages to Self hosted Git system that uses a self signed SSL. Add functionality that will include Validation Rules linked to fields in JCB packages. #1273. Refactor and Improve Router Helper Class to new standard Site Router practice. Refactor and Improve JCB Search engine for better searching of JCB areas. Fix bug in the search editor in JCB Search Engine. Fix issue where Custom Gets linked to a Site view did not ship correctly with JCB packages. #1272. Fix issue where the Icon linked to a Custom Admin Menu did not ship with JCB packages. #1271. Fix and Improve Normalize Class to better handle different files Linked to JCB packages. #1274. Remove batch feature from JCB compiler Templates due to lack of use and outdated code. Refactor Utilities/Response classes for Joomla 6+ compatibility and improved version-agnostic behavior. Refactor the File Upload Manager to achieve improved maintainability, greater customization flexibility, and easier extensibility. Refactor the Item Importer to improve data management, structural clarity, and long-term maintainability of the import process. Add a Pull button to all main JCB entities, allowing a complete reset of a selected entity together with all entities linked to it, from a selected remote repository. Add functionality to the compiler to automatically pull missing entities from a remote repository when they are referenced by a component but not present locally in JCB. Refactor the Packaging Engine into separate set and get classes to improve separation of concerns, readability, and overall maintainability. Refactor and restructure the demo console item import plugin to improve usability, maintainability, and reusability across other areas of JCB. Refactor the Compiler to remove deprecated code paths and legacy classes that are no longer maintained. Add new Compiler Classes to modernise ancient tech previously embedded in the compiler and replace it with a clean, modern architecture. Add a dedicated CLI plugin to the JCB core, enabling direct interaction with JCB through the Joomla CLI console. Add structured CLI commands and options to Init, Reset, Push, and Pull JCB entities via the Joomla CLI. Add full support for compiling Components directly via the CLI, enabling automated and headless build workflows. Add functionality to place Super Power classes into the component src folder for both Admin and Site areas, using the correct namespaced structure. Add functionality to the CLI compiler to directly install compiled components and apply compiler options used during compilation. Add functionality to the compiler to automatically pull a missing component from a remote repository when a compilation is triggered and the component is not locally available. Add functionality to add and replace classes in module and plugin src folders that are linked to a component, when using correct namespace resolution. Add a Documentation tab to the Joomla Component Builder dashboard. Fix an issue with the JCB version notice on Joomla 5. Fix an issue where components without a component image failed to compile successfully. #1282. Add functionality for importing translated language strings directly into the Language Translations area of JCB. Fix issue where the Language Translations export button was not displayed due to recent toolbar changes. Fix a bug that caused language filters to malfunction because of a broken field configuration. #1278. Fix issue where components without a layout added to the Component failed to compile correctly. #1132.
2026-02-18 14:56:55 +00:00
Robot 3b502eb09b Release of v5.1.1-alpha5
Refactor initialization flow to accommodate future scalability and integration with all designated areas. Refactor the Creator Builders class. Refactor the FieldString and FieldXML classes.
2025-05-13 13:39:32 +00:00
Robot 442263e387 Release of v5.1.0
Add [AllowDynamicProperties] in the base view class for J5. Move the _prepareDocument  above the display call in the base view class. Remove all backward compatibility issues, so JCB will not need the [Backward Compatibility] plugin to run. Added new import powers for custom import of spreadsheets. Move the setDocument and _prepareDocument above the display in the site view and custom admin view. Update the trashhelper layout to work in Joomla 5. Add AllowDynamicProperties (Joomla 4+5) to view class to allow Custom Dynamic Get methods to work without issues. Fix Save failed issue in dynamicGet. #1148. Move all [TEXT, EDITOR, TEXTAREA] fields from [NOT NULL] to [NULL]. Add the DateHelper class and improve the date methods. Add simple SessionHelper class. Add first classes for the new import engine. Improve the [VDM Registry] to be Joomla Registry Compatible. Move all registries to the [VDM Registry] class. Fix Checked Out to be null and not 0. (#1194). Fix created_by, modified_by, checked_out fields in the compiler of the SQL. (#1194). Update all core date fields in table class. (#1188). Update created_by, modified_by, checked_out fields in table class. Implementation of the decentralized Super-Power CORE repository network. (#1190). Fix the noticeboard to display Llewellyn's Joomla Social feed. Started compiling JCB5 on Joomla 5 with PHP 8.2. Add init_defaults option for dynamic form selection setup (to int new items with default values dynamically). Update all JCB 5 tables to utf8mb4_unicode_ci collation if misaligned. Move all internal ID linking to GUID inside of JCB 5. Updated the admin-tab-fields in add-fields view. #1205. Remove Custom Import Tab from admin view. Improved the customcode and placeholder search features.
2025-02-14 22:55:55 +02:00
Robot 0cbe573fe0 Release of v5.0.2-alpha2
Fix missing scripts and styles fields and methods in the site admin view model. Update subform field layout across JCB for cleaner look. Remove expansion feature. Fix helper area.
2024-07-26 18:34:11 +02:00
Robot c51ef999a9 Release of v5.0.1-alpha5
Add repositories for better integration with gitea. Refactored the Data classes. Add new Data classes.
2024-06-21 03:25:28 +02:00
Robot 00f14c3bba Release of v5.0.0-beta3
Add Joomla powers for namespace dynamic management.
2024-04-16 20:26:48 +02:00
Robot 87cd4305bb Stable release of v5.0.0-alpha1
First alpha release of Component Builder towards Joomla 5 (very unstable...).
2024-03-09 21:52:51 +02:00
Llewellyn 461edf5c3f Adds option to stop and start a search. Adds better user experience to the search area. 2022-11-08 23:55:02 +02:00
Llewellyn f1cb398f7a Adds beta search engine to JCB. 2022-11-02 21:48:20 +02:00
Llewellyn d757e14fac Adds the initial classes needed for the new search feature. Adds the empty view for the search feature. #952 2022-09-14 17:40:02 +02:00
Llewellyn c9aa80aec1 Moved JCB into one version. 2022-07-09 17:45:08 +02:00
Llewellyn 4e30fcb967 Moves the Pro features into the Public version of JCB. 2022-07-09 17:16:21 +02:00
Llewellyn 53725a917d Adds gitea URL. Adds option to add changelog gh-813. Adds clone option to some areas. Fixed gh-784 to allow BASE64 filter selection. 2021-12-21 16:44:50 +02:00
Llewellyn 3c3951ae83 Converted all files from dos to unix, as most servers are UNIX based anyway. This fixes the linebreak mismatching issue mentioned in gh-638. 2021-03-05 05:08:47 +02:00
Llewellyn e579cd421a Changed the compiler gif image, and improved the overall compiler GUI experience. Added the feature for dynamic hashing of strings and or files. 2021-02-19 02:35:54 +02:00
Llewellyn d9da5d9fc4 Fixed gh-637 so that the header values will be added. Updated the copyright to only show the first year so we need not update these again. 2021-01-03 18:49:35 +02:00
Llewellyn a28c5cf746 Updated the copyright date for the new year 2021. Improved the compiler message area. 2020-12-25 23:16:34 +02:00
Llewellyn 2564b75e5d Changed JArrayHelper to use ArrayHelper and added the use namespace to the files needed. Changed JString to use StringHelper and added the use namespace to the files needed. Fixed the spelling mistake of uniqe. Made changes to compiler to accomidate the new pro member feature that added viewsDefaultOrdering options. Fixed the moving of custom fields found in subforms of a plugin or module. Improved the sorting options to correctly map for custom fields and the category field. 2020-05-22 01:38:20 +02:00
Llewellyn 785badc921 Took the assistant out of the staging branch for now, so we can get the next release out. 2020-02-17 22:09:16 +02:00
Llewellyn 12c456ca6b Fixed javascript overload in the field conditions area. Fixed a dynamicGet error that linked the wrong tables with eachother. Fixed gh-519 so that the form is loaded around pagination, note that this may break some implementation, but this fix will allow for a more correct html. 2020-02-05 01:18:34 +02:00
Llewellyn 185dad4273 Started adding the Assistant GUI ;) 2020-01-03 05:36:47 +02:00
Llewellyn 6c2ca03ebc Added Joomla Module builder (JMB) Compiler and improved the JMB GUI 2019-12-06 07:33:01 +02:00
Llewellyn ffbb733576 Added Joomla Module builder - GUI 2019-12-03 04:17:35 +02:00
Llewellyn ed43b00862 Expande the compiler to fully build and zip plugins linked to components. Added plugin_updates area. Fixed gh-454 to insure placeholders are build even if no local db placeholders are found. Fixed gh-453 to prevent count error with null return value. 2019-08-08 17:45:50 +02:00
Llewellyn 4581b310de Updated the compiler to now add GUI placeholders, resolved gh-451 so we now have easy roundtrip development beyond the original custom-code implementation. Added the files, folders, url option, and added the install fields to the new plugin area. gh-436 2019-07-28 23:48:42 +02:00
Llewellyn a5ae94b93a Linked the new plugin area to Joomla components. gh-436 2019-07-17 04:37:50 +02:00
Llewellyn e476bcb7b5 Added the main GUI for the plugin area, gh-436 2019-07-15 22:00:46 +02:00
Llewellyn 9fcb317275 updated the year value. Added placeholder search to the new placeholder area. 2019-02-23 15:29:16 +02:00
Llewellyn 25c14b45de Added the new placeholder area for global & component level placeholders. Just like customcode you can now with the placeholders generate dynamic behaviour with placeholders all over the JCB custom areas. 2019-02-16 00:03:37 +02:00
Llewellyn 73d383c755 Resolved gh-345 by adding whole new mysql table selection options in the admin view, under the mySql tab. Fixed the folder & file loader. Fixed the Update of custom files, so even the custom code and external code placholders will work in external files. Update all tables in JCB to use InnoDB Engine, utf8md4 Charset and utf8mb4_unicode_ci Collation. 2018-09-25 22:02:48 +02:00
Llewellyn 231d8aa984 Added the option to add custom tabs to the edit view of any admin view 2018-08-24 23:46:41 +02:00
Llewellyn fef3460772 Refactored the compiler list view body builder, in preparation of the relation fields. Added more options to the relation admin fields. gh-287 2018-05-24 15:58:48 +02:00
Llewellyn 2543d11277 Updated compiler to allow dynamic update for language strings. Started adding the field relationship feature requested in gh-287 2018-05-22 21:01:55 +02:00
Llewellyn 8488392fac Update the header details in all files 2018-05-18 08:40:07 +02:00
Llewellyn 694612aff9 Urgent fix to the fields area to address the extra field options, and fields with 0 being removed. Added the option to add a field and not add it to the database, so it will show in the edit view but will not be stored to the database. This is to use javascript/php to use that field value, and then drop it. 2018-04-13 17:24:06 +02:00
Llewellyn e6b2b48ac7 Update the field area to be more user friendly, phase A of gh-258 2018-04-11 22:06:12 +02:00
Llewellyn 6a77d71095 Fixed the import JCB packages link on dashboard, add frame to layout and template snippet display in related views 2018-04-03 08:24:24 +02:00
Llewellyn 4e740f568e Added the option for automatic alias building, resolve gh-246. Made improvements to the buttons all over JCB, and the tweaked the field view a little more. 2018-03-28 11:46:14 +02:00
Llewellyn 0ba2a0e8cf Added validation rules resolve gh-254. Removed empty sql files. Improved the field area. 2018-03-27 11:57:16 +02:00
Llewellyn 052adc271f Upgraded to v2.7.0 with new VDM package import option 2018-03-21 05:10:34 +02:00
Llewellyn ee949fbe6e Expanded the automatic DB update feature, to insure that any changes to a field name/datatype/lenght will now also create a DB update, resolve gh-241 2018-03-11 04:44:43 +02:00
Llewellyn 34efe32002 Added the feature to use admin and custom admin views as the dashboard of the back-end of a component, requested in gh-148 2018-03-09 05:29:05 +02:00
Llewellyn 0c798d9579 Started with the first adaptation to implement the ssh protocol as mentioned in gh-230 2018-02-15 02:43:07 +02:00
Llewellyn 7c7a0151b9 Added new JCB domain and email address to further pave the way for the JCB community. Improved the support info. 2017-12-27 05:45:35 +02:00
Llewellyn 82df61aa4a added interface of the new decoupled libraries concept gh-92 2017-11-26 04:03:27 +02:00
Llewellyn f34e1b19f8 Added sharing of snippets option and started adding get snippets custom admin view gh-92. Fixed gh-153 published settings for categories. 2017-11-16 06:37:32 +02:00
Llewellyn 7d27af5d59 Added snippet types and libraries to snippets 2017-11-12 00:18:13 +02:00