Sylvain Wallez wrote:
Carsten Ziegeler wrote:

Sylvain Wallez wrote:


This is clearly inconsistent.


Yepp


Furthermore, I really don't like this naming scope filled from different sources (the object itself and some other data), especially when one of the sources comes from the browser.


And what about conflicts? Fortunately the object is searched before request parameters, otherwise this would be a nice security hole.

So, what do we do? Do we keep this inconsistent behaviour, deprecate it, remove it now?

WDYT?

I personally would remove this syntactic sugar completly; it's imho not intuitiv what it means and the inconsistent implementation adds to it.
In addition it would make our unified object model implementation (for flow, jxtg etc.) much easier as we don't have to simulate this in Java.


Unfortunately, I fear that this is common use, so let's deprecate it with 2.1.x and remove for 2.2 completly



agree :-)

Now with all this deprecated stuff floating around, we should have a centralized deprecation Logger so that users can easily be informed of the deprecated features they use (in the case of Javascript, there's no compiler warning like in Java).

That would make a new log file (e.g. deprecated.log), but IMO that one deserves to exist.

Yes, and we should really try to add *all* "deprecated log messages" there.

Where can we put that deprecation logger? What comes to mind is either the Avalon Context, or a component, i.e. lookup(Logger.ROLE + "deprecated").

WDYT?

I think this should be as simple as possible. What about a static accessor, e.g. on the Core object? You might want to use this logger where you don't want to either implement Serviceable nor Contextualizable, so imho it should be easier.

Carsten
--
Carsten Ziegeler - Open Source Group, S&N AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/

Reply via email to