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].
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]
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
- 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.
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.