Back to vBulletin 4.x Add-ons

Add New Facebook "Like" Button and Social Plugins (and OpenGraph to Headinclude)
Mod Version: 0.7, by kall

vB Version: 4.0.3 Rating: (3 votes - 5.00 average) Installs: 26
Released: 15 May 2010 Last Update: 17 May 2010 Downloads: 210
Not Supported Uses Plugins Template Edits Auto-Template External Content  

This modification will add OpenGraph tags to all pages, adding your Content pages to the Open Graph, along with the Facebook 'https://developers.facebook.com/docs/reference/plugins/like' under the navbar for all 'Content' pages.

What does this mean? If you have a Facebook Profile you may have noticed the new layout, where things that you 'like' are arranged by 'type'. Adding OpenGraph tags ensures you will have your pages properly classified and included.

From http://opengraphprotocol.org/ :
The Open Graph protocol enables any web page to become a rich object in a social graph. For instance, this is used on Facebook to enable any web page to have the same functionality as a Facebook Page.
Basic metadata
To turn your web pages into graph objects, you need to add basic metadata to your page. We've based the initial version of the protocol on RDFa which means that you'll place additional <meta> tags in the <head> of your web page. The four required properties for every page are:

og:title - The title of your object as it should appear within the graph, e.g., "The Rock".
og:type - The type of your object, e.g., "movie". Depending on the type you specify, other properties may also be required.
og:image - An image URL which should represent your object within the graph.
og:url - The canonical URL of your object that will be used as its permanent ID in the graph, e.g., "http://www.imdb.com/title/tt0117500/".
Install Instructions:
AdminCP - Plugins & Products - Manage Products - [Add/Import Product] , browse to the location of the .xml file you downloaded from this thread, Import it.
Template Modifications
In whichever Templates you wish to have all Features (OpenGraph), you need to add the xmlns to the head.

ie:, find:
PHP Code:
<html xmlns="http://www.w3.org/1999/xhtml"<vb:if condition="$vboptions['enablefacebookconnect']"xmlns:fb="http://www.facebook.com/2008/fbml"</vb:if> dir="{vb:stylevar textdirection}" 
Replace with:
PHP Code:
<html xmlns="http://www.w3.org/1999/xhtml"<vb:if condition="$vboptions['enablefacebookconnect'] || $vboptions['ogfb_onoff']"xmlns:fb="http://www.facebook.com/2008/fbml"</vb:if><vb:if condition="$vboptions['ogfb_onoff']"xmlns:og="http://opengraphprotocol.org/schema/"</vb:if> dir="{vb:stylevar textdirection}" 
(If there is a way to do this with plugins that wont cause major issues, someone tell me so I can make it happen that way. )

Titles
These should be part of the meta tag template that gets plugged in, but figuring out how to pass these variables is lower priority to getting this modification stable, so you need to add them in the templates.

ie: in SHOWTHREAD, find:
PHP Code:
{vb:raw headinclude
Add under:
PHP Code:
<meta property="og:title" content="{vb:raw thread.title}" /> 
in FORUMDISPLAY, find:
PHP Code:
{vb:raw headinclude
Add under:
PHP Code:
<meta property="og:title" content="{vb:raw foruminfo.title}" /> 
in MEMBERINFO, find:
PHP Code:
{vb:raw headinclude
Add under:
PHP Code:
{vb:raw headinclude}
<
meta property="og:title" content="{vb:raw prepared.username}'s Profile"/>
<
meta property="og:description" content="{vb:raw prepared.username}'s Profile "/>
<
meta property="og:image" content="<vb:if condition="$vboptions['profilepicenabled']"><vb:if condition="$prepared['profilepicurl']">http://www.nzboards.com/{vb:raw prepared.profilepicurl}<vb:else />http://www.nzboards.com/{vb:stylevar imgdir_misc}/unknown.gif</vb:if></vb:if>"/> 
To add the Like Button, in navbar, find:
PHP Code:
{vb:raw ad_location.global_below_navbar
add under:
PHP Code:
<vb:if condition="THIS_SCRIPT != 'login' AND THIS_SCRIPT != 'private' AND THIS_SCRIPT != 'register' AND THIS_SCRIPT != 'usercp' AND THIS_SCRIPT != 'faq' AND THIS_SCRIPT != 'search' AND THIS_SCRIPT != 'newreply' AND THIS_SCRIPT != 'newthread' AND THIS_SCRIPT != 'sendmessage' AND THIS_SCRIPT != 'payments'">{vb:raw fbog_likebutton}</vb:if> 
For sites running any form of Facebook Connect - You must use iFrame

Due to the new SDK not yet having Connect, and the 2 flavours of FB not mixing with each other, if you want to use Connect, you have to forgo the extra features of the SDK version that this modification ships with. 0.7 now has logic to show either or, depending on whether you have vB's native FB Connect turned on.

If you don't want to upload to v0.7+ (or are using YAFB or another Connect), replace the content of fbog_like_showthread with:
Code:
<div style="padding: 5px; border: 1px solid #3F6F81; background: #ffffff; font-size: 10px; width: 300px;">
<iframe src="http://www.facebook.com/plugins/like.php?href={vb:raw vboptions.bburl}{vb:raw relpath}&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>
</div>
Configuration Instructions
AdminCP - Settings - Options - Opengraph/Facebook Integration
Global On/Off - Set to Yes to turn the system on.
FB - Page Admins - A comma-separated list of the Facebook IDs of the Admins of your pages on Facebook.
FB - API Key - The API Key of your https://www.facebook.com/developers/apps.php.
OG - Site Name - A short, human-readable name for your site that will appear in the Like on the User's Facebook Activity Stream.

It is important to fill in these, as they are used by FB to fill in some of the information, and allows your pages to be referenced in the Open Graph.

New in Latest Version
Activity Stream -
The Activity Feed plugin displays the most interesting recent activity taking place on your site. Since the content is hosted by Facebook, the plugin can display personalized content whether or not the user has logged into your site. The activity feed displays stories both when users like content on your site and when users share content from your site back to Facebook. If a user is logged into Facebook, the plugin will be personalized to highlight content from their friends. If the user is logged out, the activity feed will show recommendations from your site, and give the user the option to log in to Facebook.

The plugin is filled with activity from the user's friends. If there isn't enough friend activity to fill the plugin, it is backfilled with recommendations. If you set the recommendations param to true, the plugin is split in half, showing friends activity in the top half, and recommendations in the bottom half. If there is not enough friends activity to fill half of the plugin, it will include more recommendations.
Recommendations Box -
The Recommendations plugin shows personalized recommendations to your users. Since the content is hosted by Facebook, the plugin can display personalized recommendations whether or not the user has logged into your site. To generate the recommendations, the plugin considers all the social interactions with URLs from your site. For a logged in Facebook user, the plugin will give preference to and highlight objects her friends have interacted with.

You specify a site for which to show recommendations for. The domain is matched exactly, so a plugin with site=facebook.com would not include URLs from developers.facebook.com. You cannot currently aggregate across multiple domains.
Both of these options have an on/off toggle in the main FB/OG Options, and are currently manual template placements in postbit or postbit legacy.

Find:
PHP Code:
                        <vb:if condition="$post['isfirstshown']">
                            {
vb:raw ad_location.ad_showthread_firstpost_start}
                            {
vb:raw ad_location.thread_first_post_content}
                        </
vb:if>
                        <
vb:if condition="$post['islastshown']">
                            {
vb:raw ad_location.thread_last_post_content}
                        </
vb:if> 
Replace with:
PHP Code:
                        <vb:if condition="$post['isfirstshown']">
                            {
vb:raw ad_location.ad_showthread_firstpost_start}
                            {
vb:raw ad_location.thread_first_post_content}{vb:raw ogfb_activity}
                        </
vb:if>
                        <
vb:if condition="$post['islastshown']">
                            {
vb:raw ad_location.thread_last_post_content}
{
vb:raw ogfb_recommendations}
                        </
vb:if> 
Demo of how they will look: http://www.nzboards.com/the-lounge/rwc-tickets-are-on-sale-90544/

Changelog.
0.7 - 19.05.2010
"Recommendations actually works, and iFrame version for Connect Users" Version.

0.6 - 18.05.2010
"Removing extra, unnecessary code" Version.

0.5 - 16.05.2010
"Activity and Recommendations" Version.

0.4 - 16.05.2010
"Content Pages" Version.
Both plugins moved to parse_templates so as to work on CMS (and to futureproof?)

0.3 - Unreleased
"Content Pages.. but not CMS? It's CALLED content for God's sake! Ahh. global_start isn't called on the CMS." Version.

0.2 - Unreleased
"Why won't it work on the bloody.. oh, I was changing plugins on the vbseo site version. Lets just throw everything into all the plugins and cross our fingers" Version.

0.1 - 15.05.2010
Initial Release.
Works on Showthread only


What's Next?
This is an early beta release to gauge the interest in Open Graph/Facebook type stuff.
I intend to add the tags to other pages, and implement some of the other Facebook Social Plugins. These will all be On/Off configurable. Some can be seen in action at:

http://www.nzboards.com/members/kall/ - Like for Member Profiles
http://www.nzboards.com/the-lounge/rwc-tickets-are-on-sale-90544/ - Activity and Recommendation Streams in first and last post.

Download

File Type: %1$s product-nzb_fbopengraph-4.0-v0.4.xml (6.8 KB, 51 downloads)
File Type: %1$s product-nzb_fbopengraph-4.0-vbseo-0.4.xml (6.4 KB, 64 downloads)
File Type: %1$s product-nzb_fbopengraph-4.0-v0.5.xml (9.4 KB, 141 downloads)

Screenshots

Click image for larger version
Name:	showthread-notliked.jpg
Views:	2072
Size:	19.8 KB
ID:	117110   Click image for larger version
Name:	showthread-liked.jpg
Views:	1882
Size:	44.0 KB
ID:	117111   Click image for larger version
Name:	fb-stream.jpg
Views:	1605
Size:	18.4 KB
ID:	117112   Click image for larger version
Name:	fb-comment.jpg
Views:	1457
Size:	22.2 KB
ID:	117113  


vblts.ru supports vBulletin®, 2022-2024