I have a page in my website to invite Facebook friends to use my website and the code is pretty standard stuff
<fb:serverFbml style="width: 755px;">
<script type="text/fbml">
<fb:fbml>
<fb:request-form ....
<fb:req-choice />
>
</fb:request-form>
<fb:multi-friend-selector .../>
</fb:fbml>
</script>
</fb:serverFbml>
As far as what I understand, because I am including FB JS SDK, it interprets the XFBML tags and includes the appropriate html for the same (which is interpreted by the browser).
I hear that FBML is being deprecated. I am assuming that this will not affect the XFBML tags, rt? Can someone please confirm? I am confused because all these tags have been listed in FB documentation under Advanced Topics › Legacy FBML › fb:serverFbml.
I also have other tags in various other pages like <fb:profile-pic>, <fb:name>, <fb:title>, <fb:iframe>, <fb:google-analytics> Should I be migrating them to their HTML equivalent?
Is there some documentation on how to go about doing this? Any inputs is highly appreciated
Thanks.
fb:multi-friend-selector never had XFBML versions but only FBML which isn't the same since FBML only works in application canvas and only for apps that use FBML (not an iframe)
Cite from FBML documentation
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.
Update:
You still can use it with FB.XFBML.parse method of JavaScript SDK.
In your case looks like you should move fb:multi-friend-selector to be within fb:request-form (like it shown on fb:request-form documentation.
But I strongly suggest using Requests Dialog with JavaScript SDK instead of FBML tags
Update 2:
While not officially confirmed (yet) I'll allow myself to speculate on this a bit. Probably every FBML tags will be removed and fb:serverFbml will not be parsed by JS-SDK after June 1, 2012.
You can try to ask about this on Quora (with a big change to get response from one of officials
Related
Sounds like a silly question, but...
I'm adding the Facebook Javascript SDK to a site that appears to be in HTML5, it has a
<!doctype html> and a <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> so I'm assuming this was the original authors intent.
However, looking at the Google Analytics for the site, there might be quite a few people using IE8 to visit the site.
We don't want to use iFrames because the XFBML and HTML5 versions are more versatile.
So this is why I am asking if should I use HTML5 or XFBML for the page?
If your page is html5 then some browsers won't be supported, if you want to support all browsers don't go with html5, it's that simple.
With that said, I don't think it makes much difference which option you'll go with, and that's because in both cases you are loading the same facebook javascript sdk which then renders the plugin where the placeholder is placed.
The only difference between the two versions is how you define the plugin options in that placeholder, in html5 you're using data- attributes, and in the xfbml version you just define the facebook namespace and use custom attributes.
But both versions should work for all the browsers that are supported by facebook, the most that you'll get is invalid html in some browsers if you take the html5 version, but it should still work.
You should use XFBML as I see you get more IE users on your Google Analytics service, so I assume it is hard to ignore all those users .
Using a Facebook comment box social pluggin. Our site is currently in the beginning process of converting to an HTML5. But, noticed with the Facebook comment boxes there is no option for pre-HTML5 codes. In the Implementation pull down it only has HTML5 or xfbml - Why not have a pre-HTML5 option as well?
The HTML5 output by the Facebook plugins is also valid pre-HTML5. It's just a <script> tag and a <div> tag.
We have a Face book page.We add a custom FBML tab.Now we want to add Comment Face book plugin.I tried to add an script what i got from Face book Social Plug in.The code is
<div id="fb-root"></div><script
<src="http://connect.facebook.net/en_US/all.js#appId=178089302222317&xfbml=1"></script><fb:comments numposts="10" width="425"
publish_feed="true"></fb:comments>
After that i put this script to custom FBML page but its not reflecting any thing please suggest to solve this issue.
Thanks in advance.
You should start over and not use FBML but use an iframe instead.
You are trying to create an app on a page tab. To do this take a look at the FB dev site and it shows you how to get started with an iframe based app and then how to get that to work on a page tab.
https://developers.facebook.com/docs/guides/canvas/#tabs
Once you move to iframes you can use all of the social plug-ins and other advanced features like the Graph API.
<fb:comments xid="some_unique_id_doesnt_matter_what" canpost="true" candelete="false" publish_feed="true" numposts="10" returnurl="http://facebook.com/YOURPAGE">
<fb:title>Headline</fb:title>
</fb:comments>
this is what you are looking for.. your code doesnt work in FBML, yours is XFBML
<fb:title>
is optional
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.
I am working on writing a small Facebook application just for fun and learning. Unfortunately, the Facebook developer documentation, wiki, and samples leave much to be desired.
If my application is an iFrame app (PHP), can I use FBML within the page or do I need to use the XFBML? If I need to use XFBML, is there a repository of snippets somewhere that I could look through?
I am looking to add a friend selector box. For example, welcome to the app, pick an object, send it to 20 friends.
You would think a friend selector would be a stock component for Facebook apps, but apparently not.
I can use FBQL and CSS to define my own, but wouldn't standards and consistency be nice?
Is there a definitive, from the ground up, easy to follow Facebook app developers tutorial that covers the FBML tags, the XFBML tags and what goes where with examples?
I think in every answer I make to a Facebook question, I pretty much mention that "Facebook documentation sucks, so don't feel bad if you can't find something."
The answer is yes, you can definitely use FBML in an IFrame application. I do it routinely. Facebook is blurring the lines between IFrame apps and FBML apps with XFBML, which is great. Basically, XFBML is just regular FBML, except that it is parsed and rendered via the Facebook Connect javascript libraries. Because of this, you see a bit of a delay before an FBML control is rendered, but generally this isn't a big problem.
I'll give you an example of loading a friend selector straight from one of my IFrame apps. You'll see that it's surrounded by fb:serverfbml tags, which you need to render several of the more complicated FBML tags. The FBML items that don't need a fb:serverfbml tag around them are listed on the XFBML wiki page.
Anyway, some code:
<fb:serverfbml style="width: 650px;">
<script type="text/fbml">
<fb:fbml>
<fb:request-form
action="http://my.app.com/invite/sent"
method="POST"
invite="true"
type="My App Name"
content="You should use My App Name. All the cool kids are doing it.
<fb:req-choice url='http://apps.facebook.com/my-app'
label='<?php
echo htmlspecialchars("That sounds sweet!",ENT_QUOTES);
?>'
/>
" >
<fb:multi-friend-selector
showborder="false"
actiontext="Invite your friends to use My App Name."
exclude_ids="1234556,465555"
rows="3"
/>
</fb:request-form>
</fb:fbml>
</script>
</fb:serverfbml>
Escaping quotes gets a bit tricky with all the nested tags, so you have to watch that. You can see my example is from a PHP app, and I left an htmlspecialchars() escape call in there just for illustrative purposes (even though that particular string doesn't need escaping).
Anyhow, if you've got Facebook Connect already installed for your IFrame app, then this should work with a bit of tweaking. If you don't have Facebook Connect going yet, then follow the Rendering XFBML instructions on the XFBML wiki page.