Recent Updates Toggle Comment Threads | Keyboard Shortcuts

  • Daniel Bachhuber 4:54 pm on May 16, 2013 Permalink | Reply
    Tags: Allen Snook, Backbone JS, Beau Lebens, WordPress plugins   

    Two Meetups for June: WordPress Loves Backbone JS and Plugin Ignite Talks 

    We have two awesome meetups scheduled for June.

    Developer: WordPress Loves Backbone JS

    Date & Time: Monday, June 10th at 6:30 pm

    WordPress 3.5 is the first version of WordPress to include Backbone.js – a powerful and popular Javascript framework for taming your Javascript. With Backbone.js, your data can be encapsulated into models and collections that are then exposed to the DOM through views – views which automatically update as your data changes – with out-of-the-box integration to RESTful APIs and more.

    We’re excited to have Allen Snook and Beau Lebens, from Automattic’s Team Social, tell us about some of their recent work with Backbone. They’ll also walk us through an example plugin that you can use as a springboard for developing your own Backbone.js savvy extensions to WordPress.

    Note: Due to limited space, we’re capping signups to 70. If you RSVP and realize later you can’t make the meetup, please change your status so someone else can attend.

    User: Plugin Ignite Talks

    Date & Time: Monday, June 24th at 6:30 pm

    For the next PDXWP user meetup, we want to showcase the plugins which make WordPress as awesome as it is.

    Know a plugin you just can’t live without? Want to practice your public speaking skills in front of a lively and welcoming audience? We welcome you to apply by June 10th.

    Love discovering new plugins? Join us! We’ll follow the Ignite format for the evening — 10 lucky PDXWP members selected by Daniel Payne and Kory McDow will show off their favorite plugin in 5 minutes and 20 slides a piece.

    Hope to see you there!

     
  • Daniel Bachhuber 7:24 pm on May 6, 2013 Permalink | Reply
    Tags: ,   

    What’s Coming in WordPress 3.6 Recap 

    Last week, Michael Fields, a Theme Wrangler for Automattic, walked about 50 of us through what’s coming in WordPress 3.6:

    Your quick summary of what should be coming:

    • Post formats are front and center of the publishing experience, and you’ll have a new theme to test them out.
    • A login modal window appears if your login session expires while you’re composing a post.
    • WordPress pays better attention to who is editing what post, indicates such in the admin, and lets you “take over” editing of the post.
    • The Revisions UI received a complete overhaul. It’s now much easier to find content saved in a previous version.
    • Easier, more intuitive menu management.
    • Extended support for embedding rich media from services like Rdio and Spotify.
    • … along with dozens, if not hundreds, of bug fixes, performance improvements, and general enhancements.

    WordPress 3.6 was originally scheduled to be released right around this time. As always in shipping software, it’s taking a bit more effort than expected. We hope to see it out the door in the very near future!

     
  • Daniel Bachhuber 4:44 pm on April 29, 2013 Permalink | Reply
    Tags: code review, , WordPress 10th Anniversary Party   

    Two Meetups for May: Code Review Takes Two and WordPress’ 10th Anniversary Party 

    This coming month we have two great meetups scheduled.

    Developer: Code Review Takes Two

    Date & Time: Monday, May 13th at 6:30 pm

    Ever wanted to become a better developer? One sure way: have your code reviewed. Code review can offer valuable perspective on how to write concisely, solve challenging problems, or make your architecture abstracted.

    For this Developer meetup, Mike Bijon and Jeremy Ross will step up to show us how code review should be done. In addition to what you should look for as a reviewer, they’ll cover ways a review can be conducted and how feedback should be communicated.

    Note: Due to limited space, we’re capping signups to 75. If you RSVP and realize later you can’t make the meetup, please change your status so someone else can attend.

    WordPress’ 10th Anniversary Party

    Date, Time & Location: Monday (Memorial Day), May 27th at 7 pm at The Green Dragon

    WordPress is turning 10, and you’re invited! To celebrate the occasion, the WordPress Foundation is coordinating a global party on Monday, May 27th.

    We’ll be kicking it Portland-style at the Green Dragon, 9th and Yamhill in SE. Come stop by at 7 pm or afterwards to regale WordPress times of yore. There’s no set agenda but, if we can get 50 people RSVP’d on the Meetup Everywhere page, we’ll have special 10th anniversary swag to hand out.

    Hope to see you there!

     
  • Daniel Bachhuber 8:30 pm on April 28, 2013 Permalink | Reply
    Tags: , , , PHPUnit,   

    Unit Testing Hack Day Recap 

    Yesterday, even though it was a beautiful Saturday afternoon, 15 of us gathered to level up our Unit Testing skills at the first PDXWP Hack Day.

    After a couple of hours getting learned, we managed to ship:

    To kick the day off, special guest Max Cutler introduced us to the many variants of unit testing. Check out his Speakerdeck for the full presentation.

    Max emphasized writing unit tests to:

    • Verify your functionality. Does the code do what you want it to do?
    • Validate technical design. Code that’s easier to test is generally better code. Plus, tests document what you’re intending to do.
    • Protect against bugs. If you find a bug, both fix the bug and write tests to protect against the bug in the future.
    • Refactor with confidence. Core takes backwards compat seriously, so having unit tests to describe coverage makes it easier to change code.

    Unit testing specifically tests individual methods and functions to confirm input equals expected output. Integration testing looks at the code from the users’ perspective — everything works as expected. In core’s test suite, most tests are integration tests.

    Max walked us through how WordPress core uses PHPUnit for testing, with lots of concrete examples. Thanks to good work by Jeremy and Zack, most of us had the test suite up and running via Vagrant. Here’s one great reason to help increase core’s test coverage:

    Mike Bijon then talked through including tests with your plugin. It can be difficult to know where to get started when you’re looking at a blank slate. 100% coverage is much more easily attainable when you’ve been writing tests from the beginning, or practicing test-driven development.

    It can be much easier incorporating tests into your plugin by breaking it down:

    • WordPress doesn’t WOSD.
    • Your code loads.
    • Each method has a test.
    • Code coverage reports.

    Fortunately, there’s a couple of easy ways to get started. wp-cli takes care of the busy work with a wp scaffold plugin-tests <plugin-name> command. This will add all of the necessary code to your plugin to start writing PHPUnit tests. It also includes a travis.yml file — all you need for basic Travis CI.

    Thanks again to our speakers, and everyone who took time out of their Saturday afternoon to raise the knowledge.

     
  • Zack Tollman 4:58 pm on April 22, 2013 Permalink | Reply
    Tags: , , , ,   

    Unit Test Hack Day Prep 

    On Saturday, April 27th, PDXWP is hosting a hack day focusing on unit testing. Max Cutler, who has contributed significantly to WordPress core unit tests, will be teaching the group about unit testing.

    WordPress core unit tests are written using PHPUnit. While PHPUnit is not the only unit testing framework for PHP, it is what WordPress has adopted and therefore, our hack day will focus on PHPUnit.

    One of the most frustrating aspects of PHPUnit is getting it set up in the first place. Ideally, we will spend our time on Saturday learning to write unit tests, discussing how to improve unit tests, and getting our projects to pass the tests. Hopefully, we will not spend our time trying to get PHPUnit configured.

    To this end, I have stood on the giant shoulders of Jeremy Felt and 10up by adding PHPUnit and the WordPress core unit tests to their outstanding Varying Vagrant Vagrants (VVV) vagrant setup. Instead of painstakingly writing a tutorial on how to install PHPUnit on OS X, Linux and Windows (and then trying to work around difficulties with MAMP, WAMP, XAMPP, etc.), this vagrant setup will build a virtual environment for you to work with locally during the dev day.

    Getting Setup

    1. Install Virtual Box .
    2. Install Vagrant.
    3. Add “192.168.50.4 local.wordpress.dev local.wordpress-trunk.dev” to your hosts file.
    4. Determine where you want to store your vagrant files. I store mine in “~/Vagrant” on OS X.
    5. Clone VVV to your hard drive with, “git clone git@github.com:10up/varying-vagrant-vagrants.git”.
    6. Move to the cloned directory (e.g., “cd varying-vagrant-vagrants”).
    7. Run “vagrant up”.

    You will now see a lot of output from your terminal. The base box will be downloaded, the server will be created, and the provisioning script will be executed, which installs a LEMP stack with a WordPress installation and the core unit tests. This can take between 10-30 minutes and is highly dependent upon your download speed (read: don’t try this at Starbucks or on the hack day!).

    To test if you have correctly setup the box, visit “http://local.wordpress-trunk.dev” in your browser. If everything installed properly, you should see an installation of WordPress with the Twenty Thirteen theme.

    To learn more about this vagrant setup, you can read the box’s description read me.

    Running Unit Tests

    1. In terminal, navigate to your clone of the VVV repo.
    2. Run “vagrant ssh”. You are now ssh-ed into the virtual machine.
    3. Run “cd /srv/www/wordpress-unit-tests”.
    4. Run “sudo phpunit”

    You should now see a lot of output:

    You are seeing the WordPress unit tests running! In order to not spoil the fun, I will let Max explain what is going on during our meetup!

    Your Job

    Your job is simple–get PHPUnit working before the hack day. We will all have a lot more fun if everyone is already setup in advance. We can then focus on writing tests instead of setup up the tool. If you have questions, please have at it below! We will be happy to help.

     
    • Faddah Wolf 5:01 pm on April 22, 2013 Permalink | Reply

      hi zak,

      this will work on a laptop with a full OS on it, but what about those of us working on iOS/iPads and Android tablets? can’t make vagrant/virtual box work with those (yet), i could VNC back into my desktop at home, but that’d be reeeeeeeeeeeeeal slooooooooooow getting anything done. should those of us with mobile iOS/Android devices not attend, or will we be able to participate also? please advise.

      — faddah

      • Zack Tollman 5:06 pm on April 22, 2013 Permalink | Reply

        There is really no good way to do this on a tablet device. The only thing I could think of would be to get it set up on a remote server, then use an app on your tablet device to SSH into the server to write the code and run PHPUnit. Even without depending on Vagrant, there is not a good way to manage this with a tablet.

        I would recommend at least stopping in for the initial presentation. There is a lot to learn from that.

    • Mike Bijon 5:24 pm on April 22, 2013 Permalink | Reply

      As of a few minutes ago (~5pm, Apr 22nd), when using Windows as the base OS, the master branch & latest tag (v0.5) of varying-vagrant-vagrants currently shuts down immediately after stating up. I had to drop back to tag v0.4 to get a working version of this Vagrant. Older tags are here: https://github.com/10up/varying-vagrant-vagrants/tags

    • Zack Tollman 5:29 pm on April 22, 2013 Permalink | Reply

      Which version of Vagrant are you running? 1.2 apparently fixes a lot of Windows issues. Otherwise, paging @jeremyfelt.

    • Mike Bijon 5:51 pm on April 22, 2013 Permalink | Reply

      Looks like it was 1.1.5 and 1.2.1. Vagrant didn’t clean up an old version on upgrade. Cleaned-up manually, and unless I’m missing something VVV is still not working on Windows. Following up with Jeremy/10up directly (with real output from failure, go figure)

      • Robert Lilly 8:01 pm on April 22, 2013 Permalink | Reply

        Mike, have you heard from Jeremy on this issue yet? I too am running on Windows. The stable version of the site (local.wordpress.dev) runs fine, but when I try to access the trunk version (local.wordpress-trunk.dev) I get a 403 “Access Forbidden” page. I SSHed into the VM and did a ‘chown -R www-data:www-data www’ to make sure all the files and folders were under correct ownership, but that didn’t help. I did not some error message on the initial ‘vagrant up’ but I neglected to record them. I may do a ‘vagrant destroy’ and then do ‘vagrant up’ again just to see what that error message was. If I recall correctly it had something to do with downloading the trunk version.

        • Corey McKrill 11:42 pm on April 22, 2013 Permalink

          I haven’t tried with the latest versions yet, but last time I played with VVV I ran into a Windows-specific problem with svn. I ended up switching to the GitHub repo, which is just a mirror of the svn repo. I went into the provision.sh file and made two changes:

          comment out svn checkout and add

          git clone https://github.com/WordPress/WordPress.git /srv/www/wordpress-trunk

          comment out svn up and add

          git pull origin

        • Mike Bijon 10:52 am on April 23, 2013 Permalink

          For everyone following … it’s worth noting that I have VVV working on Windows. It’s just a daily from somewhere between tag 0.4 and 0.5. I’m in the process of debugging 0.5 and the bleeding edge version now.

          @Robert, I haven’t heard back yet. My problem & the failure point are reported on the VVV repo here, https://github.com/10up/varying-vagrant-vagrants/issues/56. Please take a look at it and add any details or your own failure messages if you can.

          @Corey, the command line SVN worked fine for me, but I’ve put svn on this machine’s Path. If you’re using a GUI SVN install on Windows that’s not always the case — which means we could be fighting a lot of machine-specific issues.

          The right fix for Windows might be to come up with a detailed set of Windows requirements for VVV (so far: svn in your path, Cygwin likely helps too, others?) and possibly a Windows batch or WSH script that triggers a Windows “Allow this…” prompt.

        • Jeremy Felt 11:39 am on April 23, 2013 Permalink

          @Corey – Do you have details on the SVN issue? SVN should live entirely inside the virtual machine during provisioning once installed via apt-get.

        • Corey McKrill 12:09 pm on April 23, 2013 Permalink

          @Jeremy it should, but there’s a problem when SVN is doing a checkout to a directory that is synced between the guest box and the host. It throws an error like this:

          Can’t move ‘.svn/tmp/entries’ to ‘.svn/entries’

          Haven’t pinned down the cause yet. I thought it might be Win7-specific, but Mike says he got it to work …

        • Corey McKrill 12:38 pm on April 23, 2013 Permalink

          This seems to be related to the SVN problem I’m having:
          https://www.virtualbox.org/ticket/5568

        • Corey McKrill 12:40 pm on April 23, 2013 Permalink

          As a workaround, are the WP unit tests available as a git repo anywhere? Switching to git for downloading/updating trunk is working for me.

      • Zack Tollman 7:42 am on April 23, 2013 Permalink | Reply

        Sorry for the problems Windows users :( This was supposed to be the way to avoid these issues. I know a number of 10up folks are using this exact setup successfully. @jeremyfelt will have more information on that. This is why we are getting started early!

        • Jeremy Felt 11:45 am on April 23, 2013 Permalink

          It should be noted that Vagrant is a rapidly evolving piece of software. For the best experience, make sure you have Vagrant 1.2.1 and Virtualbox 4.2.12 installed. Follow Vagrant development at https://github.com/mitchellh/vagrant as new releases are pushed every week or two. I will often destroy all of my boxes with `vagrant destroy` whenever upgrading my versions of Vagrant and Virtualbox to try and avoid any confusion.

        • Mike Bijon 2:18 pm on April 23, 2013 Permalink

          Hey Zack, I think I figured it out. Hat tip to @teraphy for putting me on the right path. It turns out you can set core.autocrlf in three different git config files: global, system, and local.

          Vagrant’s provisioning script appears to have the issues I found when you run autocrlf-=warn (I think because vagrant hides any warnings or treats them as unexpected output).

          I added a .gitattributes to 10up’s repo in PR#57 that should force .sh files to be checked out with LF endings with newer (v1.8+ ?) git clients.

    • Zack Tollman 1:45 pm on April 23, 2013 Permalink | Reply

      @Corey I cannot reply above, but the WordPress unit tests are available here: https://github.com/kurtpayne/wordpress-unit-tests. The readme addresses the step you need to take to install them. I initially went this route; however, wp-cli does the extra step of writing the config file for you, which makes scripting this simpler.

      • Mike Bijon 2:34 pm on April 23, 2013 Permalink | Reply

        @Corey, are you running your shell as Windows Administrator? Not being able to move the SVN tmp folder seems like a permissions issue.

      • Robert Lilly 7:57 pm on April 23, 2013 Permalink | Reply

        @Zack, what is the name of the database, username, and password to put into wp-tests-config.php when manually installing the tests?

        • Jeremy Felt 8:02 pm on April 23, 2013 Permalink

          This is from the provisioning script. It should more than likely be the same:

          –dbname=wordpress_unit_tests –dbuser=wp –dbpass=wp

        • Robert Lilly 10:00 pm on April 23, 2013 Permalink

          Thanks! That seems to have done the trick.

          There was an error message when I ran phpunit: ‘sh: 1: /usr/sbin/sendmail: not found’ which was repeated a total of 7 times. This same error message appeared in the log I kept of the initial ‘vagrant up’. Any idea what’s causing this?

        • Zack Tollman 10:17 am on April 24, 2013 Permalink

          This likely has to do with sendmail not being setup in the Vagrant box. This is a minor issue for the hack day purposes. Unless you plan to work on issues that specifically involve sendmail during the hack day, this will not be important to fix. If you do want to working on such issues, I am sure @jeremyfelt would accept a PR for adding sendmail ;)

        • Zack Tollman 8:03 pm on April 23, 2013 Permalink

          Thanks for jumping on that @jeremyfelt!

    • Zack Tollman 2:21 pm on April 23, 2013 Permalink | Reply

      @mbijon PR FTW!!!

    • tddewey 11:43 pm on April 26, 2013 Permalink | Reply

      Up and running and ready to do this. Made a quick screencast of the steps under “Running unit tests” if anyone is new to command line and would like to see how it looks: http://www.youtube.com/watch?v=BZAkGhghb1c

    • Kronda 12:25 pm on April 27, 2013 Permalink | Reply

      I tried this and got this error: And now I have to leave to get there, so I guess I’ll be trying to sort this out while everyone hacks. If anyone has any insight, it’s much appreciated.

      Vagrantfile:6:in `’: undefined method `configure’ for Vagrant:Module (NoMethodError)

      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:115:in `load’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:115:in `block in procs_for_source’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config.rb:41:in `block in capture_configures’
      from :10:in `synchronize’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config.rb:36:in `capture_configures’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:114:in `procs_for_source’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:51:in `block in set’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:45:in `each’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:45:in `set’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/environment.rb:377:in `block in load_config!’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/environment.rb:392:in `call’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/environment.rb:392:in `load_config!’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/environment.rb:327:in `load!’
      from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/bin/vagrant:40:in `’
      from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in `load’
      from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in `’

  • Daniel Bachhuber 6:26 pm on April 21, 2013 Permalink | Reply
    Tags: , ,   

    The Power of WordPress’ Roles and Capabilities Recap 

    Monday night brought Erick Hitter, Team Custom Lead at Automattic, to speak to just under 40 people in developer meetup about the Power of WordPress’ Roles and Capabilities. His presentation took two parts, which Erick has also conveniently posted for your reviewing pleasure:

    Special thanks to Luke Woodward for recording, processing, and posting the video.

     
  • Daniel Bachhuber 1:47 pm on April 4, 2013 Permalink | Reply
    Tags: , , , , , ,   

    Three Meetups for April: Roles and Capabilities, Unit Testing and What’s Coming in WordPress 3.6 

    This coming month we have two three great meetups scheduled.

    The Power of WordPress’ Roles and Capabilities

    Date & Time: Monday, April 15th at 6:30 pm

    WordPress’ roles seem simple enough on the surface, but behind the Administrator, Editor, and the other default roles is a powerful system that can be customized extensively. For April’s PDXWP Developer’s meetup, Erick Hitter, Lead of Team Custom at Automattic, is joining us to talk about WordPress roles and capabilities.

    While some have said that other CMS’ have an advantage when it comes to security and customizing capabilities, Erick will demonstrate that that isn’t true. Starting with a walkthrough of how to modify existing roles and create new ones, he will then cover how to leverage custom roles in WordPress code. Finally, he will wrap up with a discussion of some powerful filters that will prove WordPress has a roles and capabilities system that is as flexible as the popular competitors often touted as having superior implementations.

    Hack With Me: Unit and Behavioral Tests

    Date & Time: Saturday, April 27th from 1 to 5 pm

    Who’s up for spending an afternoon learning more about unit and behavioral tests, and writing some for core or their favorite plugin? We are!

    Mike Bijon and Max Cutler will kick off the afternoon introducing unit tests, why they’re valuable, and how to write them. We’ll then spend a few hours writing our own, either for core or a plugin we admire. Our goal is for everyone attending to successfully finish at least one unit test.

    A week or so prior to the 27th, Zack will post notes on how you’ll need to preconfigure your development environment with PHPUnit, etc.

    What’s Coming in WordPress 3.6

    Date & Time: Monday, April 29th at 6:30 pm

    Version 3.6 of WordPress is slated for release on April 29th, 2013.

    What changes have been made? What great new features are included? How will my site be affected? These are great questions! We will answer all of these and more in this month’s user meetup.

    Michael Fields will walk us through some of the new features:

    1. New bundled theme Twenty Thirteen.
    2. A complete rewrite of the post format interface.
    3. Enhancements to the Custom Menu interface.

    If you’ve got a fever and the only cure is WordPress this is a presentation you will not want to miss.

    RSVP for all of these our Meetup page. Hope to see you there!

     
  • eturnnessen 2:13 pm on April 2, 2013 Permalink | Reply
    Tags: MemberMouse   

    WordPress Portland – MemberMouse Needs a Customer Support Specialist! 

    This is a guest post from Eric Turnnessen, Founder of MemberMouse. If you’d like to make an announcement to the group, let us know.

    MemberMouse is a premium WordPress membership plugin that allows our customers to accept payments, manage customers, deliver premium content in a password protected member’s area, track critical business metrics and more. Our company’s mission is to deliver a powerful and innovative platform that provides our customers with the tools they need to run and grow a profitable online business.

    We’re looking to hire a Customer Support Specialist to help extend our world-class support. When someone signs up for MemberMouse they can be confident that they’re not only getting the best technology for their online business but they’re also getting a knowledgeable, friendly team they can reach out to when they need help.

    (More …)

     
  • Jeremy Felt 10:16 am on April 1, 2013 Permalink | Reply
    Tags:   

    April 3rd: Hang Out With 10up in Portland! 

    Hey Portland WordPressers!

    Almost the entire 10up team is coming into Portland this week for an internal developer summit. As part of our schedule, we’re having a community social over at Green Dragon on Wednesday, April 3rd starting at 7 pm. We’d love to buy you a beer, hang out and talk WordPress and web development for a couple hours.

    If you’re interested, head on over to our Eventbrite page and pick up a free ticket. Hope to see you there!

     
  • Zack Tollman 6:31 pm on March 17, 2013 Permalink
    Tags: , grunt, php codesniffer, , tools, wp-cli, xdebug   

    Recap: It’s Tool Time – 4 Tools You Cannot Live Without

    At the latest PDXWP dev meetup, we had four speakers discuss four powerful development tools as part of “It’s Tool Time: 4 Tools You Cannot Live Without”. We had roughly 45 people attend the meetup, which is our best attended dev meetup to date.

    Xdebug – Taylor Dewey (@tddewey)

    We started the evening with 10up’s Taylor Dewey discussing the insight into a project that one can gain from using Xdebug, a debugging and profiling utility for PHP. He started by demonstrating the differences between a PHP error report with and without Xdebug. He further illustrated the utility of Xdebug by showing the difference between a var_dump of WP_Query with and without Xdebug. Taylor concluded his talk by demonstrating “step debugging” with a live execution of Xdebug. He showed how one can set breakpoints, inspect variables, and step through code using PHPStorm’s Xdebug integration. While it is impossible to bundle Taylor’s enthusiasm and demonstration in a slide deck, he has generously provided his slides for us.

    Relevant Links:

    WordPress Command Line Interface – Daniel Bachhuber (@danielbachhuber)

    Daniel Bachhuber of Automattic, followed Taylor’s talk with a discussion and demonstration of the WordPress Command Line Interface (WP-CLI). WP-CLI is a powerful tool for manipulating WordPress from the command line. The tool allows you to execute arbitrary code, perform CRUD operations on content, manage themes and plugins, export data, scaffold projects, amongst many other things. Using his own WP-CLI powered slides as an example, Daniel demonstrated how to create custom extensions for WP-CLI. Daniel concluded his talk by demonstrating some of the functions discussed above. Daniel has also provided his slides and example custom WP-CLI extension.

    Relevant Links

    PHP Codesniffer – Weston Ruter (@westonruter)

    For the third talk of the night, X-team’s Weston Ruter presented on PHP Codesniffer (phpcs). phpcs tokenizes PHP to validate it against a set of coding standards. Weston discussed how his team uses a custom set of WordPress “sniffs”, or individual code standard rules, to maintain a rigorous standard for their code. After a brief introduction to installing phpcs via PEAR, Weston demonstrated a number of sniffs that his team utilized, including validation of operator spacing, double quote usage, indentation, extra whitespace, array declaration, discouraged functions, and escaping output. Weston topped off his presentation by discussing how his team uses their set of sniffs as a git pre-commit hook to validate code before committing. Weston has shared his slides as a Google Presentation.

    Relevant Links:

    Grunt – Nathaniel Taintor (@goldenapples)

    Nathaniel Taintor of Janrain rounded out the evening with an introduction to Grunt. Like Weston, Nathaniel discussed how his team uses Grunt to meet their development goals. Concatenating Javascript files is a tough problem to solve. Nathaniel discussed his team’s search for a solution that still works with WordPress’ enqueues system, plays well with third part plugins, as well as for handles of preprocessor languages (e.g., coffee script), minification and concatenation. Nathaniel reported that Grunt, a “task runner” module for NodeJS solved his problems. He also briefly touched on three other solutions that he explored before settling on Grunt (WordPhing, Forge, Yeoman). Nathaniel’s slides are forthcoming.

    Relevant Links:

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
shift + esc
cancel
Follow

Get every new post delivered to your Inbox.

Join 600 other followers