Change log

= 1.9.8 =

  • Fixed: Bug on missing entries on user equivalence data during import.
  • Fixed: Memory limit error on import when max post author ID is an extremely large number.
  • Fixed: Limit readme tags as per guidelines.
  • Fixed: Compatibility issues with a newer version of the BuddyBoss plugin.
  • Fixed: Edge case issue of missing BuddyPress avatar/member images in the uploads directory.

Improved memory handling on user import

Previous releases do not handle extremely large user IDs. For example – if a WordPress site with user ID of 98765432113 – this will result in a runtime error (insufficient memory) when imported or restored. This is because the plugin will create an instance of SplFixedArray based on this figure. Instantiating this extremely large number will result in memory error.

One thing to note is that a site with very large user IDs does not always mean a very large number of WordPress users as well. For example – there can only be two users on that site, one with the user ID of 2 but the other one is using 123456789. This is true in most cases when a large site deletes a large number of users – the user ID auto-increment mechanism will still be enforced for new users.

So even if a site now only has two users (from a million users previously) – a newly created user will always have a very big user ID (since it will auto-increment by default). This can become a problem when this site is migrated to a new location as Prime Mover instantiates a user import instance from this maximum user ID.

In this new release – the problem is resolved by analyzing the memory requirements of the user import. The algorithm is very simple:

  • Check for the maximum user ID.
  • Check the total number of users imported.
  • If the maximum user ID is too large (thus resulting in a memory error on import) – check if the total number of users is large as well.
  • If the total number of users is small (this is true in most cases) – then use the PHP native array solution instead of SplFixedArray. This does not require instantiating a very large SplFixedArray. This is also because the memory requirements of having a small number of users in a native PHP array are manageable for most hosts.
  • If the total number of users is also very huge – then use SplFixedArray solution as this is the most efficient solution for very large amounts of data. Only then we will throw out an insufficient memory error if it’s needed in this case. A very huge site will almost certainly have huge memory requirements – so the runtime error now makes sense. The site owner will need to upgrade its physical memory requirements to fix this (via hosting upgrade, etc.)

Note that this improvement covers both FREE and PRO versions of Prime Mover plugin.

Compatibility Fixes

A bug found when using new versions of BuddyBoss / BuddyPress plugins – gets handled in this new release as well. The changes are small and should be backward compatible with previous releases. But for best results – you should create an export and restore using the latest version for maximum compatibility.

The plugin also reduces the number of plugin tags in compatibility with WordPress plugin guidelines. That’s it!

Share your thoughts

If you have some thoughts on this release – share your thoughts with us. Thank you!

Emerson Maningo Announcements

2 Replies

  1. Hey there 👋 
    We discussed a while ago the possibility of running tasks “automatically”, in particular by exploiting `wp-cli`, do you have any good news regarding this? Or a borderline snippet approach that I could put in a cron job? The scenario would be to be able, for example every morning at 3 a.m., to recover and save all the subsites of a multisite installation, with a view to restoring them individually in the event of a problem. Thank you for your attention to my request, all the best!

    1. Hi Ludovic,

      Thanks for your feedback. Currently Prime Mover latest version does not yet support any automated methods to backup. This PRO feature is still a work in progress. Hopefully would be included in Prime Mover 2.0 which will be released several months from now.

      Our specification for automatic backup is that it works with WP Cron by default. User can schedule backups daily, weekly,etc. It can also be added to your server cron job or task scheduler for better and reliable scheduling. This PRO feature works in both single-sites and multi-sites (sub sites) having license. However only auto-backup is supported (export) – it does not support automated restore yet. And the automated backups can be pushed automatically to cloud (Google Drive and Drop Box) if set. It can also be encrypted for better security of these packages while stored elsewhere.

      We still have to do some more testing and development work on this. Thank you again and have a great day!

      Cheers,
      Emerson

Leave a Reply

Your email address will not be published. Required fields are marked *