All content for a page disappears

Hi

We have a issue where all content for a page has disappeared and its happened now maybe 6 times in total on a couple of different pages. It’s a very serious issue, especially when our customer need to go back and recreate the content and sort of loose trust in the page builder (we have of course restored a backup is there’s been one, but still).

The most irritating thing with this is that we haven’t found a way to recreate it on purpose ourselves which makes it almost impossible to troubleshoot. It has happened to a couple of different pages, so not the exact same page every time, on 2 different servers (we have moved from dev to production) and different languages.

The pages and setup is a bit complex, we are using wpml for multiple languages, also use a custom module we developed ourselves and use shortcodes on the page so there are many potential things that could cause this.

But the general idea that all page content could be lost is a bit disturbing and also the reason why I asked for version history before. Do you have any idea on how we could try to troubleshoot this, have you experienced or heard of it before or how it could even happen?

Any help is much appreciated.

Thanks

/Johan

Hi Johan,

My apologies for that. We’ve had a few reports of this happening over the last few weeks and most have turned out to be issues with shortcode incompatibilities. We recently implemented a fix that should account for most of the issues that arise when developers don’t implement shortcodes properly (eg. they echo content instead of return it as per the codex). The other issue is working on the same page in multiple tabs. Basically, having the builder active for a page in two locations (tabs, different computers) will cause the layout to disappear. That has been fixed in the next version.

I’m happy to say that we’ve spent the last week rewriting part of the builder’s data handling class to make sure data loss doesn’t occur. In addition to a bunch of small optimizations, we’ve switched from using our own custom database table to WordPress’ post meta which allows us to easily tie into the revision system. If anything does happen to your content, you will now be able to restore the previous revision.

This is a big update, so we still have a lot of testing to do before we release it into the wild (we’re shooting for next week). I should have a beta available later this week to test. Would you be interested in trying that out?

Thanks,
Justin

Hi Justin

Thanks for the update and transparency about the issue and how it’s being solved. We will make sure to not work on the same page at the same time until this has been fixed.

Looking forward to the switch to WordPress’ post meta and possibility for revisions.

I would absolutely be interested in testing the beta, let me know when it’s available.

Thanks

Johan

Hi Johan,

Thanks for understanding. I just sent you an email about testing the beta.

We’re really excited about this update as it solidifies the builder’s core and will allow us to focus our attention on other things like feature development. Please let me know if you run into any issues so we can address them quickly.

Thanks for your support!

Justin

Hi Justin

Thanks for the help with this. Moving data to the post meta table seems like a very good move and the native revision functionality in WP seems to work now when I test it.

However I got some feedback from the client that the issue with everything disappears when you edit the same page in multiple tabs/windows still exist? Do you know the status on this, should it be fixed?

Obviously with the revisions it will be less of an issue but still not great that it happen. Any way to use WordPress standard functionality with the heartbeat api to notify if 2 people work on the same page etc?

Thanks

Johan

Hi Johan,

That has been fixed but after some more testing I did find another use case where editing in multiple tabs can cause you to lose content. So, it’s mostly fixed right now. I’ll look into completely fixing that this week.

Thanks,
Justin