New feature : Introduction of JLayout for rendering HTML segments :

  • Component heading
  • JForm fieldset

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
2. Regenerate
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

Cook has introduced its own ajax engine in the JS side. Call it, and "Hook" handles it. For the moment this small framework is not used that much, but the first stone has been released and the JSON communications between component and javascript engine hare now handled in a standadisated way, containing all informations of the transaction.

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.
Cook choose builder version

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.

 

Important Security Fix

If your component is using indirect file access, you need to upgrade urgently your component.
The concerned files to uprade are :

  • helpers/helper.php
  • classes/file/file.php

New Features :

Download your files as well as dataset with « Embed dataset » config.

JLoader new release.

  • The namespacing is now working correctly. (Joomla fix)
  • Debug tool :
  • Fork file footer is now simplified in 2 lines.

See full explaination in docs : Loader


New functions:

N:M helpers
You can now easier build your N:M and N:1 links. Documentation is coming.

Ajax Node
Ajax new functions and defined standards for transaction handling. Documentation to come.

renderToolbar()
Is now handling automatically in which case to render the toolbar.
Fix the missing toolbar in back-end modals layouts.


Cleaning & Fixes:

  • REST standard : Only ‘POST’ requests can change the filters permanent vars.
  • Many various issues as usual...

New features

JDom as pluginConfiguration JDom plugin Joomla

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

Auto-install extensions

A new folder (extensions) in your component is containing the extensions to install after you component installation acomplished. 

Fixes

  • FK empty lists and filters
  • Cleaned various fatals removed and warnings
  • Some language strings at installation
  • JDom : jQuery UI assets (not loaded anymore from component)
  • joomla.javascript.js : removed call

New feature

View::renderFieldset()

Is a new fuction in your View super class to render easily a JForms fieldset.

Fixes

  • JForms id and names properties for suffixed special fields in form groups

New Features :

propagate-accessPropagate accesses.

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 :

  • Viewlevel access
  • Published states
  • Authoring

 


 


 

Improved UI rendering and JDom

Bootstrap Jooma buttons radio

ui-form-image

Bootstrap Fly images


 

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)


IconsIcomoon icons JoomlaBootstrap glyphicon icons Joomla

'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-*'

 

 



 

Grouped task buttons in gridsBootstrap btn-group group buttons

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

 


 

Removed "Num' column.Joomla grid num column pagination


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# 

 

Grid checkbox visibility : canSelect()

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.

 

 


Check your forks :

Model > prepareQuery() Improved, and not always compatible with Cook 2.5.x
TODO :

  1. In your forks : search for 'addJoin('
  2. Add  around table names when missing (can raise an issue when you are using propagation accesses)

 

JDom have been highly improved.
TODO :

  1. Check you do not have JDom namespace error in your pages.
  2. If you have errors, regenerate your component and see the new way.

When modules are calling your components. If you run multiple JDom instances.
TODO :

  1. Replace dom.php in all your existing components. (because first found is loaded)

 


 

 Fixes :

  • SECURITY : index.html files was missing when upload 'rename' property value is including sub folders. ex: {ID} {RAND}.{MIMEXT}
  • populateObject() JSON decoding fixed
  • Fix when multiples searches was created on the same layout.
  • Can apply correctly CSS class names on elements. Easier templating.
  • Ajax filters rendering
  • FK Ajax combo fix when instancied alone without group. (simple select)
  • JADMINISTRATOR removed in front title of the pages.
  • Some files was missing for tiny project (when no back-end layout).
  • 'Defaulting' wizard improved behaviors. (Undefault other items, (eventualy distinct groups), directly in the model, by security)
  • Defaults layouts issues fixed. (Could happen before some collisions in the builder after deleting the first collection layout created)

 

 

New Features

  • Ability to filter on current user when creating a menu item

modalpicker-juser-auto

 

Fixes

  • Current search text value is now always displayed.
  • Some added tasks in item Layout. Delete, Publish, Unpublish, Trash and Archive (even when Joomla is not really designed for that.)
  • Refresh page after edit form in modal.
  • Followers Itemid fixed for better SEF
  • Modal picker for user list

Fixes

  • Boolean filters
  • Can rename item alias in table (2.5 issue)
  • Fixed dates format issue with unix timestamps
  • Range filters on date with unix timestamps
  • Range filters labels
  • Modal pickers improved

Joomla Cook Modal picker

CHECK YOUR FORKS (when you are using Unix timestamps)

  • All your modal_grid.php files in tmpl files (Back end)
  • helpers/dates function getUnixTimestamp()
  • All your models using unix timestamp in filters - save() function.
  • JDom new : html.form.input.select.modalpicker
  • Changed : classes/form/field/modal.php

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.

ACL rewrite:

CHECK YOUR FORKS !

13 functions has been rewriten in classes/model/item.php :

  • canAccess()
  • canAdmin()
  • canCheck()
  • canCreate()
  • canDelete()
  • canEdit()
  • canEditDefault()
  • canEditState()
  • canView()
  • isAccessible()
  • isAuthor()
  • isCheckedIn()
  • isPublished()
  • isVisible()

1 function in classes/model/list.php

  • isAdmin()

In models

  • prepareQuery() in item models
  • prepareQuery() in list models

CHECK YOUR FORKS :

If you have forked one of these functions, please check if everything is still working as expected.

 

New Feature

DownloadDataset
Download your dataset alone in SQL

Improvements - CHANGES WHERE YOU MAY CHECK YOUR FORKS

  • view.html.php : displayXxxx()

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.

Fixes :

  • Joomla fields FK fix, when showing wrong key
  • Accesslevel field
  • JDom : html.form.input.clock
  • helpers/loader.php (Model not found for third tables in some cases)
  • Regex improvements

Fixes

  • Fatal : "Task not found" issue
  • DS constant fixed when used in menu item.
  • Layout languages strings in CPanel
  • Toolbar icons sizes in J!2.5 and under
  • UI Boolean radio for J!2.5 and under (bootstrap support)
  • Data Restore issue when Email datatype is used

New Feature

JForms is now Forkable. Big Thanks to Tomaselli.
(Others XML still are not Forkable for the moment)

Fixes

  • JDom : editor in full width (100%)
  • Deprecated : Model : addGroupBy replaced by addGroupOrder
  • FK Ajax Group in form fixed (missing dependencies : ckajax.php)
  • Redirection fixed (modal layout)
  • Menu item fixed (modal layout)
  • Creation Date in manifest
  • "undefined constant DS" fixed in Menu Item Modal
  • Save() problem fixed in classes/controller (using J!2.5 or under)

New Feature

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.
ex: index.php?option=......&filter_category=4

Fixes

  • Ajax context fixed for fk user (when using ajax and third tables)
  • ACL fix in sandbox
  • Colorpicker CSS fix. (JDom) (thanks to lander083077)
  • Database table with component prefix. (2.5 beta issue)
  • Builder fix : getData() on non object
  • Improvements in Modals pickers
  • Modal picker improved. (still to improve)
  • Tasks renamed (last Joomla fashion)
    Saves becomes Save & Close
    Apply becomes Save
Scroll to top