Install errors

drupal10000 - September 29, 2008 - 00:00
Project:Validation API
Version:6.x-1.0-rc3
Component:Code
Category:bug report
Priority:critical
Assigned:Unassigned
Status:closed
Description

I installed Validation API and recived a number of PHP generated errors.

I didnt want to deal with them at this time, so I went to disable Validation API in the Module manager.

When I press Save Configuration in the Module Manager, it does not save and I get the following in a Windows popup dialog:

Could not connect properly.

404 Not Found

Not Found

The requested URL /drupal/ajax_validation was not found on this server.

Please help asap.

Thank you.

#1

drupal10000 - September 29, 2008 - 00:02

To give an example of the errors I was getting, I get this when I go to Home :: Administer :: Site building :: Validation API > Validators:

user warning: Table 'drupaldbmain.validation_api_validators' doesn't exist query: SELECT v.vavid AS vavid, v.name AS name, v.type AS type, v.rule AS rule, v.message AS message, v.module AS module, v.delta AS delta, a.vaaid AS vaaid, a.delta AS arg_delta, a.name AS arg_name, a.description AS arg_description FROM validation_api_validators AS v LEFT JOIN validation_api_arguments AS a ON v.vavid = a.vavid ORDER BY v.name ASC, a.delta ASC in C:\Backup\Apache2.2\htdocs\drupal\modules\validation_api\validation_api.module on line 390.

#2

TapocoL - September 29, 2008 - 17:34
Status:active» fixed

This seems to be an error with the tables not getting installed on installation. If you had a previous version of the module, you will need to uninstall that version of Validation API. Then, paste the new version of Validation API into your directory and install it. If you do not fully uninstall the module, then it would not install the changes to the database. You will be able to run update.php only during full releases, since I am assuming you are experimenting with my module during non-full releases.

Since you cannot submit any forms from the 404 error, you will need change the variable 'ajax_validation' to 0. So, you would need to go into your database, then to the 'variable' table, and find the record with 'ajax_validation' in the name, then change the value field to 'i:0;'. If 'ajax_validation' is not present in the variable table, then you would need to insert the variable with the same value 'i:0;'. The SQL should look something like this:

UPDATE variable SET value = 'i:0;' WHERE name = 'ajax_validation';

Or, this if you need to insert:

INSERT INTO variable (name, value) VALUES ('ajax_validation', 'i:0;');

Clear cache at admin/settings/performance if you are still getting 404 errors.

#3

drupal10000 - September 29, 2008 - 18:28

Thank you very much for your quick response.

I will try this and let you know the results.

#4

drupal10000 - September 30, 2008 - 01:10

Hi,

I succesfully performed your instructions above and still get the error:

user warning: Table 'drupaldbmain.validation_api_validators' doesn't exist query: SELECT v.vavid AS vavid, v.name AS name, v.type AS type, v.rule AS rule, v.message AS message, v.module AS module, v.delta AS delta, a.vaaid AS vaaid, a.delta AS arg_delta, a.name AS arg_name, a.description AS arg_description FROM validation_api_validators AS v LEFT JOIN validation_api_arguments AS a ON v.vavid = a.vavid ORDER BY v.name ASC, a.delta ASC in C:\Backup\Apache2.2\htdocs\drupal\sites\all\modules\validation_api\validation_api.module on line 390.

This is because the table drupaldbmain.validation_api_validators is missing I think?

Should I not create this table as part of solving this?

I only have the following tables:

validation_api_arguments
validation_api_arguments_values
validation_api_fields

PS I am using a local computer to run Drupal, on a non-Admin XP Pro user account, the account has read/write priviledges to all Drupal folders and MySQL folders. Could using XP Pro in this config have anythign to do with it?

PPS I am using Firefox 3 with Javascript enabled and Java turned off....

Am I missing any other tables?

Thanks!

#5

drupal10000 - September 30, 2008 - 01:17

When I uninstalled and reinstalled I get:

* user warning: BLOB/TEXT column 'rule' can't have a default value query: CREATE TABLE validation_api_validators ( `vavid` INT unsigned NOT NULL auto_increment, `name` VARCHAR(32) NOT NULL DEFAULT '', `type` VARCHAR(16) NOT NULL DEFAULT '', `rule` TEXT NOT NULL DEFAULT '', `message` VARCHAR(255) NOT NULL DEFAULT '', `module` VARCHAR(32) DEFAULT NULL, `delta` TINYINT NOT NULL DEFAULT 0, PRIMARY KEY (vavid), UNIQUE KEY name (name) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in C:\Backup\Apache2.2\htdocs\drupal\includes\database.inc on line 514.
* user warning: Table 'drupaldbmain.validation_api_validators' doesn't exist query: INSERT INTO validation_api_validators (name, type, rule, message) VALUES ("url", "php", "return valid_url($value, $arguments[0]);", "%field must be an absolute url address"), ("email", "php", "return valid_email_address($value);", "%field must be in an email format.") in C:\Backup\Apache2.2\htdocs\drupal\sites\all\modules\validation_api\validation_api.install on line 168.

Possibly this shows that the table validation_api_validators is not created because the BLOB/TEXT column 'rule' can't have a default value?

#6

drupal10000 - September 30, 2008 - 01:19
Status:fixed» active

I have set the Status from Fixed to Active

#7

TapocoL - September 30, 2008 - 17:44
Category:support request» bug report
Status:active» fixed

I found out that some platforms will cause problems when Text or Blob fields have a default value.

http://dev.mysql.com/doc/refman/5.0/en/blob.html

I have committed a fix, and I here is a patch from RC2 if you would just like to apply a patch.

AttachmentSize
validation_api.install.patch583 bytes

#8

drupal10000 - October 2, 2008 - 00:48

Thank you, I have looked into applying a patch and this seems complicated to me.

Could you please tell me when the next full version (not patch) of Validation API would be available?

#9

TapocoL - October 2, 2008 - 21:21

Notifying you about the latest release... RC3 (http://ftp.drupal.org/files/projects/validation_api-6.x-1.0-rc3.tar.gz)

#10

drupal10000 - October 2, 2008 - 22:30

Thank you!
You have been extremely responsive in both answering my questions and providing a new release.
It is great to see someone so dedicated to their module.
I will be able to try it in a few days and will let you know.

#11

PePiToO - October 8, 2008 - 07:11
Version:6.x-1.0-rc2» 6.x-1.0-rc3

got the same error with the rc3, i cannot submit any forms anymore, the error is the following :

Could not connect properly.

404 Not Found

Not Found

The requested URL /Drupal-6.4/ajax_validation was not found on this server.

Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.3 with Suhosin-Patch Server at 127.0.0.1 Port 80

How to solve this problem ?

#12

TapocoL - October 8, 2008 - 16:26

The only way I was able to recreate the problem was to delete the menu_router record 'ajax_validation'. This would cause 404's with every page. Now, when the module is installed the feature is inactive. When you try to active it (admin/settings/ajax_validation), it will make a check that the menu item (ajax_validation) is present. Plus, to stray away Access Denied problems, I created a new perm 'access ajax validation', this will make sure each user has access to ajax validation before attaching the js file.

I just released RC4, you should be able to access it within a few minutes on the project page.

#13

Anonymous (not verified) - October 22, 2008 - 16:33
Status:fixed» closed

Automatically closed -- issue fixed for two weeks with no activity.

 
 

Drupal is a registered trademark of Dries Buytaert.