Blog makina

CPH 2010 : Drupal distros dos and don'ts

Cette conférence était menée par Jeff Miccolis de Development Seed et Irakli Nadareishvili de Phase2 Technology, l'un et l'autre sont à la tête d'une armée de développeurs ayant formé deux distributions, ayant une renommée dans l'écosystème Drupal, respectivement Open Atrium et Open Publish.

On peut résumer cette conférence comme étant une retour d'expérience assez rapide sur les différentes problématiques auxquelles ont été confrontées ces deux sociétés. Je ne vais pas répéter l'ensemble de ce qui à été dit, mais plutôt m'arrêter sur les problèmes qui semblent être redondants.

Ces deux protagonistes s'entendent à définir une distribution Drupal comme étant un package, reposant sur le core, s'installant de manière atypique à l'aide d'un profil d'installation particulier, dont le but est de répondre à un besoin spécifique. En ce qui concerne l'installation atypique, on notera cette volonté de ne jamais laisser l'utilisateur final devant un écran vide de sens - a contrario de Drupal core nu - depuis le début de la procédure d'installation, jusqu'à sa première utilisation du site. La notion de get rid of Drupal-isms que l'on peut traduire par se débarasser des Drupalismes a été employée à ce sujet, elle est très parlante.

Note personnelle à ce propos : je ne suis pas d'accord quant à l'emploi de cette expression, Drupal a certes beaucoup de défauts mais les Drupalismes sont en réalité beaucoup plus présents pour les développeurs et intégrateurs que pour les utilisateurs finaux. On notera que cette expression a été utilisée lors de plusieurs conférences, dans des contextes souvent bien différents.

Votre notation : Aucun Moyenne : 5 (522 votes)

Introduction au DrupalCon CPH 2010

Depuis avant-hier soir, Dimanche, Florent et moi sommes arrivés à Copenhague pour le DrupalCon CPH 2010. Pour cette occasion, je vais rédiger une série d'articles, tantôt informels, tantôt techniques, en résumé des conférences auxquelles je vais assister.

Les premières impressions sur ce DrupalCon sont assez bonnes, le cadre est magnifique et moderne, les locaux dans lesquels les conférences se déroulents sont spacieux, et bien organisés.

Aucun vote pour l'instant.

Un nouveau theme \o/

Et voilà, depuis le temps que je trainais l'infameux thème Bluemarine comme base de travail pour celui de mon site! J'ai franchis le pas, pour de multiples raisons1, et que diable, au bout de deux bonnes heures de travail je suis enfin arrivé à un résultat.

Au programme, tout un tas de nouveautés, même si la différence n'est pas flagrante à première vue.

Dans le gros du travail, un thème mélangeant positions absolues et conteneurs floatants, table-less et fluide. Un header quelque peu particulier, puisqu'il est en réalité rendu non loin du footer, suffisament bas dans la page pour ne pas polluer le html brut.

Pour finir, quelques heures de travail, des découvertes en CSS, un peu de Gimp pour faire le fond zébré (et oui, moi je réinvente la roue, je me fais mal, et j'aime ça), et la place pour de nouveaux modules, à venir, plus tard quand ils seront releasés officiellement.

Votre notation : Aucun Moyenne : 1 (1 vote)

Honte du jour

Aujourd'hui, j'ai installé Seven, l'infamous sur ma machine Desktop perso. Je tenais partager mes premières impressions.

Aucun vote pour l'instant.

Le spam traduit en français du jour, featuring Google Translate

Le mail d'origine est, accrochez vous bien :

More drive for in-out sticking

Google Translate, mon bon ami, semble être perdu sur celle là, puisqu'il me dit :

Plus de lecteur pour en coller sur

Pour les gens un peu geek, j'imagine qu'on aurait pu traduire vaguement par :

Votre notation : Aucun Moyenne : 5 (2 votes)

Emulate the CCK form validation process for a given field

Something that you may need to do one day or another is validating a custom form field value as if it was a Content field existing value, outside of the node form context.

There is something quite sad about Content module, that is the API does not seems (in Drupal 6, at least, I'm awaiting for a lot of improvements in D7 Field API) to expose any function for manual field validation. The whole process of validation goes through the numerous iterations in node_form and in hook_nodeapi() content module's implementation.

I found a way, quite ugly, but tested and working, let's analyse the following code (comments are inside the function)...

Aucun vote pour l'instant.

Code snippet: current OG context to node creation links

Simple use case of the day : when you deal with Organic Groups in Drupal, you might want your users to be able to create nodes in their groups without dealing with the infamous audience checkboxes.

A simple solution is to use the links from the Navigation menu. In order for OG to be able to add a node as post in a group, it needs to find the gids[] GET parameter.

An ugly, but really efficient solution is to use the custom_url_rewrite_outbound() function to alter node/add/* links and enforce the gids[] parameter if the user is currently is in a group context.

Votre notation : Aucun Moyenne : 5 (2 votes)
Étiquettes:

Le spam traduit en français du jour

Celui là me faut beaucoup rire :

Solution pour le problème de mâle délicat

Notez que j'ai volontairement mal placé le mot "délicat", je trouvais ça beaucoup plus drôle dans ce sens là.

Votre notation : Aucun Moyenne : 3 (1 vote)

Le spam traduit en français du jour

À partir de ce jour, j'ai pris la décision de traduire, régulièrement, un spam reçu sur une de mes boites mail en français. Le mail du jour est :

Les légendaires pillules sexuelles en ligne.

Bien que dégoûté d'en recevoir autant, environ une cinquantaine par jours, dont seulement 3 ou 4 d'entre eux passant mon spam assassin, je dois avouer qu'il me font parfois bien rire.

Votre notation : Aucun Moyenne : 4.8 (4 votes)

De la bonne utilisation de strtr()

Essayez un jour de taper ceci :

<?php
$lockMessage
= "This container is currently being edited by %account";
$lockMessage = strtr($lockMessage, '%account', 'Anonymous');
?>

Votre notation : Aucun Moyenne : 5 (2 votes)
Étiquettes: