<?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>Teleogistic &#187; dev.wpmued</title>
	<atom:link href="http://teleogistic.net/category/dev-wpmued/feed/" rel="self" type="application/rss+xml" />
	<link>http://teleogistic.net</link>
	<description></description>
	<lastBuildDate>Sat, 31 Jul 2010 22:46:48 +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>Making Userthemes work on WordPress 3.0</title>
		<link>http://teleogistic.net/2010/06/making-userthemes-work-on-wordpress-3-0/</link>
		<comments>http://teleogistic.net/2010/06/making-userthemes-work-on-wordpress-3-0/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 11:18:26 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[userthemes]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=834</guid>
		<description><![CDATA[Some friends of mine (Joe Ugoretz and Jim Groom) were chatting on Twitter yesterday about how Userthemes, the WPMU/MS plugin they rely on to allow user customizations of copied system themes, had broken with WordPress 3.0. I decided to take a look at it. After digging a little, I found the immediate cause, as well [...]]]></description>
			<content:encoded><![CDATA[<p>Some friends of mine (<a href="http://prestidigitation.commons.gc.cuny.edu">Joe Ugoretz</a> and <a href="http://bavatuesdays.com">Jim Groom</a>) were chatting on Twitter yesterday about how Userthemes, the WPMU/MS plugin they rely on to allow user customizations of copied system themes, had broken with WordPress 3.0. I decided to take a look at it. After digging a little, I found the immediate cause, as well as a workaround.</p>
<p>Please note that this workaround is very much <strong>a hack</strong>. It shouldn&#8217;t cause any security issues (see explanation below), but it will break the next time you upgrade WP.</p>
<p>Joe&#8217;s problem was that the plugin was only working for Super Admins. Administrators of single Sites could not copy new Userthemes, and they were redirected to the dreaded wp-admin/?c=1 when they tried to access the Edit Userthemes panel on the Dashboard. I figured it was a problem with permissions, and it was: all of those functions are triggered only for those users with the capability edit_themes, but for some reason only Super Admins, and not Administrators, were showing up as having that ability. (The weird thing &#8211; when I did a var_dump of WP Roles, I saw that Administrator *did* have edit_themes.) Maybe there&#8217;s some setting in WPMS that allows users to edit themes, but I couldn&#8217;t see it.</p>
<p>So the solution is to change the edit_themes check to something else.  switch_themes seemed like an obvious choice to me, since anyone with the ability to switch themes on a given blog would also have had the ability to edit themes on that same blog. So there shouldn&#8217;t be a security problem &#8211; only blog admins should have the ability to make userthemes.</p>
<p>You&#8217;ll need to modify the plugin, as well as a few lines in the WordPress core.</p>
<ol>
<li><strong>Back up.</strong> I&#8217;m not responsible for anything that goes wrong!</li>
<li>Open the userthemes.php file. (I&#8217;d link to it, but I can&#8217;t find it anywhere on the web. When I&#8217;m at a better internet connection, maybe I&#8217;ll upload a version for you to edit. Maybe someone out there has a copy to share.) Search for all instances of &#8216;edit_themes&#8217; and replace with &#8216;switch_themes&#8217;.</li>
<li>From your WP root directory, open wp-admin/theme-editor.php. On line 12, change &#8216;edit_themes&#8217; to &#8216;switch_themes&#8217;.</li>
<li>From your WP root directory, open wp-admin/menu.php. On line 173, change &#8216;edit_themes&#8217; to &#8216;switch_themes&#8217;.</li>
</ol>
<li>This should restore the basic functionality of Userthemes (though Joe says that there&#8217;s still some bugginess &#8211; if you can&#8217;t access the Edit Userthemes from the main Dashboard page, try going to the Userthemes panel first). I must repeat that this is an ugly hack, and I&#8217;m hoping that someone smarter than me will step in and tell me why this is happening in the first place.</li>


<p>Related posts:<ol><li><a href='http://teleogistic.net/2009/07/making-sitewide-tags-work/' rel='bookmark' title='Permanent Link: Making Sitewide Tags work'>Making Sitewide Tags work</a></li>
<li><a href='http://teleogistic.net/2009/08/sitewide-tag-suggestion-in-wordpress-mu-2-8/' rel='bookmark' title='Permanent Link: Sitewide Tag Suggestion in WordPress MU 2.8+'>Sitewide Tag Suggestion in WordPress MU 2.8+</a></li>
<li><a href='http://teleogistic.net/2010/05/setting-up-a-wordpressbuddypress-development-environment-on-os-x/' rel='bookmark' title='Permanent Link: Setting up a WordPress/BuddyPress development environment on OS X'>Setting up a WordPress/BuddyPress development environment on OS X</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2010/06/making-userthemes-work-on-wordpress-3-0/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>New BuddyPress plugin: BP External Activity</title>
		<link>http://teleogistic.net/2010/05/new-buddypress-plugin-bp-external-activity/</link>
		<comments>http://teleogistic.net/2010/05/new-buddypress-plugin-bp-external-activity/#comments</comments>
		<pubDate>Tue, 25 May 2010 15:00:17 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[activity]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[mediawiki]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=805</guid>
		<description><![CDATA[On the CUNY Academic Commons we have a MediaWiki installation running parallel to our WordPress/BuddyPress installation. In the past I had hacked together an inelegant and constantly breaking solution for importing wiki edit notifications into the BP activity stream. I&#8217;ve just written a small plugin called BP External Activity which solves the problem by using [...]]]></description>
			<content:encoded><![CDATA[<p>On the <a href="http://teleogistic.net/code/buddypress/bp-external-activity/">CUNY Academic Commons</a> we have a MediaWiki installation running parallel to our WordPress/BuddyPress installation. In the past I had hacked together <a href="http://teleogistic.net/2009/07/new-mediawiki-extension-buddypressactivity/">an inelegant and constantly breaking solution</a> for importing wiki edit notifications into the BP activity stream. I&#8217;ve just written a small plugin called <a href="http://teleogistic.net/code/buddypress/bp-external-activity/">BP External Activity</a> which solves the problem by using the BP activity API and RSS.</p>
<p>The plugin can be used to pull items from any RSS feed and add them to your BP activity stream, with customizable text. It&#8217;s feature-light right now (and requires some hand-coding to work) but it&#8217;s still pretty much the coolest thing ever. I will update it to be better when I get around to it.</p>
<p><a href="http://teleogistic.net/code/buddypress/bp-external-activity/">Get BP External Activity here</a>.</p>


<p>Related posts:<ol><li><a href='http://teleogistic.net/2010/02/new-buddypress-plugin-bp-include-non-member-comments/' rel='bookmark' title='Permanent Link: New BuddyPress plugin: BP Include Non-Member Comments'>New BuddyPress plugin: BP Include Non-Member Comments</a></li>
<li><a href='http://teleogistic.net/2010/02/new-buddypress-plugin-bp-mpo-activity-filter/' rel='bookmark' title='Permanent Link: New BuddyPress plugin: BP MPO Activity Filter'>New BuddyPress plugin: BP MPO Activity Filter</a></li>
<li><a href='http://teleogistic.net/2009/07/removing-previous-comment-edits-from-buddypress-activity-a-plugin/' rel='bookmark' title='Permanent Link: Removing previous comment edits from BuddyPress activity &#8211; a plugin'>Removing previous comment edits from BuddyPress activity &#8211; a plugin</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2010/05/new-buddypress-plugin-bp-external-activity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BuddyPress plugins running on the CUNY Academic Commons</title>
		<link>http://teleogistic.net/2010/05/buddypress-plugins-running-on-the-cuny-academic-commons/</link>
		<comments>http://teleogistic.net/2010/05/buddypress-plugins-running-on-the-cuny-academic-commons/#comments</comments>
		<pubDate>Tue, 25 May 2010 08:47:19 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[CUNY Academic Commons]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=798</guid>
		<description><![CDATA[Cross-posted on the CUNY Academic Commons dev blog A few people have asked recently for a list of the plugins installed on the CUNY Academic Commons. In the spirit of Joe&#8217;s post, here I thought I&#8217;d make it public. I&#8217;m going to limit myself to the BuddyPress plugins here, for the sake of simplicity. (I&#8217;d [...]]]></description>
			<content:encoded><![CDATA[<p><em>Cross-posted on the <a href="http://dev.commons.gc.cuny.edu/2010/05/25/buddypress-plugins-running-on-the-cuny-academic-commons/">CUNY Academic Commons dev blog</a></em></p>
<p>A few people have asked recently for a list of the plugins installed on the <a href="http://commons.gc.cuny.edu">CUNY Academic Commons</a>. In the spirit of <a href="http://prestidigitation.commons.gc.cuny.edu/2009/06/26/macaulay-eportfolios-plugin-list/">Joe&#8217;s post</a>, here I thought I&#8217;d make it public. I&#8217;m going to limit myself to the BuddyPress plugins here, for the sake of simplicity. (I&#8217;d like to write a series of posts on the anatomy of the CUNY Academic Commons; maybe this will be the first in that series.) Here they are, in no particular order other than the order in which they appear on my plugin list.</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/bp-tinymce/">BP TinyMCE</a>. This plugin is messed up, and I have part of it switched off, but I still use the filters that allow additional tags through, in case people want to write some raw HTML in their forum posts, etc.</li>
<li><a href="http://wordpress.org/extend/plugins/bp-groupblog/">BP Groupblog</a>. Allows blogs to be associated with groups, displaying posts on that group&#8217;s activity feed and automatically credentialing group members on the blog. I did some custom modifications to the way the plugin works so that clicking on the Blog tab in a group leads you to subdomain address rather than the Groupblog custom address (thereby also ensuring that visitors see the intended blog theme rather than the BP-ish theme).</li>
<li><a href="http://wordpress.org/extend/plugins/bp-mpo-activity-filter/">BP MPO Activity Filter</a>. This plugin works along with <a href="http://wpmudev.org/project/More-Privacy-Options/">More Privacy Options</a> to ensure that the new privacy settings are understood by Buddypress and that blog-related activity items are displayed to the appropriate people.</li>
<li><a href="http://wordpress.org/extend/plugins/buddypress-group-documents/">BuddyPress Group Documents</a>. This one is crucial to our members, who often use the plugin to share collaborative docs.</li>
<li><a href="http://wordpress.org/extend/plugins/bp-include-non-member-comments/">BP Include Non-Member Comments</a> makes sure that blog comments from non-members are included on the sitewide activity feed.</li>
<li>BP External Activity &#8211; an as-yet unreleased plugin I wrote that brings in items from an external RSS feed and adds them to the sitewide activity feed. We&#8217;re using it for MediaWiki edits.</li>
<li><a href="http://wordpress.org/extend/plugins/bp-group-management/">BP Group Management</a> lets admins add people to groups. Very handy for putting together a group quickly, without having to wait for invites.</li>
<li><a href="http://wordpress.org/extend/plugins/bp-system-report/">BP System Report</a>. We&#8217;re using this one to keep track of some data in our system and report it back to members and administrators.</li>
<li><a href="http://wordpress.org/extend/plugins/buddypress-group-email-subscription/">BuddyPress Group Email Subscription</a> allows users to subscribe to immediate or digest email notification of group activity. Right now we&#8217;re running it on a trial basis with a handful of members, in order to test it. (<a href="http://buddypress.org/community/groups/buddypress-group-email-subscription/forum/topic/allowing-group-email-subscription-access-only-to-a-whitelist/">Here&#8217;s how to run it with a whitelist of users, if you want</a>)</li>
<li>BuddyPress Terms of Service Agreement, another as-yet-unreleased plugin (this one by CAC Dev Team member <a href="http://twitter.com/chris_stein">Chris Stein</a>) that requires new members to check TOS acceptance box before being allowed to register.</li>
<li><a href="http://wordpress.org/extend/plugins/custom-profile-filters-for-buddypress/">Custom Profile Filters for BuddyPress</a> allows users to customize the way that their profile interests become links</li>
<li><a href="http://wordpress.org/extend/plugins/enhanced-buddypress-widgets/">Enhanced BuddyPress Widgets</a>. Lets the admin decide the default state of BP widgets on the front page.</li>
<li><a href="http://wordpress.org/extend/plugins/forum-attachments-for-buddypress/">Forum Attachments for BuddyPress</a>. Another of our most important BP plugins, this one allows users to share files via the group forums.</li>
<li><a href="http://wordpress.org/extend/plugins/group-forum-subscription-for-buddypress/">Group Forum Subscription for BuddyPress</a>. This is our legacy email notification system, which is going to be in place until I get back from my honeymoon and can replace it :)</li>
<li><a href="http://wordpress.org/extend/plugins/invite-anyone/">Invite Anyone</a> lets our users invite new members to the community and makes it easier to populate groups.</li>
</ul>
<p>Questions about any of these plugins or how they work with BuddyPress? Ask in the comments.</p>


<p>Related posts:<ol><li><a href='http://teleogistic.net/2009/09/new-buddypress-bbpress-plugin-group-forum-subscription/' rel='bookmark' title='Permanent Link: New BuddyPress / bbPress plugin: Group Forum Subscription'>New BuddyPress / bbPress plugin: Group Forum Subscription</a></li>
<li><a href='http://teleogistic.net/2009/12/new-buddypress-plugin-invite-anyone/' rel='bookmark' title='Permanent Link: New BuddyPress plugin: Invite Anyone'>New BuddyPress plugin: Invite Anyone</a></li>
<li><a href='http://teleogistic.net/2009/12/upgrading-from-buddypress-1-0-to-1-1/' rel='bookmark' title='Permanent Link: Upgrading from BuddyPress 1.0 to 1.1'>Upgrading from BuddyPress 1.0 to 1.1</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2010/05/buddypress-plugins-running-on-the-cuny-academic-commons/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>New BuddyPress plugin: BuddyPress Group Email Subscription</title>
		<link>http://teleogistic.net/2010/05/new-buddypress-plugin-buddypress-group-email-subscription/</link>
		<comments>http://teleogistic.net/2010/05/new-buddypress-plugin-buddypress-group-email-subscription/#comments</comments>
		<pubDate>Thu, 13 May 2010 03:37:19 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[groups]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=784</guid>
		<description><![CDATA[I&#8217;m quite happy to announce the release of a more-or-less stable (we hope!) version of BuddyPress Group Email Subscription, a BuddyPress plugin that allows for fine-grained, user-controllable email subscription to group content in BuddyPress. This plugin is different from some of my others in that it was truly a group endeavor. The base of the [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_777" class="wp-caption alignright" style="width: 310px"><a href="http://teleogistic.net/wp-content/uploads/2010/05/screenshot-1.png"><img src="http://teleogistic.net/wp-content/uploads/2010/05/screenshot-1-300x232.png" alt="Email Options on settings page" title="Email Options on settings page" width="300" height="232" class="size-medium wp-image-777" style="border: 1px solid #aaa" /></a><p class="wp-caption-text">Email Options on settings page</p></div>
<p>I&#8217;m quite happy to announce the release of a more-or-less stable (we hope!) version of <a href="http://teleogistic.net/code/buddypress/buddypress-group-email-subscription/">BuddyPress Group Email Subscription</a>, a BuddyPress plugin that allows for fine-grained, user-controllable email subscription to group content in BuddyPress.</p>
<p>This plugin is different from some of my others in that it was truly a group endeavor. The base of the plugin was written by <a href="http://namoo.co.uk">David Cartwright</a>, with a little bit of code from me. A nearly complete rewrite of the front-end and most of the guts of the plugin was undertaken by <a href="http://www.bluemandala.com/index.html">Deryk Wenaus</a>. I wrote the daily and weekly digest functionality, along with some of the settings pages and various bugfixes throughout. The current codebase of the plugin is probably 60% Deryk, 30% me, and 10% David.</p>
<p>It was my first time working on a truly collaborative software development project like this, and it was a real pleasure working with both of these gentlemen. Thanks, guys.</p>
<p><a href="http://teleogistic.net/code/buddypress/buddypress-group-email-subscription/">Get BuddyPress Group Email Subscription here.</a></p>


<p>Related posts:<ol><li><a href='http://teleogistic.net/2009/09/new-buddypress-bbpress-plugin-group-forum-subscription/' rel='bookmark' title='Permanent Link: New BuddyPress / bbPress plugin: Group Forum Subscription'>New BuddyPress / bbPress plugin: Group Forum Subscription</a></li>
<li><a href='http://teleogistic.net/2009/10/group-forum-subscription-for-buddypress-1-1/' rel='bookmark' title='Permanent Link: Group Forum Subscription for BuddyPress 1.1'>Group Forum Subscription for BuddyPress 1.1</a></li>
<li><a href='http://teleogistic.net/2010/05/adding-an-email-to-members-checkbox-to-the-buddypress-group-activity-stream/' rel='bookmark' title='Permanent Link: Adding an &#8220;email to members&#8221; checkbox to the BuddyPress group activity stream'>Adding an &#8220;email to members&#8221; checkbox to the BuddyPress group activity stream</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2010/05/new-buddypress-plugin-buddypress-group-email-subscription/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a WordPress/BuddyPress development environment on OS X</title>
		<link>http://teleogistic.net/2010/05/setting-up-a-wordpressbuddypress-development-environment-on-os-x/</link>
		<comments>http://teleogistic.net/2010/05/setting-up-a-wordpressbuddypress-development-environment-on-os-x/#comments</comments>
		<pubDate>Mon, 10 May 2010 17:13:32 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=754</guid>
		<description><![CDATA[A local development environment is a collection of software and files on your local computer that replicates a server environment. There&#8217;s a number of reasons why doing web development in a local environment and then pushing it to a remove server is a good idea: Convenience: You don&#8217;t need an internet connection Speed: Because you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>A local development environment is a collection of software and files on your local computer that replicates a server environment. There&#8217;s a number of reasons why doing web development in a local environment and then pushing it to a remove server is a good idea:</p>
<ul>
<li>Convenience: You don&#8217;t need an internet connection</li>
<li>Speed: Because you&#8217;re not transferring files remotely, there&#8217;s no save or reload lag</li>
<li>Power: You have total control over the environment, in a way you don&#8217;t on, eg, shared hosting</li>
<li>Safety: You can set up as many parallel environments as you&#8217;d like on your local machine, and if you destroy one of them, you can wipe it out and replace it in just a few clicks</li>
</ul>
<p>I just got a new computer and so have been going through the process of rebuildling my local dev environment. For the benefit of those just getting into web development, here&#8217;s how I set it up, with a bit of explanation. Keep in mind that I&#8217;m working with OS X 10.6, developing for WordPress; if you&#8217;re running a different operating system, or developing for a non-PHP based framework, your setup will differ from mine.</p>
<ol>
<li><strong>Create a /sites directory</strong>: To make navigation from the command line a bit easier, I like to keep all my development environments in first-level directory called <strong>sites</strong>. Open a Terminal window and type:
<pre class="brush: text">mkdir /sites</pre>
</li>
<li><strong>Download and install MAMP</strong>: Strictly speaking, MAMP isn&#8217;t required on OSX, since the OS comes with Apache, MySQL, and PHP installed (enabled through System Preferences > Sharing > Web Sharing). But MAMP has a nice preferences interface, and comes with useful tools like PHPMyAdmin, so I use it. <a href="http://www.mamp.info/en/index.html">Get MAMP</a> and install it.</li>
<li><strong>Configure MAMP</strong>: Open MAMP and click the Preferences button.
<ul>
<li><em>Configure Start/Stop</em>. I like to uncheck the &#8220;Stop servers when quitting MAMP&#8221; box, so that I don&#8217;t have to keep MAMP open all the time.</li>
<li><em>Switch the ports</em>. You can use the port settings that MAMP comes preconfigured with, but I like to change it because it can make managing domain names a bit easier. Click &#8220;Set to default Apache and MySQL ports&#8221;. The downside of changing this setting is that each time you start up MAMP (for me, that&#8217;s every time I start the computer, which is once every week or so), you&#8217;ll need to type in your OSX administrator password. That&#8217;ll happen when you save your settings at the end of this step, too &#8211; don&#8217;t be alarmed.</li>
<li><em>Switch the Apache root directory</em>. On the Apache tab, change the root directory to <code>/sites</code>.</li>
</ul>
<p>	When you click on OK to save your preferences, you will probably be asked for your admin password. Your local environment is now up and running, and it&#8217;s time to configure it to handle WordPress.
	</li>
<li><strong>Configure your hosts file</strong>: By default, you can reach your local installation in a browser by visiting http://localhost or http://127.0.0.1. The first option doesn&#8217;t work very well with WordPress (WPMU, at least), and the second one isn&#8217;t very attractive. We can set up a more attractive host name by editing the <code>/etc/hosts</code>. Open <code>/etc/hosts</code>, ideally at the command line with
<pre class="brush: text">sudo nano /etc/hosts</pre>
<p>	&#8216;sudo&#8217; is important here, as you&#8217;ll need admin rights to change this file. Modify the line that says</p>
<pre class="brush: text">127.0.0.1		localhost</pre>
<p>	so that it says</p>
<pre class="brush: text">127.0.0.1		localhost boone.is.awesome</pre>
<p>	Now clearly you don&#8217;t have to use &#8216;boone.is.awesome&#8217; (though you probably should, because I am awesome). You can use any combination of words you want, separated by periods, like a URL &#8211; &#8216;local.dev&#8217;, perhaps. Don&#8217;t use a real URL. Save the file (if you&#8217;re at the command line, hit Ctrl-X, and then Y when you&#8217;re prompted to save) and test your new hosts file by visiting http://boone.is.awesome (or whatever) in a browser window.</li>
<li><strong>Create a database</strong>: In MAMP, click the &#8220;Open Start Page&#8221; button, which will open the MAMP start page in the browser. Click on the PHPMyAdmin link on the start page. PHPMyAdmin is a graphical interface for your MySQL database that you might find handy as you do development. Click the Databases tab, and create a new database &#8211; I&#8217;m calling mine &#8216;wp-trunk&#8217;. You may also want to choose a default text encoding: &#8216;utf8_general_ci&#8217; works pretty well if you think you might be doing development in different character sets (Cyrillic, Arabic, etc).</li>
<li><strong>Download WordPress</strong>: I like to get WP via SVN, which makes it easy to keep track of any core hacks I might make. Here are the Terminal commands to create an installation called &#8216;wp-trunk&#8217;:
<pre class="brush: text">cd /sites
mkdir wp-trunk
svn co http://core.svn.wordpress.org/trunk wp-trunk/</pre>
<p>	You&#8217;ll see a bunch of files being downloaded. In this example I&#8217;m downloading the trunk, or development, version of WP, rather than the stable version. If you&#8217;d like to get a specific version, say 2.9.2, use <code>svn co http://core.svn.wordpress.org/tags/2.9.2 wp-trunk/</code> instead. (<a href="http://markjaquith.wordpress.com/2005/11/02/my-wordpress-toolbox/">More on using svn with WordPress, from Mark Jaquith</a>)</li>
<p><a href="http://teleogistic.net/wp-content/uploads/2010/05/d.jpg"><img src="http://teleogistic.net/wp-content/uploads/2010/05/d-300x242.jpg" alt="" title="d" width="300" height="242" class="alignright size-medium wp-image-770" /></a></p>
<li><strong>Install WordPress</strong>: In your browser, go to http://boone.is.awesome/wp-trunk (or the corresponding path on your machine). This should load the WordPress installer. If you&#8217;ve followed along with my instructions, the settings in this image ought to work for you. You&#8217;ll notice that I&#8217;m using the root MySQL account, with the default password, because it automatically has all privileges on all databases. You should obviously never do this on a database that is connected to the internet. I should also note here that I&#8217;m installing the beta of WP 3.0, but the same process will work for any version of WP, even WPMU. With MU, though, you may have some problems if you choose the subdomains option for secondary blogs. </li>
<li><strong>That&#8217;s it!</strong> You should now be able to log into your installation at http://boone.is.awesome/wp-trunk/wp-admin. When I plan to use an installation of WP to develop for BuddyPress, I check out the trunk version of BP in a similar fashion to step 6:
<pre class="brush: text">cd /sites/wp-trunk/wp-content/plugins
mkdir buddypress
svn co http://svn.buddypress.org/trunk buddypress/</pre>
</li>
</ol>


<p>Related posts:<ol><li><a href='http://teleogistic.net/2010/04/google-summer-of-code-wordpress-and-buddypress/' rel='bookmark' title='Permanent Link: Google Summer of Code, WordPress, and BuddyPress'>Google Summer of Code, WordPress, and BuddyPress</a></li>
<li><a href='http://teleogistic.net/2009/12/tinymce-in-buddypress/' rel='bookmark' title='Permanent Link: TinyMCE in Buddypress'>TinyMCE in Buddypress</a></li>
<li><a href='http://teleogistic.net/2009/12/upgrading-from-buddypress-1-0-to-1-1/' rel='bookmark' title='Permanent Link: Upgrading from BuddyPress 1.0 to 1.1'>Upgrading from BuddyPress 1.0 to 1.1</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2010/05/setting-up-a-wordpressbuddypress-development-environment-on-os-x/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>New BuddyPress plugin: BP System Report</title>
		<link>http://teleogistic.net/2010/05/new-buddypress-plugin-bp-system-report/</link>
		<comments>http://teleogistic.net/2010/05/new-buddypress-plugin-bp-system-report/#comments</comments>
		<pubDate>Sat, 08 May 2010 04:27:04 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=750</guid>
		<description><![CDATA[Well well, what do we have here but another MIND BOGGLING BuddyPress plugin? This one is called BP System Report, and it allows admins to take periodic snapshots of some interesting data in their BP installation. Check out the plugin page for more information and to download BP System Report. Related posts:New BuddyPress plugin: BP [...]]]></description>
			<content:encoded><![CDATA[<p>Well well, what do we have here but another MIND BOGGLING BuddyPress plugin? This one is called <a href="http://teleogistic.net/code/buddypress/bp-system-report/">BP System Report</a>, and it allows admins to take periodic snapshots of some interesting data in their BP installation.</p>
<p><a href="http://teleogistic.net/code/buddypress/bp-system-report/">Check out the plugin page</a> for more information and to download BP System Report.</p>


<p>Related posts:<ol><li><a href='http://teleogistic.net/2010/03/new-buddypress-plugin-bp-group-management/' rel='bookmark' title='Permanent Link: New BuddyPress plugin: BP Group Management'>New BuddyPress plugin: BP Group Management</a></li>
<li><a href='http://teleogistic.net/2009/12/new-buddypress-plugin-invite-anyone/' rel='bookmark' title='Permanent Link: New BuddyPress plugin: Invite Anyone'>New BuddyPress plugin: Invite Anyone</a></li>
<li><a href='http://teleogistic.net/2010/02/new-buddypress-plugin-bp-mpo-activity-filter/' rel='bookmark' title='Permanent Link: New BuddyPress plugin: BP MPO Activity Filter'>New BuddyPress plugin: BP MPO Activity Filter</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2010/05/new-buddypress-plugin-bp-system-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding an &#8220;email to members&#8221; checkbox to the BuddyPress group activity stream</title>
		<link>http://teleogistic.net/2010/05/adding-an-email-to-members-checkbox-to-the-buddypress-group-activity-stream/</link>
		<comments>http://teleogistic.net/2010/05/adding-an-email-to-members-checkbox-to-the-buddypress-group-activity-stream/#comments</comments>
		<pubDate>Thu, 06 May 2010 11:57:23 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[activity]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=738</guid>
		<description><![CDATA[During the recent upgrade from BuddyPress 1.1.x to BuddyPress 1.2.x, and the subsequent move away from group wires to interactive group activity streams, one thing that some users on the CUNY Academic Commons missed was the &#8220;Notify members by email&#8221; checkbox of the old wire. This morning I wrote a bit of code to add [...]]]></description>
			<content:encoded><![CDATA[<p>During the recent upgrade from BuddyPress 1.1.x to BuddyPress 1.2.x, and the subsequent move away from group wires to interactive group activity streams, one thing that some users on the CUNY Academic Commons missed was the &#8220;Notify members by email&#8221; checkbox of the old wire.</p>
<p>This morning I wrote a bit of code to add that kind of functionality to group activity streams. There are three functions, each of which goes in your plugins/bp-custom.php file.</p>
<p>First, adding the checkbox to the activity box. Notice that it only shows up when you&#8217;re on a group page.</p>
<pre class="brush: php">

function cac_email_activity_checkbox() {
	if ( !bp_is_groups_component() )
		return;
	?&gt;

	&lt;label for=&quot;cac_activity_mail&quot;&gt;
		Email this update to all group members?
		&lt;input type=&quot;checkbox&quot; name=&quot;cac_activity_mail&quot; id=&quot;cac_activity_mail&quot; value=&quot;mailme&quot; /&gt;
	&lt;/label&gt;
	&lt;?php
}
add_action( &#039;bp_activity_post_form_options&#039;, &#039;cac_email_activity_checkbox&#039; );
</pre>
<p>Second, handling the data when it gets to the server and sending the emails. Obviously, you&#8217;ll want to change the text of the email to match your own site and your own preferences. The line &#8220;remove_action( &#8216;bp_activity_after_save&#8217; , &#8216;ass_group_notification_activity&#8217; , 50 );&#8221; is there to prevent an email notification from being sent if you&#8217;re using the Group Activity Notification plugin, a big official release of which is coming soon :)</p>
<pre class="brush: php">

function cac_email_activity_handler( $activity ) {
	global $bp;

	if ( $_POST[&#039;mailme&#039;] == &#039;mailme&#039; ) {

		$subject = sprintf(&#039;[CUNY Academic Commons] New update in the group &quot;%s&quot;&#039;,  $bp-&gt;groups-&gt;current_group-&gt;name );

		$message = strip_tags($activity-&gt;action);
		$message .= &#039;

&#039;;
		$message .= strip_tags($activity-&gt;content);

		$message .= &#039;

-------
&#039;;

		$message .= sprintf(&#039;You recieved this message because you are a member of the group &quot;%s&quot; on the CUNY Academic Commons. Visit the group: %s&#039;, $bp-&gt;groups-&gt;current_group-&gt;name, $bp-&gt;root_domain . &#039;/&#039; . $bp-&gt;groups-&gt;current_group-&gt;slug . &#039;/&#039; . $bp-&gt;groups-&gt;current_group-&gt;slug . &#039;/&#039; );

		//print_r($message);

		if ( bp_group_has_members( &#039;exclude_admins_mods=0&amp;amp;per_page=10000&#039; ) ) {
			global $members_template;
			foreach( $members_template-&gt;members as $m ) {
				wp_mail( $m-&gt;user_email, $subject, $message );
			}
		}
	}

	remove_action( &#039;bp_activity_after_save&#039; , &#039;ass_group_notification_activity&#039; , 50 );
}
add_action( &#039;bp_activity_after_save&#039;, &#039;cac_email_activity_handler&#039;, 1 );
</pre>
<p>Finally, you&#8217;ll need some Javascript to make the AJAX activity submission work correctly. This is really just a copy of what&#8217;s in the bp-default JS file, with a few added lines to make it work.</p>
<pre class="brush: php">
function cac_email_activity_js() {
	if ( !bp_is_groups_component() )
		return;
	?&gt;
	&lt;script type=&quot;text/javascript&quot;&gt;

	var jq = jQuery;
	jq(document).ready( function() {
jq(&quot;input#aw-whats-new-submit&quot;).unbind(&#039;click&#039;);
			/* New posts */
	jq(&quot;input#aw-whats-new-submit&quot;).click( function() {
		var button = jq(this);
		var form = button.parent().parent().parent().parent();

		form.children().each( function() {
			if ( jq.nodeName(this, &quot;textarea&quot;) || jq.nodeName(this, &quot;input&quot;) )
				jq(this).attr( &#039;disabled&#039;, &#039;disabled&#039; );
		});

		jq( &#039;form#&#039; + form.attr(&#039;id&#039;) + &#039; span.ajax-loader&#039; ).show();

		/* Remove any errors */
		jq(&#039;div.error&#039;).remove();
		button.attr(&#039;disabled&#039;,&#039;disabled&#039;);

		/* Default POST values */
		var object = &#039;&#039;;
		var item_id = jq(&quot;#whats-new-post-in&quot;).val();
		var content = jq(&quot;textarea#whats-new&quot;).val();
		var mailme = jq(&quot;#cac_activity_mail:checked&quot;).val();

		/* Set object for non-profile posts */
		if ( item_id &gt; 0 ) {
			object = jq(&quot;#whats-new-post-object&quot;).val();
		}

		jq.post( ajaxurl, {
			action: &#039;post_update&#039;,
			&#039;cookie&#039;: encodeURIComponent(document.cookie),
			&#039;_wpnonce_post_update&#039;: jq(&quot;input#_wpnonce_post_update&quot;).val(),
			&#039;content&#039;: content,
			&#039;object&#039;: object,
			&#039;mailme&#039;: mailme,
			&#039;item_id&#039;: item_id
		},
		function(response)
		{
			jq( &#039;form#&#039; + form.attr(&#039;id&#039;) + &#039; span.ajax-loader&#039; ).hide();

			form.children().each( function() {
				if ( jq.nodeName(this, &quot;textarea&quot;) || jq.nodeName(this, &quot;input&quot;) )
					jq(this).attr( &#039;disabled&#039;, &#039;&#039; );
			});

			/* Check for errors and append if found. */
			if ( response[0] + response[1] == &#039;-1&#039; ) {
				form.prepend( response.substr( 2, response.length ) );
				jq( &#039;form#&#039; + form.attr(&#039;id&#039;) + &#039; div.error&#039;).hide().fadeIn( 200 );
				button.attr(&quot;disabled&quot;, &#039;&#039;);
			} else {
				if ( 0 == jq(&quot;ul.activity-list&quot;).length ) {
					jq(&quot;div.error&quot;).slideUp(100).remove();
					jq(&quot;div#message&quot;).slideUp(100).remove();
					jq(&quot;div.activity&quot;).append( &#039;&lt;ul id=&quot;activity-stream&quot; class=&quot;activity-list item-list&quot;&gt;&#039; );
				}

				jq(&quot;ul.activity-list&quot;).prepend(response);
				jq(&quot;ul.activity-list li:first&quot;).addClass(&#039;new-update&#039;);
				jq(&quot;li.new-update&quot;).hide().slideDown( 300 );
				jq(&quot;li.new-update&quot;).removeClass( &#039;new-update&#039; );
				jq(&quot;textarea#whats-new&quot;).val(&#039;&#039;);
				jq(&quot;#cac_activity_mail&quot;).removeAttr(&#039;checked&#039;);

				/* Re-enable the submit button after 8 seconds. */
				setTimeout( function() { button.attr(&quot;disabled&quot;, &#039;&#039;); }, 8000 );
			}
		});

		return false;
	});
	});

	&lt;/script&gt;
	&lt;?php
}
add_action( &#039;bp_activity_post_form_options&#039;, &#039;cac_email_activity_js&#039;, 999 );
</pre>


<p>Related posts:<ol><li><a href='http://teleogistic.net/2010/05/new-buddypress-plugin-bp-external-activity/' rel='bookmark' title='Permanent Link: New BuddyPress plugin: BP External Activity'>New BuddyPress plugin: BP External Activity</a></li>
<li><a href='http://teleogistic.net/2010/05/new-buddypress-plugin-buddypress-group-email-subscription/' rel='bookmark' title='Permanent Link: New BuddyPress plugin: BuddyPress Group Email Subscription'>New BuddyPress plugin: BuddyPress Group Email Subscription</a></li>
<li><a href='http://teleogistic.net/2010/02/new-buddypress-plugin-bp-mpo-activity-filter/' rel='bookmark' title='Permanent Link: New BuddyPress plugin: BP MPO Activity Filter'>New BuddyPress plugin: BP MPO Activity Filter</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2010/05/adding-an-email-to-members-checkbox-to-the-buddypress-group-activity-stream/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Summer of Code, WordPress, and BuddyPress</title>
		<link>http://teleogistic.net/2010/04/google-summer-of-code-wordpress-and-buddypress/</link>
		<comments>http://teleogistic.net/2010/04/google-summer-of-code-wordpress-and-buddypress/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 12:25:12 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[scholarpress]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=731</guid>
		<description><![CDATA[I&#8217;m extremely pleased to announce (after weeks of keeping mum until the official word was released!) that I&#8217;ll be co-mentoring several projects for Google Summer of Code and WordPress. For those of you who don&#8217;t know, GSoC is an initiative by Google to support summer coding projects by undergraduate and graduate students working on various [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m extremely pleased to announce (after weeks of keeping mum until the official word was released!) that I&#8217;ll be co-mentoring several projects for Google Summer of Code and WordPress. For those of you who don&#8217;t know, <a href="http://code.google.com/soc/">GSoC</a> is an initiative by Google to support summer coding projects by undergraduate and graduate students working on various established open-source projects. <a href="http://wpdevel.wordpress.com/2010/04/26/gsoc-students-announced/">WordPress has 15 projects this year</a>, several of which are related to BuddyPress. As a mentor on two of the projects, I&#8217;ll be helping to hone the project scopes, do code reviews, and in general lend a hand where I can to my two mentees. Here they are:</p>
<ul>
<li>
<p><a href="http://twitter.com/francescolaffi">Francesco Laffi</a> has a two-part project. 1) He&#8217;ll be working on a rich media component for BP, building on his already popular <a href="http://wordpress.org/extend/plugins/bp-album/">BP Album</a>. 2) He&#8217;ll be constructing a reporting/moderation plugin for BP group forums, which will allow the general user base to play a role in moderating good and bad content within a community. I&#8217;ll be co-mentoring Francesco with <a href="http://twitter.com/apeatling">Andy Peatling</a>, the lead dev for BuddyPress. </p>
<p><a href="http://flweb.it/2010/04/google-summer-of-code-project-media-component-and-moderation-for-buddypress/">Read more about Francesco&#8217;s proposal, in his own words.</a></li>
<li>
<p><a href="http://twitter.com/Suscov">Stas Sușcov</a> will be working on BuddyPress in educational contexts. The germ of his idea is to take <a href="http://scholarpress.net/courseware/">ScholarPress Courseware</a> (with its scheduling, bibliography, and assignment tools), combine it with a nice gradebook (maybe something like <a href="http://wordpress.org/extend/plugins/kb-gradebook/">KB Gradebook</a>), and put it inside a BuddyPress shell. I&#8217;ll be co-mentoring Stas&#8217;s project with <a href="http://twitter.com/clioweb">Jeremy Boggs</a>, developer of Scholarpress.</p>
<p><a href="http://sushkov.wordpress.com/2010/04/04/scholarpress-buddypress/">Read more about Stas&#8217;s proposal, in his own words.</a></p>
</li>
</ul>
<p>I am very excited to get started working with these great students!</p>


<p>Related posts:<ol><li><a href='http://teleogistic.net/2010/05/setting-up-a-wordpressbuddypress-development-environment-on-os-x/' rel='bookmark' title='Permanent Link: Setting up a WordPress/BuddyPress development environment on OS X'>Setting up a WordPress/BuddyPress development environment on OS X</a></li>
<li><a href='http://teleogistic.net/2010/05/new-buddypress-plugin-buddypress-group-email-subscription/' rel='bookmark' title='Permanent Link: New BuddyPress plugin: BuddyPress Group Email Subscription'>New BuddyPress plugin: BuddyPress Group Email Subscription</a></li>
<li><a href='http://teleogistic.net/2010/04/more-import-to-ning-goodness/' rel='bookmark' title='Permanent Link: More Import from Ning goodness &#8211; ( Ning to BuddyPress / WordPress )'>More Import from Ning goodness &#8211; ( Ning to BuddyPress / WordPress )</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2010/04/google-summer-of-code-wordpress-and-buddypress/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>More Import from Ning goodness &#8211; ( Ning to BuddyPress / WordPress )</title>
		<link>http://teleogistic.net/2010/04/more-import-to-ning-goodness/</link>
		<comments>http://teleogistic.net/2010/04/more-import-to-ning-goodness/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 04:44:25 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[ning]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=693</guid>
		<description><![CDATA[As promised in my last post, I&#8217;ve reworked the Import from Ning WordPress plugin so that it is BuddyPress-aware. That means that, if you run the plugin on a blog where BuddyPress is activated, additional steps will be added to the import process, allowing you to automatically import whichever profile fields and data you&#8217;d like [...]]]></description>
			<content:encoded><![CDATA[<p>As promised in <a href="http://teleogistic.net/2010/04/importing-ning-users-into-wp/">my last post</a>, I&#8217;ve reworked the <a href="http://teleogistic.net/code/wordpresswordpress-mu/import-from-ning/">Import from Ning</a> WordPress plugin so that it is BuddyPress-aware. That means that, if you run the plugin on a blog where BuddyPress is activated, additional steps will be added to the import process, allowing you to automatically import whichever profile fields and data you&#8217;d like from the Ning export.</p>
<p>I also got rid of the pesky copy-and-paste requirement in favor of a direct .csv file upload.</p>
<p><a href="http://teleogistic.net/code/wordpresswordpress-mu/import-from-ning/">Check out the plugin at its new homepage.</a></p>


<p>Related posts:<ol><li><a href='http://teleogistic.net/2010/07/import-from-ning-now-imports-ning-content-into-buddypress/' rel='bookmark' title='Permanent Link: Import From Ning now imports Ning content into BuddyPress'>Import From Ning now imports Ning content into BuddyPress</a></li>
<li><a href='http://teleogistic.net/2010/04/importing-ning-users-into-wp/' rel='bookmark' title='Permanent Link: Importing Ning users into WP'>Importing Ning users into WP</a></li>
<li><a href='http://teleogistic.net/2010/03/new-buddypress-plugin-bp-import-blog-activity/' rel='bookmark' title='Permanent Link: New BuddyPress plugin: BP Import Blog Activity'>New BuddyPress plugin: BP Import Blog Activity</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2010/04/more-import-to-ning-goodness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Importing Ning users into WP</title>
		<link>http://teleogistic.net/2010/04/importing-ning-users-into-wp/</link>
		<comments>http://teleogistic.net/2010/04/importing-ning-users-into-wp/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 12:13:20 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[ning]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WPMu]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=685</guid>
		<description><![CDATA[Today Ning announced that it would be ending its free social networking service. I tweeted something to the effect that this event is a wake-up call: When you use closed-source, third-party hosted solutions for something as valuable as community connections, you are leaving yourself open to the whims and sways of corporate boards. It&#8217;s not [...]]]></description>
			<content:encoded><![CDATA[<p>Today Ning announced that it would be <a href="http://techcrunch.com/2010/04/15/nings-bubble-bursts-no-more-free-networks-cuts-40-of-staff/">ending its free social networking service</a>. I tweeted something to the effect that this event is a wake-up call: When you use closed-source, third-party hosted solutions for something as valuable as community connections, you are leaving yourself open to the whims and sways of corporate boards. It&#8217;s not that Ning is evil or anything &#8211; it goes without saying that they need to make a profit &#8211; but their priorities are importantly different from those of their users. In the same way that Ning moves from a freemium model to a paid model, Facebook could start selling your crap, Twitter could crash, Tumblr could go out of business, etc.</p>
<p>All this is a good argument to be using software solutions that are more under your control. Like &#8211; drumroll &#8211; WordPress and BuddyPress.</p>
<p>Enough moralizing. I whipped together a plugin this afternoon called Import From Ning that will allow you to get a CSV export of your Ning community&#8217;s member list (the only content that Ning has a handy export feature for, alas) and use it to import members into a WordPress installation.</p>
<p>As of right now, it does not have any BuddyPress-specific functionality. But the data that it does import &#8211; display name, username, email address &#8211; are enough to populate at least the beginnings of a BuddyPress profile. The next thing to add is the auto-import of certain profile fields. I might try to do this tomorrow. The plugin is based on <a href="http://www.dagondesign.com/articles/import-users-plugin-for-wordpress/">DDImportUsers</a> &#8211; thanks!</p>
<p>Instructions:</p>
<ul>
<li>Download the zip file and unzip into your WP plugins directory</li>
<li>Look for the Import from Ning menu under Dashboard > Users (unless you&#8217;re running a recent trunk version of BuddyPress, in which case it will be under the BuddyPress menu)</li>
<li>Follow the instructions on that page</li>
</ul>
<p><a href='http://teleogistic.net/code/wordpresswordpress-mu/import-from-ning/'>Download the plugin here.</a></p>


<p>Related posts:<ol><li><a href='http://teleogistic.net/2010/04/more-import-to-ning-goodness/' rel='bookmark' title='Permanent Link: More Import from Ning goodness &#8211; ( Ning to BuddyPress / WordPress )'>More Import from Ning goodness &#8211; ( Ning to BuddyPress / WordPress )</a></li>
<li><a href='http://teleogistic.net/2010/07/import-from-ning-now-imports-ning-content-into-buddypress/' rel='bookmark' title='Permanent Link: Import From Ning now imports Ning content into BuddyPress'>Import From Ning now imports Ning content into BuddyPress</a></li>
<li><a href='http://teleogistic.net/2010/01/blog-specific-email-plugin-for-wpmu-users/' rel='bookmark' title='Permanent Link: Blog-specific email plugin for WPMU users'>Blog-specific email plugin for WPMU users</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2010/04/importing-ning-users-into-wp/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
