Comment démarrer une nouvelle version du produit et briser la compatibilité avec les versions précédentes

Il y a quelques jours, jamprsquoai discuté avec mes collègues de nelio de lamprsquoavenir du plug in de test A B de nelio et de ses fonctionnalités et améliorations à venir. En tant que plate forme de test A B, le plugin doit être constamment mis à jour pour se tenir au courant des nouvelles versions de WordPress et s’assurer que tout fonctionne correctement. N’oubliez pas qu’il s’agit du premier plugin que nous avons lancé pour WordPress à la fin de 2013 et qu’il a évolué depuis. L’ajout de Gutenberg à WordPress ouvre de nouvelles possibilités de tests décentralisés. Cela soulève une question intéressante: devons nous apporter des améliorations progressives à nos produits ou est il préférable de commencer à zéro avec un nouveau produit qui tire pleinement parti des blocs WordPress?
Nous namprsquoavons pas encore décidé de la voie à suivre, mais jamprsquoaimerais discuter des problèmes que pose la publication de nouvelles versions sans être compatibles avec les versions précédentes et de la façon dont nous pouvons atténuer ou éliminer ces problèmes. Par conséquent, aujourdamprsquohui, je vais présenter deux solutions pour démarrer une nouvelle version du service en interrompant la compatibilité avec les versions précédentes afin que vos clients ne soient pas touchés par cette décision. Chris Lema a récemment mentionné sur son blog la compatibilité avec les versions précédentes,
Assurez que votre utilisateur ne se termine pas par un plug in corrompu. Quamprsquoest ce que ça veut dire exactement damprsquoarrêter la compatibilité avec les versions précédentes? Comment peut on le briser? Voici quelques exemples de modifications apportées à lamprsquoAPI (fonctions, crochets, etc.) qui peuvent étendre un plug in. Modifications structurelles
De la base de données. Changez lamprsquoAPI Cloud (si notre plug in utilise lamprsquoAPI). Passer à un nouveau modèle damprsquoentreprise, puis passer à un nouveau modèle de mise à jour, de fonctionnalité, etc. Par exemple, considérez notre service de test A B. La situation générale est la suivante:
Vous pouvez créer des tests A B sur le site Web. Fondamentalement, le test A B consiste en la page que souhaitez tester, une ou plusieurs variantes de la page et les objectifs de conversion que nous essayons damprsquoaméliorer. Toutes ces informations sont stockées dans WordPress. La composante Cloud est chargée de surveiller lamprsquoaccès aux sites Web qui utilisent le test nellio A B. Comme Google Analytics, ce composant recueille des informations, les traite et produit des résultats sommaires. Et, comme Ga, ces données sont envoyées à lamprsquoaide damprsquoun script trace. Enfin, il y a une vue dans le plug in qui se connecte au Cloud via lamprsquoAPI. Cette vue extrait les résultats sommaires et montre des statistiques et des graphiques. Les plug ins comme le test nellio A B peuvent être modifiés de plusieurs façons, et si nous ne sommes pas prudents, lamprsquoun de ces changements pourrait entraîner un « plug in déconnecté ». Par exemple, supposons que nous voulions devions mettre à jour lamprsquoAPI Cloud. Dans ce cas, nous devons également mettre à jour le plug in, car lamprsquoaffichage des scripts de suivi et des résultats dépend de lamprsquoAPI. Par conséquent, une nouvelle API nécessite un nouveau plug in. Mais le problème se pose: Cette nouvelle API signifie aussi que nos utilisateurs doivent la mettre à jour maintenant, car lamprsquoancienne version de notre plug in ne sera pas en mesure de communiquer avec la nouvelle API.
Maintenant, portez les chaussures de vos utilisateurs: un plug in qui fonctionne parfaitement et qui ne fonctionne plus grâce à vos mises à jour dans le cloud. Pas très bien. Il namprsquoy a pas de solution possible
Commentaires, installation activeamp8230) manquant, devez recommencer à zéro. Il samprsquoagit damprsquoune solution optionnelle: Nous avons lancé un nouveau produit et invitons à cesser damprsquoutiliser lamprsquoancien produit et à en acheter un nouveau. C’est ce que WordPress a fait (plus ou moins) Il y a quelques mois lors de la publication du plugin Gutenberg: décidez si souhaitez utiliser Gutenberg sur votre site en installant le plugin sur le site.
Démarrer une mise à jour pour arrêter la compatibilité avec une version précédente (opt out) Une autre option est la méthode inverse, ou opt out solution: publier une mise à jour pour arrêter la compatibilité avec une version précédente du produit et démarrer un nouveau produit en utilisant lamprsquoancienne version. De cette façon, même si la nouvelle version namprsquoest pas rétrocompatible, nous offrons aux utilisateurs une alternative pour que tout fonctionne comme ils sont habitués à le faire. En publiant une nouvelle version, tous les utilisateurs pourront la voir et la découvrir (effet wow). Toutefois, samprsquoils ne sont pas intéressés, nous leur donnerons également la possibilité damprsquoutiliser la version précédente, qui sera publiée en tant que nouveau produit. Cette approche résout les deux problèmes que nous avons soulevés dans la solution précédente. Damprsquoune part, tous les utilisateurs sauront dès le premier jour que notre produit Service a une nouvelle version et seront en mesure de voir et damprsquoessayer les nouvelles.
Damprsquoautre part, et peut être plus important encore, nous continuons de bénéficier de tout le travail accompli jusquamprsquoà présent, car nous namprsquoavons publié quamprsquoune nouvelle version du produit consolidé. Vous conserverez la marque, les commentaires, les statistiquesamp8230 Rien ne change, parce que tu ne commences pas à zéro. Comme pouvez lamprsquoimaginer, camprsquoest la solution opt out: chaque fois quamprsquoun utilisateur met à jour un plug in, il voit une nouvelle version (bien quamprsquoil namprsquoaime pas quamprsquoil rompe la compatibilité avec la version précédente). Mais tu leur as aussi donné lamprsquooccasion de revenir dans le passé.
Installez la version du nouveau produit. C’est ce que WordPress a fait en décembre dernier, lorsqu’il a introduit l’éditeur de bloc dans sa dernière mise à jour et a donné aux utilisateurs la possibilité d’utiliser l’ancien éditeur en installant le plug in Classic editor.
Détruire la compatibilité avec les anciennes versions namprsquoest pas une mince affaire, car elle peut avoir un impact significatif sur vos utilisateurs. En règle générale, nous ne le recommandons pas. Mais parfois, camprsquoest la seule option. cela est nécessaire, je suggère de mettre en œuvre lamprsquoune des deux solutions que nous voyons aujourdamprsquohui. Avec eux, assurez que vos utilisateurs ont un plan de sauvegarde afin que « tout soit comme avant » et que personne ne se plaigne de « choses cassées ». Bien sûr, en contrepartie, devez conserver deux produits (même si lamprsquoon suppose que la version « ancienne » est la moins entretenue), mais camprsquoest le sujet damprsquoun autre article.
Dites moi, avez déjà eu de tels problèmes? Comment avez résolu ça? Que feriez ? Une image caractéristique de Dietmar Becker dans unsplash.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ContactPress Supported By WordPress Plugins