Community With BuddyPress (WordCamp Orlando 2011)

Preview:

Citation preview

Community with BuddyPressPtah Dunbar & David BissetWordCamp Orlando - December 3rd, 2011

What We Will Be CoveringWhat Is BuddyPress?Typical Applications of BPMaximizing The Potential of BPSites That “Think Outside Of The Box” Plugins And Themes To Help You Think “Outside Of The Box”

Who Are We?“The Harold and Kumar

of WordPress”

LIVING IN WONDERFUL SOUTH FLORIDA

About Ptah Dunbar, the Harold:

• Still Alive : )

• Web developer for 6 years

• WordPress, BuddyPress, bbPress Core Contributor

• Co-organizer of WordCamp Miami

• Co-organizer of WordPress Monthly Meetups

• @ptahdunbar

FATHER OF 3 BEAUTIFUL DAUGHTERS

HUSBAND TO A WONDERFUL WIFE(WOMAN PICTURED MIGHT NOT BE ACTUAL WIFE)

About David Bisset, the Kumar:• Freelance web developer for over 8 years

• Worked with WordPress for over 3 years (since version 1.5)

• Played and worked w/ BuddyPress since pre 1.0 beta.

• Co-organizer of WordCamp Miami

• @dimensionmedia / about.me/davidbisset

What Is BuddyPress?In a nutshell: “Social Networking In a Box”

What Is BuddyPress?In a nutshell: “Social Networking In a Box”Set Of Open Source Plugins For WordPress

What Is BuddyPress?In a nutshell: “Social Networking In a Box”Set Of Open Source Plugins For WordPress

Conceived in 2008, 1st Release in May 2009

Activity Streams

Global, personal and group activity streams with threaded commenting, direct posting, favoriting and @mentions. All with full RSS feed and email notification support.

ExtendedProfilesFully editable profile fields allow you to define the fields users can fill in to describe themselves. Tailor profile fields to suit your audience.

FriendingLet your users make connections so they can track the activity of others, or filter on only those users they care about the most.

Private Messaging

Private messaging will allow your users to talk to each other directly, and in private. Not just limited to one on one discussions, your users can send messages to multiple recipients.

Blogging Start a blog built on the best blogging software in the world. Even allow each of your users to start their own full powered WordPress blog. Track new posts and comments across your site.

GroupsPowerful public, private or hidden groups allow your users to break the discussion down into specific topics. Extend groups with your own custom features using the group extension API.

ForumsFull powered discussion forums built directly into groups allow for more conventional in-depth conversations.

Pick and chooseIn a nutshell: “Social Networking In a Box”Set Of Open Source Plugins For WordPress

Conceived in 2008, 1st Release in May 2009

What Does BuddyPress Look Like By Default?

DEFAULT BUDDYPRESS THEMEWORDPRESS 3.2.1 / BUDDYPRESS 1.5.1

DEFAULT BUDDYPRESS THEMEWORDPRESS 3.2.1 / BUDDYPRESS 1.5.1

DEFAULT BUDDYPRESS THEMEWORDPRESS 3.2.1 / BUDDYPRESS 1.5.1

DEFAULT BUDDYPRESS THEMEWORDPRESS 3.2.1 / BUDDYPRESS 1.5.1

What Can You Use BuddyPress For?

Obvious Solution:A niche social network on your site for a

particular topic or business (cars, art, football, underwater basket weaving, etc.)

What Can You Use BuddyPress For?Solution Gaining Popularity:

A niche social network for your local organization, church, school,

meetup group, etc.

MY.TELEGRAPH.CO.UKEXAMPLE BUDDYPRESS SITE

MY.TELEGRAPH.CO.UKEXAMPLE BUDDYPRESS SITE

Why Use BuddyPress?Open Source – Like WordPress, BuddyPress is an open-source content management system. It’s free, but it’a also actively maintained and you can assist with the development.

Control your own data – You and only you will be in control of your member data and code. There are no restrictions placed on what you can access. No worries about service changes (Ning, cough).

Control - Sell and display advertising or keep your site ad free. Your members will never receive unsolicited emails. All communication is in your hands

Customization - Tailor the features and functionality to your community’s needs with BuddyPress-specific plugins and the vast WordPress plugin repository.

Is There More BuddyPress Can Do?

Let’s Take A Look At Examples At Sites That Thought “Outside The Box” When It Came To

BuddyPress

PEERBACKERS.COMCROWDFUNDING (ALA KICKSTARTER.COM) USING BUDDYPRESS

PROJECTS PAGEMODIFICATIONS TO BUDDYPRESS GROUP API

SUBMIT PROJECT PAGEMODIFICATIONS TO BUDDYPRESS CREATE GROUP PAGE

What Can We Learn From Peerbackers.com?

What Can We Learn From Peerbackers.com?

Groups Can Be Anything If You Think “Outside The Box”

What Can We Learn From Peerbackers.com?

Groups Can Be Anything If You Think “Outside The Box”Groups Can Be Projects, Educational Courses, Seminars,

Sports Teams, etc.

What Can We Learn From Peerbackers.com?

Groups Can Be Anything If You Think “Outside The Box”Groups Can Be Projects, Educational Courses, Seminars,

Sports Teams, etc.Anything That Can Be Followed or Joined By Members

Could Be A Group

What Can We Learn From Peerbackers.com?

Groups Can Be Anything If You Think “Outside The Box”Groups Can Be Projects, Educational Courses, Seminars,

Sports Teams, etc.Anything That Can Be Followed or Joined By Members

Could Be A GroupAnything That Has It’s Own Unique Activity

Could Be A Group

TASTYKITCHEN.COMCOOKING COMMUNITY USING BUDDYPRESS

TASTYKITCHEN.COMCOOKING COMMUNITY USING BUDDYPRESS

TASTYKITCHEN.COMCREATIVELY USING WORDPRESS BLOGGING, INTEGRATING INTO BUDDYPRESS PROFILES

What Can We Learn From TastyKitchen.com?

Don’t Forget The Power of WordPress Blogging

What Can We Learn From TastyKitchen.com?

Don’t Forget The Power of WordPress BloggingWith Great Power Comes Great Responsibility

CUNY ACADEMIC COMMONSHTTP://COMMONS.GC.CUNY.EDU/

What Can We Learn From CUNY Academic Commons?

BuddyPress is great for use in educational institutions

ZOMBIESVSHIPPIES.COMUSING WORDPRESS AND BUDDYPRESS TO CREATE A SOCIAL GAME

How Did They Use BuddyPress To Make a Social Game?- BuddyPress Users Became “Players” In The Social Game- Leaderboard is a list of “top users” sorted by points- Using BuddyPress Achievements Plugin To Record OnSite Actions And Assign Points

Tips On Thinking “Outside The Box” With BuddyPress

When Creating A New Project or Site, Ask Yourself:1. Do I need user registration and profiles are needed on some level?2. Are users interacting, collaborating, or communicating with each other?3. Are users posting content (blog posts, updates, etc.) that they want to share?4. Am I already using WordPress As A CMS? (Duh.)

When Creating A New Project or Site, Ask Yourself:1. Do I need user registration and profiles are needed on some level?2. Are users interacting, collaborating, or communicating with each other?3. Are users posting content (blog posts, updates, etc.) that they want to share?4. Am I already using WordPress As A CMS? (Duh.)

* Of course, BuddyPress won't fit every situation.

Please excuse me... I’m going to use the F word now.

BuddyPress sites don’t all have to be like... Facebook.The term “social network” has been abused. Remember that BuddyPress is not “all or nothing” and not every site has to have all attributes of a typical “social network”. Turn on/off modules as you need them.

With custom coding and elbow grease, in theory you can create variations of ideas found at these popular social sites:

FoursquareFlickrForrst.com

Plugins That Can Help You Think “Outside The Box”

With BuddyPress

Achievements for BuddyPress

Inspired by video game achievement systems, Achievements for BuddyPress gives your community fresh impetus by promoting and rewarding social interaction with challenges, badges and points. For example, reward users for commenting on a blog post or uploading a picture to their profile.

Developer: Paul Gibbs

Gravity Forms w/ User Registration Add-OnCreate a registration form that creates a user account, and automatically populate user meta data and BuddyPress profile data. The User Registration Add-On also integrates with the PayPal Add-On to require a payment before the user is registered.

http://www.gravityhelp.com/gravity-forms-user-registration-add-on-v1-0-beta-1-released/

Group Documents

Group Documents creates a page within each BuddyPress group to upload and any type of file, attachment or document. Documents can be edited and deleted either by the document owner or by the group administrator.

Developer: Peter Anselmo

http://buddypress.org/community/groups/buddypress-group-documents/

BuddyPress Mobile

Theme optimized for viewing on iPhone, iPod touch. Will also work on Android and some Blackberry devices.

Developer: @modemlooper

http://buddypress.org/community/groups/buddypress-mobile

WP DEMO Creator

Demo Data Creator is a WordPress, WPMU/MultiSite and BuddyPress plugin that allows a WordPress developer to create demo users, blogs, posts, comments.

Developer: mrwiblog

http://wordpress.org/extend/plugins/demo-data-creator/

BuddyPress Skeleton Component

Demo Data Creator is a WordPress, WPMU/MultiSite and BuddyPress plugin that allows a WordPress developer to create demo users, blogs, posts, comments.

Developer: mrwiblog

http://wordpress.org/extend/plugins/demo-data-creator/

BP Multi Network

This plugin segregates BuddyPress social networks in a multi network WordPress install so that each WP network has a different social network. The user base is still shared across the WP install.

Developer: John James Jacoby, Ron Rennick

BP Group Management

Creates a panel that site admins can use to manage BP group membership by banning, unbanning, promoting and demoting current members of any group, adding new members to any group, and deleting groups.

Developer: Boone Gorges

http://wordpress.org/extend/plugins/bp-group-management/

Invite Anyone

1. The ability to invite members to the site by email.

2. By default, BuddyPress only allows group admins to invite their friends to groups. In some communities, you might want members to be able to invite non-friends to groups as well. This plugin populates the invitation checklist with the entire membership of the site, rather than just a friend list.

Developer: Boone Gorges

http://wordpress.org/extend/plugins/invite-anyone/

Where Can I Get Inspiration For BuddyPress?

Bookmark These.You Know You Want To.

BPInspirehttp://www.bpinspire.com/

BuddyPress.org Showcasehttp://buddypress.org/showcase/

BuddyBoss Directoryhttp://www.buddyboss.com/buddypress-site-directory/

Buddy Devhttp://buddydev.com/

BP Trickshttp://bp-tricks.com

Getting into BuddyPress development

BP Template Pack

Add support for BuddyPress to your existing WordPress theme. This plugin will guide you through the process step by step. Once you are finished, your existing WordPress theme will be able to manage and display all BuddyPress pages and content. The process is completely reversible and does not modify any of your existing template files.

Developer: BP Team

http://wordpress.org/extend/plugins/bp-template-pack/

The LoopStandard WordPress Loop

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

The LoopStandard WordPress Loop

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

WP Template Tags<?php the_title(); ?><?php the_content(); ?>

The LoopStandard WordPress Loop

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

BuddyPress Loop<?php if ( bp_has_members() ) : while ( bp_has_members() ) : bp_the_member(); ?>

WP Template Tags<?php the_title(); ?><?php the_content(); ?>

The LoopStandard WordPress Loop

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

BuddyPress Loop<?php if ( bp_has_members() ) : while ( bp_has_members() ) : bp_the_member(); ?>

WP Template Tags<?php the_title(); ?><?php the_content(); ?>

BP Template Tags<?php bp_member_name(); ?><?php bp_member_permalink(); ?>

http://codex.buddypress.org/developer-docs/buddypress-template-tags/

Conditional Template TagsWordPress Conditional Tags

is_page()is_single()is_archive()

Conditional Template TagsWordPress Conditional Tags

is_page()is_single()is_archive()

BuddyPress Conditional Tags

bp_is_active()bp_is_members()bp_is_my_profile()

http://codex.buddypress.org/developer-docs/conditional-template-tags/

Pro Tip: Get Curent Templateadd_filter( 'template_include', 'get_current_template' );add_filter( 'bp_load_template', 'get_current_template' );

function get_current_template( $template ){ global $current_template; $current_template = str_replace( WP_CONTENT_DIR, basename( WP_CONTENT_DIR ), $template ); $current_template = str_replace( '/', '-', str_replace( '.php', '', $current_template ) );

return $template;}

add_filter( 'body_class', function( $classes ){ global $current_template;

$classes[] = $current_template; return $classes;}, 999 );

http://codex.buddypress.org/developer-docs/group-extension-api/

Pro Tip: Get Curent Template

BP Group Extension API

http://codex.buddypress.org/developer-docs/group-extension-api/

BP Group Extension APIclass My_Group_Extension extends BP_Group_Extension { function __construct() { global $bbp;

// Name and slug $this->name = __( 'Custom Header' ); $this->nav_item_name = __( 'Custom Header' ); $this->slug = 'custom-header';

// visibliblity $this->visibility = 'public';

// Set positions towards end $this->create_step_position = 21; $this->nav_item_position = 31; }}

http://codex.buddypress.org/developer-docs/group-extension-api/

BP Group Extension APIfunction create_screen() {}

function create_screen_save() {}

function edit_screen() {}

function edit_screen_save() {}

function widget_display() {}

function display() {}

http://codex.buddypress.org/developer-docs/group-extension-api/

BP Group Extension API

http://codex.buddypress.org/developer-docs/group-extension-api/

Thanks!Questions?