Alex Moreno


A Drupal Developer in London

Automatically mount directories in centos / virtualbox

If you try to mount a shared folder in centos, runing under a virtual box, you'll probably have problems trying to fix this directory, mounting automatically each time the system reboots.

In any other distribution, like ubuntu, you just have to go to your /etc/fstab and add this line:

varhtml                 /var/www/html   vboxsf  defaults        0 0

The problem is centos is that when the system arrives to this line, the vboxsf module has not been loaded yet.

The solution is quite simple, execute a mount command when everything has been loaded. This can be done in /etc/rc.local:

mount  /var/www/html

Your fstab must give information about this directory (like you've seen in mine), or use the large version of mount command.

As you can read in rc.local:

This script will be executed *after* all the other init scripts.

So, there is probably a better way to do this, but this one does the trick too :-).

categorias: 

Get Drupal fields for a particular content type

 

Sometimes in Drupal you need to get the fields for a particular content types. 

"$type = 'mytype';

$fields = content_fields();

$type_fields = array();

foreach ($fields as $field_name => $field_data)

{

  if ($field_data['type_name'] == $type)

  {

    $type_fields[$field_name] = $field_data;

  }

}"

 

in drupal7 is easier, since we have a direct function:

field_info_instances($entity_type = NULL, $bundle_name = NULL)

 

 

get current drupal theme

very simple:

        global $theme_key;

      echo $theme_key;

 

if we need more information, we can use this:

       $themes = list_themes();

       $theme_object = $themes[$theme_key];

 

        // print all the object fields

       var_dump($theme_object);

 

via http://drupal.org/node/46961#comment-88354

changing vhost.conf without restarting apache

Sometimes you need to change some parameters to your apache virtual host. Then, when you need to check the changes, in plesk you'd probably will have to execute the next command to see the changes:

/usr/local/psa/admin/sbin/httpdmng --reconfigure-domain exampledomain.com

Otherwise, restarting apache (/etc/init/apache2 restart) could not make the trick.

I allways forgot this little trick... never more, because Programadores Web will remind it me :-).

categorias: 

Programadores drupal y php en España

De verdad que España me parece cada vez más lejana. Estoy viendo una oferta de trabajo y de verdad que los sueldos son "tercermundistas".

El país no va a salir de la economía agro-inmobiliaria en la que se ha basado hasta ahora si se está ofreciendo por un senior lo que en Londres se ofrece para un junior de cualquier tecnología. Menciono Londres por poner un ejemplo que conozco bien (porque vivo y trabajo en Londres), pero en el resto de Europa ocurre exactamente igual.

Muchos podréis argumentar que el coste de la vida aquí es muy superior... sin embargo no es así. Proporcionalmente la carne, la leche, el periódico, ... las cosas básicas cuestan lo mismo que en España... la vivienda tres cuartos de lo mismo, si quieres vivir en el centro de Madrid no vas a pagar mucho menos de lo que pagarías por el equivalente en Londres.

Así pues, ofreciendo 25 a 30 mil euros a un senior, nada menos que un senior, como va España a atraer talento? Ese mismo rol en uk se está pagando entre 45 y 60k libras, podéis hacer el cambio a euros.

Lo más sangrante es cuando se lee en las ofertas de trabajo, título mínimo fp. Pero vamos a ver, si necesitas un ingeniero de software no necesitas un arquitecto de bases de datos... si estás buscando alquien que sea capaz de resolver cualquier problema, y que salga barato, posiblemente esa persona no vaya a poder centrarse en desarrollar productos de calidad (sino en escribir código todo lo rápido que se pueda y en resolver problema tras problema).

No es el camino mi vieja, querida (y cada vez más lejana) España :-(.

categorias: 

Apache Solr + Drupal

Download the apachesolr module from drupal.org, and put it in sites/all/modules:

http://drupal.org/project/apachesolr

download solr-php-client, version 22

http://code.google.com/p/solr-php-client/downloads/list

and uncompress it in the apachesolr module directory.

Ready to activate the module, but we will did not installed the Apache server, so the module will not work.

Now, as you guessed, it's time to install the apache solr server. Download one of the latests releases:

http://www.apache.org/dyn/closer.cgi/lucene/solr/

Remember to download the binary files, not the src directory. You'll know that you have the correct tar if you have an example directory with a .jar file.

 

Now, time to move all these files to a .bak version in conf directory

apache-solr-4.0.0/example/solr/collection1/conf

 

  • schema.xml,
  • solrconfig.xml,
  • protwords.xml

 

then, copy these files from your drupal module directory.

 

 

 

 

 

categorias: 

paging results in Drupal

Paginating the results in Drupal is incredible incredible easy. You just have to remember the two "magic functions":

 

  • pager_query($sql, $count);
  • theme('pager',10);

 

pager_query substitutes the typical db_query. Just something like that: 

 

  • // $resource = db_query($sql);  // -> old sentence without pager
  • $resource = pager_query($sql, $count); // -> pager

 

Then, we simple come back to the function that is called by our hook_menu, and we change:

  • return theme('list_products')

with

  • return theme('list_products') . theme('pager',10);

 

It couldn't be easier, could it? :-). In fact it is harder to undertand the documentation and the different howtos and tutorials which you can find than the process itself.

archlinux and vbox: sharing folders

This days i'm discovering a new Linux flavour, which it remembers me a lot to another old friend: Gentoo. It has a really similar way of installing, it's very very customizable like Gentoo, and it's quite minimalistic. I'm speaking about Archlinux.

I have to say that this days I was thinking in changing from more than 3 or 4 idilic years with Debian/Ubuntu to a more customizable system. I really don't like the last change which Ubuntu has made on the Desktop, and I really loved when I had the possibility of using last releases of software when using Gentoo (5 or 6 years ago).

So, the possibilities were mainly Gentoo... and my recent Archlinux discovery. Anyway, this is another story.

The fact is that I thought that working with Arhclinux was going to be more harder. Far from the reality. The installation is faster and not too much complicated, unlike Slackware, it has a powerfull package system with dependency resolution, and it is very customizable, so I can build it as fast as I want or as heavy and nice graphic looking as i prefer.

An example of how easy it is to do some things is shaing a folder with the vbox, (something that a fully advice against, unless you have no choice).

In the guest / Arhclinux side it was as simple as installing the module and activating:

  • pacman -S virtualbox-guest-modules
  • pacman -S virtualbox-guest-utils
And finally:
  • modprobe -a vboxguest vboxsf vboxvideo
  • systemctl start vboxservice.service
Enjoy :-)
categorias: 

ERROR 2013 (HY000): Lost connection to MySQL server

Have you ever had a big (and when i say big I mean BIG) database which you need to import in a sql file?

If so, you'll probably have found this issue (or even you are having the problem just now and you are reading this looking for a solution):

ERROR 2013 (HY000): Lost connection to MySQL server

This uses to happen when trying to import the dump with the mysql -u command:

mysql -u root -p database < databasetoimport.sql

You can try to play with the my.ini settings, but a best secure solution is just to do the import from the mysql own console. How? easy.

1. go to the place where your sql is. Then log in mysql:

mysql -uroot -p

2. create the database if needed:

create database mynewdb

3. Change to it:

use mynewdb;

4. and finally, import it:

source databasetoimport.sql

Wait and hopefully the problem will not appear again.

The reason is simple. Mysql is designed to have this behabiour of closing the connection dealing with external scripts, like php or the own mysql command. If you are executing the import from inside the console, the problem will not appear.

Installing capistrano in Centos

Very very easy in CentOS, just like it would be in a Debian system:

# yum install ruby -y

# yum install rubygems -y

# gem install capistrano

Really, it couldn't be easier. Next step, just having fun with Capistrano :-)

categorias: