Search API Solr sort by a field depending of value
With Drupal 7 and Search API + Search API Solr, i need to return content in top of results depending of another value.
Content indexed has 2 multiple fields list (or taxonomies like in example, whatever) with the same list: 'field_job' and 'field_best_job'. This is my example, but this can be converted by many other uses case.
First, my search is filtered by a facet on a field 'field_job' with value 'developer' and i want to put on top of results every contents which also have 'developer' value in the field 'field_best_job'.
Index localized taxonomy term with Search API and Solr
In Drupal 7 with Search API and Solr, i need to index taxonomy terms label which are localized, so terms can be searched in full text or thanks to facets in each localized translation.
I use modules search_api, search_api_solr, search_api_et, search_api_et_solr and i18n_taxonomy.
I see many issues and patch to make this fixing or altering facets, but it's not the way here. I have an item by language and want to index the text for this language.
Convert Simpletest to PHPUnit
The historical test tool of Drupal Simpletest is deprecated with Drupal 8 and will be removed from Drupal 9. So tests should be converted from simpletest to PHPUnit.
It's hard to find replacements for old asserts or specials tests with PHPUnit. Solutions can be found in existing tests in modules and issues, but now issue group all replacements.
Création d'une API avec Drupal 7 pour MK2
Lors du Drupal Camp 2016 à Nantes, j'ai présenté un retour d'expérience sur la création de webservices et d'une api REST + JSON sous Drupal 7 pour les cinémas MK2.
Les slides de cette présentation sont disponibles sur github et la présentation sur youtube.
Super moments passés avec la communauté, à la prochaine !
Drupal 8: Configuration management, Config_devel Versus Features
# Gestion de la configuration sous Drupal 7
Sous Drupal 7 et antérieurs, la configuration (entités, champs, vues etc) est exclusivement stockée en base de données. Cela pose des problèmes que tout développeur Drupal a rencontré : toute modification de configuration doit être rejouée manuellement sur les différents environnements : local, développement, recette, production etc.
Pour palier à ces lacunes, l'utilisation de features a été massivement adoptée et, bien qu'imparfaite, cette méthode à longtemps été une référence.
Git merge et git rebase: les éternels incompris
Merge, rebase, c'est quoi le problème ?
Avec git, il y a deux manières de regrouper le travail de deux branches :
Patchs et issues à l'ancienne sur Drupal.org. Pourquoi pas Github ou Gitlab ?
J'utilise Git au quotidien. Parfois seul, souvent à plusieurs, que ce soit pour des projets professionnels, pour des contributions sur github, gitlab ou sur drupal.org
## Github / Gitlab
Contribuer en tant que développeur à Drupal via Drupal.org
La contribution sur drupal.org ne se fait pas via 'pull request' comme sur github mais fonctionne encore avec des patchs. Même si quelques modules sont disponibles sur github, ils ne sont censés être que des répliques, les repos principaux et les issues devant se gérer directement sur drupal.org.
Une documentation fixe la charte de bonne utilisation de git, ce qui permet d'aider les contributeurs à apprendre à générer un patch correct et permet au mainteneur de pointer vers cette documentation si besoin.
Module Commerce discount gift choice
Le module [Commerce discount gift choice](https://www.drupal.org/project/commerce_discount_gift_choice) ajoute une offre au module discount.
Cette offre permet au commerçant de définir les produits cadeaux qu'il souhaite offrir avec cette remise. Le client pourra alors choisir un de ces produits sur son panier.
Ce type d'offre n'est disponible que sur les remises de commande.
La configuration d'un point de vue commerçant est la suivante:
Module Services API Keys Authentication
## Definition du besoin
Dans le cadre d'un projet pour Commerce Guys, le besoin était de fournir un webservice permettant à la fois d'authentifier l'application consommant le service mais également d'authentifier les utilisateurs utilisant cette application, les utilisateurs (et leur authentification) étant dissociés de l'authentification de l'application.