I've been in this game for many years now and I still feel the Umbraco team are a little reticent about the likelihood of Umbraco developers keeping on the upgrade path with their builds.
I've recently pushed our development build from 7.5 to 7.6 which worked as expected (as it really should be a painless exercise these days). Unfortunately things became unnecessarily difficult when 7.6.1 was released and bang! I could no longer upgrade.
Digging into the breaking changes I quickly realised my use of the third party library Our.Umbraco.CoreValueConverters was preventing me from getting any further, understandably due to these converters now finding themselves in the core.
So why doesn't the upgrade script give you the option on detection of the old library to disable it and regenerate the models builder models automatically? This would've prevented the hard stop on 7.6.1 and allowed me to continue without the nightmare which followed.
So to get to 7.6.1 I had to uninstall the property value converters lib, enable the built in converters and then manually tweak all of my modelsbuilder models just to get the damn thing to compile! Arghh!
Yes indeed it was disabled in the upgrade, and all went smoothly from 7.5 to 7.6. But the core converters lib has a dependency version of <= 7.6 so I was prevented from upgrading to 7.6.1 via nuget.
This left me with no choice but to remove the lib and enable the built in converters....which left me with a bunch of broken models I had to manually fix.
@Dave - Also it's worth pointing out, as they are now built-in (arguably easing the upgrade process further by taking out a no-longer-needed extension), It would've made more sense for the upgrade script to swap out and uninstall the extension for you. Especially as this breaking change doesn't require you to change any of your own code.
Sadly, the upgrade process has never been a smooth experience, have spent way to many non-billable hours on that lately*
Yesterday, I just had to revert a 7.6.1-installation back to 7.1, because of too many errors in the installation process. Everytime I need to upgrade an installation it still frightens the hell out of me, because I know there will be unforseen complications like database scheme mismatches, db->disk cache problems etc.
Minor upgrades could be performed securely and automatically. Even, in 2017, they don't.. Why?
*) I'm not a troll. I love umbraco. Been implementing sites in Umbraco since 2.0 beta and up.
I understand your frustrations and we always work really hard to keep the amount of breaking changes to an absolute minimum. In this case it's really unfortunate that we didn't know the converters package was limited to < 7.6.0. This has been fixed now and should help you upgrade while still using the package as it was.
I would be really curious as to what kind of upgrade script you would've liked to have seen. The only thing I can think of is that we could detect that you had the converters dll in your bin folder, delete it and enable the built-in converters. However, as you noticed, this gives you different errors. I wonder what you did to resolve them?
@Simon Sadly, I've never seen you create any issues on the tracker with your specific upgrade problems detailed. Else we would love to help fix (be it automatic or giving hints on manual steps to help you move on).
Lastly: your comments on the documentation and explanation of features like the UDI are well taken and we'll work on improving that in the near future.
Luckily your upgrade issues, though unfortunate that they happen to you so regularly, are also the exception to the rule. Most people manage to upgrade quite successfully. This is not to blame you or call you stupid, but I just want to point out the upgrade process cannot be 100% perfect for everyone all the time. Sometimes this is due to our stupidity if we forget something in a release, then we'll fix it quickly. But most times it's because of the super dynamic nature of Umbraco and we cannot always foresee the things people do with it. Again, when we know about a specific thing that is preventing someone from upgrading then we'll happily debug and attempt to fix. Let us know!
The internal version is not 100% compatible with the 3rd party plugin. Just switching people over would've made other people equally unhappy as you are now. We opted for the safer option where nothing actually changes for anybody until they choose to change over. This could obviously be documented better.
It's only possible to deal with this automatically in the upgrade when people are using NuGet - since it would involve deleting a dll we cannot do this in the upgrade installer.
Thanks Simon, yes I looked for issues you reported too which is why I was surpised not to find upgrade issues from you :-)
Both those issues have been resolved/have workarounds. If you keep going after each issue you should end up in a better endstate and from there on out hopefully see fewer issues when upgrading.
If the EXACT same errors would be resurfacing and the workaround is not working for you, more people would complain about them, so I doubt it's the same issues.
As for U4-7100 - this is exactly what I've talked about in my lengthy post before: Umbraco can be used in a million different ways, we simply cannot anticipate everything in advance. In this case custom startup handlers were preventing the upgrade, there is not much we can do about that.
As for U4-7598 - I'm not sure, all I can think of is that maybe you're trying your upgrade in steps (going from 7.1 to 7.2 and then 7.3?). Make sure to take the leap and upgrade to the latest in one go so that you can take advantage of all the fixes already in place.
Umbraco can be used in a million different ways, we simply cannot anticipate everything in advance
Of course not ;-) However, my (our) Umbraco setups are pretty basic - vanilla Umbraco and maybe 1, 2 or 3 plugins. Usually the top rated ones. Nothing fancy.
I'm not sure, all I can think of is that maybe you're trying your upgrade in steps (going from 7.1 to 7.2 and then 7.3?)
Okay, I'm going straight from 7.1 to 7.5 so that's not it, but I'll investigate :) Going to read your blog post.
It's your personal (or client) choice to "upgrade" - and if you do upgrade, then you need to put aside time (and billable hours).
If you decide to upgrade merely for your own "pleasure" - then, maybe see the upgrade process a pro-active period of time to re-factor your code to make it even better.
To note : I rarely use 3rd party plugins unless I know them "Inside out" and know exactly before hand if/when they'll stop functioning, or I can interchange them. It also eases the upgrade path somewhat.
I've converted quite a number of v7.x sites up to version 7.6.1, and even a site from v4, and not hit any major problems. Had to swop out a couple of property editors, but nothing major - infact, it was quite fun :-)
Banging on about upgrades...again!
I've been in this game for many years now and I still feel the Umbraco team are a little reticent about the likelihood of Umbraco developers keeping on the upgrade path with their builds.
I've recently pushed our development build from 7.5 to 7.6 which worked as expected (as it really should be a painless exercise these days). Unfortunately things became unnecessarily difficult when 7.6.1 was released and bang! I could no longer upgrade.
Digging into the breaking changes I quickly realised my use of the third party library Our.Umbraco.CoreValueConverters was preventing me from getting any further, understandably due to these converters now finding themselves in the core.
So why doesn't the upgrade script give you the option on detection of the old library to disable it and regenerate the models builder models automatically? This would've prevented the hard stop on 7.6.1 and allowed me to continue without the nightmare which followed.
So to get to 7.6.1 I had to uninstall the property value converters lib, enable the built in converters and then manually tweak all of my modelsbuilder models just to get the damn thing to compile! Arghh!
This really shouldn't be so difficult!
Hi Martin,
All the breaking changes are listed here : https://our.umbraco.org/Documentation/Getting-Started/Setup/Upgrading/760-breaking-changes
Disabling core property value converters should have been set to false in the upgrade to 7.6 i guess.
That would have prevented your from refactoring your code : https://our.umbraco.org/Documentation/Getting-Started/Setup/Upgrading/760-breaking-changes#property-value-converters-u4-7318
Dave
Hi Dave
Yes indeed it was disabled in the upgrade, and all went smoothly from 7.5 to 7.6. But the core converters lib has a dependency version of <= 7.6 so I was prevented from upgrading to 7.6.1 via nuget.
This left me with no choice but to remove the lib and enable the built in converters....which left me with a bunch of broken models I had to manually fix.
M.
Hi Martin,
The dependency on <=7.6.0 is actually an issue with the core value converters package itself. Not Umbraco.
I reported the issue : https://github.com/Jeavon/Umbraco-Core-Property-Value-Converters/issues/22 Dave
I agree it's not directly a core issue, but the team have brought the code into the core. So arguably they should've written a script to handle this.
@Dave - Also it's worth pointing out, as they are now built-in (arguably easing the upgrade process further by taking out a no-longer-needed extension), It would've made more sense for the upgrade script to swap out and uninstall the extension for you. Especially as this breaking change doesn't require you to change any of your own code.
Sadly, the upgrade process has never been a smooth experience, have spent way to many non-billable hours on that lately*
Yesterday, I just had to revert a 7.6.1-installation back to 7.1, because of too many errors in the installation process. Everytime I need to upgrade an installation it still frightens the hell out of me, because I know there will be unforseen complications like database scheme mismatches, db->disk cache problems etc.
Minor upgrades could be performed securely and automatically. Even, in 2017, they don't.. Why?
*) I'm not a troll. I love umbraco. Been implementing sites in Umbraco since 2.0 beta and up.
I understand your frustrations and we always work really hard to keep the amount of breaking changes to an absolute minimum. In this case it's really unfortunate that we didn't know the converters package was limited to < 7.6.0. This has been fixed now and should help you upgrade while still using the package as it was.
I would be really curious as to what kind of upgrade script you would've liked to have seen. The only thing I can think of is that we could detect that you had the converters dll in your bin folder, delete it and enable the built-in converters. However, as you noticed, this gives you different errors. I wonder what you did to resolve them?
@Simon Sadly, I've never seen you create any issues on the tracker with your specific upgrade problems detailed. Else we would love to help fix (be it automatic or giving hints on manual steps to help you move on).
Lastly: your comments on the documentation and explanation of features like the UDI are well taken and we'll work on improving that in the near future. Luckily your upgrade issues, though unfortunate that they happen to you so regularly, are also the exception to the rule. Most people manage to upgrade quite successfully. This is not to blame you or call you stupid, but I just want to point out the upgrade process cannot be 100% perfect for everyone all the time. Sometimes this is due to our stupidity if we forget something in a release, then we'll fix it quickly. But most times it's because of the super dynamic nature of Umbraco and we cannot always foresee the things people do with it. Again, when we know about a specific thing that is preventing someone from upgrading then we'll happily debug and attempt to fix. Let us know!
Hi Sebastiaan
Yes, if a third party extension is to go internal, the upgrade script should handle it.
In this case the final step would've been to re-generate any ModelsBuilder models in use to prevent compilation errors.
I had to hack them manually to get them to compile before I could continue.
Regards Martin
Two problems here:
When you say, not 100%? What's not quite the same? As i'll need to know this for the conversion!
See the issue linked to before in this thread: https://github.com/Jeavon/Umbraco-Core-Property-Value-Converters/issues/22#issuecomment-300443691
Hi Sebastiaan
Ahh yes the changes are described here:
https://github.com/Jeavon/Umbraco-Core-Property-Value-Converters#upgrading-to-umbraco-76
I'd worked this out for myself when I removed the dll.
Thanks anyway
Martin
@sebastiaan:
Yes, I do report errors in the issue tracker. I tend to log issues if they are confirmed on Our.
http://issues.umbraco.org/issues/U4?q=by%3A+simon+%23Simon.Justesen (You've been very helpful in the past, thanks!, but there are also a few open, still unassigned issues :P)
I'm going to attempt another upgrade 7.1 -> 7.6.2 and I'll report my findings, but my issues are basically the same as this:
http://issues.umbraco.org/issue/U4-7100 and this: http://issues.umbraco.org/issue/U4-7598
Since the error is resurfacing in my setup (the site was originally created with 7.0), it seems there's a flaw in the upgrade process somehow.
v8 is going to have another approach to the whole install/upgrade process, right?
Thanks Simon, yes I looked for issues you reported too which is why I was surpised not to find upgrade issues from you :-)
Both those issues have been resolved/have workarounds. If you keep going after each issue you should end up in a better endstate and from there on out hopefully see fewer issues when upgrading.
If the EXACT same errors would be resurfacing and the workaround is not working for you, more people would complain about them, so I doubt it's the same issues.
As for U4-7100 - this is exactly what I've talked about in my lengthy post before: Umbraco can be used in a million different ways, we simply cannot anticipate everything in advance. In this case custom startup handlers were preventing the upgrade, there is not much we can do about that.
As for U4-7598 - I'm not sure, all I can think of is that maybe you're trying your upgrade in steps (going from 7.1 to 7.2 and then 7.3?). Make sure to take the leap and upgrade to the latest in one go so that you can take advantage of all the fixes already in place.
I've written more about upgrade problems here: https://cultiv.nl/blog/how-to-diagnose-umbraco-upgrade-problems/
v8 will work exactly the same way. :-)
@Sebastiaan:
Of course not ;-) However, my (our) Umbraco setups are pretty basic - vanilla Umbraco and maybe 1, 2 or 3 plugins. Usually the top rated ones. Nothing fancy.
Okay, I'm going straight from 7.1 to 7.5 so that's not it, but I'll investigate :) Going to read your blog post.
It's your personal (or client) choice to "upgrade" - and if you do upgrade, then you need to put aside time (and billable hours).
If you decide to upgrade merely for your own "pleasure" - then, maybe see the upgrade process a pro-active period of time to re-factor your code to make it even better.
To note : I rarely use 3rd party plugins unless I know them "Inside out" and know exactly before hand if/when they'll stop functioning, or I can interchange them. It also eases the upgrade path somewhat.
I've converted quite a number of v7.x sites up to version 7.6.1, and even a site from v4, and not hit any major problems. Had to swop out a couple of property editors, but nothing major - infact, it was quite fun :-)
is working on a reply...