WordPress Planet

May 15, 2012

Dev Blog: Calling All Contributors: Community Summit 2012

Each year, the WordPress core development team meets in person for a week to work together and discuss the vision for WordPress in the coming year. As annual events go, it’s easily my favorite. Don’t get me wrong, I love attending WordCamps and local WordPress meetups (which are awesome and you should try to attend if you are able), but at the core team meetup, the focus on working together and getting things done is unique, as is the experience of every person in the room being so highly qualified. This year, instead of just planning a core team meetup, I’m aiming a little higher and shooting for a full-on contributor/community summit.

Core code isn’t the only way to contribute to the WordPress project. We have an active theme review team, support forum volunteers, people writing documentation, plugin managers, community event organizers, translators, and more. The teams have been siloed for too long, so we’ve recently begun the process of bringing them together by having teams elect representatives to facilitate more communication between the contributor groups. These reps will form the nucleus of the contributor summit now being planned for a long weekend at the end of October in Tybee Island, GA. This is completely different from a WordCamp. It will be a combination of co-working, unconference, and discussions among the project leaders, and participation will be by invitation.

In addition to bringing together the active contributor team reps to work together, I think it’s important to include community members who don’t fall into that category (at least not yet!). Successful WordPress-based business, authors of popular plugins and themes, and people using WordPress in unexpected but intriguing ways should have a place at the table, too. That said, part of the magic of the core team meetup is the small size; it allows every voice not only to be heard, but to engage. Since this is my first attempt at bringing together so many groups and points of view, I want to try and keep it small enough to retain that personal atmosphere while at the same time ensuring that the best possible mix of people and businesses in the WordPress ecosystem is represented. This is where you come in!

Taking a cue from events with limited availability like AdaCamp (attendance) and the jQuery conference (speaker roster), I want you to nominate people and/or WordPress-based businesses to participate in the summit. Yes, you can nominate yourself.* You can nominate up to 10 additional people — be prepared to provide URLs and the reason you think they should participate. You can also nominate up to 10 WordPress-based businesses without naming individual people, so if there’s a theme or hosting company (for example) that you think should be there, you don’t need to go looking for employee names. This nomination process will hopefully ensure that we don’t overlook someone who is making a difference in our community when it comes time to issue invitations.

Nominations will be open for a week, after which the survey will be closed and the process of analyzing the results** will begin. The nominations process will lead to invitations in June, confirmations in July, planning in August and September, and the summit itself in October. Hopefully we can stream and/or record some of the activity to share online at WordPress.tv. Additional invitations may be extended up until the event if there are people/businesses that become more active in the community. If you’re thinking to yourself that maybe now’s the perfect time to start contributing time to the WordPress project, good thinking! In the meantime, if you want to weigh in, fill in the community summit nomination form. Thanks, and wish us luck!

* Nominating yourself: Do nominate yourself if you fall into one of the categories described in the post above, or if you believe that you have a unique point of view. Please do not nominate yourself if you just think it would be cool to hang out with this group. This is a working event, and everyone is expected to bring something special to the table.

** I (and/or a helpful community volunteer) will sift through the nominations and compile a shortlist of the most-nominated people/businesses and the most intriguing underdogs. This list will be reviewed by the summit planning committee (made up of team reps) to create the invitation list.

by Jane Wells at May 15, 2012 10:36 PM under Events

Alex King: WP App Store

Congratulations to Brad on today’s launch of WP App Store. I’m very pleased to see this come to life. It’s an idea we toyed around with several years ago, but decided not to pull the trigger on – I hope it’s a huge success.

Crowd Favorite Themes

We’ve put our FavePersonal and FaveBusiness themes along with our RAMP plugin into the app store. If you’d like to check it out, download the plugin and start browsing. There is a great group of companies represented already and I’m sure we’ll see more additions as the project grows.

by Alex at May 15, 2012 09:18 PM under WordPress

Mark Jaquith: How I built “Have Baby. Need Stuff!”

Have Baby. Need Stuff! is a baby gear site that my wife and I just launched. I thought I’d share how I built it.

WordPress Core

WordPress is a Git submodule, with the content directory moved to the /content/ directory. This makes my Git repo smaller, as WordPress isn’t actually in it.

Underscores

For a theme base, I started with the Underscores starter theme by the theme team at Automattic. Underscores is not a theme itself… it’s a starting point for building your own theme.

Bootstrap

Next, I integrated Bootstrap, by Twitter, to handle the CSS base and the grid system. Bootstrap is a really powerful framework, and version 2.0 has great responsive design support, which allowed me to create a single design that scales up to big screens or down to tablet or phone screen sizes. Try resizing it in your browser to see the responsiveness in action!

The CSS for the site is authored using LESS, which plays well with Bootstrap. I’m compiling/minifying/concatenating the CSS and JS using CodeKit, an amazing Mac OS X app that makes development a breeze.

Typekit

For web fonts, it’s hard to beat Typekit.

Subtle Patterns

I needed some patterns to use on the site, but I was frustrated with the licensing terms on many pattern sites I was finding. And then I found Subtle Patterns. Gorgeous, subtle patterns, liberally licensed. And hey, their site is WordPress powered too!

Posts 2 Posts

The site has the concepts of Departments, Needs, and Products. Each Department has multiple Needs. Each Need has multiple Products. I used Scribu’s phenomenal Posts 2 Posts plugin to handle these relationships.

Here’s the basic Posts 2 Posts connection code:

<?php

function hbns_register_p2p_relationships() {
	if ( !function_exists( 'p2p_register_connection_type' ) )
		return;

	// Connect Departments to Needs
	p2p_register_connection_type( array(
		'name' => 'departments_to_needs',
		'from' => 'department',
		'to' => 'need',
		'sortable' => 'to',
		'admin_box' => 'to',
		'admin_column' => 'any',
		'cardinality' => 'one-to-many',
	) );

	// Connect Needs to Products
	p2p_register_connection_type( array(
		'name' => 'needs_to_products',
		'from' => 'need',
		'to' => 'product',
		'sortable' => 'from',
		'admin_column' => 'any',
		'admin_box' => array(
			'show' => 'any',
			'context' => 'advanced',
		),
		'cardinality' => 'many-to-many',
		'fields' => array(
			'description' => 'Description',
		),
	) );
}

add_action( 'wp_loaded', 'hbns_register_p2p_relationships' );

I created a Custom Post Type for each of Departments, Needs, and Products, and connected them all using Posts 2 Posts. The connection between a Need and a Product also contains description metadata, as seen here:

Since Posts 2 Posts was a required plugin for the site to function, I didn’t want there to be any possibility of accidental deactivation. So I wrote a quick mu-plugins drop-in to “lock” certain plugins on.

<?php
class HBNS_Always_Active_Plugins {
	static $instance;
	private $always_active_plugins;

	function __construct() {
		$this->always_active_plugins = array(
			'batcache/batcache.php',
			'posts-to-posts/posts-to-posts.php',
			'login-logo/login-logo.php',
			'manual-control/manual-control.php',
		);
		foreach ( $this->always_active_plugins as $p ) {
			add_filter( 'plugin_action_links_' . plugin_basename( $p ), array( $this, 'remove_deactivation_link' ) );
		}
		add_filter( 'option_active_plugins', array( $this, 'active_plugins' ) );
	}

	function remove_deactivation_link( $actions ) {
		unset( $actions['deactivate'] );
		return $actions;
	}

	function active_plugins( $plugins ) {
		foreach ( $this->always_active_plugins as $p ) {
			if ( !array_search( $p, $plugins ) )
				$plugins[] = $p;
		}
		return $plugins;
	}
}

new HBNS_Always_Active_Plugins;

Custom Post Types

I’m using the Products post type in a slightly odd way. You don’t ever go to a product URL. You instead go the URL for the Need that the Product fulfills, and that page lists all of the connected Products. As such, I wanted to make it so that URLs for products pointed to their Need, and I wanted to add an admin bar Edit link for the primary product on its Need page.


<?php
/*
Plugin Name: Post Links
Version: 0.1
Author: Mark Jaquith
Author URI: http://coveredwebservices.com/
*/

// Convenience methods
if(!class_exists('CWS_Plugin_v2')){class CWS_Plugin_v2{function hook($h){$p=10;$m=$this->sanitize_method($h);$b=func_get_args();unset($b[0]);foreach((array)$b as $a){if(is_int($a))$p=$a;else $m=$a;}return add_action($h,array($this,$m),$p,999);}private function sanitize_method($m){return str_replace(array('.','-'),array('_DOT_','_DASH_'),$m);}}}

// The plugin
class CWS_HBNS_Post_Links_Plugin extends CWS_Plugin_v2 {
	public static $instance;

	public function __construct() {
		self::$instance = $this;
		$this->hook( 'plugins_loaded' );
	}

	public function plugins_loaded() {
		$this->hook( 'post_type_link' );
		$this->hook( 'add_admin_bar_menus' );
	}

	public function add_admin_bar_menus() {
		$this->hook( 'admin_bar_menu', 81 );
	}

	public function admin_bar_menu( $bar ) {
		if ( is_single() && 'need' == get_queried_object()->post_type ) {
			$primary_product = new WP_Query( array(
				'connected_type' => 'needs_to_products',
				'connected_items' => get_queried_object(),
			) );
			if ( $primary_product->have_posts() ) {
				$bar->add_menu( array(
					'id' => 'edit-primary-product',
					'title' => 'Edit Primary Product',
					'href' => get_edit_post_link( $primary_product->posts[0] ),
				) );
			}
		}
	}

	public function post_type_link( $link, $post ) {
		switch ( $post->post_type ) {
			case 'product' :
				$need = new WP_Query( array(
					'connected_type' => 'needs_to_products',
					'connected_items' => $post,
				) );
				if ( $need->have_posts() )
					return get_permalink( $need->posts[0] );
				break;
		}
		return $link;
	}
}

new CWS_HBNS_Post_Links_Plugin;

For entering data about Products, I made a custom Meta Box that provided a simple interface for entering the Amazon.com link, the approximate price, and then a freeform textarea for key/value pairs and miscellaneous bullet points.

Misc

Because I’m using a Git-backed and Capistrano-deployed repo, I don’t want any local file editing. So I dropped this code in:


<?php

define( 'DISALLOW_FILE_EDIT', true );

function hbns_disable_plugin_deletion( $actions ) {
	unset( $actions['delete'] );
	return $actions;
}

add_action( 'plugin_action_links', 'hbns_disable_plugin_deletion' );

I was playing a lot with different Product thumbnail sizes, so Viper007Bond’s Regenerate Thumbnails plugin was invaluable, for going back and reprocessing the images I’d uploaded.

And of course, no WordPress developer should make a site without Debug Bar and Debug Bar Console.

Nginx and PHP-FPM

My server runs Nginx and PHP-FPM, in lieu of Apache and mod_php. My normal setup is to use Batcache with an APC backend to do HTML output caching, but I also have an Nginx “microcache” that caches anonymous page views for a short amount of time (5 seconds). But with this site, I wanted to cache more aggressively. Because there are no comments, the site’s content remains static unless we change it. So I cranked my microcache up to 10 minutes (I guess it’s not a microcache anymore!). But I wanted a way to purge the cache if a Product or Post was updated, without having to wait up to 10 minutes. So I modified the Nginx config to recognize a special header that would force a dynamic page load, effectively updating the cache.

Here’s the relevant part of the Nginx config:

	location ~ \.php$ {
		# Set some proxy cache stuff
		fastcgi_cache microcache_fpm;
		fastcgi_cache_key $scheme$host$request_method$request_uri;
		fastcgi_cache_valid 200 304 10m;
		fastcgi_cache_use_stale updating;
		fastcgi_max_temp_file_size 1M;

		set $no_cache_set  0;
		set $no_cache_get  0;

		if ( $http_cookie ~* "comment_author_|wordpress_(?!test_cookie)|wp-postpass_" ) {
			set $no_cache_set 1;
			set $no_cache_get 1;
		}

		# If a request comes in with a X-Nginx-Cache-Purge: 1 header, do not grab from cache
		# But note that we will still store to cache
		# We use this to proactively update items in the cache!
		if ( $http_x_nginx_cache_purge ) {
			set $no_cache_get 1;
		}

		# For cached requests, tell client to hang on to them for 5 minutes
		if ( $no_cache_set = 0 ) {
		        expires 5m;
		}

		# fastcgi_no_cache means "Do not store this proxy response in the cache"
		fastcgi_no_cache $no_cache_set;
		# fastcgi_cache_bypass means "Do not look in the cache for this request"
		fastcgi_cache_bypass $no_cache_get;

		include        /etc/nginx/fastcgi_params;
		fastcgi_index  index.php;
		try_files      $uri =404;

		fastcgi_pass phpfpm;
	}

Now I just needed to have WordPress ping those URLs with that header to refresh them when something changed. Here’s the “meat” of that code:

<?php
	public function transition_post_status( $new, $old, $post ) {
		if ( 'publish' !== $old && 'publish' !== $new )
			return;
		$post = get_post( $post );
		$url = get_permalink( $post );

		// Purge this URL
		$this->purge( $url );

		// Purge the front page
		$this->purge( home_url( '/' ) );

		// If a Product changes, flush its Need and that Need's Department
		if ( 'product' === $post->post_type ) {
			// Flush the connected need
			$need = new WP_Query( array(
				'connected_type' => 'needs_to_products',
				'connected_items' => $post,
			) );
			if ( $need->have_posts() ) {
				$this->purge( get_permalink( $need->posts[0] ) );
				// Now this need's connected Department
				$department = new WP_Query( array(
					'connected_type' => 'departments_to_needs',
					'connected_items' => $need->posts[0],
				) );
				if ( $department->have_posts() )
					$this->purge( get_permalink( $department->posts[0] ) );
			}
		// If a Post changes, flush the main Blog page
		} elseif ( 'post' === $post->post_type ) {
			$this->purge( home_url( '/blog/' ) );
		}
	}

	private function purge( $url ) {
		wp_remote_get( $url, array( 'timeout' => 0.01, 'blocking' => false, 'headers' => array( 'X-Nginx-Cache-Purge' => '1' ) ) );
	}

Boom. Now I get the benefit of long cache times, but with the ability to have updates go live quickly when I need to. The upshot here is that while I have Batcache installed, it’s not really going to get a lot of use, as the outer Nginx caching layer should handle everything. This doesn’t just mean that the site scales (Apache Bench has it handling many thousands of requests a second with ease), but that the site is really, really fast to browse. Your experience will vary according to network and geography, of course. But for me, I’m getting 34ms HTML delivery times for pages in the Nginx cache.

Questions?

So that’s how I did it. Let me know if you have any questions!


by Mark Jaquith at May 15, 2012 08:18 PM under WordPress

Matt: Diary Of A WordCamp

With all the hubaboo going on about WordCamps right now, it’s nice to read Siobhan McKeown’s Diary Of A WordCamp on Smashing WordPress, a great story about her experience at WordCamp Netherlands.

by Matt at May 15, 2012 03:41 PM under Asides

Weblog Tools Collection: WordPress Theme Releases for 5/15

Flourish is a lovely, simple, pastel theme with subtle decorative flourishes in the background and accents and features a vibrant, colorful image of needlework in the header.

Galaxy is a professional theme for corporate business websites and blogs.

by James at May 15, 2012 02:00 PM under wordpress themes

May 14, 2012

Matt: WP Businesses and Contributions

10up partner Helen is now a core WP contributor and 10up highlights that contribution on their blog. It’s very exciting to see more core involvement springing up all over the WP ecosystem, as it has a big impact on the quality of the core software we all depend on. Let me know if you spot any more examples and I’ll share them here.

by Matt at May 14, 2012 12:54 AM under Asides

May 13, 2012

Weblog Tools Collection: WordPress Plugin Releases for 5/13

New plugins

Add To Post allows you to add additional content to either the start, end or both areas of your blog posts.

Rewrite Rules Inspector is a straightforward WordPress admin tool for inspecting your rewrite rules.

WP2Cloud seamlessly integrates with Amazon S3 to provide high availability, high reliability, quick and easy disaster recovery, and serving content in a highly scalable fashion.

Updated plugins

Fast Secure Contact Form lets your visitors send you a quick e-mail message and blocks all common spammer tactics. Additionally, the plugin has a multi-form feature, optional extra fields, and an option to redirect visitors to any URL after the message is sent.

Yepty is yet another pay per click advertising plugin.

by James at May 13, 2012 02:00 PM under WordPress

May 12, 2012

WPTavern: My Apologies To The WordPress Foundation

First off, I want to offer my sincere apologies to the WordPress Foundation. In a previous article, I incorrectly labeled the foundation as harming WordCamps. My main gripe was with the fact that some WordCamp organizers were being denied the ability to have high sponsorship caps and thus, it sometimes adversely affected the event either in terms of it’s size or type of venue they could hold the event in. As time has gone by, I’ve learned that the biggest mistake I made was contributing the organizing and running of WordCamps to the WordPress Foundation which is incorrect. WordCamp Central is the group responsible for all things WordCamp related while the WordPress Foundation oversees the use of the WordPress and WordCamp trademarks. Unfortunately in the original discussion, WordCamp Central and the WordPress Foundation were used interchangeably which muddied the conversation.

Perhaps I should have known better, but even though I’ve been apart of the WordPress community for two years, the project has grown far beyond just being publishing software. There is the foundation, WordCamp Central, Automattic, WordPress.com, various Automattic owned services, Audrey.co, etc. It’s hard to place blame or hold anyone accountable when you have no idea who that person is or what project or group they belong to. It’s frustrating for me but I wonder if many people simply don’t care, just as long as WordPress remains awesome, easy to use publishing software? I’ve often felt that there should be some sort of WordPress White Pages so that the public can know who is responsible for what within the WordPress project. But since so many individuals mingle with various parts, that project would soon be a waste of time.

P.S. There is hope for things to change for the better.

Related posts:

  1. WordPress Foundation To Foot The Bill For Meetup.com Organizer Dues
  2. Virtual WordCamp Virtually Disappears
  3. All We Want To Know Is Why?

by Jeffro at May 12, 2012 12:40 PM under wordpress

May 11, 2012

Donncha: Super Cache for the Weekend

WP Super Cache 1.0 came out several months ago and while it worked fine for most people there’s always room for improvement and bug fixes. Here are some of the bug fixes and improvements coming in the next version which I plan on releasing next week.

There are a lot of changes there so if you have a self hosted blog I would really appreciate if you download the development version, wp-super-cache.zip and install it in your plugins folder.

  • Use $_SERVER[ 'SERVER_NAME' ] to create cache directories.
  • Only create blogs cached directories if valid requests and blogs exist.
  • Only clear current blog’s cache files if navigation menu is modified
  • Added clean_post_cache action to clear cache on post actions
  • Removed garbage collection details on Contents tab
  • Added wp_cache_check_mobile cacheaction filter to shortcircuit mobile device check.
  • Don’t delete cache files for draft posts
  • Added action on wp_trash_post to clear the cache when trashed posts are deleted
  • Show a warning when 304 browser caching is disabled (because mod_rewrite caching is on)
  • New check for safe mode if using less that PHP 5.3.0
  • Added wp_supercache_remove_cookies filter to disable anonymous browsing mode.
  • Fixed garbage collection schedule dropdown
  • Fixed preload problem clearing site’s cache on “page on front” sites.
  • Fix for PHP variable not defined warnings
  • Fixed problem refreshing cache when comments made as siteurl() sometimes didn’t work
  • Preloading of taxonomies is now optional
  • Domain mapping fixes.
  • Better support for https sites. Remove https:// to get cache paths.
  • Added AddDefaultCharset .htaccess rule back in and added an option to remove it if required.
  • Added multisite plugin that adds a “Cached” column to Network->Sites to disable caching on a per site basis.
  • Added WPTouch plugin to modify browser and prefix list in mobile detection code. Added support for that plugin’s exclude list.
  • Fixed cache tester
  • Filter the tags that are used to detect end-of-page using the wp_cache_eof_tags filter.

Related Posts

by Donncha O Caoimh at May 11, 2012 03:23 PM under wp-super-cache

Weblog Tools Collection: WordPress Theme Releases for 5/11

Blossom is a very simple and colorful layout with a floral theme and faint pinstripe background in an earthy green.

Live Wire was designed with a mobile-first attitude, supports post formats, and is translation-ready.

by James at May 11, 2012 02:00 PM under wordpress themes

May 09, 2012

Weblog Tools Collection: WordPress Plugin Releases for 5/9

New plugins

Ad Code Manager allows you to manage your ad codes through the WordPress admin in a safe and easy way.

Updated plugins

FoxyPress is a custom plugin made to integrate FoxyCart e-commerce functionality into your WordPress website.

Simple Google Connect is a framework and series of sub-systems that let you add any sort of Google based functionality you like to a WordPress blog.

by James at May 09, 2012 02:00 PM under WordPress

May 08, 2012

WP Android: Version 2.1 Now Available

Device examples of version 2.1 of WordPress for Android

The dev team is excited to announce that version 2.1 of WordPress for Android is now available! This release adds some great new features, read on to find out more.

WordPress for Android LogoWhat’s New

Comment Editing:

You can now easily edit comments in the app. Just tap the new ‘Edit’ button when viewing a comment and you will be taken to a new screen where you can edit the comment information including the name, email, url, comment text, and status. Big thanks to contributor aerych for adding this feature!

Post Autosave:

To better protect the content you are creating, the app will now autosave posts you are editing every 60 seconds. We’ve also added a safeguard that will make sure that you want to overwrite local changes you’ve made to a post before refreshing the posts list.

New Scaled Image Setting:

Instead of only linking to the full size image, you can now set the width of the linked image to whatever you’d like. To activate the new setting, tap ‘Settings’ and then tap the ‘Upload and link to scaled image’ checkbox. Another big thanks to contributor dolittledk for adding this feature!

Additional Changes:

In addition to these great features, there’s also some other great new additions in the app:

  • Small updates to the UI
  • New app icon
  • Reliability improvements
  • Performance tweaks

WordPress.com

New Reader:

There’s an all-new reader in the app that makes it easier than ever to follow your favorite blogs on WordPress.com. We’ve added a bunch of great new features including simplified navigation between posts, the ability to comment on articles you like, and the ability to easily share posts to other apps on your Android device.

Contributors

A round of applause for the fine folks who have worked on this release: dolittledk, aerych, isaackeyet, mrroundhill, are you next?

Get it!

We hope that version 2.1 will make it easier than ever for you to blog while on the go. The app is available today for Android, Nook, and BlackBerry PlayBook devices:

How do you like version 2.1 of WordPress for Android? Let us know in the comments section below or tweet us @WPAndroid.


by Dan at May 08, 2012 09:01 PM under 2.1

Weblog Tools Collection: WordPress 3.4′s Theme Customizer

WordPress 3.4 will ship with a powerful theme customizer to make alternations to some of the most basic aspects of any theme without even affecting your live site while you tinker. It’s a very fascinating tool, and WordPress superstar Samuel “Otto” Wood has created this short video highlighting some of its features.

Now that you’ve seen the video, head on over to Otto’s incredibly detailed post on how to bring support for the new customizer into your own themes.

by James at May 08, 2012 03:30 PM under themes

Matt: Three Laws of Makerbot

The landlord at 87 Third Avenue included a lease clause requiring that MakerBot comply with science-fiction writer Isaac Asimov’s “three laws of robotics,” which require that robots follow orders, not injure humans, and protect their own existence.

Makerbot has a fun article in the WSJ today about moving office space. (Makerbot is an Audrey company.)

by Matt at May 08, 2012 03:21 PM under Asides

May 07, 2012

Weblog Tools Collection: WordPress Theme Releases for 5/7

Futuristica is a futuristic, modern, customizable, clean, and readable theme with a custom created background.

Lugada is a simple minimalist responsive two column theme with a built in slider.

Wheels is an eye-catching, lively, colorful theme on a dark background featuring an image of a classic, vintage pickup truck in bright blue against a sunset background of varying shades of orange.

by James at May 07, 2012 02:00 PM under wordpress themes

May 05, 2012

Weblog Tools Collection: WordPress Plugin Releases for 5/5

New plugins

SPD Shortcode Slider is a jQuery featured content slider controlled completely by shortcodes for easy template integration.

Yepty is yet another pay per click advertising plugin.

Updated plugins

Bad Behavior complements other link spam solutions by acting as a gatekeeper, preventing spammers from ever delivering their junk, and in many cases, from ever reading your site in the first place.

Sharexy is a powerful social sharing, bookmarking, and blog monetization tool.

by James at May 05, 2012 02:15 PM under WordPress

May 04, 2012

WPTavern: WordPress Foundation Harming Rather Than Helping WordCamps

WordCamp San Francisco 2012 has released their sponsorship package prices and once again, the prices almost demand that you include your first born with the top spot. In 2009, the top sponsorship spot for the event was $15,000. In 2010 the top sponsorship spot would have cost you the same amount, $15,000. Last year, the top spot would have set you back $40,000. While the sponsorship prices are astronomical compared to any other WordCamp in the U.S., the real issue lies within the fact that there appears to be a double standard when it comes to setting caps for sponsorship money.

An article on Perezbox that talks about the issue has so far, generated a number of comments from WordCamp organizers. It was disheartening to read so many organizers with roughly the same complaint. Here are a few excerpts from their comments to give you a better idea of the crux of the matter.

Couldn’t agree more. I remember being told by the WP Foundation that the highest level sponsorship package for WordCamp Philly was too high. The price was $2,500, so we were forced to bring it down to $2,000. So our HIGHEST level was identical to their LOWEST level.- Brad Williams organizer of WordCamp Philadelphia

I organized Chicago in ’09 and ’10. The 2010 camp hosted 580 attendees and in Chicago, that is no small task. Each city has its own things to deal with … in Chicago its unions. 2010 cost us roughly $42,000.00 (and, in my opinion, it was a bare bones camp) – – and we raised that much through sponsorships, so we broke even. That was a couple of months before the Foundation took over. I was told that $30K for a local WordCamp was a ridiculous amount and way too much for a local camp…which is why the Foundation would be taking over to help local camps deal with these financial issues. – Lisa Sabin-Wilson organizer of WordCamp Chicago

As last years organizer of WordCamp Las Vegas I can totally understand and feel the frustration with the sponsorship package limits being set in place by the foundation, especially once you see that the price points for WCSF are so far above and beyond what is allowed. Overall I think the limits that are put in place for all of us common folk to follow is pretty low and should be revisited as the cost of WordCamp’s can vary on geographical location. – Shelby DeNike organizer of WordCamp Las Vegas

I am one of the organizers of the Seattle WordCamp. We have almost 900 people in our local Meetup community and I know we easily could have packed in a 600 person crowd between us and the rest of the community with no problem, and we wanted to! We ran into a brick wall with the Foundation limitations that wound up restricting us to a 300 person venue due to lack of flexibility primarily in sponsorship abilities. – Ben Lobaugh organizer for WordCamp Seattle

If the WordPress Foundation is going to tell WordCamp organizers what the limit is on their sponsorship packages and quite possibly make it too low which can make or break an event, WordCamp San Francisco should be held to the same procedures. If WordCamp San Francisco can not put on a successful event because of the regulations of the WordPress Foundation, they should change its name so they can hold an event without anyone telling them what to do. But, I don’t think they’ll be doing that anytime soon.

This site reaches thousands of people. I’m especially interested in hearing from WordCamp organizers. I want to know if the experiences described by others were also experienced by you.

No related posts.

by Jeffro at May 04, 2012 07:00 PM under wordcamps

WPTavern: PressNomics – Conference Specifically For Commercial WordPress Entities

Pressnomics LogoIn what I believe is the first of it’s kind, PressNomics aims to bring together the various commercial entities that are successfully making a living around WordPress. The conference is being held in Chandler, Arizona which by the way, is a great name for a city between November 8th and 10th, 2012. There is room for around 150-200 attendees with ticket prices starting at $150.00. The tickets go on sale starting in June but most of the attendees will be personally invited. While Joshua and Sally Strebel are among those organizing the conference, this is not a Page.ly focused event. Among the list of confirmed speakers thus far include Mark Jaquith and Mikkel Svane, the CEO of ZenDesk.

When I asked Josh why he’s helping to put on this event, here was his response:

I had this idea for a while and finally decided to execute on it after discussing it with others. People seem to agree that having a meet up of sorts to discuss best practices and learn from each others experiences and stories would be helpful. The programming is for the benefit of the businesses that drive the WordPress economy, not so much the end user of WordPress. + it is a good excuse to get together with our peers.

Sounds like a great idea to me. There is already a lot of collaboration between commercial WordPress entities in the community but I think this will do a lot of businesses some good to get together in person, especially to share success and failure stories. One thing worth noting is that this is definitely not a WordCamp event as illustrated via their disclaimer.

This is not a WordCamp, and it has not been endorsed by or is affiliated with the WordPress Foundation. WordPress is a trademark of the WordPress Foundation, respect.

While organizing an event like this is not easy, it has to be considerably easier to be able to put on a conference about a specific aspect of WordPress with 0 restrictions.

Related But Not Required Reading:

The Concept Of A PressNomics Conference

No related posts.

by Jeffro at May 04, 2012 01:00 PM under economics

May 03, 2012

WP Blackberry: WordPress for PlayBook Update

An update to WordPress for PlayBook is now available on the BlackBerry App World. We’re pleased to introduce version 2.1, which adds some totally radical stuff!

What’s new:

  • Comment editing: tap the new ‘Edit’ button when viewing a comment and you will be taken to a new screen where you can edit the comment information including the name, email, URL, comment text, and status.
  • Post Autosave: to better protect your content, the app will now autosave posts you are editing every 60 seconds.
  • New Scaled Image Setting: you can now set the width of linked images. Tap ‘Settings’ and then tap the ‘Upload and link to scaled image’ checkbox.

Minor changes:

  • Small improvements to the UI, most notably the delete post button has been moved to a less prominent spot to prevent accidental taps.
  • Reliability improvements.
  • Updated translations.
  • New app icon.

WordPress.com:

  • New WordPress.com Reader: There’s an all-new reader in the app that makes it easier than ever to follow your favorite blogs on WordPress.com. We’ve added a bunch of great new features including simplified navigation between posts and the ability to comment on articles you like.

Getting WordPress for PlayBook

Make sure you’re running BlackBerry PlayBook OS 2.0 or higher, then simply click here to download the app and get started.

Contributors

Huge thanks to the fine folks who have worked on this release: dolittledk, aerych, isaackeyet, mrroundhill, daniloercoliand you?

Feedback

Be sure to subscribe to this blog to stay up to date with the latest happenings around WordPress for PlayBook and WordPress for BlackBerry.

How do you like WordPress for PlayBook? Let us know in the comments section below, or tweet us @WPBlackBerry.


by Danilo at May 03, 2012 07:54 PM under WordPress for PlayBook

Weblog Tools Collection: WordPress 3.4 Beta 4 Released

WordPress 3.4 Beta 4 has been released, with quite possibly the most brief, and yet most simply descriptive, release announcement yet. I’ll take the liberty of forever preserving it below in all its glory:

Less bugs, more polish, the same beta disclaimers. Download, test, report bugs. Thanks much. /ryan #thewholebrevitything

So, let’s break that down just a bit in case you’re not yet familiar with what’s going on. First, WordPress 3.4 Beta 4 has less bugs and is a bit snappier and cleaner than the previous beta releases, but the same disclaimers are still valid. This is not yet meant for live sites, but please do take a few swings at it on a test installation, especially if you are a plugin or theme developer. If you find any bugs, please report them, and contact the support forums if you need any help.

by James at May 03, 2012 02:00 PM under wordpress 3.4

Dev Blog: WordPress 3.4 Beta 4

Less bugs, more polish, the same beta disclaimers. Download, test, report bugs. Thanks much. /ryan #thewholebrevitything

by Ryan Boren at May 03, 2012 02:52 AM under Releases

May 01, 2012

BuddyPress: BuddyPress at Newham Bridge Primary, UK

This post was written by Adam Heward, a member of the BuddyPress community and ICT Manager at Newham Bridge Primary School.

Facebook is an endemic problem for UK schools. Issues from outside of the classroom are being brought into school as a result of Facebook interactions and schools are powerless to do anything about it. I found out on my first day in my new job as ICT manager in a primary school in Middlesbrough, UK when I was asked “What can we do about Facebook?”

Our school had experienced everything from name calling to death threats, doctored pictures to stolen identities; all of this from users who were still at least 4 years short of Facebook’s (all too easy to avoid) minimum age requirement of 13 years old. We needed to steer our students away from Facebook and toward something the school could police, and make sure we catch the others before opening Facebook accounts.

That’s where BuddyPress came in.

BuddyPress enabled us to start our own school-oriented social network, where children can communicate with their classmates in a safe and monitored environment. Every child was given a username and password as well as training on how to use the platform. We encourage responsible use of the Internet through teaching our children how to be good e-citizens. Our social network is treated like the children’s school books where the children should produce their best work at all times. This is imposed to produce an environment of high quality writing (typing) which in turn breeds good writing habits both online and in the rest of their school work.

Our social network is hosted on the Internet rather than any internal school server and so it is easily accessible to the children at home which has further encouraged participation. The children have really enjoyed engaging with their classmates, and even their teachers, on the school social network; sharing brief conversations about both in school and out of school matters. Teachers are able to set tasks for whole class groups or give encouragement to individual learners. It’s a valuable tool to enhance communication between teaching staff, reminding colleagues of events, sharing resources for lessons, and taking care of administrative and social notices.

The basic functionality of BuddyPress can be further extended through the use of the ever expanding Plugins library. We use BuddyPress Docs where children can collaborate on a shared piece of work and teachers can make comments and suggestions to help the children to enhance it. We also have the CubePoints for BuddyPress plugin to encourage participation on our social network. Children are awarded points for logging in daily and posting comments and a chart showing to top users is displayed in the sidebar. Points can also be deducted for any issues both online and offline.

In addition to the masses of free plugins that are available, we have a paid subscription to WPMUDEV’s BuddyPress Calendar Plugin to help us to plan events in the school calendar such as Sports Day and Summer Fairs, or for individual groups such as fixtures for the school football team.

BuddyPress is the perfect fit for our school. The flexibility and extensibility of the WordPress platform, the continually updated plug-in environment, well documented support, and the fact it’s all free, leads me to the conclusion that it can be just as successful in all other schools as it has been with ours. Thank you for the opportunity to share our story!

by Paul Gibbs at May 01, 2012 09:05 PM under uses

WPTavern: Import/Export Options Now Available With Widget Logic

The latest release of one of my favorite plugins, Widget Logic, now has the option to import and export options. The options are saved to a text file which contains all of the conditional logic.

Widget Logic Export Import Options

Widget Logic Text File

Conditional Logic Saved Within A Text file

Despite using this particular plugin for a long time, it never really occurred to me how nice it would be to have such a feature. This really comes in handy for those times when you want to reformat your website and instead of remembering the conditional logic for each widget, you simply import the text file and the configuration is taken care of.

While I didn’t dedicate much time to it, there is an additional enhancement that comes with Version .52 of the plugin. You can now select when the logic code runs. Here is a screenshot that should help clarify what it does.

Oh, and if you get lost trying to find out where the new features are located, you’ll find them at the bottom of your Widget configuration page.

No related posts.

by Jeffro at May 01, 2012 07:15 PM under widgets

WPTavern: WooThemes Excels At Customer Service During Crisis

While WooThemes was experiencing a crisis that involved the loss of 6 months of data along with their main website going offline, they still managed to provide great customer service. During the entire ordeal, WooThemes kept customers and the public updated with what they knew and what they were doing to fix the problem via their status blog. Their status blog was updated multiple times a day. Many people commended the company on Twitter for doing such a great job and it’s definitely deserved.

I wish companies whether they be WordPress based or not would so something similar when a crisis hits. Customers want to know what happened, what’s currently happening, who’s doing what, etc. When a crisis hits and takes a website offline, people don’t want a canned response to a support ticket or email, they want information. Information keeps customers calm or at least, calmer then they would be without it. I personally hate that feeling I get when a company seems to shove me off and pretends as if nothing is wrong. As for information, inform the masses, not just a few. That way, everyone is on the same page. Use your company site as a means of controlling the conversation so people don’t have to guess what’s happening.

Related posts:

  1. WooThemes To Go Back To Their Roots
  2. Interview With Adii Of WooThemes
  3. WooThemes Releases Survey Results As An Infographic

by Jeffro at May 01, 2012 03:00 PM under woothemes

Weblog Tools Collection: WordPress Plugin Releases for 5/1

New plugins

Simple Google Connect is a framework and series of sub-systems that let you add any sort of Google based functionality you like to a WordPress blog.

WP Coming Soon adds a coming soon page with a countdown clock.

Updated plugins

Email Log allows you to log all emails that are sent through WordPress.

Keyring provides a very hookable, completely customizable framework for connecting your WordPress site to an external service.

Social Login for WordPress lets your users log in and comment via their accounts with popular ID providers such as Facebook, Google, Twitter, Yahoo, Live, and over 15 more.

by James at May 01, 2012 02:00 PM under WordPress

Alex King: RAMP v1.0.4 Released

We pushed out an update to RAMP today, our WordPress plugin that makes it easy for you to stage content for review in one environment, then push it to your production server once it’s ready to go.

As the version number indicates, this release is primarily to deliver a few bug fixes. Here is a quick overview of the significant changes:

  • improved compatibility with changes introduced in WordPress 3.3
  • properly handle entirely numeric category and tags names
  • improved support for hierarchical taxonomies
  • misc. cleanup of PHP notices (when the WordPress DEBUG setting is enabled)
  • minimum required WordPress version is now 3.3

For a little more detail about just what this product is all about, check out my original post announcing RAMP.

by Alex at May 01, 2012 12:19 AM under WordPress

April 30, 2012

Weblog Tools Collection: Do You Use a Comment Policy?

Comments are an important part of blogs. They help readers relate to articles by asking questions and building discussion and are even credited with creating some of the strongest online communities today. But, how do you keep everything clean and on topic? Do your users know what to expect? I’m not just talking about common sense and anti-spam practices, I’m talking about a policy or a code of conduct. Do you have one?

We have a comment policy here, and it’s as follows:

Comments will be accepted if they meet the following conditions:

  • The comment is not spam.
  • The comment is not left solely to drive traffic elsewhere. (Yes, this is spam.)
  • The comment is not widely off topic.
  • The comment is not obscene or profane.
  • The commenter has left a real name or proper screen name. (“Cheap Lawn Chairs” and “Joe @ MyCellPhoneTips.blah” are not real names).

We do use a broad list of moderation keywords, but if your comment is held for moderation and abides by our comment policy, it will be accepted shortly.

By submitting a comment here you agree to the above comment policy and grant this site a perpetual license to reproduce your words and name/web site in attribution.

You might notice that we’ve added a handy link to it above our comment form by just editing the theme’s comments template. It’s just about as easy as typing the desired text above the form fields. If you’d rather not get your hands dirty in the template, and you have a WordPress blog, try Comment License.

So, do you have a comment policy? If so, we’d love to hear what it is! If you don’t, what guidelines do you use to manage comments on your blog?

by James at April 30, 2012 02:00 PM under discussion

WPTavern: Critical Update For WooThemes Customers

As if WooThemes.com being attacked was not bad enough, there is also a critical security issue that’s been fixed in the latest release of the WooFramework. The issue dealt with the shortcode generator.

The latest version (and most likely many previous versions) of the WooThemes WooFramework has a bug that allows any website visitor to run and see the output of any shortcode. This gives unauthenticated visitors the same power to execute code on the server as regular publishers have. WordPress installations with unsecured shortcodes (such as [php] which allows raw PHP code to be run) are vulnerable to serious attacks if WooThemes are installed, even if they are not the selected theme for the site.

While the Gist author for that post took some heat for releasing the information the way that he did, others chimed in and stated the vulnerability should have never existed in the first place. According to Jason Gill who is a WooThemes paying customer and also the one who announced the vulnerability on the Gist website explained that he made every effort to try and contact WooThemes or at least, see if the patch was already in existence but was unsuccessful.

While at the time of writing this article WooThemes.com is offline, I advise you to check back often to update your themes as soon as possible.

Related posts:

  1. WooThemes Releases Survey Results As An Infographic
  2. WooThemes To Go Back To Their Roots
  3. Interview With Adii Of WooThemes

by Jeffro at April 30, 2012 01:00 PM under woothemes

April 29, 2012

Weblog Tools Collection: WordPress Theme Releases for 4/29

Chess is a vibrant, bright, high contrast theme that would suit sites dealing with games, chess, or sales.

silverOrchid offers a wide range of customization possibilities with theme options, and is extremely simple to get up and running.

Sunspot is a sharp theme with subtle grid lines and sun-splashed accents.

by James at April 29, 2012 04:15 PM under wordpress themes

April 28, 2012

Weblog Tools Collection: New Blog Dedicated to Theme Options Screens

Konstantin Kovshenin, an Automattic Code Wrangler, has launched Theme Options Gallery, a new blog dedicated to the best and worst WordPress theme options screens.

Each post features a screenshot of a theme options panel in action followed by a breakdown of what makes it either so great or so terrible. There are definitely some eye-opening observations here, especially when it comes to the themes that have so many options they might as well be their own blogging platform. If you know of a theme options panel that’s either amazing or terrifying, Konstantin has a handy submission form for you to share in the joy or madness.

by James at April 28, 2012 02:00 PM under theme options