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#HBackwardComp…
--
Sergiu Dumitriu
http://purl.org/net/sergiu/