7

Recientemente he leído una serie de artículos sobre la idea de utilizar "funciones alternadas" o "guardianes" para mantener las características ocultas de los usuarios hasta que finalice el desarrollo. Facebook y Flickr también hablan de cómo usan esto para probar nuevas funciones con un subconjunto de usuarios antes de desatarlas en todos.Herramienta PHP existente para característica Toggle

Un poco de google no apareció ningún paquete/herramienta PHP existente que se pueda agregar a una aplicación web para manejar este tipo de cosas. Parece lo suficientemente sencillo como para hacer rodar el nuestro pero no hay razón para reinventar esa rueda si no es necesario. ¿Hay alguna herramienta PHP existente para hacer esto?

artículos

Aclaración: La parte de esto que yo estoy buscando para ver si existe es el panel de administración que controla qué usuarios pueden ver las nuevas funciones. En el ejemplo de Flickr, pueden activarlo en función del host. En el ejemplo de Facebook, agregan funcionalidades tales como la limitación de una función al 5% de los usuarios, solo a los usuarios de TechCrunch o solo a los usuarios de la costa este.

El panel de administración parece crucial cuando tiene 200 características activadas, 10 características que aún no están listas y 3 más que está demostrando para algunos usuarios.

+0

muy simple de rodar solo lo hago todo el tiempo, verifique el usuario no yo, no cargue el elemento del menú. verifique que el usuario no me redirija a la página frontal desde el controlador frontal de secciones –

+0

¿Qué marco está usando? ¿Qué servidor web? ¿Qué Proxy? – hakre

+0

La característica alterna es simplemente una declaración "si" en su código. Hay una buena publicación que explica [Función alternar] (http://www.aviransplace.com/2013/03/27/continuous-delivery-part-3-feature-toggles), y también una idea para hacerlo un poco más que solo si usa un administrador de alternancia de funciones para que también pueda probarlo y administrar la función, se alterna –

Respuesta

1
if (user_can_see_app()) { 
    show_app(); 
} else { 
    dont_show_app(); 
} 

No veo por qué un paquete sería necesario para algo tan simple.

+0

Se ha actualizado la pregunta. Me interesa ver si hay un panel de administración existente para manejar la respuesta de user_can_see_app(). –

+2

La condición no es la parte principal. Lo más importante de tener un paquete para la conmutación de funciones es poder cargar los estados, almacenarlos en caché localmente y validar la misma función en más de un lugar. También tiene una herramienta de administración y formas de integrarse con otros idiomas, componentes y frontend. –

1

he escrito un servicio de micro para la matriz de operaciones de conmutación, llamado bipolar:

https://marinho.github.io/bipolar-server

Está escrito en Python, pero eso no importa porque es una API externa y la interfaz de administración, por lo , todo lo que necesitas es escribir un cliente PHP para ello. Lo hemos utilizado en producción por un tiempo, pero solo funcionó en publicaciones y documentos públicos recientemente. Para el soporte de JavaScript, puede enviar notificaciones utilizando Webhooks como una llamada URL básica o mediante un evento Pusher.

Me han extrañado poco después de muchos años sin contacto con PHP, pero puedo ayudarlo a escribir el cliente si está interesado.

Espero que pueda ser útil.

0

La solución más fácil que encontré es que el estado de la función de conmutación almacenado en algún lugar remoto que puede cambiar fácilmente (activar/desactivar)

descubrí que sea fácil tener en GitHub un acuerdo de recompra que sostiene un poco de datos JSON con el estado de la función de palanca, más adelante se puede cambiar ese estado en GitHub (de teléfono/PC etc ...)

su código php tiene que buscar el JSON y tomar una decisión de ella ...

Puede consultar la publicación del blog sobre cómo lograr esto:

http://www.nimrodstech.com/dead-simple-feature-toggle/

muestra un fragmento de código de cómo lograr esto de una manera sencilla.