Planète

Par kgaut
Kevin Gautreau

Docker image pour SolR avec plusieurs cores

Pour un projet en cours sur Drupal 8, j'ai besoin d'un moteur de recherche avec plusieurs indexes. J'utilise évidement le module search_api avec un moteur de recherche SolR, Vu que je suis en mode "développement" je vais utiliser une image docker qui me fournira une installation fonctionnelle de SolR, directement plugable avec Drupal.

Par habitude j'utilise les images de Thiebaud Schmittlin : https://github.com/TehesFR/docker-solr

Une fois docker installé l'image se lance avec la commande suivante :

docker run -p 8080:8983 tehes/docker-solr:4.10

Cela lancera une image SolR 4.10 sur le port 8080, si on souhaite utiliser une autre version du moteur il suffit d'adapter le tag :

docker run -p 8080:8983 tehes/docker-solr:6.6

Et si besoin de plusieurs indexes ?

Par contre dans mon cas, j'avais besoin de plusieurs cores pour mes différents indexes, j'ai donc adapté son image pour en créer une nouvelle : https://github.com/kgaut/docker-solr-multicore

C'est du « quick'n'Dirty » Je me suis basé uniquement sur la version 6.6 de SolR, la seule modification par rapport au DockerFile original est l'ajout d'une variable NB_CORES qui est par défaut à 4. L'image créé donc 4 core permettant d'avoir 4 indexes.

J'ai mis mon image sur Docker hub : https://hub.docker.com/r/kgaut/docker-solr-multicore/

Pour lancer l'image :

docker run -p 8080:8983 kgaut/docker-solr-multicore

4 cores et pourquoi pas 8 ?

Si jamais vous avez besoin de changer le nombre de cores, vous pouvez modifier cette image de la façon suivante :

git clone git@github.com:kgaut/docker-solr-multicore.git my-docker-solr-multicore
cd my-docker-solr-multicore

Modifiez le fichier DockerFile et à  la ligne 11 remplacez "env NB_CONTAINER 4" par "env NB_CONTAINER 8"

Construisez votre image (cette étape peut prendre un peu de temps) :

docker build -t my-docker-solr-multicore .

une fois terminée, lancez l'image :

docker run -p 8080:8983 my-docker-solr-multicore

et bim ! 8 cores :

Améliorations

Je suis loin d'être un expert docker, et si vous connaissez un moyen de passer le nombre de core voulu lors du lancement de l'image, je suis preneur. Même si vu que les cores sont créés au moment du build de l'image, je ne suis pas bien sur que cela soit possible...

Si vous avez d'autres idées d'améliorations, n'hésitez-pas, merci !

Tags: 

 

Par kgaut
Kevin Gautreau

MesPronos : Une nouvelle saison de pronostics commence

Comme pour la saison dernière, mon site mespronos.net vous proposera de faire vos pronostics sur la saison 2017-2018 de « Ligue 1 Conforama » (oui, c'est comme ça qu'il faut dire maintenant...)

C'est toujours évidement gratuit, toujours la possibilité aussi de créer ses propres groupes pour faire un concours entre amis ou collègues.

Commencé à l'origine pour mettre les mains dans drupal 8 à l'époque des premières version alpha, le module est en version alpha depuis un an maintenant, j'ai bon espoir de sortir une version beta d'ici le mondial 2018. Le code est disponible pour les curieux sur github,  ainsi que sur drupal.org. Alors, oui avant de sortir une version stable, il y a beaucoup de chose à refactoriser afin que le code soit plus propre !

 

 

Tags: 

 

Par Artusamak
Julien Dubois

Contourner l'erreur : "The SQL storage cannot change the schema for an existing field"

Contourner l'erreur : "The SQL storage cannot change the schema for an existing field"
admin
mar 11/07/2017 - 09:02

null

Corps

Je vous partage aujourd’hui une astuce qui peut vous épargner de perdre quelques cheveux. Il s’agit de l’erreur suivante :

The SQL storage cannot change the schema for an existing field (field_meta_keywords in taxonomy_term entity) with data.

Cette erreur survient lorsque vous avez créé un champ et que vous avez configuré ses settings, que cette configuration est passée en production et que vos utilisateurs ont créé du contenu qui remplit les données de ce champ.
Il arrive que vous ayez besoin de modifier la configuration de ce champ. Simple me direz-vous ? Et bien non, pas toujours car Drupal ne va pas vous laisser faire (à raison).

Selon le type de champ que vous modifiez, les settings du champ peuvent être utilisés pour créer les colonnes de la table. Avec du contenu dans la table, hors de question de vous laisser faire n’importe quoi au risque de perdre des données. Drupal va donc lever une exception (FieldStorageDefinitionUpdateForbiddenException) qui est assez explicite, pas de mise à jour du stockage du champ lorsque des données sont présentes.

Comment contourner cela ?

Vous pourriez tenter de modifier directement le fichier .yml de configuration de l’instance du champ à la main mais cela ne contournerait pas votre problème, Drupal comprendrait toujours que vous voulez modifier la configuration et vous protégerait contre la perte de vos données.

La seule solution pour cela est de travailler à un plus bas niveau via un hook_update_N() pour faire le changement de configuration. Il faudra travailler directement sur les fonctions de base de données pour manipuler les colonnes.

Voici donc le code qui permet de faire cela :

/**
* Changement du schéma de field_meta_keywords stocké dans la configuration.
*/
function project_social_update_8006() {
  // Augmentation de la longueur max du champ de 255 à 500 caractères.
  try {
    // 1. On vide le cache de la définition des champs pour travailler les mains libres.
    \Drupal::service('entity_field.manager')->clearCachedFieldDefinitions();

    // 2. On récupère la définition de notre instance de champ depuis les fichiers de config et on la sauve.
    $storage_definition = \Drupal::service('entity_field.manager')->getFieldStorageDefinitions('taxonomy_term')['field_meta_keywords'];
    \Drupal::service('entity.last_installed_schema.repository')->setLastInstalledFieldStorageDefinition($storage_definition);

    // 3. On récupère la définition du champ.
    $field_schema = \Drupal::keyValue('entity.storage_schema.sql')->get('taxonomy_term.field_schema_data.field_meta_keywords');

    // 4. On définit la nouvelle valeur de notre configuration.
    $field_schema['taxonomy_term__field_meta_keywords']['fields']['field_meta_keywords_value']['length'] = 500;
    // 6. On applique notre nouvelle configuration dans le stockage du champ.
    \Drupal::keyValue('entity.storage_schema.sql')->set('taxonomy_term.field_schema_data.field_meta_keywords', $field_schema);
  }
  catch (SchemaException $e) {
    \Drupal::logger('project_social')->error($e->getMessage());
  }
}

La solution a été réalisée suite à ce patch très inspiré de Berdir qui montre la voie de l'implémentation : https://www.drupal.org/node/2641828#comment-10711058

Bien que l'on ait utilisé les fonctions de bas niveau pour faire les modifications, on aura tout de même exporté la configuration dans son état final pour s'assurer que le la longueur du champ de l'exemple est bien définie à 500 caractères. Cela permet de ne pas détecter de diff une fois notre correctif effectué. (L'export YML et la définition en base doivent être raccords).

Il est à noter évidemment que si vous aviez dû faire des modifications plus compliquée du type supprimer une colonne il aurait fallu des étapes supplémentaires pour ne pas perdre des données. Vous saurez maintenant comment vous y prendre.

 

 

Image de couverture par Florent Darraultvia Wikimedia Commons.

Catégories
Développement
Drupal
Drupal 8
Tags
configuration
fatal

Insérer des pièces jointes dans un corps de texte avec Drupal 8

Drupal 8 permet nativement d'insérer des images au sein d'un corps de texte, à condition d'utiliser bien sûr un format de texte qui autorise cette fonctionnalité. Mais peut-on faire de même et insérer facilement des documents, des pièces jointes, au sein d'un texte de base ? Nous disposons bien sûr de nombreuses solutions avec Drupal 8 pour associer des documents à un contenu. Découvrons une solution très simple, configurable en une minute top chrono, pour pouvoir charger un document dans un corps de texte

Créer un mega menu avec Drupal 8

Créer un mega menu responsive est souvent un pré-requis régulier sur tout projet, Drupal 8 ou autre. Et si nous pouvons trouver quelques solutions proposant de créer des mega menus facilement, très souvent, ces solutions restent assez rigides et peuvent difficilement être adaptées aux pré-requis d'un projet. Mais qu'est-ce qu'un mega menu ? Ce n'est ni plus ni moins qu'un menu qui contient un peu plus qu'une liste de liens, avec du texte, des images, etc. Plutôt qu'une solution rigide, qui peut convenir si nous sommes prêts à nous plier à ses exigences, nous pouvons aussi utiliser une solution plus souple, ouverte, mais qui demande aussi un peu plus de travail au niveau du theming. Découvrons comment construire un mega menu avec le module Simple Mega Menu.

Les 13 défauts mythiques (ou pas) de Drupal 8

Ayant eu l'occasion de lire quelques récents comparatifs de Drupal et SPIP,  j'ai découvert une perception de Drupal qui n'est pas la mienne. Loin de moi l'idée de vouloir comparer Drupal et SPIP. En effet, je connais très mal SPIP, tout du moins seulement en tant qu'utilisateur de base, et beaucoup moins que Drupal, et donc je ne m'aventurerai pas sur une telle comparaison. Aussi, j'ai souhaité partager ces 13 défauts mythiques, réels ou perçus de Drupal 8, que j'ai pu (re)-découvrir récemment et qui me paraissent mériter un contre point.

Par ftorregrosa
Florent Torregrosa

Télécharger des traductions Drupal avec Composer

Bien que de nombreux articles existent déjà et que régulièrement de nouveaux en sont écrits sur ce qu'est Composer et comment s'en servir avec Drupal, voici un petit rappel.

Point sur Composer et comparaison avec Drush

Composer est un outil de gestion de paquets PHP, il permet de :

  • télécharger des librairies (principalement) PHP avec leurs lots de dépendances,

  • gérer les mises à jour de ces librairies,

  • exécuter des scripts, renseignés dans son fichier composer.json.

Tags: 

Faut-il attendre Drupal 9 pour mon projet web ?

Nous avions abordé dans un précédent billet (Une feuille de route pour Drupal 8, et après ?) la nouvelle politique de Drupal 8 en matière de gestion de version, de support et de maintenance de ses versions mineures et majeures. Cette politique a quelque peu évoluée depuis la dernière conférence DrupalCon Baltimore en avril 2017. Et cette évolution de la stratégie de Drupal mérite qu'on s'y attarde quelque peu car elle peut amener un nouvel éclairage à ceux qui hésitent à migrer leur site sur Drupal 8.

Afficher un champ individuel d'un contenu avec Drupal 8

On peut avoir besoin parfois d'obtenir le rendu HTML d'un unique champ d'un contenu ou d'une entité. Par exemple pour un affichage simplifié de contenus relatifs au contenu consulté, l'utilisation de champs spécifiques dans d'autres contextes, etc. Mais obtenir de façon programmatique le rendu d'un champ peut être problématique pour tout le système d'invalidation des caches de Drupal 8. Parcourons quelques solutions à notre disposition pour parvenir à nos fins.

Vous recherchez un développeur Drupal 8 ?

Vous avez un projet de refonte de votre site institutionnel, de votre plateforme client, et vous souhaitez, à raison, le réaliser sur Drupal ? Vous avez un site sur Drupal 6, ou Drupal 7, et souhaitez le migrer sur Drupal 8 ? Vous recherchez donc un (ou plusieurs) développeur Drupal pour réaliser votre projet ou encore pour intégrer votre équipe interne. Mais est-ce bien d'un développeur Drupal dont vous avez besoin ?

Par Marc Delnatte
Akabia

HTTPS - Sécuriser votre site Drupal avec Nginx et Let's Encrypt

Introduction

Let's Encrypt est une autorité de certification (CA) qui fournit un moyen facile d'obtenir et d'installer des certificats TLS et SSL gratuitement, ce qui permet d'appliquer le protocole HTTPS sur les serveurs WEB.

Il simplifie le processus en fournissant un logiciel, le Certbot, qui permet d'automatiser la plupart des étapes d'installation.

Par ftorregrosa
Florent Torregrosa

Retour sur les Drupal Dev Days 2017

Du 21 au 25 mars 2017 ont eu lieu les Drupal Developer Days à Séville. Environ 280 personnes y ont participé.

Cela était très sympathique et enrichissant d'être au contact avec la communauté internationale et des nombreux français sur place :).

L'ambiance est bien différente d'une DrupalCon, on est moins noyé dans la masse et il est plus facile d'aborder et discuter avec des personnes « influentes/connues » dans la communauté.

Tags: 
Par Artusamak
Julien Dubois

Les nouveautés de Drupal 8.3.0

Les nouveautés de Drupal 8.3.0
admin
jeu 06/04/2017 - 18:30

Depuis le 6 avril 2017 la nouvelle version mineure de Drupal, 8.3.0, est disponible. Bien que de nombreuses initiatives se développent rapidement, le contenu du cœur n'a, cette fois-ci, pas énormément évolué.

null

Corps

Depuis le 6 avril 2017 la nouvelle version mineure de Drupal, 8.3.0, est disponible. Bien que de nombreuses initiatives se développent rapidement, le contenu du cœur n'a, cette fois-ci, pas énormément évolué. Comme pour la sortie de Drupal 8.2.0, cet article vous dévoilera les détails de cette nouvelle mise à jour.

Modules expérimentaux

BigPipe suite et fin

Après un an de développement et de tests, le module expérimental BigPipe est le premier à être reconnu comme stable et à intégrer officiellement le cœur. Celui-ci, dont on vous a déjà parlé à chaque version mineure depuis la 8.1.0, permet d'améliorer l'expérience des utilisateurs en réduisant le temps passé à attendre le chargement de la page en apparence. En effet, il fournit au navigateur du contenu à afficher le plus rapidement possible tout en continuant de calculer l'affichage des zones complexes ou spécifiques à l'utilisateur⋅rice en parallèle.

Particulièrement efficace dans le cadre d'un trafic d'utilisateur⋅rice⋅s connecté⋅e⋅s, BigPipe souffrait d'un défaut lorsqu'il fallait servir une page anonyme pour la première fois, avant même sa mise en cache. Heureusement, ce cas précis se résout maintenant très simplement à l'aide du module Sessionless BigPipe.

Workflows et Content Moderation

Dans le cadre de l'avancement de la Workflow Initiative qui vise à intégrer un système générique de gestion d'états et de transitions dans le cœur, le module Content Moderation a été créé et intégré en tant que module expérimental dans la version 8.2.0. Initialement, ce module ne permettait que de gérer un workflow de publication appliqué aux nœuds. Dans cette nouvelle mouture, tout le code générique concernant la création et l'organisation d'un workflow a été déplacé dans le module Workflow. Le module Content Moderation, lui, ne contient plus que le code spécifique pour gérer le workflow de publication des nœuds et, en bonus, des commentaires.

Avec ce nouveau découpage, de nombreux bugs ont été corrigés et une nouvelle interface d'administration, simplifiée, a été mise en place.

Layout Discovery et Field Layout

D'abord abandonnée lors de la phase de développement initial de Drupal 8, la Layout Initiative refait son entrée dans le cœur à l'initiative des mainteneur⋅euse⋅s de quelques uns des modules les plus utilisés de Drupal 7 : Display Suite, Field Group et Panels. En effet, lors du portage de leurs modules vers Drupal 8, tou⋅te⋅s ont dû commencer à développer le même type d'interface et ils et elles ont rapidement constaté qu'il serait préférable de faire converger leurs besoins communs pour mutualiser le code au sein du cœur. Ainsi est né le module Layout Discovery, qui permet de définir et de manipuler de nouveaux objets de configuration, associés à des templates, les Layouts. Une fois n'est pas coutume, Display Suite en a profité pour se décharger d'une partie de ses fonctionnalités dans le cœur, sous la forme du module Field Layout. Ce dernier permet, comme Display Suite en Drupal 7, d'organiser les champs des entités pour les placer dans diverses zones, définies par le Layout sélectionné.

Bien qu'en alpha, ces deux modules aux fonctionnalités relativement simples remplissent déjà plutôt bien leur office et n'ont à ce jour aucun bug majeur de connu.

Autres modules expérimentaux

Le module Migrate passe enfin en bêta ! Cela signifie que les tâches majeures ont été effectuées et qu'il proposera désormais des chemins de migration d'une version bêta à la suivante si jamais un changement devait casser la compatibilité descendante.

En parallèle, Migrate Drupal et Migrate Drupal UI avancent doucement. La migration de sites Drupal 6 vers Drupal 8 sera bientôt en bêta. Celle de sites Drupal 7 est toujours à la traîne mais c'est normal car les dites Drupal 7 ont encore de beaux jours devant eux.

On a pu également constater de nombreuses améliorations du côté du module Content Moderation pour rendre la modération disponible pour toutes les entités. Attention toutefois, du fait de son statut d'alpha, la version 8.3 ne contient pas de chemin de mise à jour depuis les versions antérieures !

Le module DateTime Range, nécessaire aux modules contribués de calendriers notamment, avance sûrement vers une version stable qui devrait arriver prochainement.

Enfin, les modules Settings Tray, Place Block et Inline Form Errors n'ont pas connu de changements majeurs depuis la dernier version mineure.

Améliorations pour les éditeur⋅rice⋅s

Du côté des créateur⋅rice⋅s de contenus, pas grand chose à se mettre sous la dent si ce n'est la mise à jour de la librairie CKEditor qui fournit l'éditeur de texte riche par défaut de Drupal 8. Celle-ci apporte un nouveau thème visuel, plus léger et moderne, permettant de se concentrer plus sur le contenu. Elle fait désormais également apparaître les raccourcis clavier des différents boutons lorsqu'ils sont survolés avec votre souris, elle s'ajuste automatiquement en hauteur à mesure que vous rédigez du contenu (jusqu'à une taille maximale lui permettant de tenir dans l'écran) et intègre enfin la possibilité de coller du contenu depuis le web ou depuis Word en préservant la mise en page ou en le purifiant (selon le bouton utilisé).

Hormis la mise à jour de l'éditeur, une petite nouveauté pratique fait son apparition dans l'édition rapide du contenu. En effet, les champs de type image permettent désormais de faire glisser une image directement dans le navigateur au lieu de passer par le bouton "Parcourir" (qui reste cependant accessible en cliquant directement sur la zone).

Améliorations pour les "site-builders"

Pour avoir à l'œil son site, Drupal dispose d'une page dans les rapports contenant un récapitulatif de l'état général du site. Cette page, nommée "Tableau de bord d'administration", contient des informations sur le serveur mais aussi sur diverses options de configuration importantes et sur des points d'attention généraux soulevés par le cœur et les modules. Auparavant, cette page était une longue liste de points classés par ordre alphabétique. Désormais, les informations les plus utiles sont mises en avant et sont classées par leur criticité.

Nouveau tableau de bord d'administration mettant en valeur les éléments les plus importants et permettant de savoir d'un coup d'œil rapide si tout va bien sur le site.

D'autres améliorations diverses ont été apportées à l'interface d'administration pour la rendre plus fluide :

  • la liste des vues a été refondue pour être plus homogène avec le reste des listes d'administration, la rendre plus lisible et compacte ;
  • dans toutes les listes d'administration, l'ordre des filtres a été calqué sur l'ordre des colonnes ;
  • les actions "Supprimer" sur les blocs, que ce soit dans la liste de tous les blocs ou dans les liens contextuels, ont été harmonisées pour éviter les mauvaises manipulations (certains liens désactivaient juste le bloc alors que d'autres le supprimaient totalement).

Améliorations pour les développeur⋅euse⋅s

Comme à chaque version mineure, les fonctionnalités liées au webservices ont fait un bond en avant :

Côté architecture et industrialisation, Drupal 8 incite les projets à utiliser le système de gestion de paquets Composer. C'est donc tout naturellement que le packagist de drupal.org a été ajouté au composer.json du cœur, de même que les types de packages drupal-module, drupal-theme, drupal-profile, drupal-drush, drupal-custom-module et drupal-custom-theme ont été ajoutés, permettant à Composer de placer les paquets dans les bons répertoires.

Enfin, côté code et notamment côté standards, la syntaxe de tous les arrays du cœur a été modernisée pour passer à la notation avec crochets. De plus, la majorité des constantes utilisées par le cœur ont été intégrées dans des classes pour éviter le risque de conflit avec des librairies tierces et respecter les bonnes pratiques de la profession.
 

 

Photo de couverture © Mark Robinson, retouchée par Happyculture

Catégories
Drupal
Drupal 8
Tags
expérimentation
module
migration
workflow
administration
layout
Par admin

Compte rendu de l'assemblée générale de l'association, le mercredi 5 avril 2017

Une année de plus dans l'histoire de l'association vient de se clôturer par cette assemblée générale. Nous étions 14 participants/votants à ce rendez-vous, sur 43 adhérents à jour de cotisation.

Retour sur l'année écoulée

Profitant de nos nouveaux supports de communication, nous avons présenté le bilan de l'année avec le nouveau format de présentation de l'association. Ce format, nouvellement disponible, est à disposition de tous ceux souhaitant présenter l'association ou présenter des sujets liés à Drupal lors de meetups et rencontres, à but Open Source bien entendu.

Les évènements de l'année

Drupalcamp Nantes
Comment ne pas mentionner le Drupalcamp Nantes 2016 ?

  • 110 participants
  • 3 jours de rencontres
  • près de 20 présentations

Le bureau de l'association remercie toute l'équipe bénévole de l'évènement et particulièrement Sébastien Corbin qui a porté ce groupe vers cet évènement.
Le bureau a donc décidé en conséquence de remettre à Sébastien le prix Drupal France 2017 pour le remercier, pour toutes ses actions et le temps qu'il a consacré à Drupal et à la communauté.

A noter que cette année encore, l'association a été présente à d'autres évènements : WordCamp, AgoraCMS, JDLL, Drupagora, OSS Paris, Symfony Live ... Ces types de représentation seront toujours à l'honneur pour l'année à venir et nous en sommes très fiers.

Les évènements de l'association se sont aussi les rencontres locales dans toute la France, par le biais des meetups. Cette année nous avons noté plus de 25 rencontres, 11 drinks, et plusieurs sprints.

Une communauté soudée

L'association et tous les membres du bureau avaient suivi l'évolution du parcours de Cellou Diallo, c'est avec un grand regret que nous le voyons quitter la France, mais gardons en secret espoir qu'il puisse monter à son tour une association Drupal au Sénégal.

La communauté c'est aussi de l'entraide et cette année se sont déroulés plusieurs sprints d'un sprint "premiers patchs". Il y a toujours un bon moment pour commencer à contribuer !
A noter les autres sprints : média et traduction.

Des nouveautés

L'année dernière nous présentions notre nouveau logo, cette année encore nous avons poursuivis nos travaux. En plus des slides nommé, le site a reçu quelques améliorations. Donc le changement de nom de domaine, pour le très officiel drupal.fr.

Innovation aussi que le Grand Sondage Drupal France lancé en fin d'année. Nous remercions toutes les personnes ayant donné de leur temps pour nous aider. Nous avons reçu de nombreuses et qualitatives idées. Nous referons sans doute un sondage de ce type.

Des projets en cours

Il nous reste encore quelques sujets à traiter et des sujets en cours. Nous avons engagé cette année une discussion avec Dries et la Drupal Association à propos des noms de domaines. Nous espérons vous informer de ces avancées le plus tôt possible.

Et pour revenir sur les commissions, un premier groupe a lancé des projets sur la refonte du site drupal.fr, toujours en cours de conception, nous espérons vous dévoiler le plus tôt possible cette nouvelle version, qui proposera, sur un socle Drupal 8, de nouveaux contenus à destination des débutants et de tous ceux qui souhaitent en savoir plus sur Drupal.

Autre travail commencé, celui d'une charte pour l'organisation des meetups. Ce document encore en cours de rédaction à pour but de fédérer l'organisation des meetups en protégeant les organisateurs, les participants et l'association.

Préparons l'année à venir

Après l'heure du bilan, nous avons procédé à l'élection du nouveau bureau de l'association. Plusieurs membres ont décidés de laisser leur place.

Après délibération, voici la composition du nouveau bureau :

  • Président : Vincent Maucorps
  • Trésorier : Kévin Gautreau
  • Vice-trésorière : Anne-Sophie Picot
  • Secrétaire : Floris Moriceau
  • Vice-secrétaire : Thierry Jarrige

Toute l'équipe du nouveau bureau, remercie très chaleureusement Léon pour son implication et le temps qu'il a offert à l'association.

En page d'accueil : 
Par bisonbleu

50 ways to slide your images

50 ways to slide your images

Slider and carousel

I recently had to create a slideshow for a special project. What's so special about that you say. Indeed, everywhere you look you see slideshows. If there's one thing that's common to 99% of all websites today it's a slideshow. Almost boring. That is until you actually decide to implement one. There must be 50 ways to slide your images - and I don't mean the transition effects. There's a page with extensive documentation just for that (see References in the sidebar). Picking and choosing the right module and library is almost a burden.

There are various scenarios where you would want to display a slideshow. The most common is the home page. I've used the venerable Views Slideshow module (2007) in the past for this purpose. It's simple enough to implement and is available for D7, D8 as well as Backdrop.

ren.admin
jeu 23/03/2017 - 14:34

Pages