last update: 26/ January / 2005

DaDaBIK

[Anyone, writing a software review, may easily flame against or care too passionately, about it, so that the reader is induced in a wrong impression. I hope not to fall in these mistakes so that you can look at this program in an objective way.]


Some time ago I was unable to decide how to develop a small database to work mainly with GNU/Linux but, if possible, compatible with others Operative Systems. With this idea in mind I was looking at LAMP (Linux-Apache-MySQL-PHP) as middleware but my fear was that this could carry me to realize a fatware instead a small dedicated application. Finally I decided to create a template application for all my future projects and to share it with GPL license.
After some work was done I discovered DaDaBIK an application that was all that I was trying to realize. I found it useful and stable so I decide to write this review.

As described in its home page, DaDaBIK is a PHP web-based application that allow to easily build MySQL db interfaces. It provides basic operations such as search, insertion, modification and deletion of records [fig. 1 sample].

Screenshoot 1

Those features are provided without the need of writing any row of code. DaDaBIK, in fact, wants to allow, to non-programmers, to include databases in their web pages, providing instruments useful to modify web interface and trough it data access. [fig.2]

Screenshoot 2

An "admin" is required. But this term is not related with web site sysadmin or with database admin. Instead the term will indicate the skilled user, or web designer, that will create the web data interface for other users. It is useful to say, at this point, that DADABik doesn't provide any database administration tool (a good tool for this job is phpMyAdmin) because this job is outside the scope of the program. So there is the need that database and tables were already built before to start working with DADABik. For someone this could be a limitation but in my opinion it's only a project's good design.
The "admin" should also decide which db tables should be included in interface and which ones should be visible, to other users, trough it. In tables management there is a little limit: it's impossible to create table names alias. So there is the need to give tables meaningful names since when you start your work. This could be a good thing if you are creating a db from scratch but could be a problem if you are working on an existing one. Anyway the tables' alias support is one of most requested features so there's a chance that it'll be present in one of next releases.

Alias is, instead, supported for each table single field beside many other management capabilities: eg. admin can decide if a field is visible, if it should be included in the search/insert/update form, which is its label and what's his content ("content type"). Content type check consist in an input validation on the field: eg. if a field is defined as "numeric" then values other than numbers are not validated.
Other relevant content types are:

  • URLs: that are shown as links
  • mail addresses: that allow you to manage [mail-to:] links
  • HTML fields: where the content is showed with the correct format
Beside content type it's possible to define interface or "field type" so near text, password or text-area fields you can get more interesting types:
  • defining a field as data a three-dropdown-lists interface is shown (month | day | year)
  • defining a field as image, images upload is allowed (if permission are correctly set) and images are shown in field when in view-mode.
  • defining a field as file it'll be possible to upload files and to download them as when in view mode
  • List are also allowed both in fixed and table depending mode so you can create fixed custom lists or dynamic table dependend ones


The program implements also a basic authentication and is possible to allow view, modification and deletion of record only to the user that inserted it. To enable these features some modifications to config file are needed but thanks to comments inside the file this task is easy to accomplish. Users creations is, obviously, reserved to admin.

Program installation is easy to accomplish; instructions are in English so if You are reading this chances are that You can understand :-). Program files can be downloaded from sourceforge. Program requirements are satisfied from all recent distributions: a PHP version 4.05 or more is required; and it is compatible with MySQL starting from v. 3.23.x.

I tested it in Fedora Core 2, in a very easy way simply untarring files in a folder in web site path and connecting to program "home page" with a browser. This is a basic test and things could be better after a basic configuration. So move in ./program_files/include/ folder and open config.php file. In this file (where required) insert MySQL host name or his IP address, connection username, db name and web site full path. There are some other things you can consider but this is enough to start.
It's time to say that, testing the program in Windows, i found some problems with last version (1.7) of EasyPHP because of some variables uninitialized. A quick mail exchange with the programmer has confirmed that problem is already fixed and will not be present in next release.

It's necessary to put in emphasize that DaDaBik add some tables to your db so if you have an existing db in a production environment and want to keep it "clean" is useful to test the program in a test environment before.

According to instructions English, Italian, German, Dutch, Spanish and French languages are supported but I found some lacks to this point:

  • Administration pages are in English language only and are not affected in choosing a different language.
  • It seem impossible to change at run-time tables' or fields' names (that could be possible using alias). This can be a problem if someone (like me) decide to use DaDaBIK to develop an application, instead a web site, and is thinking to portability. A dynamic way to customize fields labels at run-time would be a greater thing.
Obviously if you don't need multilanguage support don't care this argument.

DaDaBIK web site gives a good support trough "support forum". I found myself facing some problems that were already solved and I was able to find answers,between previous questions with a simple query.

So let's see which are pros and cons of this software...
Pros: Cons:
Easy to install English only instructions
Easy to use Multilanguage not well structured
Stable Table alias unsupported
Good support Minimal instructions

I hope you are now curios enough to try this sw that IMHO is very useful. Its simplicity is its best feature and keep away many excuses to implement dynamic tables in web pages.

di Rudi Giacomini Pilon