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#HBackwardCompatibility
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to