WordCamp New York City 2009

November 14–15, 2009
...was awesome!

Development Tag archive

Feeding your family with WordPress development

Photo of Mark Jaquith

Mark Jaquith

I’m not just one of the Lead Developers of WordPress (a volunteer position) — I’m also a freelance WordPress developer and consultant. WordPress consulting quite literally puts food on my table. With a wife, a mortgage, and a kid on the way, I can’t afford to treat WordPress as a hobby. If you are an aspiring WordPress consultant, someone who is doing WordPress work “on the side” and is considering going full time, or if you are earning your living working with WordPress but want to improve your standing in the marketplace, you can’t miss my Saturday morning session on “Feeding your family with WordPress development.”

I’ll be sharing my story — from high school and college dropout to WordPress Ninja — my tips, a few tricks, and some pitfalls to avoid.

Some of the topics I’ll address:

  • How to get started
  • Setting your rates
  • Hourly, or by-the-project?
  • Picking your clients
  • Keeping your skills sharp
  • Improving your standing in the community and the marketplace
  • How to keep your sanity

Come with questions. I’ll see you there at 10:15am, and I look forwarding to competing with you in the WordPress marketplace!

Complex Content Management with the Pods Plugin

Photo of Scott Kingsley Clark

Scott Kingsley Clark

WordPress is an amazing platform, and it’s used to power millions of blogs and sites. As it becomes used in more complex ways though, it can be difficult to manage the multitude of types of content required for your site, project, or application. In just under 30 minutes, I will perform a song I wrote about using WordPress as a CMS to power your site, I will show real world examples of complex content types in action, give a run through of the backend management of Pods, as well as show features from the Pods UI plugin I’ve developed to make it all even easier.

What’s Pods got to do with your content though? Need some more information about Pods and how to use it? Freshen up over at the Pods website. Warning: Pods is still primarily best utilized by developers and I recommend you put your developer hat on! Don’t worry, I won’t be able to completely lose you in my 30 minute presentation!

I’m really looking forward to speaking about the subject of Pods, and how it can completely transform the way you develop complex sites with WordPress.

BUT WAIT! Don’t let the 30 minute presentation slot fool you, I’ll be hanging around – Tweet me or e-mail me to have a one-on-one walkthrough or ask your questions! In addition to this, I will also be hosting an unConference Session on Pods and will Tweet / Post the room and time on my site on Saturday!

You can always feel free contact me via Twitter @scottkclark or on my website.

Roll Your Own Contact Manager With RoloPress

Do you need a Contact Manager or a Customer Relationship Manager? And why would it matter, since all the available ones really stink. They’re too difficult to use, or too simple to be useful. I want all my contacts in one place, my business and my personal. And I want it to work the way I do… look the way I want it to look… work great on my iPhone… and be easily expandable. Am I really asking for too much?

You would think so when you look at the available offerings. I’ve tried Outlook, Salesforce, SugarCRM, vTiger, Highrise, Google Contacts, Yahoo Contacts, Plaxo, and many others. And none of them make my life easier.

So I built my own.

RoloPressRoloPress is a web application. An online Contact Manager that is infinitely expandable, because you can easily create themes or write plugins. It’s powerful and simple, and has a 1-click install. If this all sounds like WordPress, then it should. RoloPress is a web application that uses the WordPress platform.

What’s the “WordPress Platform” you ask? Well, we all know that WordPress is a state-of-the-art publishing platform. But it really is something more. It’s an expandable platform that can be used to build web applications, like RoloPress.

RoloPress, uses core WordPress to create a contact manager. RoloPress is not a separate application tied to WordPress. It is an application built ON WordPress.

Using the standard Parent/Child theme framework, RoloPress allows you to customize the look of your contact manager by just creating a new theme. As long as you have “RoloPress Core” (the parent theme) in your Themes directory, any RoloPress child theme will work. Here’s the one-click install part; activate a RoloPress child theme and you have a contact manager. No plugins to install, no configuration. Just activate a theme. Think you can do that?

Once RoloPress is activated a few things happen. First, RoloPress automatically creates two pages for you, names them, and assigns custom template files to them. Then it creates all the necessary custom fields, and two custom taxonomies for you; “RoloPress-Type” and “RoloPress Company”. Yup, all automatic… no configuration from you.

Creating a contact or a company is all done from the front-end of RoloPress. Even editing is done inline on the front. You really don’t every have to log into the admin section if you don’t want to. Your contacts and companies are regular posts (or in Rolospeak “items”), with custom fields and custom taxonomies… all standard WordPress, just displayed differently for a contact manager.

The custom taxonomies are the secret behind RoloPress, and one of the reasons it’s infinitely expandable; when you create a company, let’s say “ABC Corp”, two things happen. The “RoloPress-Type” taxonomy is assigned a value of “Company”, and then the “Company” taxonomy is assigned a value of “ABC Corp”. Now let’s add a contact that works for ABC Corp, say “Mike Jones”. “RoloPress-Type” is assigned a value of “Contact”, and the “Company” taxonomy is assigned of value of “ABC Corp.”.

So this is sort of what it looks like:
ABC CORP
RoloPress-type = company
RoloPress company = ABC Corp

Mike Jones
RoloPress-type = contact
RoloPress company = ABC Corp

The relationship between Mike Jones and ABC Corp is handled within the “RoloPress company” taxonomy.

Ok, here’s the fun part. The WordPress platform automatically handles the urls for us when using custom taxonomies. So if we view “www.mydomain.com/company/abc-corp” both ABC CORP and STEVE BRUNER show up. It’s an archive for ABC CORP.

If you view “www.mydomain.com/type/contact” all your contacts will show up, and “www.mydomain.com/type/company” will show all your companies. The WordPress platform handles all this for us.

Using custom taxonomies in this way allows us to create an infinite amount of relationships between items. Future versions of RoloPress can have Task Lists, Events, Cases, Deals and Invoices, all related to Contacts, Companies or both. Real relationships can be defined between your contacts, like spouse, parent, child and friend. Just by adding another custom taxonomy. Are you getting excited yet? I hope so!

Since we’re using the WordPress platform for our web application, building plugins for RoloPress is the same as WordPress, but you now have a few more functions and fields to play with. We even include the template tag “rolo_type_is” to help you identify the taxonomy type. If you want something special to happen when viewing a contact just use:  if(rolo_type_is('contact')){// do something

If you’re interested in rolling your own contact manager, then RoloPress is for you. Stop by our session on Saturday and learn how to use and expand RoloPress, to keep you’re contacts in order.

Advanced WordPress Development Environments

Photo of Beau Lebens

Beau Lebens

Wow, pretty dry title huh? There’s no hiding from the fact that this will be a very technical session, but that’s what the people asked for, so that’s what they’ll get. I’ve been involved in web development for around 13 years now, with 10 of them being in PHP/MySQL development. The last 4 years have seen me spending inordinate amounts of time working specifically on WordPress/WPMU projects. I’ve picked up a few tricks along the way, and I’d like to share some of them with you in this session.

The plan is to take you all through some of the tools, tips, tricks, techniques and approaches towards development that might make your life a little easier, more efficient and generally less frustrating. We’ll look at, amongst other things:

  • Setting up a local development environment the easiest way possible
  • Database management
  • Working with Subversion (specifically in relation to WordPress)
  • DNS tricks
  • Advanced WordPress installations
  • Working with WordPress code
  • Secure development environments
  • Developing for multiple versions of WordPress
  • Testing code and UI

The assumption is that people in this session are already developing themes or plugins, and that they’re looking for a little something extra to up their game. I have a LOT to cover in 30 minutes, so I’m going to blaze through what I’ve got and then take some questions, but slides will definitely be available afterward, as well as the outline I used to put this together (some parts didn’t make the cut). I’m hoping there are some folks attending who have a few tips of their own that we can collect as well.

If you’ve got anything in particular you’d like to see covered then feel free to post it in the comments here, and I’ll see you all in a few days now!

Beginner Development: Building Your First Plugin

Photo of John Hawkins

John Hawkins

It has been more than 25 years since the last time I was in New York City. I can’t think of a better reason to go back than to be part of WordCamp! This will be my 9th (and final) WordCamp in 2009, and I can’t think of a better place to finish off the year!

I’m really excited to be speaking about building your first plugin. Plugin development is something I got into as a way to cut down on the amount of time it took me to perform different tasks on

In my session I will cover how to create a plugin, how to add an options page, how to modify a page or post using shortcodes and how to add an admin dashboard widget. (Not bad for 30 minutes, huh?)

Editor’s Note: To get a taste of John’s session, check out the video from his beginner plugin session at WordCamp Portland.

https://videopress.com/v/wp-content/plugins/video/flvplayer.swf?ver=1.10

Read Fast and Start Coding: Theme and Plugin Competition

As the promised land of canonical plugins draws near, when WordPress plugins maintained by development teams rather than single developers working solo will hopefully become the norm*, we thought it would be fun to encourage people to think about working in development teams with a friendly competition. There will be two: one for themes, one for plugins. Time is short, so if you’re interested, read fast and start coding!

The Rules:
Each submission must have 2 or more contributors. At least one of these contributors needs to be a New York Metro resident, and present at WordCamp NYC on Sunday, November 15.

Submissions must be repo-ready. That is, they should be able to be submitted to the WordPress.org theme or plugin repositories and be accepted: no spam, no security holes, no duping an existing theme or plugin.

Submissions must be new creations, not yet released to the public. You can use something you’ve been working on as a starting point, but remember that you *must* have collaborators to enter the competition.

Plugins can do pretty much anything, but must be GPL and must be free (as in beer), and not be simply a giveaway to upsell add-ons that are not free and/or GPL.

Ditto themes. You can do a basic theme, you can do a framework, you can do something specific and functional like P2, whatever, but it needs to be original to get into the top 3. Just changing a few colors or shifting the layout of an existing theme will not suffice for the sake of this competition. You may submit WordPress *or* BuddyPress themes.

The Deadline:
Submissions must be completed by 11:59pm (NYC time) on November 7, 2009. Leave a comment on this post and point to where the judges can download the code for evaluation. In your comment, feel free to provide the “elevator pitch” for your submission, describing what makes it special, etc. Identify in the comment who is on your team (link to names), who is in NYC, and who will be attending WordCamp NYC. This will give the judges enough time to evaluate entries. Late entries will not be accepted.

The Judging:
Matt Mullenweg and other trusted WordPress-universe personalities will be evaluating submissions for code competency, user experience, and style. The top 3 plugin submissions and the top 3 theme submissions will be invited to face off at WordCamp NYC’s Sunday session, which will be held in a 1000-person auditorium. That’s a lot of potential users, employers, clients, and collaborators.

Each team will have a few minutes to introduce their submissions, and then the judges will let you know what they liked and disliked about your entry, after which teams will have a chance to respond (think Project Runway for open source software). After all teams have been evaluated, the judges will announce a winning theme and a winning plugin. These winners will be congratulated (and their winning submissions promoted) on the official WordPress Development blog at http://wordpress.org/development, which reaches millions of people, once the submissions have been uploaded to the WordPress.org repositories.

Start your engines and get coding!

*If you don’t know why canonical plugins = promised land, you should probably attend WordCamp NYC to find out!

Platinum Sponsors

Silver Sponsor

Bronze Sponsors

Small Business Sponsors



Mojofiti logo



Fusebox logo


Cacoo logo


Consultant Sponsor

Recent Posts

Post Categories

RSS #wcnyc

WordCampNYC has no relationship to public radio station WNYC, and we apologize if our abbreviation-based logo has caused any confusion.

Visit WordCamp Central


Code is Poetry.