v9: list of changes affecting package compatibility
Permalink
I've installed a v9 for testing my packages. They fail right from the start because some assets are missing. Don't know what else could bomb there because I can't test them without major rewrite.
Is there a list of changes affecting package compatibility between v8 and v9?
If some assets are taken out of v9, how v8 packages are supposed to be running without major rework? I thought the upgrade was supposed to be smooth except for some theme issues. But if v8 packages fail in v9, that's a major snafu.
Does that mean v9 is too raw for package testing?
Is there a list of changes affecting package compatibility between v8 and v9?
If some assets are taken out of v9, how v8 packages are supposed to be running without major rework? I thought the upgrade was supposed to be smooth except for some theme issues. But if v8 packages fail in v9, that's a major snafu.
Does that mean v9 is too raw for package testing?
AFAIK an alpha release is planned to allow such issues to be identified before v9 gets officially released.
I've updated maybe about 7 or 8 of our add-ons to v9, plus I'm about 90% of the way there with Community Store. What I've been doing is creating a shortcut/link between the package folders, so I can run them in a v8 install and v9 install, and develop the one codebase but test them in both.
I'm working in this branch here for Community Store, for example of the kinds of things I'm changing -https://github.com/concrete5-community-store/community_store/tree/v9...
There are some libraries that have been removed that I'm a bit perplexed by, but I'm also pausing my updating until there's a beta of V9. I just wanted to get a head start.
So far I've found that I'm not having to do any major rewriting, most of the add-ons I have install and run, it's just that due to the Bootstrap difference I'm having to go through and update all block and dashboard page interfaces to also include Bootstrap 4 classes. Without those Boostrap 4 classes these interfaces look very broken though. They seem to play nicely against the Bootstrap 3 ones though.
Where things haven't worked, it's because technically the code is not really the 'v8 way', and it's more legacy code from 5.7 development times.
I haven't tried any themes yet, but most of our custom themes use our own Sass, so aren't likely to have issues.
Some things I've picked up that aren't quite the same:
- tab interfaces on blocks, I've had to put in code that feels a bit hacky to make that work on both v8 and v9
- missing libraries like magnific popup and selectize, I'm having to include in the package and load them in if required
The bit I'm still not sure on is what the expectation is - will add-ons without Bootstrap 4 classes be expected to look ok? Or, will every add-on need at least this update for v9.
I'm working in this branch here for Community Store, for example of the kinds of things I'm changing -https://github.com/concrete5-community-store/community_store/tree/v9...
There are some libraries that have been removed that I'm a bit perplexed by, but I'm also pausing my updating until there's a beta of V9. I just wanted to get a head start.
So far I've found that I'm not having to do any major rewriting, most of the add-ons I have install and run, it's just that due to the Bootstrap difference I'm having to go through and update all block and dashboard page interfaces to also include Bootstrap 4 classes. Without those Boostrap 4 classes these interfaces look very broken though. They seem to play nicely against the Bootstrap 3 ones though.
Where things haven't worked, it's because technically the code is not really the 'v8 way', and it's more legacy code from 5.7 development times.
I haven't tried any themes yet, but most of our custom themes use our own Sass, so aren't likely to have issues.
Some things I've picked up that aren't quite the same:
- tab interfaces on blocks, I've had to put in code that feels a bit hacky to make that work on both v8 and v9
- missing libraries like magnific popup and selectize, I'm having to include in the package and load them in if required
The bit I'm still not sure on is what the expectation is - will add-ons without Bootstrap 4 classes be expected to look ok? Or, will every add-on need at least this update for v9.
Its possible that v9 just needs more time and code for backward compatibility still needs to be added. From what Franz says we will have a smooth transition that wont require rewrites.