Reconstruction d'un site Drupal 7
STEM Learning est le plus grand soutien pour l'éducation et les professions dans le domaine de science, technologie, ingénierie et mathématiques (STEM).
Code Enigma a aidé STEM Learning à rassembler plusieurs services sur un seul site Drupal optimisé afin d'améliorer l'expérience utilisateur.
STEM assiste les enseignants, les ingénieurs et le personnel de soutien. Il s'agit de fournir un développement professionnel continu (DPC), des ressources pour les élèves qui soient de haute qualité.
Avant 2015, ces services étaient fournis par le biais de différents sites web. Les utilisateurs vivaient une expérience disjointe. STEM Learning a lancé un appel d'offres pour créer un site web unique et une nouvelle marque. L'objectif final était donc de regrouper les services pour améliorer l'expérience des utilisateurs.
Code Enigma a travaillé avec l'équipe interne de STEM Learning. Nous avons donc créé ensemble une nouvelle identité numérique. Puis, en premier lieu, un site Web unique contenant toutes les fonctionnalités essentielles auparavant réparties sur plusieurs sites. Nous avons ensuite migré les données de ces sites vers le nouveau site.
Pourquoi Drupal
Le client n'a pas indiqué de CMS privilégié. Cependant, il y avait une liste de plus de 300 fonctionnalités requises. Celles-ci comprenaient diverses intégrations avec des systèmes externes, comme la gestion des événements et les plateformes vidéo.
Le projet comportait des exigences complexes en matière de migration des données, en raison de l'éventail de types de données provenant de différents sites Web qui devait faire surface sur un site unique.
Drupal nous a permis de garantir que toutes les exigences soient satisfaites, nous avons pu implémenter un design dynamique pour le web. Drupal nous a aussi permis de fournir une plateforme qui pouvait être enrichie en permanence, ainsi que de soutenir une communauté en ligne d'enseignants très active.
Exigences, objectifs et résultats du projet
L'objectif principal était de produire un site Web qui soit une ressource indispensable pour les enseignants des STEM. Il s'agissait tout d'abord de fusionner des fonctionnalités réparties sur quatre anciens sites distincts. Deuxièmement, la création d'une nouvelle identité numérique.
Le nouveau site devait contenir la quasi-totalité du contenu existant. À savoir, plus de 12 000 ressources pédagogiques, 50 000 fichiers et 200 000 utilisateurs. Outre la migration des utilisateurs, il était nécessaire de migrer leur historique. Y compris les commentaires, les adhésions aux forums et les signets.
Concrètement:
- Publication de ressources d'apprentissage multimédia
- Réservations et paiements de cours
- Groupes d'intérêt spéciaux
- Forums
- Commentaires
- Listes de tags
- Microsites
- Pages de renvoi personnalisables
- Tableaux de bord personnalisés
Le projet a débuté en mars 2015 et a été lancé en décembre 2015. Désormais, il fournit à l'équipe STEM Learning une plateforme unique pour soutenir les enseignants.
Post-lancement et développement continu
Notre relation avec STEM Learning ne s'est pas arrêtée au déploiement de leur nouveau site web. En outre, ils continuent à développer et à améliorer leur offre numérique. Ainsi, nos développeurs travaillent toujours avec STEM pour fournir de nouvelles fonctionnalités au site web.
Élaboration de rapports personalisé
STEM avait besoin de générer des rapports ad hoc. En raison de la nécessité de suivre les téléchargements de ressources et les inscriptions des utilisateurs. Et tout cela dans des délais donnés. En particulier, les enregistrements d'utilisateurs nécessitaient des rapports quotidiens. Enfin, les résultats devaient être exportés vers un service externe.
Nous avons identifié ensemble les besoins. Cela nous a permis de déterminer le nombre de rapports individuels à créer. Ensuite, nous avons construit plusieurs rapports spécifiques avec des critères différents pour chaque rapport.
Surveillance du spam
Nous avons livré des fonctionnalités pour les groupes d'intérêt spéciaux et les commentaires des utilisateurs. Par la suite, les spammeurs ont malheureusement ciblé les commentaires du site STEM. Il était donc nécessaire de modérer les spams.
Nous avons construit des tableaux de bord personnalisés qui s'intégraient à un outil externe de filtrage du spam. Grâce à ces tableaux, STEM pouvait faire plusieurs choses. Premièrement, voir ce qui avait été automatiquement capturé par le filtre. Ensuite, marquer tout faux positif dans la liste. Enfin, capturer les spams non capturés.
L'annuaire STEM a été conçu comme une base de données pour les entreprises STEM, que ce soit pour l'enseignement ou le monde réel.
Nous devions concevoir un nouveau schéma de travail pour les activités de l'annuaire. En effet, elles devaient être modérées avant d'être mises en ligne. Parallèlement, une zone de modération a été créée pour faciliter la publication. En outre, des notifications par e-mail ont été mises en place pour les modérateurs et les éditeurs.
Un module personnalisé a été créé pour permettre la réalisation de ces tâches.
Restructuration de l'architecture de l'information
Au fur et à mesure que l'offre STEM Learning s'est développée, ils ont identifié des changements dans leur public au-delà des enseignants. Nous avons donc rafraîchi l'architecture de l'information du site. Nous avons modifié le plan du site et créé plusieurs nouvelles pages pour leur permettre de s'adapter au public.
Principaux modules/thème/distribution utilisés :
- Panelizer
- Wysiwyg
- Entity API
- Panels
- Facet API
- Search API
- Rules
- Better Formats
- Clientside Validation
- Commerce
- Shortcode
- Flag
- Message
- Organic groups
- Scheduler
Pourquoi ceux-ci:
Creation de contenu
Les utilisateurs normaux du site devaient être autorisés à créer du contenu par et pour eux-mêmes. Autrement dit, l'interface utilisateur pour la création de contenu devait être simple et réduite. C'est pourquoi des modules tels que Better Formats et Clientside Validation ont été utilisés. Tout d'abord, il s'agissait de simplifier l'interface. Ensuite, pour offrir une meilleure expérience lors de l'utilisation des formulaires.
Ensuite, des modules comme Protected Node et Scheduler ont été utilisés. Ils permettent aux éditeurs de créer un nœud protégé par un mot de passe et d'établir un calendrier de base pour la publication du contenu.
Ensuite, les modules Wysiwyg, Insert, Oembed, Shortcode et Shortcode Wysiwyg ont été choisis pour enrichir l'expérience de création de contenu. Ainsi, il est devenu facile d'intégrer du contenu externe dans les articles et les pages du site.
Enfin, il y avait beaucoup de logique en arrière-plan. En particulier pour plusieurs types de contenu qui sont contrôlés au niveau des Nodes/pages individuelles. Par exemple, les autorisations de champ limitent efficacement l'accès à certains champs pour des rôles spécifiques.
Groupes sociaux et bulletins d'information
ls avaient besoin de quatre types de groupes (avec quelques variations de public et privé). De plus, chaque groupe avait besoin de rôles et de permissions. Organic Groups était la base pour rendre tout cela possible.
En ce qui concerne les newsletters et les notifications de contenu de groupe, le module Flag permettait de définir les préférences d'un utilisateur donné. Celles-ci ont été appliquées à chaque groupe (notifications immédiates, digests quotidiens ou digests hebdomadaires). Ensuite, les alertes de contenu étaient construites sur la base de ce type de drapeau unique. Les modules Message Stack et Digest contrôlaient le traitement des contenus dans les digests de messages.
Outils de création de microsites et de pages de renvoi (landing pages)
L'une des principales exigences était de permettre aux éditeurs de sites de créer des pages de renvoi et des microsites. Panels a été le principal module de base utilisé. Nous l'avons fait pour contrôler l'organisation des sections et des pages. Elles étaient ensuite organisées et constituaient une base sur laquelle construire des pages d'atterrissage personnalisées.
Panelizer a permis aux différents nœuds d'avoir des mises en page différentes sélectionnées par les éditeurs. Ensuite, d'utiliser un certain nombre de widgets personnalisés. Ceux-ci ont été construits en tant que ctools content_types, et en tant qu'instances de panneaux remplissables.
Ceci a été fait pour intégrer:
- Des flux de Twitter
- des boîtes de recherche pour rediriger vers des pages avec des options pré-filtrées
- Les derniers contenus des groupes sélectionnés
- Blocs de contenu multimédia
Migration et intégration avec des API tierces
La migration est essentielle au fonctionnement quotidien du site. Des choses comme les mises à jour des informations sur les cours (et d'autres détails) se produisent quotidiennement sur un backend tiers. Des scripts de migration personnalisés récupèrent ces mises à jour ou ces ajouts toutes les quelques minutes.
En ce qui concerne le côté réservation de cours (commerce discutable) du projet ; "groupes" d'intérêts. Plutôt qu'un forum.
Performances
Le site est très riche en contenu. Ainsi, les vues, les pages de panel, etc., et certains modules de base contribuent aux performances. Les plus importants sont entitycache et Memcache. Le nombre de Nodes et d'utilisateurs actuels est de 500k respectivement. Plus une bonne quantité d'entités personnalisées.
Cela a nécessité quelques ajustements personnalisés, mais Drupal s'est très bien débrouillé avec la quantité de données. Nous sommes fiers de mentionner deux modules personnalisés que nous avons créés pour faire face à cette situation.
Notre contributions:
Ckeditor Insert
Semantic Views
File Compressor fiel