Custom Tags
From Facebook Developer Wiki
This feature is currently in beta. Please post any bugs in bugzilla.
Custom tags allow you to extend FBML by defining your own FBML tags.
Custom tags consist of FBML snippets that are rendered during parse time on the page that contains the custom tag. You can use custom tags on canvas pages and in profile boxes.
Custom tags can be either private or public. Only the application for which you registered the tag can use private custom tags. Private tags are useful for minimizing the amount of FBML your application's servers send to Facebook when the application's pages contain multiple FBML fragments of similar structure. This reduces the amount of data your application's servers send to Facebook's servers and should improve performance.
If you decide to make your custom tags public, then any Facebook Platform application can use them. This can be a powerful way to spread the reach of your application beyond its existing userbase. For example, a video sharing application could define a video tag that other applications can use to easily embed videos in their applications. Or a maps application could define a map tag that renders a map for a given ZIP code.
You define the custom tags for your application with fbml.registerCustomTags. To use those custom tags in an FBML snippet, you must import them into a namespace using the xmlns attribute of the fb:fbml tag.
You can retrieve your application's custom tags using fbml.getCustomTags. If a tag is public, any application can fetch the tag's source FBML by calling fbml.getCustomTags. Don't register public tags with the expectation that the source FBML won't be available to other developers.
We created a Custom Tags Directory where you can find documentation on public (shared) tags created by other developers. If you've created new public tags, let the community know by adding their documentation to this wiki article.
If you need, you can delete your custom tags with fbml.deleteCustomTags. However, it's very important that you use this method with extreme care, especially with public tags. Don't delete tags that may be in use, especially by other applications! This will break FBML pages that use those tags.
At this time, you cannot render custom tags with fb:serverfbml, for use with iframe applications or Facebook Connect sites. We'll support custom tags in XFBML soon.
[edit] Custom Tags and User Privacy
Keep in mind that the existing Developer Terms of Service applies to custom tags. Specifically, you cannot transfer user data to other applications that use custom tags. The application that created the custom tags may not retrieve or store Facebook user data on their servers if that data came from an application that uses your public tags. The users of an application that uses custom tags are not considered to be users of the application that exported the custom tags (that is, they did not authorize the application that created the public tags).
[edit] Custom Tags and Security
Facebook does not review the source code for custom tags created by Platform developers and does not guarantee that custom tags work according to their documentation. Custom tag creators can change the functionality of custom tags at any time without giving developers prior notification. Before you use an application's custom tags, you should trust the developers who created them.
