domingo, 18 de septiembre de 2011

Eyeos -> Unable to search all data matching $transferObject from database

Todo empezó hablando con un compañero del trabajo que es tan entusiasta en programación y de tema en tema empezamos a "fachentiar" sobre las famosas cloud. Fue donde le comente un poco sobre este sistema (EyeOs). Es muy impresionante y open source. De hecho me encanta el Api. Es un engine muy curioso el que desarrollaron.

En la oficina yo uso KDE 4. El problema es que KDE viene por defecto con Mysql, dando problemas cuando tienes que usarlo para otra aplicación como WordPress o EyeOS. Para mayores detalles se puede acceder aca. En la instalación es sencillo, simplemente le establecemos el socket Unix de la siguiente forma:

:home/koza/.local/share/akonadi/socket-sabrina/mysql

Pero cuando tratas de crear una cuenta veras el siguiente problema:

Unable to search all data matching $transferObject from database

Esto se debe a un problema con la conexión a la base de datos de mysql.

Pero si yo veo el esquema de la base de datos con el GUI de mysql?
Si es verdad. La instalación se lleva a cabo de forma exitosa. Pero la instalación usa un código muy diferente al de la aplicación para su funcionamiento productivo. Los scripts de instalación son basicamente desechados una vez la aplicación esta configurada.

Entonces me puse a travesear el código. Muy claro, muy limpio, soy un fan de los desarrolladores de esta aplicación. En mi investigación el script GenericDao.php en el método getConnection esta la magia.
Se implemento usando la clase PDO. (Esto es algo generico de PHP para ecapsular las conexiones a las bases de datos). Entonces el truco es más sencillo de lo que creen. Basta simplemente con abrir settings.php. En la definición de la variable SQL_CONNECTIONSTRING hay que agregar la declaración del unix_socket al string de conexión.


define('SQL_CONNECTIONSTRING', 'mysql:host=localhost;dbname=eyeos;unix_socket=<Ubicación de socket>');

Este seria para mi caso:

define('SQL_CONNECTIONSTRING', 'mysql:host=localhost;dbname=eyeos;unix_socket=/home/koza/.local/share/akonadi/socket-sabrina/mysql.socket'); 

Espero les sirva. Cualquier consulta comenten :P

No hay comentarios:

Publicar un comentario

AEM hablemos del arquetipo 11

Cuando creamos un proyecto con AEM. Siempre es importante saber que arquetipo estamos usando. Pues esto me determinara que source, herramien...