On 10/04/2012 01:59 PM, Karel Gardas wrote:
Hello,
first of all, sorry, I've tried to google for it, but have not got any meaningful answer so I'm asking here.
I'm curious what is the future of platform-legacy-oldcore modules for few another releases or let say a year or two. I'm asking since in 3.x release this module was called platform-oldcore ("old" kind of warned me already), but now in 4.2 it's already called with a connection of "old" and "legacy" words so I'm curious if this is going to change into "old" and "deprecated" and then be removed one of future releases (just my current fear!). The reason I'm asking is since we've extended this base by simple two or three classes to support lists based on supplied SPARQ queries. If however, this should be implemented anywhere else please let me know and I'll fix our extension to be more in line with what XWiki expects before I go to submit it here for more discussion about this feature. I'm not sure at all if you will be interested in integrating this into xwiki code base or it should be implemented anywhere else in kind of semantic module support for xwiki or something like that so if you do have some advice with regarding to this topic, it's also highly appreciated.
The plan has been to get rid of the old core module for a very long time, about 5 years if I remember correctly. But few things from it will disappear completely, most parts of the code will evolve into new modules. Regarding the name, it used to be "core", then it was changed into "oldcore". The current name is still "xwiki-platform-oldcore", the "legacy" part is an enhanced jar which bundles deprecated classes that have been already replaced with new modules, or deprecated methods, and have gone through our official code deprecation strategy [1]. If you're developing code based on some classes from the oldcore, then you're in a not so good zone. Those classes will disappear some day, but they won't disappear completely and suddenly. They will be replaced by new and better classes when someone will find the time to investigate the matter. Usually there's a design phase where the main developer will ask for feedback from the community members, and you can provide your needs to ensure that the new API will work for you. When the new model is implemented, the old code will be marked as deprecated and you should try to update your own code to work on top of the new classes. Deprecated code will remain for at least two releases in the oldcore module, which means that your code will still compile and work out of the box, but at some point it will be moved into the legacy-oldcore module which you definitely shouldn't depend on. The legacy jar is usually shipped with the default distributions of XWiki, so your code should still work, but that's not guaranteed. At some point we might decide not to ship the legacy jar in distributions, and you will have to explicitly add it in your installation if you still depend on it. So, don't worry too much about it, as long as you keep an eye on the project, you shouldn't be surprised by the sudden disappearance of the oldcore classes that you use. [1] http://dev.xwiki.org/xwiki/bin/Community/DevelopmentPractices#HBackwardCompa... -- Sergiu Dumitriu http://purl.org/net/sergiu/