Improvements : Table files simplified and unified. Toggle function improved. (Now using the save() common function of the model)
Fixed ticket : The modified date and modified fields updated on 'toggle' (10885)
This new version is a core rewrite. It took 10 months to achieve it.
Ergonomy : The builder is now faster than ever. Try it and share your user experience reviews
New feature : Clone your projects
New feature : addGroupBy() is now available for using the native GROUP BY sql statement.
Note: in the past, addGroupBy() was used for primary order, and now called addGroupOrder()
New feature : Auto-complete the subnode field when dragging a FK node in forms or filters
Removed feature : custom regex
It is not anymore possible to create custom regular expressions in the builder. For the moment there is no other alternative than coding them manually. In future I will find a way to propose this feature again.
If you have a good generic regex to propose, submit it on the forum and I will study each case and add them to the proposed list.
The reason for this removal is for security.
Important security fix : LFI in classes/file/file.php
Fixed tickets :
New feature : Introduction of JLayout for rendering HTML segments :
New feature : The page header and browser title respond now correctly with the menu parameters.
New feature : Updates (SQL)
The component now support the updates files, based on versions. This has an advantage for us, when the database structure have changed, then just increment the version of the project (in the builder).
At the next generation, the new SQL table structure will be stored and executed from sql/updates/mysql/[VERSION].sql
Example: You want to regenerate a component and change some fields in a table.
Before this version, if you simply update an existing component, the database will not change because tables exists, and because only INSTAll can create tables. So after such update maybe the files want to access to new fields and you crash the program, because the database has not been modified. The solution (before this new small feature) was to uninstall your component, and install it again.
Now you have another option when you have changed a structure.
1. Increase the project version
3. Delete manually the tables that have changed
4. Update component, re-installing it on top.
The new structure is generated in a new sql file and will be executed ONLY is version is superior. Every time you do this, those SQL files will stack in your installed component.
Now you can keep it, but you only need to manually delete the tables you want to upgrade.
Cook is not generating the SQL for morphism of the database base on your changes. It would be too complex to achieve. (well, all is possible, but not as a priority)
Be very carefull when you distribute your applications to keep trace of the SQL structure for every version, and to furnish all the sql versions updates with your component.
New feature : Hook
New feature : CSV
The view class contains a helper function to export in CSV. This will be developped more in future. For the moment, you can use it manually in your code.
New feature : "On the edge", the beta versions
For advanced users or for fast problem fixing, you can choose the beta version to generate your component. Choose 'On the edge (beta)', in your project configuration.
Fix : Ajax file upload in modal views. This is also a new feature, considerating it uses a new ajax file uploader
Fix : Required fields for ajax combos.
If your component is using indirect file access, you need to upgrade urgently your component.
The concerned files to uprade are :
Download your files as well as dataset with « Embed dataset » config.
JLoader new release.
See full explaination in docs : Loader
You can now easier build your N:M and N:1 links. Documentation is coming.
Ajax new functions and defined standards for transaction handling. Documentation to come.
Is now handling automatically in which case to render the toolbar.
Fix the missing toolbar in back-end modals layouts.
Use only one instance of JDom per website.
Reuse all JDom features in any components and modules.
Note : if you want to integrate JDom inside your extension (legacy way), you must choose 'integrated' in the JDom property of the project configuration.
Open Source under MIT licence :
You can contribute to JDom on github : https://github.com/Cook-Self-Service/JDom
A new folder (extensions) in your component is containing the extensions to install after you component installation acomplished.
Is a new fuction in your View super class to render easily a JForms fieldset.
Propagate accesses from a foreign table to a curent table.
For example when a category is not accessible, the items of this category will not be loaded.
This is a security potection it applies directly on the SQL query.
As usual in Cook, this feature does not have any FK level limit restrictions.
Accesses are :
And much more : Ajax filters,UI fixes, grid booleans and Bootstrap task buttons.
Includes the last jQuery versions : jQuery : v1.10.2 - jQuery UI : v1.10.3 (Drag/Drop, Sortables)
'icomoon' and 'gliphicons' libs are not compatibles because they use the same 'icon-' prefix.
JDom is reimplementating them with different prefix. ('icomoon-*' ; 'glyphicon-*')
Still you can use 'icon-*' at your own risk, but Joomla native backend templates are using different libraries for 'icon-*'
Task icons in grid are now grouped together in a Bootstrap btn-group in one table cell.
Still you can display the task in separated buttons :
Grid Properties > Layout > Tasks in grid : Individual buttons
Column displaying the item number in the grid has been removed.
If you want to use it, click on the option in the grid properties. Tab 'Layout'.
Grid Properties > Layout > Show Num#
This function in the list model is testing if the user can select items or not. The result is used to show or hide the checkboxes in grid.
Model > prepareQuery() Improved, and not always compatible with Cook 2.5.x
JDom have been highly improved.
When modules are calling your components. If you run multiple JDom instances.
For this upgrade, your application may not have been affected, only fixed. So almost impossible that this upgrade damage your forks. But if you want to take advantage of this fix form this version, you may apply the changes to your forked files.
CHECK YOUR FORKS !
13 functions has been rewriten in classes/model/item.php :
1 function in classes/model/list.php
If you have forked one of these functions, please check if everything is still working as expected.
Download your dataset alone in SQL
Error handling little bit improved.
Model is not anymore raising bocking error when item is not found. The view does it and when the model is instancied somewhere else, the error is not blocking.
JForms is now Forkable. Big Thanks to Tomaselli.
(Others XML still are not Forkable for the moment)
Filter a list directly from a menu item
When you create a menu item to a list, you can choose to filter on a predefined value. (Modal picker)
For instance, you can filter on a category if category is a foreign key of your table.
This feature works for unlimited deep of foreign key.
Simply instance a filter on the concerned list. If you do not physicaly want this filter on the table, then delete it from your view and template file.
You can always filter directly by url.