FOF 3.0 (experimental):

Available option for building your components for Framework On Framework.
This feature is for discovering the tool and learning FOF 3.0
See more here : Framework-On-Framework

Dataset Manager

Introduction of a visualizer to see your datasets snapshots.Dataset Manager The manager allows you to delete the snapshots.

When you choose a sandbox with empty dataset, the manager import the last dataset snapshot, whatever the version, and copy it to the selected empty sandbox.

2.7.1 (beta)

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.

Basicaly, the javascript front interface (Builder) is now coded on a stable framework. I would have loved to use AngularJS for it, but finally I chosen to improve my own framework wich is good enough. It will not be reused for any other project because the idea is to work with AngularJS (or Ember) in future.

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 :

  • Brick alias messed with brick label (10883)
  • Field alias convention : refuse number for first char (10884)
  • Unique key statement. Handle the maximum length (1080110614)
  • "Row count not match". Error still can raise, but for other reason. The datas are now mor consistent (10318)
  • Field names conventions (1089710884)
  • Cleaning notices (10895)
  • Controller issue (10583)
  • CSS class property issue (10678)
  • Datetime filter (10637)
  • Rule required for zero value number (10853)
  • Ajax filters availables in menu item (10559)
  • Date custom rule (10329)
  • JDom integrated option (10863)
  • Filter issue (10906)
  • Check out issue (10881)
  • Model not found (10843)


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

Get Started