XF 1.5 Upgrade Planning: Data Preservation & Third Party Add-Ons

Live Free

Active member
Hey guys, I need help in determining how to handle third-Party plug-in data in planning an upgrade to 2.x, as well as understanding how data generated by third party plug-ins is handled when the plug-in is uninstalled, deactivated, or orphaned prior to or during an upgrade to 2.x.

This doesn’t relate to a particular add-on. I’m planning my upgrade to 2.x. I have some non-critical data I would like to preserve, and potentially re-integrate in the future.

Note: I’m unsure if this is the most appropriate forum for this question. Please move if posted in error. Thanks.

Are these assumptions correct?
  1. When a third party add-on is uninstalled, all data generated by the add-on is deleted (I.e. Database tables/rows are deleted or dropped, not trunicated).
  2. In MySQL, the truncation command preserves the data.
  3. When an add-on is disabled, new data is not written but data is preserved and can be re-activated.
  4. During an upgrade to 2.x, 1.5.x add-ons will be disabled/orphaned and the data will be retained/kept in the database until there is either an upgrad to that add-on, utilization of a compatible custom add-ons, or useage of manual database commands to restore and reintegrate that data.
Are these assumptions correct?

In the case of #1, does this vary by author, or is there a standard for all plug-ins?

Is there a recommended approach or best practice for preserving data generated by third party add-ons you may later want to re-integrate or restore?

Basically I’m preparing my board to upgrade to 2.x. Which means ensuring that there is either a 2.x version by the same author, an import script from another third party, or I decide whether the data should be retained or deleted (and understanding and ensuring how).

As of now, it also means I’m uninstalling or deactivating all add-ons that have no third party solution for 2.x, but which I’d still like to have.

Here are some examples of the types of data I might want to retain that is generated from third party add-ons:
  • Resource View Counts
  • Gallery Images, Permissions, and Ownerships (not using the Media Gallery)
  • Groups and Related Data (Threads in Private Group Forum, Members, Permissions, Descriptions - from Nobita Social Groups)
  • Custom Thread Viewing Permissions on a Specific Forum (public, private, members only from a custom add-on)
  • Numbers Assigned Per Member in a Forum-Specific Quota System (custom add-on)
  • People Watching a Resource
  • Extra Statistics
All functionality is from public or private third party add-ons. The above is not an exhaustive list, but demonstrated the type of data I want to preserve for potential future re-integration, but am also willing to upgrade to XF 2.x without.

I recognize XenForo doesn’t offer support for third party add-ons. I’m just wondering what the best course of action is and if I understand how data is handled correctly.

What have other boards done?

What have you learned from the process, what problems did you encounter, and what would you recommend?

Derterming what to do from here is an important step in moving forward with my XF 2.x upgrade plans, so all responses will be greatly appreciated.
 
If the add-on is never going to be upgraded to an XF2 compatible version, uninstall it.

If you plan to upgrade it to an XF2 version, assuming one is or will be available in the future, leave it installed.

https://xenforo.com/xf2-docs/manual/install-upgrade/#upgrading-from-xenforo-1

@Brogan Thank you for the reply, but I’m not sure that’s really what I’m asking. If I’m never going to use the data of course I’ll uninstall it.

I’m inquiring more about situations where I’m likely to pay a third party developer to redesign an add-on where the original author isn’t upgrading it to 2.x.

Or a custom add-on that is going to be rewritten by a new developer.

Or data I’m unsure if it will be possible to re-integrate in the next 6, 12, or 18 months, but wish to retain in case it’s possible.

Or data from an add-on I believe will eventually be integrated into XF core, and can be reintegrated via a custom upgrade script.

Is it really as simple as simple as leaving all add-ons that fall into the above categories installed, then uninstalling them after upgrading to 2.x if I determine they’ll never be upgraded?
 
The same answer applies really.

If you ever intend to re-use any of the data already in the database, leave the add-ons installed, otherwise the uninstall routines will (or should) remove it.

Or, keep a backup of the database so the data can be extracted if required, although that is more involved than keeping it in the live DB.
 
When a third party add-on is uninstalled, all data generated by the add-on is deleted (I.e. Database tables/rows are deleted or dropped, not trunicated).
This should be the case for most addons, however this requires the developer to apply resource standards (and best practise)
Any new tables or columns added must be removed on uninstall.
This is however often not the case. Test in on a copy of your site and checkout the DB tables.
 
If you ever intend to re-use any of the data already in the database, leave the add-ons installed, otherwise the uninstall routines will (or should) remove it.

Or, keep a backup of the database so the data can be extracted if required, although that is more involved than keeping it in the live DB.

I will definitely keep a master backup copy.

If I leave the add-ons installed, upgrade to XF 2.x and later uninstall the 1.5.x add-on, are there any negative ramifications? I think I read that 1.5.x add-ons uninstalled after upgrading to XF 2.x don't delete all database tables, is that the case? Anything else I should be aware of?

This should be the case for most addons, however this requires the developer to apply resource standards (and best practise)

You're absolutely right. Is there a collaborative push towards XenForo developer standards/best practices? Having standards (such as a add-on tables being dropped or deleted instead of truncated in normal circumstances) seems like something that should exist, but apparently doesn't.

With developer standards for things like this, along with other things like security updates/disclosures and other standards/best practices make third-party add-ons better for everyone. Developers will have happier customers, and forum owners are provided a clearer understanding of what's happening under the hood. Less cross-add-on compatibility issues, error messages, users breaking the site because an add-on behaves in a non-expected way...

This is however often not the case. Test in on a copy of your site and checkout the DB tables.

Now that you mention it, I have noticed entire tables and some orphaned data in the past when browsing phpMyAdmin on a live site with plug-ins that had previously been uninstalled.

I'm not sure the side effects of this, but I image it slows your database down, makes it more prone to corruption, increases the size, and potentially even opens it up for exploit..?
 
Back
Top Bottom