2008-09-02 4 views
41

Normalmente desarrollo mis sitios web en el enlace troncal, luego fusiono los cambios en una rama de prueba donde se colocan en un sitio web "beta" y finalmente se fusionan en una rama activa y se ponen en vivo sitio web.Desarrollando y probando una aplicación de Facebook

Con una aplicación de Facebook, las cosas son un poco complicadas. Como no puede ver una aplicación de Facebook a través de un navegador web normal (tiene que pasar por los servidores de Facebook), no puede asignar fácilmente a cada desarrollador su propia versión del sitio web para trabajar y probar.

No he encontrado nada sobre la mejor manera de desarrollar y probar una aplicación de Facebook mientras sigo teniendo un sitio web en vivo estable que los usuarios pueden usar. Mi pregunta es: ¿cuál es la mejor práctica para organizar el desarrollo y las pruebas de una aplicación de Facebook?

Respuesta

14

La forma en que yo y mi compañero lo hicimos fue que cada uno hiciéramos nuestras propias aplicaciones privadas de Facebook, que apuntaban a nuestra dirección IP donde trabajamos en ella. Como trabajábamos en el mismo lugar, cada uno elegía un puerto diferente y nuestro enrutador enviaba ese puerto a nuestra dirección IP local. Fue un poco lento para actualizar una página, pero funcionó muy bien.

6

Deberá agregar las versiones troncales y de prueba como diferentes aplicaciones y probarlas usando test accounts. También puede usar una sola aplicación y cambiar su URL objetivo entre ciclos.

5

Probar las aplicaciones FB sigue siendo un proceso bastante primitivo.

Generalmente configuro una aplicación de prueba que es una copia completa de la configuración de producción dentro del entorno de desarrollo de FB que utiliza un túnel SSH para apuntar a mi servidor de desarrollo. Puede configurar tantas aplicaciones como necesite dentro de FB: generalmente tengo una aplicación de desarrollo, una aplicación de ensayo y producción. La puesta en escena y la producción se realizan en servidores "activos" en lugar de en un túnel SSH.

En su aplicación, a continuación, utilice las herramientas de lenguaje/marco/servidor a su disposición para cambiar la configuración de FB en función del servidor. En Rails, la gema Facebooker en realidad tiene compatibilidad incorporada para diferentes configuraciones de FB.

Una vez hecho todo esto, la prueba, desafortunadamente, sigue siendo una cuestión de ejecutar la aplicación dentro de FB. Uso Selenium para automatizar la mayor cantidad de esto posible.

22

Intente actualizar su archivo de hosts (for windows users @ c:\windows\System32\Drivers\etc\hosts) con una entrada que enrutará todas las solicitudes de su dominio en vivo a su máquina.

Así 127.0.0.1 mywebappthatusesfacebook.com.

a continuación, asegúrese de que su aplicación se está ejecutando en la raíz de su servidor web. @http://localhost/ Luego goto mywebappthatusesfacebook.com en su navegador y debería redireccionar directamente a su máquina local. Facebook no sabrá la diferencia. Espero que esto ayude

+5

que le ayuda a llegar a su sitio. Pero los servidores de Facebook no llegarán a eso. – Rory

+0

¿Puedes explicar en detalle cómo lo hago? –

+1

¡Funciona increíble! Una solución tan simple. Hubiera votado cien veces si hubiera podido –

1

Lo tenemos configurado como Toby. Una serie de archivos de configuración para cada desarrollador, que tiene la información de identificación de la aplicación de Facebook (una aplicación diferente para cada desarrollador), páginas separadas donde se aloja la aplicación, y git ignora los archivos de configuración. Somos LAMP con Code Igniter, y es similar a Rails en cuanto a que podemos configurar el entorno en 1 archivo, que apunta a la configuración con las constantes de Facebook.

Se ramifica en Selenium, usando pruebas unitarias para pruebas de modelo.

1

Para las pruebas locales simplemente utilizamos una aplicación diferente que para el servidor. En nuestro caso, Canvas-URL se establece en localhost.local: 8000.

Solo tiene que asegurarse de que cuando usa Facebook connect, escriba localhost.local en el campo de dirección del navegador y no solo localhost.

Para probar un lienzo o una aplicación de pestañas es más rápido si utiliza el comando 'abrir iframe en una pestaña nueva' de Firefox. De esta forma, se preservan la sesión y las cookies de Facebook.

+0

¿por qué' localhost.local' es mejor que 'localhost'? –

+0

No lo he probado ahora, pero solo localhost solía no funcionar. (Al menos en 2011) – sbaechler

4

mejor manera de hacer esto:

Quitar 'App dominio' de 'Información Básica'

de sitio Web conjunto 'URL del sitio' a: "http: // localhost /".

Eso simple.

(Esto sólo se aplican si usted no tiene un sistema vivo que se ejecuta en paralelo a la prueba de env. En ese caso, se consigue otra de las claves.)

0

Otra solución es NGROK

https://ngrok.com/

Se abre un túnel pública para su aplicación local de

ejemplo en mi solicitud rieles simplemente escribiendo

./ngrok 3000 

me sale

http://630066fe.ngrok.com -> 127.0.0.1:3000 
Cuestiones relacionadas