The Fabrikar team is pleased to announce the release of Fabrik 3.3.4 for Joomla! Download Fabrik 3.3.4

Under the hood we have started to implement dependency injection into our models, and plugin code, this is part of our continued work on modernising Fabrik's code base.

There's been a couple of small but useful changes in the admin pages, now when you create a list or element and type in its label a corresponding table or element name value is automatically inserted for you. This really does decrease the time it takes to build your Fabrik application.

We've had some great conversations with users over SEO the results of which means that all list, form and details views now produce canonical links in the document's head. These links define the source URL for the content, and are used by Google to avoid duplicate content issues, an important step in increasing your page rankings! Along side this we have also updated our sef404 code to work with the latest version of Joomla, this gives you greater control over how your SEF links are created.

Finally we've added more JLayout overrides, details of those changes are listed further down the page. You can read more about how to use JLayouts in Fabrik on our JLayout wiki page. The main use case for JLayouts is when you want to use a Bootstrap 3 template, the Fabrik team maintains a separate Fabrik Bootstrap 3 JLayout project which we recommend you install alongside your Bootstrap 3 Joomla template.

Download Fabrik 3.3.4

Below we've listed some of the major changes and improvements to appear since the last release. These changes wouldn't have been possible with out the sterling work of the following people: Rob Clayburn, Hugh Messenger, pascal26, yuriyua, troester, Jaanus Nurmoja, Sophist, actionwave34f, pascal26.


  • CSV Export
    • Fixed - none-raw dates did not have the site timezone applied
    • You can call the list url with &format=csv applied to the querystring, and providing your export step is larger than the list total then the csv file will be downloaded automatically.
    • Added - &download=0 to list url's querystring to write the content out to the browser, rather than downloading the csv file.
  • CSV Import
    • Fixed - would not work with ajax fileupload info
    • 'Drop data' is not an shown as an option unless the user has canEmpty() privileges. Also check for canEmpty() on import itself, to prevent spoofing of the option.
  • Display
    • Group by headings were showing the first group by's data each time
    • Fixed - when a user applied a group by, this produced grouped by results per page rather than the list's entire data.
    • Fixed - with prefilter (condition set to OR) and then using 2 standard filters. The prefilter OR was incorrectly being added to the start of the standard filters. Meant that prefilters could be overwritten.
  • Radius Search Plugin
    • Geocode runs after 1 sec since last key pressed, (or when enter key is pressed).
    • Geocode results cached in memory.
  • RSS
    • Changed - RSS feed link will now always load the front end url. This may mean that the RSS data is different to the admin data, but at least it will be accessible to any RSS reader consuming the feed.

Forms & Groups

  • Added - "repeat group intro" parameter, this text is placed at the beginning of each repeat group. You can use {i} as a placeholder for the current repeat group number
  • Fixed - group's "labels above" option was not being correctly applied
  • Fixed - email cloaking being run in details view pdf.

  • Article plugin

    • Fixed - publish dates not being saved and/or offset with the correct timezone.
    • Fixed - saving record, when renaming its title to an existing title was not updating the title/alias correctly.
  • Paypal
    • Improved logging, especially when receiving errors from Paypal's IPN
    • Added - connection close header to paypal IPN postback
    • Added - user agent header to IPN response handling, as PayPal seem to now require this in some countries.
  • Pagination plugin
    • Ensure that when in ajax mode, the pdf & print buttons use the correctly paginated record.


Element labels can now be translated using Joomla's language override features.

  • Button
    • Added - "button type" parameter which allows the element to be used as a submit button.
  • Cascading dropdown
    • Fixed - default value was not applied,
    • Fixed - selected values being lost when changing watch elements (chxbox) values
  • Date
    • Added a placeholder property to date element
  • Database join
    • Added a placeholder option, applicable when the elemeent isn rendered as a auto-complete
    • Fixed: Select in front end, clicking on the pop up list was not updating the element's values when rendered as a checkbox list
  • Field
    • Added - geo-completion as auto-complete option to field element.
    • Changed our QR library
    • Added - option not to apply sprintf on blank field
  • Google-o-meter
    • Can now rendered in joined groups.
  • Google Map
    • Added - traffic layer option
    • Added - option to not cache static images, as some sites (on shared hosts) can't set their cache folder permissions correctly. So options for static maps in lists are now "No, Cached, Yes". Cached equates to "Yes" from prior to this change, so nothing changes for existing elements.
  • Textarea
    • Improved WYSIWYG rendering when in a repeat group
    • Truncate html options now also applied to details view


  • Google Maps
    • Added the option to include a traffic layer.
    • Added a new placeholder {nav_url} for map viz bubble templates, which should open Google maps app in navigation mode to the pin's destination.


  • Some work on layouts, to allow list specific overrides, and theme / element specific overrides of element labels.
  • Icons, element labels, tips, more elements, modal windows, list pagination are all now rendered using JLayouts
  • Added option to override any element filter by copying layout file to /templates/{mytmpl}/html/layouts/com_fabrik/element/{tablename___elementname}/.
  • added Fabrik.bootstrapVersion() js method to check for bootstrap version.

Plugins & Modules

  • Fixed - When loading 2 form modules on same page, each containing checkbox elements a JavaScript error would occur.
  • Fixed - If no layout is defined in the content plugin string it's taking bootstrap, not the layout defined in the form's form/details layout setting.
  • Fixed - issue with global J! search where it was restricting results to current pagination limit. Now uses filter_list_max config setting, which defaults to 100.
  • Fixed - [rowid] in content plugin placeholder, in details intro was removed, meant you couldn't filter a list by row id.