Hi everyone,
it seems that historically we always provided hibernate data migration in public API package of XWiki. First in old-core: xwiki-platform/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/store/migration at master · xwiki/xwiki-platform · GitHub but then also in other modules such as notifications: xwiki-platform/xwiki-platform-core/xwiki-platform-notifications/xwiki-platform-notifications-filters/xwiki-platform-notifications-filters-default/src/main/java/org/xwiki/notifications/filters/migration at master · xwiki/xwiki-platform · GitHub
IMO this is a bad practice as those are never meant to be reused, and per our best practice we’re supposed to mark them unstable which doesn’t make any sense for such components. @mleduc recently starting putting old core migrations in an internal package: xwiki-platform/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/org/xwiki/internal/migration at master · xwiki/xwiki-platform · GitHub which is clearly better.
So the proposal here is that we ensure in the future to always put those data migration components in internal package. I’m not sure we really need to write it down in best practices, as it should be common sense that it’s not API. I just wanted to write it down so we pay attention to not grouped those classes with the old ones in the future.
Thanks
5 posts - 5 participants