DaDaBIK logo

Blog

DaDaBIK 9.3 Monterosso is out

Dear all,
DaDaBIK 9.3 is out!

The most important things released with DaDaBIK 9.3 are 1) a bug fix related to pagination and 2) an improvement that will make your DaDaBIK upgrades easier.

The bug fixed
When you displayed a recordset in DaDaBIK and the number of records required pagination (number of records > records per page), it could happen that, if you are browsing, page by page, the recordset, you saw the same record twice and, even if you read all the pages, you didn't see all the records belonging to the recordset. In other words, the "slice" of records you see might not be the one you expected. This could happen if you were NOT sorting the recordset by a unique field (more precisely, a field containing no duplication in the recordset).

Let's make an example: you have 100 customers and you show them in DaDaBIK sorted by city. Let's say you have more than one customer living in Roma. You set records per page to 10 and you click from page 1 to page 10 to see all the customers: it could happen, for example, that you saw TWICE the customer having id 34, living in Roma (in two different pages) and you didn't see the customer having id 88, also living in Roma.
The 100 customers could be the results of a search or not (just table browsing), this doesn't impact on this issue. Please note that even if you don't notice this issue, it may arise under particular circumstances (it depends on the DBMS's query execution plan).
The fix for this bug relies, as many other features in DaDaBIK, on the existence of a primary key in your tables.

The improvement
I know that upgrading DaDaBIK could be annoying if you don't keep track of the config.php parameters that you modified. I am thinking about moving most of the config.php content from the file to the database in the future, but I am still not convinced about this solution so I decided to try a different strategy: starting from DaDaBIK 9.3 you can leave config.php untouched and edit the new config_custom.php file instead, adding there only the parameters you need to set. This should make your upgrades easier: you can just keep your config_custom.php file and replace the config.php file with the one coming with the new release.

There are a few other bugs fixed and improvements; you can find the complete list of changes in the change log

As usual, if you are in your free upgrade timeframe, you can request your free copy from the upgrade page. If you have a DaDaBIK ENTERPRISE/PLATINUM license and you are out of your free upgrade timeframe, you can also get DaDaBIK 9.3 by purchasing a maintenance license (€79 / €99).

Best,

Eugenio Tacchini
DaDaBIK founder

DaDaBIK 9.2.2 Monterosso is out

Dear all,
DaDaBIK 9.2.2 is out!

This is mainly a maintenance release, fixing a few bugs and adding a little new feature.

A few words about two of the bugs fixed:

  • DaDaBIK produced an "Attack 07 detected" and / or an "Attack 08 detected" during chart generation if one or more field names contained capital letters. Fixed.


  • If you changed the order of the fields in your database schema and then (without or without adding new fields to the table) you used the "Add Fields" function (DB Synchro), you lost your form configuration settings for one or more fields of the table. Fixed.


You can find the complete list of changes in the change log

As usual, if you are in your free upgrade timeframe, you can request your free copy from the upgrade page. If you have a DaDaBIK ENTERPRISE/PLATINUM license and you are out of your free upgrade timeframe, you can also get DaDaBIK 9.2.2 by purchasing a maintenance license (€65 / €85).

Best,

Eugenio Tacchini
DaDaBIK founder

DaDaBIK 9.2.1 Monterosso is out - Security Alert

Dear all,
the release of DaDaBIK 9.2.1 was not planned but we have discovery some security issues that I wanted to fix quickly; more precisely, we are talking about SQL injection vulnerabilities which could allow an attacker to execute arbitrary SQL code. You can find all the details, together with the other bugs fixed, in the change log.

You are STRONGLY encouraged to upgrade. After upgrade, as explained in the documentation, change the parameter $dadabik_session_name in config.php using a name you haven't used in the past.


Best,

Eugenio Tacchini
DaDaBIK founder

DaDaBIK 9.2 is out and now also supports Microsoft SQL Server!

Dear all,
I am glad to announce that the new DaDaBIK 9.2 Monterosso is out. This release provides some bug fixes and two great improvements.

You can buy your license here.

As usual, if you are in your free upgrade timeframe, you can request your free copy from the upgrade page. If you have a DaDaBIK ENTERPRISE/PLATINUM license and you are out of your free upgrade timeframe, you can also get DaDaBIK 9.2 by purchasing a maintenance license (€65 / €85).

Let's talk about the first new feature: if you use DaDaBIK since long time you probably remember that, many years ago, we used to support (together with MySQL and PostgreSQL) Microsoft SQL Server and Oracle databases.

The support of both MS SQL Server and Oracle was then discontinued due to the lack of interests from our users. Times, apparently, has changed: in the last months I have received several emails from customers (or potential customers) who would like to use DaDaBIK with MS SQL Server in a corporate environment so I decided to reintroduce the support for it, also considering that, respect to some years ago, Microsoft has certainly increased its interest for the PHP world.

Microsoft, in fact, released in 2017 a stable pdo_sqlsrv driver, which is the piece of software we rely on to connect DaDaBIK to MS SQL Server from both Windows and Unix-like systems (you can find details about the requirements in the documentation).

The other improvement is a small but powerful new search operator, a long-awaited and heavily-requested feature: the BETWEEN search operator. You can use it with date* an text field types. When you select between from the search operator menu, an additional textbox appears and allows you to specify the interval between two dates, two numbers or even two generic strings. A typical use is for searching in the interval between two dates. For an example, start the demo n.3 (ERP application), choose invoices -> search -> date -> between and then type 2016-12-01 and 2016-12-31.

As usual, you can find the complete list of the fixed bugs and new features in the change log page.

Enjoy! :)

Best,

Eugenio Tacchini
DaDaBIK founder

DaDaBIK 9.1 is out with a brand new row-level custom filter feature

Dear all,

DaDaBIK 9.0 Monterosso has been very well received, thanks for all the words of appreciation!

It's already time for a new version: v. 9.1 Monterosso is out today, you can buy your license here.

As usual, if you are in your free upgrade timeframe, you can request your free copy from the upgrade page. If you have a DaDaBIK ENTERPRISE/PLATINUM license and you are out of your free upgrade timeframe, you can also get DaDaBIK 9.1 by purchasing a maintenance license (€65 / €85).

Version 9.1 is mainly a maintenance release but there are also a few new features, in particular I want to introduce you one of them: row-level custom filters / permissions (available for DaDaBIK Enterprise/Platinum).

You are probably familiar with record ownership: in DaDaBIK you can, for example, set that a record can be read/deleted/modified only by the user (or group) who created it (the owner). This is very useful in many situations: for example in a sales management application, you want that each agent can only see the quotes they inserted. Sometimes, however, this is not enough.

Sometimes in fact you want the records to be filtered by some criteria which is not related to the ownership; take a helpdesk application, for example: let's say the help requests are inserted by some managers and each help request is then assigned by a manger to a member of the IT staff. You might need to filter the requests so that each member of the IT staff can only see the requests assigned to them.

With the new row-level custom filter, you can do that very easily by adding these few lines of code to your custom_functions.php file:
 


$custom_filters['requests'] = 'dadabik_custom_filter_requests';

function dadabik_custom_filter_requests()
{
global $current_user, $current_id_group, $quote;

if ($current_id_group == 3){ // apply the filter only for the IT staff group
    $filter = $quote."assigned_to_request".$quote." = '".$current_user."'";
}
else{
    $filter = "1=1";
}

return $filter;
}

With these few lines, we are saying that we define a custom filter for the table request and that the filter is generated by the custom function dadabik_custom_filter_requests(). Then we write such function, simply saying to add, if the current user is part of the IT staff group, an ADDITIONAL where clause, showing only the requests assigned to him/her (being assigned_to_request the field set by the IT manager).

Here are a few more use cases:



  • In a sales management application, agents can only see orders related to their geographic area

  • In the application for a Physiotherapy practice, each therapist can only view data records belonging to their patients

  • in a multi-schools application, each principal or manager can only view data for students belonging to their school



As you may guess, since you can create your own additional filter, this new feature is very flexible; you can create very simple filters such as :



$filter = $quote.'paid_invoice'.$quote.' = 0';


to show, for everybody, only the invoices where the field paid_invoice is 0 (in this case, the filter is basically an alternatie to a VIEW) or complex filters based on custom criteria / parameters, not necessarily related to the characteristics of the user logged.

I have uploaded a new video tutorial, belonging to the series "How to Create a Web Application with DaDaBIK", where I show more in details the use of the new row-level custom filter features

As usual, you can find the complete list of the fixed bugs and new features in the change log page. About the fixed bugs, in particular, please check the changelog entries related to custom functions and, if you have used the Dada sales app and you have changed something (even just added a new user/group), pay attention to the related change log entry for the security implications.

Enjoy! :)

Best,

Eugenio Tacchini
DaDaBIK founder

Page 1 of 211 2 3 4 5 6 7 8 9 10 > >>