Question: I've created a simple facebook app that can run as a tab on a client's page. I'd like a client to be able to slightly customize the content when it's used as a tab on their facebook page.

Facebook's page tab tutorial describes a URL parameter, app\_data, that can be used but you have to have full control of the tab's URL but I don't think you have any way of editing the URL of the tab. Although, if there is, I could use that method.

What I'd like is a configuration page that's available to the client. I can easily add one to the page and make it visible only when a page admin is using the page. What I don't know is, how can I store the parameters the client enters such that they are available next time the page runs.

I assume such a thing is possible but I can't find any documentation about the technique. A pointer to such documentation would be great.

Answer: 
> 
> What I'd like is a configuration page that's available to the client.
>  I can easily add one to the page and make it visible only when a page
>  admin is using the page.
> 
> 
> 

There's a setting for Page Tab apps called `Page Tab Edit Url`. When you have that specified, it points to a specific page on your webserver that is meant for admin access only. Meaning only page admins can get it. This will allow you to code a special page to allow the admin to "configure" their specific instance of your app under that page.

See: <https://developers.facebook.com/docs/appsonfacebook/pagetabs/>

Remember, you can determine the page id your app is running under by looking in the page object of the `signed_request`. You can use that as a unique identified to store page-specific settings for each instance of your app.

See: <http://developers.facebook.com/docs/authentication/signed_request/>
Well, you control the Canvas right? I mean the html and javascript that is being loaded in the tab is being served from your servers. You can make an ajax request to your servers and store the settings in MongoDB, SQL Server, or some other store, and your app can load them.