2012-07-22 1 views
2

Comme vous le savez peut-être, Feature-Toggle est une méthode permettant de déployer des fonctionnalités qui ne sont pas entièrement prêtes, et de les activer en utilisant une certaine configuration. Les fonctions peuvent être activées pour des clients spécifiques (test A/B par exemple) ou progressivement pour tous les clients lorsqu'ils sont prêts.Fonction-Toggle avec GWTP

Je me demande si quelqu'un a une idée de comment le faire correctement dans GWTP. Je pensais que la fonction de basculement peut être effectuée de deux manières (deux niveaux de portée): - Utilisation du mécanisme de liaison différée: remplace l'implémentation des classes requises pour un déploiement spécifique (présentateur-portée). - Utilisation de différentes pages d'application - implémentez votre propre espace de travail et naviguez vers différents emplacements contenant les nouvelles fonctionnalités pour un déploiement spécifique (lieu-portée).

Je suppose que des portées plus fines (certaines fonctions d'un présentateur, par exemple) doivent être contrôlées via "if-else".

Afin de décider quelles fonctions sont activées, je veux utiliser une sorte de configuration (contrôlée peut-être par un profil maven). Existe-t-il un moyen d'ajouter des éléments de configuration personnalisés à la configuration du module gwt.xml?

Une autre idée comment mettre en œuvre feature-toggle? Est-ce que quelqu'un a de l'expérience avec cette méthode?

Merci!

Répondre

1

Les deux méthodes que vous avez suggérées fonctionneront.

Nous avons choisi d'implémenter la fonction de bascule au niveau du présentateur, en utilisant le gin et la liaison différée. nous avons deux modules gin (appelons-les A et B), et nous installons le bon en utilisant le mécanisme de liaison différée pour créer une propriété que nous vérifions.

Une autre approche consistera à ajouter des classes GateKeeper (GateKeeperA, GateKeeperB) que vous pouvez affecter aux présentateurs pertinents et basculer en utilisant la liaison gin/différée. ceux-ci implémenteront la logique pour autoriser/empêcher l'accès aux fonctionnalités basculées du côté client).

+0

Comment avez-vous géré la configuration de bascule? Je voudrais garder un fichier de configuration pour cela, mais comment puis-je l'utiliser à partir de la configuration de liaison différée? Ou vous avez tout fait dans le code ...? –

+0

Nous codons simplement, mais si vous avez le temps, vous pouvez écrire un générateur de code qui prendra les paramètres d'un fichier XML ou quelque chose. –