Facebook is deprecating FBML and recommending JavaScript SDK (on Graph API) with Social Plugins to implement features inside an iFrame app.
If FBML goes away so does its controls including the tabs FBML. Excerpt:
fb:tabs
Advanced Topics › Legacy FBML › fb:tabs
Renders a group of standard
Facebook navigation tabs. Must contain
at least one fb:tab-item.
Is there a Facebook replacement for the tabs UI control, or is it now left up to the developer to find their own tab control for use in iFrame apps?
Another potential avenue is XFBML - I think if Facebook is deprecating FBML then they might be deprecating XFBML by inference, but I cannot find a definitive statement about this. FBML might refer to the type of app, or it might refer to the tags because FBML tags can be used inside an iFrame (i.e. usedoutside of an official FBML application). I would choose to use XFBML in an iFrame app if it's not being deprecated with standard FBML.
Apparently you have to find your own tab ui technology (same for other specialized controls offered by FBML). It's best left up to the programming technology used in your iFrame pages. e.g. PHP, ASP.NET, jQuery, etc.
Related
Any way to join FBML and Graph API to post HTML to a FB page?
FB Iframe's based solutions are welcome too.
EDIT 24 hrs after: After play with the Page Tab functionality I have found that it is the best way to embed custom content (HTML/CSS/javascript) inside FB pages.
Basically are iframes. In the Page tab settings you must enter the URL to embed. That's all! You can use Signed Request to get the id's page and something called app_data. With that you can dynamically manage your embedded content!!!
Thanks to DMCS to guide me to it.
Yes, while the FBML is being deprecated, there is another way to accomplish posting something to a page.
You can see an example here of what is called a page tab application. It is an app specifically designed to be used on a Facebook page. It becomes a tab (can even be set to the default of what a visitor sees).
Here's an example: http://www.facebook.com/GoDaddy?sk=app_233280480043288
You can see that the content is HTML and you have full control over that HTML since it lives on your server. This also demonstrates how a fan-gate operates.
https://developers.facebook.com/docs/reference/fbml/
We are deprecating FBML. On Jan 1, 2012: FBML will no longer be supported on Platform. June 1, 2012: FBML apps will no longer work. All FBML endpoints are removed. If you are building a new application on Facebook.com, please implement your application using HTML, JavaScript and CSS. You can use our JavaScript SDK and Social Plugins to embedded many of the same social features available in FBML.
I get to work on an old Facebook App, which is a canvas facebook application and uses FBML.
Now none of the tags of FBML seems to be working, so i just want to know, is it completely removed by facebook?
If yes, how would i write the code in the for:
<fb:dashboard>
<fb:action href="http://apps.facebook.com/ilovebolly/index.php">Home</fb:action>
<fb:action href="http://apps.facebook.com/ilovebolly/movie.php">Movies</fb:action>
<fb:action href="http://apps.facebook.com/ilovebolly/celebrity.php">Celebrities</fb:action>
<fb:action href="http://apps.facebook.com/ilovebolly/news.php">News</fb:action>
<fb:action href="http://apps.facebook.com/ilovebolly/invite.php">Invite Friends</fb:action>
<fb:help href="http://apps.facebook.com/ilovebolly/help.php">Help</fb:help>
</fb:dashboard>
Is there any method in the Javascript SDK or will I have to write pure HTML, CSS for this?
According to the roadmap, you can no longer create new FBML apps. However, if it's an old app you should be able to use FBML for the timebeing. According to the FBML reference, the individual tags aren't deprecated either. Implementing this for an iframe would involve pure HTML/CSS and Javascript if you want - there's no JS SDK method for it.
Yes its a part of the Facebook Roadmap for 2011. you can check some tutorials for developing applications with the facebook php graph api. Check this link.
As Facebook announced to support the iframe for page tabs also.
http://developers.facebook.com/blog/post/462
I have an existing facebook app built on FBML, and it was working fine until i changed the settings to use the iframe in page tabs.
My app uses FBJS for scripting.
But, now after changing the settings, i noticed FBJS doesn't work with iframe page tabs.
Does anyone facing the similar issue?
-Imran
I don't know if there's a point in answering a question this old, but I'm fairly certain that you need to replace your FBJS with plain old JavaScript when you switch from FBML to IFRAME.
How can I add a wall on my facebook-application (fbml).
Do I have to store the wallposts (user-id and comment) in my database, and display them using fb:wall, fb:wallposts, or is it a plugin like fb:comments for this? If so, how do I add a textfield/form for interacting with the wall?
Figured it out. It has to be stored in a separate database. fb:wall etc. just mimics the look of a wall-
http://developers.facebook.com/docs/reference/fbml/wall/
FBML has been deprecated. Starting June 1, 2012 FBML apps will no longer work as all FBML endpoints will be removed. If you are building a new application on Facebook.com, please implement your application using HTML, JavaScript and CSS. You can use our JavaScript SDK and Social Plugins to embedded many of the same social features available in FBML.
I want to get iframe application but on top of it, would love to put tabs. and iframe are not really seem compatible. Do you guys know any work around this?
Thanks,
Ebe
You can't use an iframe in a Facebook Tab application due to restrictions from Facebook, though in this blog post from mid-August they say they will begin supporting IFrames for Page tabs "in the next few months".
There are other restrictions for applications which live within a Tab too, eg you have to use FBJS methods instead of regular javascript. It's a pain in the neck.
In this presentation, from January, Facebook suggest that if you really need iframe functionality in a Tab you can work around it by not putting your application in the Tab... make a Tab containing just a link to a Canvas Page, where your application can use iframes.
Alternatively if you are talking about a 'tab-style' UI for your application then it is possible with using iframes. Just use javascript to show and hide different content divs.
Here is an example of an app with a tab-style UI (and it's a Tab app, so it can't use iframes):
http://www.facebook.com/VansEurope?v=app_122643704452302