On the settings control for the new DNN Gallery module, I coded a method which sets the read permissions of gallery folders based on the roles allowed by the module configuration to download files so that when they are accessed via the LinkClick HttpHandler, the download attempt can be allowed to proceed or rejected.
Part of this code calls DotNetNuke.Security.Permissions.FolderPermissionsController.GetFolderPermissionsCollectionByFolderPath to obtain the permissions collection which will then be iterated over.
In DNN 4.9.xx, GetFolderPermissionsCollectionByFolderPath was defined as an instance method of the FolderPermissionsController class so was being called from an instantiated FolderPermissionsController object.
In DNN 5.0.xx, the instance method has been deprecated and replaced by a public shared (static) method of the same signature. Now, when testing the Gallery module in DNN 5.00.01, I find the following exception being thrown:
StackTrace:
Message: DotNetNuke.Services.Exceptions.PageLoadException: Method not found: 'DotNetNuke.Security.Permissions.FolderPermissionCollection DotNetNuke.Security.Permissions.FolderPermissionController.GetFolderPermissionsCollectionByFolderPath(Int32, System.String)'. ---> System.MissingMethodException: Method not found: 'DotNetNuke.Security.Permissions.FolderPermissionCollection DotNetNuke.Security.Permissions.FolderPermissionController.GetFolderPermissionsCollectionByFolderPath(Int32, System.String)'. at DotNetNuke.Modules.Gallery.Utils.SyncFolderPermissions(String specialPermissions, Int32 ModuleId, Int32 TabId) at . . .
Although I would normally like seeing this changed to a static method, I'm not sure what to do about the breaking change in a module which will need to support both 4.9.x and 5.x. I had thought that it was possible (but not recommended) to call a static method via an instantiated class - but apparently not when the method signature is the same. I recall that a similar situation occured in an earlier version of the core Events module but not sure how it was resolved.