WordCamp New York City 2009

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

Session Topics Category archive

Writing Plugins for WordPress/MUse

Photo of Ron Rennick

Ron Rennick

It has been about 6 months since Matt announced that WordPress & WordPress MU would be merged into a single codebase. It took Andrea & I few days to get used to the idea. But, it didn’t take long before we were excited and looking forward to it. Time flies. We are 6 months closer.

Although the final implementation hasn’t been sketched out, once the merge has taken place, it’s reasonable to expect that any WordPress install running the latest version will be able to turn on the multiple blog functionality in a few minutes.

WordPress 2.8 has been downloaded over 8.2 million times. The potential is there for any of those WordPress admins to turn the multiple blog feature on to try it out which means that eventually nearly all plugins will be tried in a multiple blog scenario.

Many of the plugins available in the repository work in both WordPress and WordPress MU. But, not all plugins written for WordPress work the way they were intended when they are activated in WordPress MU. In this session, we will look at tips, tricks & traps of writing plugins compatible with both WordPress and WordPress MU.

I wish I was jQuery

Photo of Jim Doran

Jim Doran

I wish I was jQuery. Then, all the designers would love me.

See, jQuery makes using JavaScript so easy that it feels like cheating. My presentation practically wrote itself (Code is Poetry, after all).

WordPress and jQuery have a lot in common – both have large communities of smart people extending, sharing and developing ideas around these tools. WordPress is flexible and allows people to publish their words, photos, ideas and magic without getting in the way of that process. jQuery makes it a snap for developers AND designers to enhance a Web site/user experience in a standards complaint way. JavaScript has become invaluable in a world where IE6 is still a reality.

jQuery LogoOver the years, I’ve tinkered with Prototype, script.aculo.us, Moo, Dojo and Spry. The documentation can be obtuse at times – which sucks when you are in a hurry to solve a problem.

And then I met jQuery – within 5 minutes, I was able to get it working. My students are able to get something working within about 15 minutes – imagine all we’ll get done during my 30 minute talk! It’ll go something like this:

  • A look at the current state of jQuery
  • A look at DOM manipulation and some popular aspects of jQuery
  • An overview of some handy plugins, including browser fixes, gallery tools, AJAX/JSON, etc.
  • Adding jQuery to WordPress themes

I am beside myself with excitement for WordCamp NYC09! Feel free to say “hi” before then – @jimdoran on Twitter.

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.

Using BuddyPress to Beef Up Hyperlocal Citizen Journalism

Photo of Ted Mann

Ted Mann

The term “hyperlocal” is popping up more and more on the interwebs lately. When you hear it, what do you think of?

– Town-based blogs?
– A reinvention of journalism as we know it?
– Big media’s latest desperate ploy to save their eroding business?
– CitySearch for the ‘burbs?

    All true. All fair ways to describe what has become one of the hottest trends in the media industry in the past year.

    Picture of New Jersey map with words "What's all the hype about hyperlocal?"Everybody from AOL (Patch.com) to MSNBC (Everyblock) to the New York Times (The Local) is attempting to get a piece of the hyperlocal pie. And whether or not you think one of these sites holds the promise of becoming Facebook for small towns — or the misfortune to become Microsoft Sidewalk 2.0 — it’s clear that they’re helping cover city council meetings in a way they haven’t been in years., and at the same time, bringing the power of the blog format to citizen journalism.

    There is one problem most of these sites face, though: How do you empower the community and get them to join your blog, while preventing the whole thing from devolving into a forum-like free-all-all? (Apologies to all bbPress and forum enthusiasts out there.)

    (more…)

    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!

    Can I Prove That This Works?

    Photo of John Bintz

    John Bintz

    After hundreds, if not thousands, of times when my code has failed for any number of reasons, the first question that now comes out of my mouth before I sit down and craft a new block of code is:

    Can I Prove That This Works?

    If a user comes to me and says, “Your code is failing!” how can I prove that no, it’s not the code I wrote, it’s how it interacts with this other part, or that it’s user error, or that it’s some other reason? How can I quickly find the place to look for problems by ruling out chunks of code that I know are working? How do I know that, when I get something working, it will stay working?

    When we all started programming, we proved that our code worked by writing the output to a console, to a browser, to some location where we had to visually verify that our inputs produced sane outputs. While this technique certainly does work, it doesn’t scale well at all. How do you prove that the core of your four thousand line plugin stays working, month after month, after you add new features, fix bugs, and re-factor code?

    Lucky for us, we have the tools nowadays to be able to prove that our code does just what we intended it to do. WordPress is built upon PHP, and in PHP, we have multiple testing frameworks to choose from. These frameworks bring to us the ability to perform automated tests on our code, making sure it doesn’t break after we add new things, allowing us to re-factor safely, and letting us say, “The problem’s not here, because the tests just passed.

    The trick is that, like any other habit, the idea of writing tests takes time to really sink in. When you start, you’ll find that, to make your code testable, you’ll have to completely rethink your approach to programming. You’ll become acutely aware of the problems of global variables. You’ll have to learn to write smaller functions and methods that do one — and only one — thing, since anything more becomes too hard to test. You’ll have to learn when a thing is a unit, a discrete component that does one thing, and when a thing becomes an integration, where you string a bunch of units together to make your code masterpiece work.

    My session, Yes, Your Code Will Change, will walk you through what it’s like to unit test code that’s destined to be run on WordPress. It’s an introduction to the ideas of unit & regression testing, why these types of test are beneficial to you, and what it’s like to go through a simple testing situation by showing how you can use PHPUnit and MockPress to prove that your code works, even when — especially when — it has to change. If you write anything even remotely complex for WordPress, this is the session for you. Hope to see you there!

    49ce41fdc95f9bfeb1673611775f042b6bd0acf3

    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

    Children Are The Future: An Introduction to Rapid Theme Development with WP Child Themes

    Allan Cole

    Allan Cole

    We’ve got about 11 days till WordCamp does NYC and I couldn’t be more excited! This will be my first time attending a WordCamp and it looks like tons of fun. It’ll also be my first time speaking publicly since college (YIKES) so I’m a little nervous as well but I’m sure I’ll enjoy myself regardless.

    I’ll be speaking about Child Themes, which I’ve been using to develop both WordPress themes and full-blown websites for various clients and organizations. I first discovered child themes while following Ian at ThemeShaper.com and I’ve never looked back. As a mostly front-end and interaction designer, Child Themes really allow me to speed up my development time and make future-proof theme edits which are essential to any development strategy. My session will mainly cover three subjects: (1) What is a Child Theme?; (2) How to build a Child Theme; and (3) WordPress Theme Frameworks. If you are a front-end developer, a web designer, or a beginning theme developer who’s a bit more focused on design and user experience and not so interested in memorizing WordPress template tags and PHP, then you should definitely check out this session. If you do plan on attending, please download and install my Child Theme Boumatic, which I will be referring to throughout the session.

    About 9-10 months ago I decided to develop almost exclusively using Child Themes. It makes development so much easier and cleaner. Hopefully, sometime in the near future Child Themes will become a part of the WP repository.

    If you have any questions for me, just leave a comment.

    Best,
    Allan

    SEO Clinic: Submit Your Site for Review

    Photo of Corey Eulas

    Corey Eulas

    I am now accepting websites to be reviewed on November 14 at 4:15pm during the Blogger Track. Submit your site for consideration by providing your URL in the comment section below.

    Do you have a blog? Are you looking to increase your readership and overall internet presence? Do you want more people to go to your site and sign up for your newsletter, buy your product, or even just learn more about your marketing/personal branding message? Regardless of your exact intention, the information that will be supplied during this session will help your website succeed.

    Whether you are looking to use your blog for monetary gain or just want to have a really awesome personal blog, these invaluable tips and tricks will help you bring your blog to the next level.

    Are you:

    • Frustrated that your traffic is decreasing (or just isn’t increasing)? I will discuss how to increase visibility with the search engines by looking at audience-submitted websites and showing real-life examples on how to “tweak” your site to become more search engine friendly.
    • Unsure why your conversion rates are so low? I will discuss how to improve your website’s usability & call to action conversion rates using your sites as examples!
    • Confused about how to analyze statistical data to improve SEO? I will discuss how to interpret and act on your already-tracked data to increase users, retention & overall traffic.
    • Wondering which SEO tools and plugins to use? I will discuss the best ones using your submitted sites as examples.

    I’ll be answering these questions and more.

    I have a plethora of information to share and am excited to show you how to make your sites even better!

    Submit your site in the comment section below to be reviewed at Wordcamp NYC 2009 by me. Though I will not be able to touch on all of the submitted sites I will be sure to relay common issues that I find.

    When submitting please include your name, your site & your overall goal of the website (and/or company).

    About Me: I have been involved in web development and internet marketing since late 1990s. I currently works at LexisNexis Martindale-Hubbell as a Senior Search Engine Optimization Specialist and at Wine King as the Director of Search Marketing. I also run Ninety Seven Media, where I helps small to mid-sized businesses increase their internet visibility via SEO & SEM. When I’m not busy working I spend my free time with my fiancée Sandy and dog Coby at my home in New Jersey.

    Advanced Themes and Media Blogging

    Photo of Noel Jackson

    Noel Jackson

    Want to build a theme that acts more like a web application? Need to analyze image width, height, and color? On Saturday, I’ll be talking about advanced theme building techniques. Using the popular P2 and the about-to-be-released Duotone as case studies, I’ll take you through the code and explain how these ideas flourished into something tangible. Your mind will be flooded with talk of ajax, filters, actions, and color analysis. It’s going to be a blast!

    However, if you’re one that just wants to get that content published, you’ll be pleased to know that I’m also going to have a separate session in the Blogger track about blogging with media. Images, video, sound – I’m going to cover it all. We’ll browse through my favorite media-centric themes, plugins, and you’ll get a quick tour of Duotone. By the end you’ll know all their is about getting that rich media onto your site.

    This is going to be an amazing WordCamp. It will be a pleasure to meet all of you and share a little bit of my world with you.

    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.