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.