SchulzStefan
The SME server recommended (or standard) backup & restore procedure is designed to work between same versions (eg 8.0 to 8.0) or different versions (eg 7.6 to 8.0), & also within the same major version eg 7.1 to 7.4, or 8.0 to 8.1).
Inherent in that design concept, is that a contrib designed to run on SME 7.x (el4 rpms) may not function correctly on SME 8.0 (el5 rpms), so if a system (including installed contribs) is "automatically" upgraded or restored, then there is a high likelihood that the contrib(s) will no longer function correctly (eg due to underlying system design changes, dependency requirements, etc, etc).
This means a compatible version of the contrib must be reinstalled.
Unfortunately there is no other simple technical way to cover all upgrade possibilities.
It would be a good thing to be able to include in any backup/restore/upgrade all possible contribs, add ons & unique changes that a myriad of users could possibly make.
It would mean the SME code would need to cater for ANYTHING that an end user could do, which in reality would be technically impossible to achieve from a practical or realistic viewpoint. The code would be staggeringly complex to cater for every unknown eventuality.
I refer you to the debacle with the SME 6.x version. IIRC there was an official v6.0 version & another point release, but there was also an unofficial iso created (called something like 6.01.1), which included a lot of contribs & non standard configuration. More "gung ho" users installed the unofficisl release thinking it was a good idea & an easy way to install contribs etc in bulk, & even when not needed.
IIRC seperate to that iso there was also a large few thousand line script that would automatically install every contrib that was available, again under the pretext that this "was a good thing to do".
Both of these caused a lot of problems for end users & for official developers at upgrade time when SME7 was released. Much additional effort had to be put into uninstalling contribs & removing specialised non standard configuration etc, so that the base install of SME 7 would be work OK.
It's just not practical to implement your suggestion.
Even one errant contrib rpm or custom template piece of code can stop a server from functioning correctly. Make that 5 or 10 or a few dozen contribs, & your server could be impossible to troubleshoot for a novice admin and quite difficult for an experienced admin.
The practical answer (& long time recommended approach by developers), is to create an ibay called installedcontribs or similar. In that you put every contrib rpm you install on the server, and you maintain text files or similar that have all configuration & setup steps plus all changes & tweaks you make during the lifetime of the server. You will need a systematic approach to maintaining the data in this ibay, & need to make the time & effort to keep the information up to date whenever you make changes etc.
When restore or upgrade time comes, ( as this ibay is included in backups), then you have all the information needed to reinstate contribs etc.
Simply look in the restored ibay & start reinstalling contribs & tweaks.
You will still need to obtain compatible contrib rpms etc, but at least you have everything you have done to that server "at your fingertips".
I think professionals call this (or equate it with) "keeping a server technical support log file".
Well, re-installing all contribs is quite a lot of work. Not all are that smooth to re-install. I had manually to adjust phpki, firebird (not a contrib), virtualbox, phpvirtualbox.
I'm wondering that there is no script to save in a backup a list of all installed contribs (or addons) with the specific settings and configurations. Don't get me wrong, I'm just a user, not a developer nor a programmer. A script which would install after a restore all contribs (and/or addons) would make life a lot easier.