Upload
dimensionmedia
View
5.352
Download
1
Embed Size (px)
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
What Can We Learn From CUNY Academic Commons?
BuddyPress is great for use in educational institutionsPower of BuddyPress Plugins
HTTP://DEV.COMMONS.GC.CUNY.EDU/2010/05/25/BUDDYPRESS-PLUGINS-RUNNING-ON-THE-CUNY-ACADEMIC-COMMONS/
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
Don’t forget internal uses for BuddyPress.- Use BP as internal communication tool for your company or for a client.- Use BuddyPress as a Private Collaboration Systemhttp://www.1stwebdesigner.com/tutorials/buddypress-collaboration-system/
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
http://vimeo.com/15782949
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
People To Stalk@JohnJamesJacoby@apeatling@pgibbs@boone@ptahdunbar@mazftw@jeffsayre@bpdev
https://twitter.com/#!/dimensionmedia/buddypress-developers
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?