Cooking with BuddyPress

            Andy Peatling
            http://apeatling.wordpress.com / @apeatling




Saturday, M...
What is it?

                             Why should I use it?

                         How do I skin and extend it?


Sa...
Multi-Blog Platform




                         Multi-Blog + Social Platform




Saturday, May 30, 2009
“Just a Plugin”

                    Profiles                Blog Tracking

                    Activity Streams        Fr...
Why?
                         Build passionate users around
                                a specific niche.




Saturday...
Sports Teams
                                          Niche Communities

                           High Schools

       ...
http://buddypress.org/

Saturday, May 30, 2009
A social network: to be
                             or not to be?



Saturday, May 30, 2009
BuddyPress is not all or nothing.




Saturday, May 30, 2009
Why BuddyPress?




Saturday, May 30, 2009
Power & Stability
                         Open Source
                         Community



Saturday, May 30, 2009
BYOTOS
                         (Bring Your Own Terms Of Service)




Saturday, May 30, 2009
Custom Branding


Saturday, May 30, 2009
Existing Plugins


Saturday, May 30, 2009
University Intranet
             Profiles

             Activity Streams      + LDAP Login Plugin

             Blog Track...
How do I install BuddyPress?




Saturday, May 30, 2009
Download & Install WordPress MU




                         (stick with sub-folders if you can)

Saturday, May 30, 2009
One click download & install
Saturday, May 30, 2009
Oh, and move the themes...
                         Default BP Theme         Default WP Theme




                        ...
Choose your components




Saturday, May 30, 2009
Drop in social widgets




Saturday, May 30, 2009
Set up bbPress for forums
                               (will become easier!)




Saturday, May 30, 2009
Saturday, May 30, 2009
How do I skin BuddyPress?




Saturday, May 30, 2009
WordPress themes are
                         for blog/content pages




Saturday, May 30, 2009
BuddyPress themes are
                            for social pages




Saturday, May 30, 2009
Theme combinations
   WP Theme
   BP Theme




Saturday, May 30, 2009
Blog Networks
Saturday, May 30, 2009
BuddyPress themes have
              specific template files for each
                         component



Saturday, May ...
Neatly ordered into sub-folders
Saturday, May 30, 2009
Don’t need a component? Delete ‘em!
Saturday, May 30, 2009
URL’s map to template files

                         http://example.org/members/andy/messages/compose/




              ...
BuddyPress themes use “The
                  Loop” but not just for blog
                            posts



Saturday, Ma...
Output any BuddyPress content through
                                 custom loops

                 bp_has_activities() ...
The “Site Members” Loop
Saturday, May 30, 2009
Fine grained control over loop output




Saturday, May 30, 2009
The “Skeleton Theme” is a
              BuddyPress theme framework
                         (it’s bundled with every Buddy...
Saturday, May 30, 2009
How can I extend
                           BuddyPress?



Saturday, May 30, 2009
BuddyPress is as extensible
                              as WordPress




Saturday, May 30, 2009
All BuddyPress components are coded
                 and structured the same way




Saturday, May 30, 2009
Standardization
                         and consistency
                          makes happy
                           ...
BuddyPress functions allow you to
                        talk directly to the theme




Saturday, May 30, 2009
Building your component navigation

                             bp_core_add_nav_item (
                                  ...
bp_core_add_subnav_item (
                                ‘profile’, // Slug of parent
                                ‘Ed...
BuddyPress components are all URL
                           action based




Saturday, May 30, 2009
http://example.org/groups/wplovers/members/ban/345




    $bp->current_component          $bp->current_item   $bp->curren...
Hook in everywhere




                           http://bit.ly/bphooks
Saturday, May 30, 2009
The “Skeleton Component” is a
              BuddyPress plugin framework
                         http://bit.ly/bpskelcomp
...
http://bp-dev.org



Saturday, May 30, 2009
The Future....
                         Cast your votes!
                         http://bit.ly/bpvote




Saturday, May 3...
Thanks! Questions?
                             @apeatling
                           @buddypressdev




Saturday, May 30,...
Upcoming SlideShare
Loading in …5
×

BuddyPress @ WordCamp SF 2009

3,973 views
3,874 views

Published on

Cooking With BuddyPress at WordCamp San Francisco 2009.

Published in: Technology, Business
1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total views
3,973
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
50
Comments
1
Likes
6
Embeds 0
No embeds

No notes for slide

BuddyPress @ WordCamp SF 2009

  1. 1. Cooking with BuddyPress Andy Peatling http://apeatling.wordpress.com / @apeatling Saturday, May 30, 2009
  2. 2. What is it? Why should I use it? How do I skin and extend it? Saturday, May 30, 2009
  3. 3. Multi-Blog Platform Multi-Blog + Social Platform Saturday, May 30, 2009
  4. 4. “Just a Plugin” Profiles Blog Tracking Activity Streams Friend Connections Content Groups Comment Wires Discussion Forums Status Updates* Private Messaging Photo Albums* Saturday, May 30, 2009
  5. 5. Why? Build passionate users around a specific niche. Saturday, May 30, 2009
  6. 6. Sports Teams Niche Communities High Schools Universities Companies or Products Newspapers Intranets Blogging Networks Cities & Towns Saturday, May 30, 2009
  7. 7. http://buddypress.org/ Saturday, May 30, 2009
  8. 8. A social network: to be or not to be? Saturday, May 30, 2009
  9. 9. BuddyPress is not all or nothing. Saturday, May 30, 2009
  10. 10. Why BuddyPress? Saturday, May 30, 2009
  11. 11. Power & Stability Open Source Community Saturday, May 30, 2009
  12. 12. BYOTOS (Bring Your Own Terms Of Service) Saturday, May 30, 2009
  13. 13. Custom Branding Saturday, May 30, 2009
  14. 14. Existing Plugins Saturday, May 30, 2009
  15. 15. University Intranet Profiles Activity Streams + LDAP Login Plugin Blog Tracking + “More Privacy” Plugin Comment Wires + Group Blogs Plugin Content Groups Saturday, May 30, 2009
  16. 16. How do I install BuddyPress? Saturday, May 30, 2009
  17. 17. Download & Install WordPress MU (stick with sub-folders if you can) Saturday, May 30, 2009
  18. 18. One click download & install Saturday, May 30, 2009
  19. 19. Oh, and move the themes... Default BP Theme Default WP Theme /wp-content/bp-themes/ /wp-content/themes/ bpmember/ bphome/ (optional) Saturday, May 30, 2009
  20. 20. Choose your components Saturday, May 30, 2009
  21. 21. Drop in social widgets Saturday, May 30, 2009
  22. 22. Set up bbPress for forums (will become easier!) Saturday, May 30, 2009
  23. 23. Saturday, May 30, 2009
  24. 24. How do I skin BuddyPress? Saturday, May 30, 2009
  25. 25. WordPress themes are for blog/content pages Saturday, May 30, 2009
  26. 26. BuddyPress themes are for social pages Saturday, May 30, 2009
  27. 27. Theme combinations WP Theme BP Theme Saturday, May 30, 2009
  28. 28. Blog Networks Saturday, May 30, 2009
  29. 29. BuddyPress themes have specific template files for each component Saturday, May 30, 2009
  30. 30. Neatly ordered into sub-folders Saturday, May 30, 2009
  31. 31. Don’t need a component? Delete ‘em! Saturday, May 30, 2009
  32. 32. URL’s map to template files http://example.org/members/andy/messages/compose/ /wp-content/bp-themes/bpmember/messages/compose.php Saturday, May 30, 2009
  33. 33. BuddyPress themes use “The Loop” but not just for blog posts Saturday, May 30, 2009
  34. 34. Output any BuddyPress content through custom loops bp_has_activities() bp_group_has_members() bp_has_wire_posts() bp_has_site_members() bp_has_message_threads() bp_has_profile() bp_has_site_groups() bp_has_groups() bp_has_friendships() bp_has_site_blogs() bp_has_comments() bp_has_blogs() bp_has_posts() http://bit.ly/bploopdocs Saturday, May 30, 2009
  35. 35. The “Site Members” Loop Saturday, May 30, 2009
  36. 36. Fine grained control over loop output Saturday, May 30, 2009
  37. 37. The “Skeleton Theme” is a BuddyPress theme framework (it’s bundled with every BuddyPress download) Saturday, May 30, 2009
  38. 38. Saturday, May 30, 2009
  39. 39. How can I extend BuddyPress? Saturday, May 30, 2009
  40. 40. BuddyPress is as extensible as WordPress Saturday, May 30, 2009
  41. 41. All BuddyPress components are coded and structured the same way Saturday, May 30, 2009
  42. 42. Standardization and consistency makes happy developers Saturday, May 30, 2009
  43. 43. BuddyPress functions allow you to talk directly to the theme Saturday, May 30, 2009
  44. 44. Building your component navigation bp_core_add_nav_item ( ‘Profile’, // Name ‘profile’ // Slug ); bp_core_add_subnav_item ( ‘profile’, // Slug of parent ‘Edit Profile’, // Name ‘edit’, // Slug of sub nav item $bp->loggedin_user->domain . ‘/profile’, // parent URL ‘xprofile_screen_edit’ // Function to run when clicked ); Saturday, May 30, 2009
  45. 45. bp_core_add_subnav_item ( ‘profile’, // Slug of parent ‘Edit Profile’, // Name ‘edit’, // Slug of sub nav item $bp->loggedin_user->domain . ‘/profile’, // parent URL ‘xprofile_screen_edit’ // Function to run when clicked ); function xprofile_screen_edit() { // Do stuff (save changes etc) bp_core_load_template ( ‘profile/edit-profile’ ); } [activetheme]/profile/edit-profile.php Saturday, May 30, 2009
  46. 46. BuddyPress components are all URL action based Saturday, May 30, 2009
  47. 47. http://example.org/groups/wplovers/members/ban/345 $bp->current_component $bp->current_item $bp->current_action $bp->action_variables (string) (string) (string) (array) Easily create and use pretty URL’s in your components http://example.org/members/andy/wordcamps/attended/sf/2009 Saturday, May 30, 2009
  48. 48. Hook in everywhere http://bit.ly/bphooks Saturday, May 30, 2009
  49. 49. The “Skeleton Component” is a BuddyPress plugin framework http://bit.ly/bpskelcomp Saturday, May 30, 2009
  50. 50. http://bp-dev.org Saturday, May 30, 2009
  51. 51. The Future.... Cast your votes! http://bit.ly/bpvote Saturday, May 30, 2009
  52. 52. Thanks! Questions? @apeatling @buddypressdev Saturday, May 30, 2009

×