WODA:
Quand les choses vont mal
accueil | caractéristiques | versions | aide | manuel | FAQ | télécharger | location

"Document contains no data"
"Unknown Server Error"

Il s'est produit une erreur fatale au logiciel. WODA ne peut pas se lancer correctement. Voici les points à vérifier:
  1. Dans le fichier cgi (ex. demo.cgi), le fichier demandé à la ligne "required" (ligne 3), existe-t-il? Dans la procédure d'installation de woda.pm, jusqu'à la version 3.303 (cette version incluse), demo.cgi demandait par erreur woda-uk.pl au lieu de wodauk.pm.
  2. Vérifiez le journal (log) d'erreurs du serveur web. sur Windows/Xitami il s'agit du fichier cgierr.log; sur Unix (et Linux)/Apache c'est en général /var/log/errors. S'il n'y est pas, demandez à votre hébergeur ou à l'administrateur système (root).

Cannot create and chdir to ...

Le serveur web ne peut accéder à ce qui est spécifié dans WBB{dataDir}. Disons que vous avez défini:

$WBB{dataDir} = '/users/john/woda/data';

Sur Windows, vérifiez que /users/john/woda existe. Sur UNIX, vérifiez en plus que le serveur web a les droits read,write,execute sur ce fichier. Tapez

chdir /users/john/woda
mkdir /users/john/woda/data
chmod 777 /users/john/woda/data

La première ligne vous emmêne dans le dossier, la seconde crée un répertoire, la troisième autorise tout le monde à tout faire.

Action 'cgiHome' is not implemented.

Most likely the file '/usr/local/woda/uk/cgiHome' is missing. If the file seems to be there, the problem could be the capital H in Home. If you took WODA through Windows tools like Explorer, you never know what will happen to the upper/lower case letters.

I can get to / I don't see administrator's menu

  1. Did you sucessfully log in as admin?

  2. You press on the white face on the toolbar, a window opens and you enter 'admin' as username and password as you set it up in the mainConfig subroutine.
  3. If you are admin, you see a red face with a white hat on the tollbar, right? And under the "Personal" heading on the /Home page you will notice "Database administration" item. Well hidden, right?

When I try to delete a record WODA writes "Delete failed".

If this happens to all records: If this happens to some, but not all records:

When I login as admin, nothing changes on the main page.

Login data is transported in cookies. Microsoft Explorer 4.x does not handle cookies correctly on URLs like www.xxx.com/cgi-bin/somescript?name=val. But it works OK with URLs like www.xxx.com/cgi-bin/somescript/Show?name=val. WODA 3.1.4 has been fixed so that bare URLs are never used.

Ergo, the cure is to use WODA 3.1.4+ and ...../cgi-bin/yourscrip/Home as the URL for the home page and /cgi-bin/yourscript/Show?_id=200 to show the record with ID=200.
 

A note on "large" databases

Although WODA does not impose any limits on the database size, some operations might be limited by the limitations of Perl, RAM of the server and HTTPD server.

I get EVAL Error on ...

You defined a special $WBF{field,picture} or $WBB{formatSOMETHING} etc. and WODA returns an EVAL error, empty value etc. Here's why:

Some settings in WODA are string expressions - this is an expression - a small program in Perl language, that should return a string. Let's look into some examples. Note that the setting of the $_ variable is there just to demonstrate things; you would not put something like that in your code:

$_ = 'Joe';
$WBB{name,picture}='name is $_';

The above will result in an eval error, because name is $_ is not a valid piece of Perl program.

$_ = 'Joe';
$WBB{name,picture}="name is $_";

The above will also result in an eval error, because name is Joe is not a valid piece of Perl code either. Also note that because the setting is in double quotes, the variable substitution happens at the moment when the assignment is made!

$_ = 'Joe';
$WBB{name,picture}='lenghth($_)';

The above is correct, length($_) is a valid Perl statement.

$_ = 'Joe';
$WBB{name,picture}="length('$_')";

This is correct also, length('Joe') is valid, but it is not what you want!

$WBB{name,picture}=' "name is $_" ';

The above is correct, "name is $_" is a valid Perl expression, returns a string.

$WBB{name,picture} = <<'EOM'; # Perl code until EOM

# hyperling, if URL is set ...

if ($rec{URL}) {
    "<A HREF=$rec{URL}>$_</A>";
} else {
   # otherwise don't hyperlink it
   "$_";
}

EOM

The above is typical syntax for more complex code.

 WODA: the database tool for the World Wide Web