On 11/12/09 1:56 PM, Denis Gervalle wrote: > On Nov 12, 2009, at 13:26, Vincent Massol wrote: > > >> On Nov 12, 2009, at 12:56 PM, Jerome Velociter wrote: >> >> >>> Hello all, >>> >>> I think it would be nice to have the possibility to post-load some of >>> the JavaScript extensions, as a way to ease performance best >>> practices >>> for developers. (See >>> http://developer.yahoo.com/performance/rules.html#postload for >>> example). >>> >>> It would also allow people to easily add hungry third party scripts >>> (like the google analytics tracker) in a non intrusive manner and not >>> sacrificing performance (no need to modify/override htmlfooter.vm for >>> example, a simple SX always-use will do). >>> >>> I see different ways of doing that : >>> >>> 1) Either we say all document JSX are post-loaded, and we move the >>> hook >>> down the DOM just before the closing</body> tag. >>> 2) Either we have 2 hooks and we leave it as an option to be post- >>> loaded. >>> >>> My preference goes to 1), as I don't see any good use case where a >>> extension would need not to be post-loaded; and 2) is not so elegant >>> to >>> implement with the current SX mecanism. >>> >> 1) sounds good to me too but I'm not an expert (so I don't know if >> there are any drawbacks). >> >> > Even if I agree, I see at least potential issue for existing JSX, > since code executed during page loading may be broken by a post-loaded > extension. I think that we (at Softec) have at least one extension > that would break, it is a implementation of the astable for backward > compatibility.
Yes, we would need a backward compatibility path to get there. I'd say a flag in xwiki.cfg to keep the hook up in the header. > Another potential issue is our field validation > extension that may be called by user interaction before the end of the > page loading (browser dependent). > If I understand correctly, it's a design issue of the extension rather than a problem with post-loading. I'm guessing (stop me if I'm wrong) the extensions uses on(change|blur|keyup|etc.) hooks directly on the input fields - which I think is not a good practice. Instead I would use either CSS classes on the field + a initialization hook on DOM loading that finds all fields to bind to validation methods with a CSS selector, and/or directly Event#observe for more complex validations that cannot be expressed by just a class (cross fields validation, etc.). > So to avoid that, 2) is not a bad option either. > > Denis > > >> Thanks >> -Vincent >> >> >>> WDYT ? >>> >>> (Note: I'm not talking about file-system extensions here (JSFX), >>> though >>> the question could be asked for them as well - I need to give it more >>> thoughts) >>> >>> Jerome. >>> >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs >> > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

