Straw poll - addon + theme compatibility with v9

One add-on:
1 = 0
2 = 1 (tabs issue)
3 = 0
4 = 0
5 = 0
6 = 0
7 = 0
8 = 0

Woohoo! I have an addon that worked for v9 with no issues at all! My Safe HTML template.

(my numbers above edited)

1 Like

@enlil I heard the exact same thing and I remember asking him about it myself.

9.0.1, jobs are still a thing, with a notice that they will one day not work any more… Talk about almost cold turkey :smiley:

Jobs won’t work directly. The job itself and parameters passed into the job are strongly typed by class names. The class names from pre v9 do not exist in v9. v9 has changed the definitions to another set of strongly typed class names unique to v9.

Thus an un-modified v8 job will fail with php parameter type errors when installed on a v9 site or when a v8 site is upgraded to v9. And a v9 job will fail with php parameter type errors when installed on v8.

I discussed this with @Lemonbrain on a PRB review and we came up with a solution involving conditional declaration of the class as an extension of a pair of v8 and v9 intermediary classes. A similar approach should be feasible for handling some of the other more tricky v8/v9 differences , especially where strongly typed method declarations have changed.

At its most basic, it boils down to

if(version <v9){
    class MyClass extends v8_intermediarry_class
} else {
    class MyClass extends v9_intermediarry_class

The initial test could also check for class existence rather than core version.

The intermediaries can either be copies with differences in v8/v9 classes, or can simply look after the parameter class differences and then call back into a common class for the real code.