Ce soir, j'ai essayé de migrer mon installation de Drupal de la version 4.6.5 à la 4.7.2. Dans l'ensemble tout à fonctionné mais il reste encore certains modules qui ne sont pas portés pour cette nouvelle version, notament le module aggregator2. Mais il parait que pas mal de modules pour Drupal 4.6.x fonctionnent avec la 4.7.x
De plus, lors de l'integration du module gallery, je me suis rendu compte qu'il fallait aussi le migrer sur une version plus recente de gallery...
Revenons un peu sur Drupal, durant la migration j'ai observé certains points importants pour la réaliser correctement :
Pour finir, il suffit d'installer un à un les modules et de les configurer.
Un dernier conseil pour la route, gardez un client mysql ou un phpmyadmin sous la main pour vider régulièrement la table de cache, ceci permet de s'assurer de ne pas voir de morceau de page n'utilisant pas les modules (ou filtres) installés.
Le résultat de ma migration ce trouve sur ce site : http://v71.bonvga.net/ Je continuerai une prochaine fois, quand j'aurai migré gallery2 
Une petite feature en plus sur le module google_earth : il affiche maintenant la position géographique de celui qui télécharge le fichier KML. La nouvelle version (1.2) est disponible sur cette page.
J'en profite également pour faire remarquer la mise à jour des cartes Google Earth sur Paris notamment, celles-ci offre une qualité incomparable aux précédentes.
Un bon petit week-end au pays histoire de ce dégourdir les neurones
Nous avons passé la journée chez Florence et Nicolas et nous avons découvert leur nouvel appartement. J'ai ajouté l'album photo de cette journée.
Au retour, dans le train, je me suis penché sur la remarque de tostinni au sujet des bases de données GeoLite (gratuites) pour les intégrer au module Drupal google_earth. Ce qui est maintenant chose faite pour GeoLite City ! Une mise à jour du module est disponible.
Sur ce, bonne semaine à tous !
Update : Un petit rappel, il faut être inscrit pour visualiser les albums photo.
Le module google_earth pour Drupal est maintenant disponible sur le CVS de Drupal à cette adresse : http://cvs.drupal.org/viewcvs/drupal/contributions/modules/google_earth/
Une modification du module Gallery pour Drupal qui permet d'afficher le résultat de la recherche à travers Gallery avec des miniatures :

Encore une modification de porki 
Dans le fichier gallery.module à la ligne 250 remplacez :
{* remplacez cela *}
$link = str_replace('&', '&', $urlGenerator->generateUrl(array('itemId' => $result['itemId'])));
$find[] = array('title' => $result['fields'][0]['value'],
'link' => $link,
'type' => $module['name'],
'snippet' => implode('<br />', $excerpt));
{* --------------------- *}
{* par ceci *}
$link = str_replace('&', '&', $urlGenerator->generateUrl(array('itemId' => $result['itemId'])));
$params['itemId'] = $result['itemId'];
$params['blocks'] = 'specificItem';
$params['show'] = 'none';
list($ret, $content) = GalleryEmbed::getImageBlock($params);
$excerpt[] = $content;
$find[] = array('title' => $result['fields'][0]['value'],
'link' => $link,
'type' => $module['name'],
'snippet' => implode('<br />', $excerpt));Et voila !
Avant de commencer : Cette page explique comment ajouter un champ de recherche autocompleté sur Drupal 4.6 en utilisant la librairie scriptaculous. Pour les nouvelles version de Drupal, j'ai développé un module Search autocomplete.
Voici une méthode pour 'ajaxifier' rapidement et simplement le moteur de recherche intégré à un site drupal. Ci dessous un exemple en image :

Commencez par télécharger scriptaculous puis décompactez l'archive dans le répertoire 'misc/' de votre installation de drupal.
Ensuite, sur le template themes/bluemarine_smarty/page.tpl (thème bluemarine_smarty), remplacez les portions de code suivantes :
{* remplacez cela *}
{$head}
{$styles}
{* --------------------- *}
{* par ceci *}
{$head}
<script src="misc/scriptaculous-js-1.6.0/lib/prototype.js" type="text/javascript"></script>
<script src="misc/scriptaculous-js-1.6.0/src/effects.js" type="text/javascript"></script>
<script src="misc/scriptaculous-js-1.6.0/src/controls.js" type="text/javascript"></script>
{$styles}et aussi
{* remplacez cela *}
<div id="search">
<input class="form-text" type="text" size="15" value="" name="edit[keys]" alt="{$search_description}" />
<input class="form-submit" type="submit" value="{$search_button_text}" />
</div>
{* --------------------- *}
{* par ceci *}
<div id="search">
<input autocomplete="off" class="form-text" type="text" size="15" value="" id="search_field" name="edit[keys]" alt="{$search_description}" />
<style type="text/css"><!--{literal}
div.auto_complete {
width: 250px;
background: #fff;
text-align: left;
}
div.auto_complete ul {
border:1px solid #ccc;
margin:0;
padding:0;
width:100%;
list-style-type:none;
}
div.auto_complete ul li {
margin:0;
padding:3px;
}
div.auto_complete ul li.selected {
background-color: #ccc;
}
div.auto_complete ul strong.highlight {
color: #ccc;
margin:0;
padding:0;
}{/literal}
--></style>
<div class="auto_complete" id="search_auto_complete"></div>
<script type="text/javascript">new Ajax.Autocompleter('search_field', 'search_auto_complete', 'ajax_search.php', {ldelim}{rdelim})</script>
<input class="form-submit" type="submit" value="{$search_button_text}" />
</div>La modification du template est quasi similaire selon les thèmes utilisés et le moteur de template utilisé.
Créer un fichier nommé ajax_search.php sur la racine du site.
<?php
include_once 'includes/bootstrap.inc';
include_once 'includes/common.inc' ;
list($q) = explode(" ",trim($_POST["edit"]["keys"]));
if (strlen($q)>1) {
$result = db_query('SELECT DISTINCT word FROM {search_total} WHERE word LIKE \'%s\' ORDER BY word ASC, count DESC LIMIT 30', $q.'%');
echo "<ul>";
while($line = db_fetch_object($result)) {
echo "<li>".$line->word."</li>";
}
echo "</ul>";
}
?>Et voila, il n'y a plus qu'à tester !