Hooked on communities

With WordCamp London just around the corner (6th April), and the recent success of the London’s Calling event – a community conference for those in the Salesforce world – it got me thinking about how I’ve come to love community events so much, and made me wonder when and where it all began.

From the London’s Calling point of view, as an organiser, it’s so rewarding to see folk enjoying themselves at the events. It’s clear to see that there are real personal benefits to attending events like this; you don’t just get to learn (which is huge in itself) but to be surrounded by fellow attendees, speakers and sponsors gives such an opportunity to (buzzword alert) network that just can’t be found anywhere else. The event has just run its fourth year, and is going from strength to strength.

Credit: Kerry Townsend

My history with WordCamps stretches even further back. I attended my first one in 2010; I was dabbling with web development (and failing at design) when I read about it in a copy of the .net magazine. At that point I’d never been to a conference like this, and the same could be said for the local meets too… but I decided to bite the bullet. I can’t remember the precise reason for signing up, perhaps it was the schedule, perhaps it was the incredibly low price (this year’s event is still amazing value at £40), perhaps it was just an excuse to geek out for a weekend? Whatever the reason I was hooked; listening to the volunteer speakers share their knowledge and experiences was life changing, and on top of that I had some amazing conversations and met folk that I’m still in contact with and certainly consider friends.

Following that WordCamp I started attending the local WordPress London meetups, and returned to WordCamp annually, and with each event I was exposed to more tech, more knowledge, and more great people. It was these events that spurred me to create the Widgets on Pages plugin (which has ~0.5 million downloads). They also gave me the push to give public speaking a go, which is a decision that has greatly helped me in both a personal and business sense.

Fast forward 9 years and I’m still attending community events, with the only issue being that the risk of clashes increases with each new one I sign up to. I’m also now paying back the communities that welcomed me with such open arms, through being on the organising teams of London’s Calling, the London Salesforce Developer’s Trailblazer Community Group, and WordCamp London 2019.

And now’s your chance to get hooked, with WordCamp London taking place during the weekend of the 6th – 7th April (with a contributor day on the 5th). If you have any involvement with WordPress, be it as a user, designer, or developer then there’s great content for you, and at just £40 for the two day conference ticket it’s mind-blowing value.

How I Archived sessions on London’s Calling site

Past conference sessions are a valuable asset for conference organisers, so for the London’s Calling Salesforce community event I came up with a way to archive them, and now you can too.

For the second year I was tasked with maintaining the website for Europe’s largest Salesforce community event – London’s Calling. And running up to the launch of the this years CFP for speakers and sponsorship registration I wanted to leverage the incredible resources that we had in the form of the sessions for the past two years.

Seeing that our site was powered by WordPress – using the Tyler conference theme – and that I have released a couple of WordPress plugins before (including the 5* rated Widgets on Pages) I wrote the Past Events Extension plugin to do just what was needed.

The free version enables site admins to archive sessions, which are then listed on a Past Sessions page. The Pro version includes support for a shortcode that can be used in any page or post to list these archived sessions for a given date range, meaning that you could for example create pages for each past event. The latter is what has been used on the London’s Calling site.

Running a not-for-profit event? Get 50% of the annual license now!

Other PRO features are;

  • Additional Video setting – Add embedded video for each past-session (e.g. from Vimeo, YouTube); ideal to show off past presentations.
  • Additional Slide-deck link setting – Add a link to slide-decks used for each session.
  • Enhanced Single-Session page – Shows the embedded video and slide links

So what are you waiting for? Go grab the free version now and use your previous events to help sell tickets and gain sponsors.

SOLVED Updating Failed – Error when updating with Gutenberg

As part of my recent investigations in the new Gutenberg editor for WordPress I came across a cheeky little error that had me stumped for a while.

Gutenberg Updating Failed error

Now, I saw this issue whilst running on a local VVV setup, that I’d created solely for this Gutenberg investigations, and as such it was running on an nginx server. I had also not tweaked the default permalinks settings.

Some digging later I pulled out this github issue, and that lead me to the solution workaround here.

Solution

To get it working, all you have to do is set a more fancy permalink structure, such as http://local.wordpress.dev/sample-post/.

Further Info

It seems the issue is to do with PUT request support in the default nginx config, and the way the WordPress REST API works out-of-the-box. If you want more info, follow that trac ticket above.


I hope to be writing more on my Adventures in Gutenberg, especially my work on adding support for it to the Widgets on Pages plugin.

WordPress London – June 2017

After another favourable month in the meetup calendar, I was again available to get along to the WordPress London meetup, and boy was it a stonker.

Todd Halfpenny talking at WordPress London, wearing an Ionic Tshirt, looking animated.
Picture: Primary Image

The meet was held again at City University, who have been incredible venue sponsors of the meetup for ages, and who’ve agreed to keep up the sponsorship deal until the end of January 2018… bloomin’ good folk they are.

And speaking of sponsors, I should also mentioned that Gary and Dan announced that WP Engine have just agreed to a 12 months sponsorship renewal… so huge thanks to them also, and of course to SiteGround who sponsored the June event too.

Community Announcements

The meetup was taking on a new format this month, and the first change was the expanded section on announcements within the WordPress community. I’ll just bullet the key notes here;

  • WordPress London 2017 are after some support in formatting and posting up the transcripts from the talks. If you’re interested then you can find out more by tweeting me.
  • Videos from previous meets are on the WordPress London facebook page.
  • There’s a Profitable Developer Bootcamp for WordPress – Looks interesting if you’re interested in making money from WordPress
  • WordPress London have a new section for lightning talks, called wp_update_post… and they’d like talk ideas. If you’re interested, tweet ‘em up.

Also, here are some upcoming events…

The Role of Page Builders for Developers – Doug Belchamber

This first talk came from Doug, who works for Smarter Digital, and focused on his history with Page Builders, and how his opinion has changed over time, right up to the 2nd-gen page builders of today.

He told us how they’ve evolved, from the times of using shortcodes, and widgets, and then ACF. From these building-blocks came, what Doug refers to as, 1st gen page builders. These 1st gen incarnations had a few weak spots. They weren’t great at showing how content was going to be rendered on the front-end, their performance was questionable, and then if you disabled them you were left with what Doug refers to as shortcode hell. These thoughts and anecdotes appeared to ring true with many attendees… there were a lot of burnt fingers.

He then talked about Beaver Builder, one of a current raft of plugins that he classes as 2nd gen page builders. This part was thoroughly enlightening… he talked through how he uses it in his workflow, as a developer, and how you can create modules for it, configure it dramatically via its powerful API, and handle user access.

Now, I can certainly see myself as one of these devs who instantly feels a bit nauseous when page builders are mentioned, but Doug has done them proud with this talk… go watch it now.

wp_update_post

This next slot was incredible… Dan and Gary made a real steal in getting hold of this chap to talk through the updates to WordPress that dropped in version 4.8.

OK, I’m kidding… it was me doing a brief lightning talk as part of the new format of the meetup. I don’t want to big myself up too much, but if you want to know about the new Widgets then checkout the slides, or video of the talk.

WP_Model – Anthony Budd

Next up was Anthony, talking through his pseudo ORM for WordPress, WP_Model, and open source project designed to provide a better method for handling posts using a simple OOP style syntax.

I made so many notes on this, as it was truly fascinating. WP_Model can be thought of as cake, or Laravel, if you’re familiar with such things. Anthony started the project to abstract the way he had to deal with multiple tables in the WordPress database when building apps with WordPress as a Backend. He was having to use wp_post and wp_postmeta tables, but with WP_Model he was able to create an abstraction of the data. He had several goals for his project, they included;

  • Simple syntax
  • Easily added to existing project
  • Calls to go through wp core

Anthony also mentioned some generic benefits of re-using WordPress as the backend for your project. Things like its popularity and community, and from those the vast repository of plugins.

There were loads of great examples in Anthony’s talk, so I strongly suggest you check out the following links;

Wrap up

Well what can I say… GO CHECK OUT THE VIDS OR BE SQUARE.

Seriously, do it now… Doug and Anthony are aces!

And so are Dan, Gary and Annabelle, for organising another great meet. Thanks too to City University, WP Engine and SiteGround, for sponsoring.

Next meet is booked in for the 27th July, RSVPs open right now, too.

WordPress London Meetup – April 2016 Review

It had been over a year since I last attended a WordPress London meetup, and I’m so pleased to be back going along to them again. Last Thursday I trotted along to the City University lecture halls in Angel to get my fill of WordPress community goodness once more.

And for what reason did I start going along to these again? Well I have just recently released freemium WordPress plugin, called Turbo Widgets. This is an update to the five star rated Widgets on Pages plugin that I wrote and submitted to the WordPress plugin repo many years ago now. With this now out in the wild I felt that it would be good to get involved in the community again, and make sure that I’m up-to-date with the best practices, technology and, of course, gossip.

On my way into town I did the usual “search for the event hashtag to see of anyone is about for a cheeky half beforehand”… and loandbehold this popped up in the results… result!

I knew of Jenny from her move to HumanMade and her stunning work in the WordPress community; she was lead organiser of the amazing London WordCamp 2016, so who was I to turn down an invite like that. I had a cracking pint with her and mostly chatted about the recent WordCamp. If you ever get the chance to chat to her then you’ll find her passion something to cherish.

Onto the event, and the food and beer that was provided thanks to the evening’s sponsors, SiteGround, WP Engine and Beaver Builder. Some quick, and nice, chats were had and then the talks began.

Why we built our SaaS startup on WordPress and why you should too – Elliot Taylor

Elliot shared what he’d learnt from taking on his SaaS offering YoGrow. He spoke of the journey from it being a plugin in the WordPress repo right through to it’s current state as a SaaS offering. He first spoke of the downsides of the public repo, and how it’s very hard to get a real valuable insight into the usage of the plugins. He said it was very hard to have a conversation with users, and to find out what features they like etc.

Failure is a guaranteed part of building a product

He also ran through some reasons to use WordPress as the platform for your SaaS project, and other tips that he’d picked up on his way to his current position. I haven’t found a link to his slides, yet, but he’s what I’d jotted down in my notes.

  • Failure is a guaranteed part of building a product – It’s better to fail on small iterations
  • Don’t try to do to much, don’t focus on the solution, and focus on the problem.
  • If you can, market whilst you’re building.
  • Set some KPIs, even if they’re just guesses they’ll keep you focused.

I also asked Elliot if he was ever concerned about uptime when he pivoted to a SaaS from a product. This worry is one that is right at the front of my mind when I ever think about setting up service businesses. Elliot was pretty dismissive of this, and said that there were top-notch WordPress hosting companies that took this worry off his shoulders, two potentials are actually sponsors of the meetup too.

Docker Deep Dive for WordPress Admins – Mark Sta Ana

Mark was next up, and gave us a technical talk on how a WordPress dev/admin could use Docker in their workflow and deployment. He started out explaining that he first started reading about Docker following a hack on one of his sites that quickly spread to his others. By using Docker, Mark is now able to sandbox all of his sites, so that any compromise is now limited in risk.

He then gave us demos of Docker in action. He showed us how to get a WordPress site setup, and how the various parts all fit together. To be honest I couldn’t do his talk justice, technically, so I’ll just link to his slides.

In my local WordPress dev workflow I currently use Vagrant through the wonderful VVV, whether I’ll switch to Docker for that I’m unsure, but perhaps if I ever take of my own production hosting then maybe I’ll give it another look.

Wrap Up

I was so pleased to be at another local WordPress meetup, I honestly missed it, and the members, so much.

Dan appears to be doing a great job organising the meetups, and the wpldn.uk project (more about that in another post, to come) and deserves a huge thank-you, from at least me, on such a good night. Thanks also to the speakers and let’s not forget the sponsors.

The next meet has already been pencilled in for the 26th May (though check meetup for updates, as it may change), so mark it in your diary… and I hope to see you there.

Conditional Breakpoints in Chrome Dev Tools

I recently attended WordCamp London 2016. It was a true blast and an absolute success and really deserves its own blog post, maybe I’ll get round to writing one soon. There is a small thing I need to share sooner though, as it’s been a HUGE help to me in my dev life.

Now I’m a big fan of the developer tools available in Chrome (other browsers are available) and I knew about the ability to set breakpoints in the JavaScript that can be seen in the Sources tab. What I didn’t know though was that you could set conditions against the breakpoint, so that execution would only be paused when the conditions were met. I think it can quickly be seen how this can be incredibly useful when you’re keen on digging into particular flow of events and data through your code.

To add conditions to breakpoints the process is straightforward. Simply right click on the break point and you get the option to edit it. From here you can then add the conditions.

Screenshot of breakpoints in Chrome

Now when my code runs the breakpoint shall only be triggered once the conditions are met. In my case (see this Codepen) I wanted to only trigger my breakpoint when the el.name was the string “Flop”.

Screenshot of Triggered Conditional Breakpoint in Chrome Dev Tools

I learnt of this during an extremely enlightening talk by the wonderful, passionate Katie Fenn that covered loads of gems of information on how to make the most of the Chrome dev tools. Her slides can be found here.

The Easy Way to Add Widgets to WordPress Content

In my experience of building and maintaining WordPress web sites it is quite a common to want to put some related blocks of information into your main post’s or page’s content, inline. For example you might want to add a tag cloud or a list of related posts. This type of information is already available via WordPress widgets and of so you could add it to your sidebar (if you theme and template supported one). But what if you want to add the tag cloud into the middle of the post… like this;

Wow, pretty cool eh?

So this is possible today using my 5* rated Widgets on Pages plugin. With the plugin installed you can create a new Widgets on Pages sidebar, add your Tag Cloud widget to it, copy the generated shortcode and then paste that into your content. But now it’s even easier…

Introducing Turbo Widgets

I’ve recently created a new plugin for WordPress, called Turbo Widgets. And with this, WordPress widgets can be added to posts and pages using the nice WYSIWYG editor… click, click, click, BOOM!

Turbo Widgets Demo

There’s a free version of the plugin available on the WordPress.org plugin repository that has this nice GUI for adding widgets and there’s also a premium version that supports the ability edit the widgets too, again using the TinyMCE WYSIWYG editor.

And Turbo Sidebars?

As well as this, the premium version also supports Turbo Sidebars. These are custom content areas that can hold standard WordPress content (text, images, etc) as well as widgets added through the Turbo Widgets features. These content areas can then also be added to posts and pages via shortcodes (soon through the WYSIWYG too) . You can also use template tags to add these Turbo Widgets to your themes templates, say for example adding related posts to the bottom of each blog page.

The documentation page for Turbo Widgets contains further info on how to use these, but I also hope to blog through their usage too in the near future.

WordPress London – March Meetup

It had been quite a long time since I last attended a WordPress  London meet-up, so I was very excited about going along again and getting a good fix of WordPress geekery (as well as chatting to folk and drinking beer of course). The event was held at Shoreditch Works Village Hall for the first time and it provided ample space and the required tech. The venue and pizza was sponsored by the following kind orgs;

The Talks

Joel Hughes – The Business of WordPress

Joel gave a passionate and honest account of his move from permanent employee, through contractor and freelancer and onto running his own agency. He covered some of the key mistakes that folk (including him) make when starting out in alone, and some notes on avoiding them (the second time perhaps). They include;

  • Undervaluing Yourself : On a personal level right through to pricing
  • Clients from Hell : Educate the good ones, they’ve probably not bought a website before. Fire the bad ones.
  • Business is Personal : If you’re a freelancer, BE a freelance; don’t pretend to be an agency if you’re not. If you do you won’t be authentic, and this will show.

Joel also did some shameless pimping of his The Business of Web Design conference, which I have to say has a nice looking line-up of speakers. I’d probably be going if we weren’t due a baby the week before.

He also asked for freelancers of all sorts to get in touch with him. Looks like business is good.

David Coveney – Let’s Move It

I have seen one or two of Dave’s talks before at various WordPress (un)conferences and after seeing his take on Baz Luhrmann’s “Everybody’s Free To Wear Sunscreen” I wasn’t sure what to expect next. He didn’t disappoint by starting the talk with some kind of body convulsions which, I think in popular culture, could be described as dance moves.

He then proceeded to talk us through some basics behind running a WordPress migration with as few hiccups as possible. He discussed various migration types (server to server, multisite to singlesite, domain swapping) and their various pitfalls. He also talked through a few tools which can make life easier. These included MySQL Workbench and his company’s Search/Replace plugin.

In true Coveney style he then plumped for a live demo of a site migration (server to server and domain swap)… the audience, of course, new the perils of live demos and were all waiting for the inevitable.

Don’t work with computers – Dave Coveney

And of course the inevitable happened. So much so infact that Dave’s new database that he was using in the demo ended up being named fuckit. He rode out all that the live demo-gods could throw at him with it finally succeeding. His parting words of advice were “Don’t work with computers”.

Stiofan O’Conner and Tim Clark  – GeoDirectory

Stiofan and Tim talked to us about GeoTheme and the move to a new GeoDirectory plugin that will be appearing on WordPress.org very soon.

They briefed us on the history and the direction they think the plugin is headed. How they want it to become and extendible product with multiple revenue streams. The plugin looks like it’ll be very powerful and is well worth looking at if you’re interested in building up any kind of location-based directory.

Parting words

The standard post-meetup beers were had in a hipster-filled pub just around the corner, and I had some lovely chats with old friends and new from the WordPress community. I heard from a couple of the guys and gals that there was a lot of work out there for a WordPress freelance dev… this is certainly good news with my resignation notice period winding down.

I certainly can’t wait for the next one.

From a Problem to 100,000 Downloads

It was 1054 days ago that I first wanted to place a WordPress widget into a post I was writing. Whether it was for a client site or personal one I can’t remember… the important thing is that out of the solution I came up with emerged the Widgets On Pages WordPress plugin.

The plugin has undergone very little change since it’s 0.0.1 check-in to the WordPress.org plugin repository but since then it’s had very favourable reviews and been included in several blog posts and conference talks. But more importantly, for today at least, it’s now been downloaded over 100,000 times!

It has a current rating of 4.7/5 and at the time of writing sits as the 105th most highest rated plugin on the WordPress.org repository. 105th might not seem too good but it should be noted there are over 23,800 plugins in the repo.

Goals for 2013

Well 2012 was a good year I’d say… in fact with the birth of little Rafferty I’d say it was a great year. But onto 2013; what am I hoping to achieve this year…

Lose a little weight

As per every year I’d really like to be lose a tad more weight. I seem to fluctuate between 11.5 stone and 12.5 stone but I’d to make this more a 11-12 stone window. Hopefully with the Badja being given the all-clear to start excercising again from the doctors in a couple of weeks we’ll start back on with our fitness DVDs. Doing these together is great fun and should hopefully help with this goal.

Give Blood

I know, I know… this has been on my list for the past Lord-knows-how-many years… I must really try to get the ball rolling on this. Bad Todd!

Release a Side Project

Having a couple of side-projects partially designed and developed I really should focus on one and get it released. I already know which one to work on, I just need to spend my time on that rather than being beat by American and French kids on COD Black-Ops II. The side-project I have in mind is an Android app to pair with an existing web service which will also require a web site. This will have a free lite version as well as a paid version so hopefully this’ll actually give me some insight into what to expect from paid apps in terms of revenue, marketing, support etc.

Run a Code Club

I have been meeting with my local Junior school Cunningham Hill about starting an after-school Code Club. They are very receptive to the idea and hopefully this will all kick-off in the first term or two. I’ve already attended a Code Club workhsop on Scratch and have starting the CRB process by registering as a STEMnet ambassador.