<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Bring Your Own Terms Of Service &#187; BuddyPress</title> <atom:link href="http://byotos.com/tag/buddypress/feed/" rel="self" type="application/rss+xml" /><link>http://byotos.com</link> <description></description> <lastBuildDate>Sat, 24 Jul 2010 21:29:37 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0</generator> <item><title>Welcome Pack and BuddyPress 1.2.4</title><link>http://byotos.com/2010/05/welcome-pack-and-buddypress-1-2-4/</link> <comments>http://byotos.com/2010/05/welcome-pack-and-buddypress-1-2-4/#comments</comments> <pubDate>Thu, 20 May 2010 06:19:19 +0000</pubDate> <dc:creator>Paul Gibbs</dc:creator> <category><![CDATA[BuddyPress]]></category> <category><![CDATA[Plugins]]></category> <category><![CDATA[Welcome Pack]]></category><guid
isPermaLink="false">http://byotos.com/?p=219</guid> <description><![CDATA[For those people using Welcome Pack, please be aware there is a new release of BuddyPress, version 1.2.4, out at the end of this week. The email feature of Welcome Pack might stop working until I get an update out, &#8230; <a
href="http://byotos.com/2010/05/welcome-pack-and-buddypress-1-2-4/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>For those people using Welcome Pack, please be aware there is a new release of BuddyPress, version 1.2.4, out at the end of this week. The email feature of Welcome Pack <em>might </em>stop working until I get an update out, which I shall endeavour to do as soon as possible; might not be until after the first weekend.</p> ]]></content:encoded> <wfw:commentRss>http://byotos.com/2010/05/welcome-pack-and-buddypress-1-2-4/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Welcome Pack 2.0.2</title><link>http://byotos.com/2010/04/welcome-pack-2-0-2/</link> <comments>http://byotos.com/2010/04/welcome-pack-2-0-2/#comments</comments> <pubDate>Fri, 23 Apr 2010 11:46:35 +0000</pubDate> <dc:creator>Paul Gibbs</dc:creator> <category><![CDATA[BuddyPress]]></category> <category><![CDATA[Plugins]]></category> <category><![CDATA[Welcome Pack]]></category><guid
isPermaLink="false">http://byotos.com/?p=197</guid> <description><![CDATA[Due out this evening (23rd April), Welcome Pack 2.0.2 will contain a pair of fixes which will correct the filenames of the bundled localisation files, and fix a bug where the text in the email selection menu wasn&#8217;t showing the &#8230; <a
href="http://byotos.com/2010/04/welcome-pack-2-0-2/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Due out this evening (23rd April), Welcome Pack 2.0.2 will contain a pair of fixes which will correct the filenames of the bundled localisation files, and fix a bug where the text in the email selection menu wasn&#8217;t showing the translated text.</p><p><a
href="http://cosydale.com/">Slava</a> kindly contributed the above bug fixes and has sent in a Russian translation, which is cool; thanks very much.</p><p><a
href="http://profiles.wordpress.org/r-a-y/">Ray</a> suggested that the username and group name lists should be sorted alphabetically rather than by user ID, which I agree with, so that will also be in the new version.</p> ]]></content:encoded> <wfw:commentRss>http://byotos.com/2010/04/welcome-pack-2-0-2/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Hijacking WordPress Internationalisation</title><link>http://byotos.com/2010/04/hijacking-wordpress-internationalisation/</link> <comments>http://byotos.com/2010/04/hijacking-wordpress-internationalisation/#comments</comments> <pubDate>Thu, 08 Apr 2010 19:27:20 +0000</pubDate> <dc:creator>Paul Gibbs</dc:creator> <category><![CDATA[BuddyPress]]></category> <category><![CDATA[Featured]]></category> <category><![CDATA[Code Sample]]></category><guid
isPermaLink="false">http://byotos.com/?p=129</guid> <description><![CDATA[As part of a new feature I am developing for the next release of my Welcome Pack plugin for BuddyPress, I needed a really smart way of dynamically adding my own translations for strings at page-load time; creating a stand-alone &#8230; <a
href="http://byotos.com/2010/04/hijacking-wordpress-internationalisation/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>As part of a new feature I am developing for the next release of my <a
href="http://wordpress.org/extend/plugins/welcome-pack/" target="_blank">Welcome Pack</a> plugin for <a
href="http://buddypress.org/" target="_blank">BuddyPress</a>, I needed a really smart way of dynamically adding my own translations for strings at page-load time; creating a stand-alone <a
href="http://codex.wordpress.org/Translating_WordPress#gettext_files" target="_blank">.mo </a>file to load the strings wasn&#8217;t a great solution, for reasons of requiring people to know how to configure file permissions on the server, having to figure out how to write a .mo file (I wish they were as easy as XML, but they aren&#8217;t), and &#8212; honestly &#8212; doing it that way feels like such a hack.</p><p><span
id="more-129"></span>Here&#8217;s how. Be warned that this will overwrite any translation loaded by a .mo file, but that&#8217;s exactly what I needed to do.</p><p>To add a new string into the localisation table:</p><pre class="brush: php; gutter: false;">
function example() {
global $l10n;

$mo = new MO();
$mo-&amp;gt;add_entry( array( 'singular' =&amp;gt; 'Spongebob', 'translations' =&amp;gt; array( 'Squarepants' ) ) );
if ( isset( $l10n['buddypress'] ) )  //buddypress is the textdomain
$mo-&amp;gt;merge_with( $l10n['buddypress'] );

$l10n['buddypress'] = &amp;amp;$mo;
}

_e( 'Spongebob', 'buddypress' );  // This will return &quot;Squarepants&quot;.
</pre><p>To change an existing string:</p><pre class="brush: php; gutter: false;">
function example() {
global $l10n;

if ( isset( $l10n['buddypress'] ) &amp;amp;&amp;amp; isset( $l10n['buddypress']-&amp;gt;entries['%s posted an update:'] ) )
$l10n['buddypress']-&amp;gt;entries['%s posted an update:']-&amp;gt;translations[0] = '%s posted a monkey:';
}
</pre><p>Post a comment if you use this technique for anything interesting</p> ]]></content:encoded> <wfw:commentRss>http://byotos.com/2010/04/hijacking-wordpress-internationalisation/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Wpmu.org look at the Achievements plugin</title><link>http://byotos.com/2010/01/wpmu-org-look-at-the-achievements-plugin/</link> <comments>http://byotos.com/2010/01/wpmu-org-look-at-the-achievements-plugin/#comments</comments> <pubDate>Mon, 11 Jan 2010 19:04:10 +0000</pubDate> <dc:creator>Paul Gibbs</dc:creator> <category><![CDATA[BuddyPress]]></category> <category><![CDATA[Plugins]]></category> <category><![CDATA[Achievements]]></category><guid
isPermaLink="false">http://byotos.com/?p=69</guid> <description><![CDATA[Sarah Gooding at wpmu.org has taken a look at my Achievements plugin for BuddyPress. I think it&#8217;s a great writeup and certainly has inspired me to carry on improving it. Take a look.]]></description> <content:encoded><![CDATA[<p><a
href="http://wpmu.org/author/pollyplummer/" rel="acquaintance">Sarah Gooding</a> at wpmu.org has taken a look at my Achievements plugin for BuddyPress. I think it&#8217;s a great writeup and certainly has inspired me to carry on improving it. <a
href="http://wpmu.org/get-your-users-interacting-with-the-buddypress-achievements-plugin/">Take a look</a>.</p> ]]></content:encoded> <wfw:commentRss>http://byotos.com/2010/01/wpmu-org-look-at-the-achievements-plugin/feed/</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>BuddyPress in 2009 &amp; nitpicks to improve in 2010</title><link>http://byotos.com/2009/12/buddypress-in-2009-nitpicks-to-improve-in-2010/</link> <comments>http://byotos.com/2009/12/buddypress-in-2009-nitpicks-to-improve-in-2010/#comments</comments> <pubDate>Fri, 18 Dec 2009 22:33:35 +0000</pubDate> <dc:creator>Paul Gibbs</dc:creator> <category><![CDATA[BuddyPress]]></category><guid
isPermaLink="false">http://metabiscuits.com/?p=38</guid> <description><![CDATA[2009 has been a very important year for BuddyPress, from its 1.0 release in April, reaching a critical mass of contributing users, helpers and developers on the forums, third-party plugin and theme development, professional use and acceptance of BuddyPress and &#8230; <a
href="http://byotos.com/2009/12/buddypress-in-2009-nitpicks-to-improve-in-2010/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>2009 has been a very important year for BuddyPress, from its <a
href="http://buddypress.org/blog/news/buddypress-10-has-arrived/">1.0 release</a> in April, reaching a critical mass of contributing users, helpers and developers on the <a
href="http://buddypress.org/forums/">forums</a>, third-party <a
href="http://buddypress.org/extend/plugins/">plugin</a> and <a
href="http://buddypress.org/extend/themes">theme</a> development, <a
href="http://wordpress.org/showcase/flavor/buddypress/">professional use</a> and acceptance of BuddyPress and appearances at many <a
href="http://central.wordcamp.org/">WordCamp</a> events throughout the world.  BuddyPress 1.2 is on course to be released early next year &#8211; you can test-drive it at <a
href="http://testbp.org/">http://testbp.org/</a>.</p><p>Between my knowledge of BuddyPress, my contributions on the forums and <a
rel="me" href="http://profiles.wordpress.org/djpaul/">my plugins</a>, I have perhaps five or six plugin ideas or concepts at some stage of development.  Some of these may see the light of day at some point and some will not.</p><p>As it nears Christmas and a new year full of promise and opportunity, I wanted to share my ideas for future improvements.<br
/> <span
id="more-38"></span></p><ul><li>Search is currently special-cased for each of the built-in components.  There isn&#8217;t a central search page (like Google), though each component has its own appropriate search areas.  BuddyPress needs a central, extensible search page to show matches on all content on a site; you shouldn&#8217;t have to go to a specific page or use a drop-down box to find matches across the entire site.</li><li>BuddyPress needs OpenID like toast needs butter.  I was lucky enough to meet Will Norris in the BuddyPress IRC chatroom last night and chat a little about this with him.  Be sure to look at his <a
href="http://willnorris.com/2009/09/openid-and-wordpress-core">OpenID on WordPress</a> webpage.</li><li>BuddyPress likewise needs to embrace the Social Web; I&#8217;m working on <a
href="http://en.wikipedia.org/wiki/FOAF_(software)">FOAF</a> and <a
href="http://en.wikipedia.org/wiki/SIOC">SIOC</a> profiles for BuddyPress; happy to work with someone(s) on this.</li><li>BuddyPress needs better end-user documentation; by end-user, I mean site administrators.  I feel there is an expertise barrier at the moment, and it&#8217;s too high.  Screencasts would be a great way to &#8220;sell&#8221; the product to site administrators as well as showing how to use it.</li><li>Following on from the last point, I&#8217;d like the admin backend and the default theme to have a little help button.  When selected, you would get a modal window drop down over the page and it would concise instruction and guidance on how to use the current page; you could even tie in the screencasts so after you&#8217;ve read about it, you could watch it.</li><li>A fortnightly podcast discussion recent developments and recapping/reviewing forum discussion would rock.  Someone should do it.  I&#8217;m not entirely sure my awesome singing voice (<em>cough</em>) would carry it off, but maybe I&#8217;d be happy to give it a try with someone?</li><li>The <a
href="http://buddypress.org">BuddyPress homepage</a> needs to make better use of BuddyPress Groups.  At the minute, unless you <a
href="http://buddypress.org/groups">go looking for the groups</a>, they are invisible.  Refreshing the theme on the homepage would do this.</li></ul><p>Merry Christmas!</p> ]]></content:encoded> <wfw:commentRss>http://byotos.com/2009/12/buddypress-in-2009-nitpicks-to-improve-in-2010/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>SVN is now public</title><link>http://byotos.com/2009/09/svn-is-now-public/</link> <comments>http://byotos.com/2009/09/svn-is-now-public/#comments</comments> <pubDate>Thu, 03 Sep 2009 17:42:37 +0000</pubDate> <dc:creator>Paul Gibbs</dc:creator> <category><![CDATA[BuddyPress]]></category> <category><![CDATA[Plugins]]></category> <category><![CDATA[Code Sample]]></category><guid
isPermaLink="false">http://metabiscuits.com/?p=27</guid> <description><![CDATA[I made my SVN repository public which I use for my BuddyPress plugins (Welcome Pack and Achievements). It is at http://svn.dangerous-minds.com/djpaul/. For example, to get the latest trunk (development) version of Achievements  — which requires BuddyPress trunk/1.1 — use http://svn.dangerous-minds.com/djpaul/achievements/trunk/.]]></description> <content:encoded><![CDATA[<p>I made my SVN repository public which I use for my BuddyPress plugins (<a
href="http://wordpress.org/extend/plugins/welcome-pack/">Welcome Pack</a> and <a
href="http://wordpress.org/extend/plugins/achievements/">Achievements</a>).  It is at http://svn.dangerous-minds.com/djpaul/.</p><p>For example, to get the latest trunk (development) version of Achievements  — which requires BuddyPress trunk/1.1 — use http://svn.dangerous-minds.com/djpaul/achievements/trunk/.</p> ]]></content:encoded> <wfw:commentRss>http://byotos.com/2009/09/svn-is-now-public/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Improving custom component installation</title><link>http://byotos.com/2009/07/improving-custom-component-installation/</link> <comments>http://byotos.com/2009/07/improving-custom-component-installation/#comments</comments> <pubDate>Sat, 25 Jul 2009 18:53:08 +0000</pubDate> <dc:creator>Paul Gibbs</dc:creator> <category><![CDATA[BuddyPress]]></category> <category><![CDATA[Code Sample]]></category> <category><![CDATA[Component]]></category> <category><![CDATA[WPMU]]></category><guid
isPermaLink="false">http://metabiscuits.com/?p=9</guid> <description><![CDATA[When implementing a custom component in BuddyPress, you will often have additions for the member theme. Member themes live in their own folder, /wp-content/bp-themes/. To render a member theme template, your component will call dpa_load_template() which takes an argument of &#8230; <a
href="http://byotos.com/2009/07/improving-custom-component-installation/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>When implementing a <a
href="http://codex.buddypress.org/how-to-guides/creating-a-custom-buddypress-component/">custom component</a> in <a
href="http://buddypress.org/">BuddyPress</a>, you will often have additions for the member theme. Member themes live in their own folder, <code>/wp-content/bp-themes/</code>.</p><p>To render a member theme template, your component will call <code>dpa_load_template()</code> which takes an argument of the name of the template to load. The path is hardcoded to the <code>/wp-content/bp-themes/</code> folder.</p><p>The problem with this is that after installation of a custom component, the site administrator will need to move the relevant member theme files (bundled with your component) into <code>/wp-content/bp-themes/</code>. This is an annoyance to site administrator, and it may end up being a frequent support request (&#8220;why is X not working?&#8221;).  This very first hurdle may even stop people trying out your component.</p><p>Something else I&#8217;ve seen is that when installing future updates, people may forget that they need to move the updated member theme files into place; this can cause incompatibility issues between versions of your software, something we&#8217;ve seen with recent versions of BuddyPress.</p><p>For my upcoming &#8220;Achievements&#8221; plugin (think a cross between forum points and <a
href="http://en.wikipedia.org/wiki/Xbox_Live">Xbox Live</a>), I decided all that I wanted the site administrator to do would be to download it from the Plugins admin panel &#8211; no moving files into the member theme.</p><p>So, I present to you my code: (06/01/10 &#8211; updated for BP 1.1.3+)</p><pre class="brush: php;">
bp_core_load_template( 'yourcomponent_theme_filename' );  // loads /plugins/your_plugin/filename.php

function yourcomponent_screen_filter_template( $located_template, $template_name ) {
	if ( !empty( $located_template ) )
		return $located_template;

	if ( $bp-&amp;gt;current_component != $bp-&amp;gt;your_component-&amp;gt;slug )
		return false;

	if ( false !== strpos( $template_name[0], 'yourcomponent_theme_' ) ) {
		$prefix = strlen( 'yourcomponent_theme_' );
		$template_name = substr( $template_name[0], $prefix, strlen( $template_name[0] ) - $prefix );
		$template_path = WP_PLUGIN_DIR . &amp;quot;/your_plugin/$template_name&amp;quot;;

		if ( file_exists( $template_path ) )
			return $template_path;
	}

	return false;
}
add_filter( 'bp_located_template', 'yourcomponent_screen_filter_template', 10, 2 );
</pre>]]></content:encoded> <wfw:commentRss>http://byotos.com/2009/07/improving-custom-component-installation/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc (user agent is rejected)
Database Caching 7/11 queries in 0.002 seconds using apc
Object Caching 976/983 objects using apc
Content Delivery Network via Amazon Web Services: CloudFront: Amazon Web Services: S3: media1.byotos.com

Served from: byotos.com @ 2010-07-29 18:38:26 -->