Version 1.5 of Spaces Engine changes how you create WP Job Manager jobs and The Event Calendar events from a Space.
Looking Back
You have probably noticed over the last couple of months that the jobs and events integrations haven’t been working as expected. Here’s why. When we initiated these integrations, we chose to offer a seamless experience for the creation of both jobs and events. The advantage of this was that you would be able to create these elements from inside the Space. It was a great idea in theory, and there is no doubt that it offered a fantastic experience for users. The problem is, it didn’t work.
Templates and Shortcodes
A little primer. When we choose to bring features of other plugins ‘in house’, we rely on different templates and shortcodes. Essentially, these are concepts that allow us to display information from one plugin, inside ours. For simple tasks, these are great – you may have used a shortcode or widget on your site, and these work really well. The problem comes when we need to adapt and configure that shortcode or template to do more than it was built to do. So when we offer the ability to create a job from inside a Space, we need to ask it to do much more than it normally would, such as lock in the Space’s logo, its contact details and so so on. Worse, we then have to try to tell that code what to do when the job is created, what page to redirect to, how it should behave when we ask it to edit itself, and so on. It’s hard work, but is generally successful. Until the plugin who owns that code makes changes.
Keeping Up
When a plugin makes changes to it’s templates or shortcodes, every plugin or theme that uses those items has to fall into line. They have to look at what’s changed, find out a way to keep offering the same functionality, and then modify their code, putting out another update. You may have seen it already if you use WooCommerce – they often change their templates, and you have probably seen an admin notice in your dashboard saying that those templates are now out of date. Behind the scenes, your theme and plugin developers are now trying to work out how they can keep up with these changes.
The Reluctant Answer
The answer to this is to reduce the number of templates and shortcodes used, and rely on the pages that these plugins already offer to carry out any required functionality. This means when you create an event or a job from within a Space, you now get directed to the real, dedicated page for the relevant plugin. The disadvantage is we lose the seamless experience. Now let’s look at the advantages.
A World of Possibilities
The one big advantage of this move is that the features actually work. When you go to create a job or event, you now can. Pretty compelling by itself. Let’s look at some others.
Extensions and Addons
When we brought in the Job Manager integration, the only add on we could support was Job Manager Applications. Take a look at the Job Manager integrations page. There are six whole pages of integrations! Because you now create jobs from within a dedicated Job Manager page, all these add-ons are available to you. It’s a similar story with the Events Calendar.
Native Styling
For BuddyBoss users, there is already some native styling for the job creation pages. All the work required to style these templates to look great inside a Space, became superfluous as the incredible designers at either BuddyBoss or the plugins themselves made the dedicated Job Manager and Events Calendar pages come to life. We were wasting a great opportunity to tap into these designs. For our BuddyPress users, you may find that your theme also provides some native styling for these really popular plugins.
Custom Code
When you create custom code (or use a developer to help you), your first port of call should be the developer docs offered by the integrated plugins. By bringing certain integration functions inside Spaces, we needed to use a whole new set of undocumented methods to achieve a seamless look and feel. By separating the two, it will become much easier to create bespoke solutions for your site.
Better Support
By using the actual pages designed to create jobs and events, where something doesn’t go to plan, or where you need some further tips on customisation, you can now go direct to the integrated plugin. Previously, you would open a ticket with us, and then we would have to approach the plugin developers anyway. Middleman. Gone.
Moving Forward
We are absolutely stoked to be able to offer these key integrations again. We’ve learnt some fantastic lessons here, and will be using this approach moving forward. Our goal has always been to maintain a stable product, and not have a long list of bugs that aren’t getting fixed. We’ve seen how frustrating it can be when one update fixes one set of bugs, only to create new ones.
We also hope that by sharing with you the challenges we face as a plugin developer, such as those in this article, you will continue to put your trust and support in us.