Dev Environment Facebook Graph API - facebook

I have doubts about how could I create objects, actions and aggregation and test it on development environment. Since facebook needs to scrap my webpage to get the object when i register an action. How could I configure my dev environment?

I've had my network guys poke a hole in the firewall to my dev server and have updated DNS point my development subdomain (ie dev.domain.tld).

Related

How to access to a local domain -which is used in a mobile app- from iPhone on testing phase?

I have been working on a NativeScript project that uses an API. The API project is on my MacBook and haven't deployed to anywhere yet. It's based on Laravel and I use Laravel Valet as development environment.
I can't test the mobile app on iPhone because the app can't connect to local API URL. I know Valet has "share" command, but because the API consumes another API -which has IP restrictions-, it doesn't work for me. Sharing a local domain via Valet's share command is something like a proxy as I understand, so the consumed API doesn't work on that proxy.
I also checked articles about how to share Macbook's network with iPhone, but it only shares the same network. I can't access the local API still.
Is there any other way that can resolve my issue? Maybe a Docker based solution? I am not that good at Docker, but I can give a try if it is possible with it.
https://ngrok.com/ will happily expose your local Laravel Valet server.
Looks like there's a bit of a walk through on that here too https://mannyisles.com/using-laravel-valet-and-ngrok/ which may help?

Confluence Macro vs Confluence Gadget

In Atlassian Confluence you can develop custom Macro or Gadget. What is the difference between these two? From what I have seen: "Gadgets are generated by scripts that run entirely in the user's web browser, not on the Confluence server"
What are the implications of it?
IMU gadget may stop working when your company's firewall blocks access to its provider, as soon as it's hosted outside of the corporate WAN perimeter; macroses won't stop as they're hosted on the Condluence server which is inside your company's perimeter.
Not applicable for On-Demand instances, though.

Develop and Test a Facebook application

Typically I develop my websites on trunk, then merge changes to a testing branch where they are put on a 'beta' website, and then finally they are merged onto a live branch and put onto the live website.
With a Facebook application things are a bit tricky. As you can't view a Facebook application through a normal web browser (it has to go through the Facebook servers) you can't easily give each developer their own version of the website to work with and test.
I have not come across anything about the best way to develop and test a Facebook application while continuing to have a stable live website that users can use. My question is this, what is the best practice for organising the development and testing of a Facebook application?
I hope I understood your question correctly.
What we have is 2 versions of our app, that is two applications defined in facebook.
We have the regular version that runs on deploy, and we have the myapp-test version.
this version runs on the domain myapptest.com (or you can use myapp.local).
In your HOSTS file (%winder%\system32\drivers\etc) define this url and redirect it to your own server on localhost (127.0.0.1).
Now, all you need is a config file on each machine that is not updated via source-control.
The localhost (development) version uses the app_id for the myapp-test, and relevant settings.
The deploy uses the other settings.
Then when you deploy you just need to upload your code.

How can we safely lock down a Facebook development environment tunneled out to the public internet?

We run a per developer development environment with each developer workstation ssh tunnelled out from our office to the public internet so we can test integration with Facebook canvas apps and facebook callbacks to our urls.
How can we limit access to this environment so Facebook servers can access our servers, cross domain authentication will work for our developers, but no random members of the public can stumble upon our development servers?
Currently the Facebook IP range is unknown, so we don't know where our open graph callbacks are coming from.
You can sandbox your application.
That way only administrators & developers of the application can interact & see the application.
You can make a change to your Facebook application to sandbox mode going to: https://developers.facebook.com/apps
In Edit settings page of the current application you choose Settings->Advanced->Sandbox Mode.

Local Facebook App Development using localhost

Is it possible to develop facebook apps locally on my system so that the callback URL need not be a public URL like http://abc.com and instead can be an internal IP address like localhost http://127.0.0.1?
It is now possible to develop Facebook apps locally.
I believe this is true especially if you're developing in an iframe, which is now the standard way of developing facebook apps (FBML is deprecated).
In case this does not work, there are still some ways to make working more convenient.
Take a look at this answer:
Testing FB apps is still a rather primitive process.
I generally setup a test application that is a complete copy of the production settings inside the FB development environment that uses an SSH tunnel to point to my development server. You can setup as many applications as you need inside FB - I generally have a development application, a staging app and production. Staging and Production are both on "live" servers rather than an SSH tunnel.
The rest of the answers to this question detail different workflows that people have utilized to make it more convenient to develop on a remote host.
you can use http://127.0.0.1/ProjectName as the callback url, or your ip address itself