Hi Dimitri

I’ve put it on the todo list to make .babelrc enable-able globally, probably as 
part of the Maker, so that should be done this weekend too

I did try Nashorn but I had non-trivial issues that I needed to look into - for 
example, I have a Rhino debugger I’ve written (think node-inspector, but my one 
is rhino-inspector) and I have to have server side debugging.  I couldn’t find 
much information on how to connect to Nashorn for remote debugging, so couldn’t 
write a new debugger.

(Rhino-inspector was something I was going to open source at one time but with 
Nashorn coming on the scene I wondered whether there was any point)

Another problem I had was with Java 8 - trying to use Rhino in Java 8 caused 
conflicts with Rhino’s implementation of arrays vs Java8, because Rhino 
attempts to integrate the Java class with Javasacript and there are method 
conflicts.  Again, it looked non-trivial and so I had to put it to one side and 
am sticking with Java 7 for now.

John





On 18/02/2016, 16:28, "Dimitri" <mi...@cargosoft.ru> wrote:

>John,
>
>Tried recent version, everything seems to work now. .babelrc's are
>ignored; it's no longer needed to symlink node_modules to the app and
>contribs directories, "npm link async" in the project dir is
>sufficient. However, I have to admit that .babelrc/.babelignore is a
>useful mechanism, since (if it worked properly) it would allow to use
>different Babel settings, or completely disable it, on a per-directory
>basis. Ideally, the compiler should honour .babelrc/.babelignore *and*
>pull all the presets and plugins from a single location, be it
>qxcompiler/node_modules or /usr/lib/node_modules (as soon as NPM
>packaging is ready).
>
>Re: database path - well done! is it safe to use a single shared db
>file for a set of projects + particular qooxdoo version (provided that
>no parallel compilations occur)?
>
>Wow, we are only one step away from production :) It will be pretty
>easy for us to migrate to QxCompiler, since our setup is much simpler
>than yours. It's a real-time communication application with pure JavaEE
>backend and qooxdoo RIA frontend, so no (yet) JavaScript on server
>side.
>
>Slightly offtopic: did you try Nashorn with your server-side? Should be
>much faster and feature-rich. Besides, we are planning an opensource
>project - JavaScript console for JavaEE with qooxdoo frontend a la
>Playground. It would allow to author/run/manage server-side scripts,
>with support for CDI injections, scheduled execution, user/system
>script library etc. I'd like to ask you (and everyone else here) to let
>me know if you're interested.
>
>Dimitri
>
>> Hi Dimitri
>> 
>> Well done for finding that, what a nightmare.  I think I’ve found how
>> to disable the .babelrc, but I think the real issue is a bug in Babel
>> with presets; whatever, the fix is to not use presets and load the
>> plugins individually which is what I’ve done and I’ve just pushed it
>> up.  Please can you reinstate your .babelrc’s and see if this solves
>> it?
>> 
>> This release includes the custom database path; translations I’ll get
>> back onto later on today (I’m a bit behind on my schedule)
>> 
>> That’s great that your using this in production, you’re beating me to
>> it in mine!
>> 
>> Cheers
>> John
>> 
>> From: Dimitri <mi...@cargosoft.ru>
>> Reply-To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net>
>> Date: Thursday, 18 February 2016 at 08:16
>> To: <qooxdoo-devel@lists.sourceforge.net>
>> Subject: Re: [qooxdoo-devel] QxCompiler - add ES6, faster
>> compilation, and 100% Javascript API to building applications
>> 
>> John,
>> 
>> This turns to be one of that "bug reports that you like to hear" ;)
>> I've identified the culprit, it was .babelrc in my home dir. We were
>> totally wrong in that Babel ignores .babelrc in embedded mode. In
>> fact, it looks for it *everywhere*:
>> 
>> [mitya@localhost test]$ strace node ./compile-app-demo.js 2>&1 | grep
>> babelrc
>> access("/home/mitya/qxcompiler/testdata/qxt/source/class/qxt/.babelrc
>> ", F_OK) = -1 ENOENT (No such file or directory)
>> access("/home/mitya/qxcompiler/testdata/qxt/source/class/.babelrc",
>> F_OK) = -1 ENOENT (No such file or directory)
>> access("/home/mitya/qxcompiler/testdata/qxt/source/.babelrc", F_OK) =
>> -1 ENOENT (No such file or directory)
>> access("/home/mitya/qxcompiler/testdata/qxt/.babelrc", F_OK) = -1
>> ENOENT (No such file or directory)
>> access("/home/mitya/qxcompiler/testdata/.babelrc", F_OK) = -1 ENOENT
>> (No such file or directory)
>> access("/home/mitya/qxcompiler/.babelrc", F_OK) = -1 ENOENT (No such
>> file or directory)
>> access("/home/mitya/.babelrc", F_OK)    = 0
>> open("/home/mitya/.babelrc", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 11
>> 
>> After the file has been encountered, seems like it tries to resolve
>> presets/plugins relative to that file location.
>> 
>> With that file removed, everything finally worked with qxt! But then
>> I tried to build my own project, and got similar error:
>> 
>> /home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/options/option-manager.js:393
>>           throw new Error("Couldn't find preset " +
>> JSON.stringify(val) + " relative to directory " +
>> JSON.stringify(dirname));
>>           ^
>> 
>> Error: Couldn't find preset "es2015" relative to directory
>> "/home/mitya/Projects/foo/source/class/foo"
>>     at /home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/options/option-manager.js:393:17
>>     at Array.map (native)
>>     at OptionManager.resolvePresets
>> (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/options/option-manager.js:385:20)
>>     at OptionManager.mergePresets
>> (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/options/option-manager.js:369:10)
>>     at OptionManager.mergeOptions
>> (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/options/option-manager.js:328:14)
>>     at OptionManager.init (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/options/option-manager.js:486:10)
>>     at File.initOptions (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/index.js:211:75)
>>     at new File (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/index.js:129:22)
>>     at Pipeline.transform (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/pipeline.js:48:16)
>>     at /home/mitya/qxcompiler/lib/qxcompiler/ClassFile.js:220:32
>> 
>> This time no .babelrc files anywhere in the project structure.
>> Remember I earlier did "npm link async" in the project dir so that
>> build script would run. To get rid of this, I removed
>> foo/node_modules and symlinked qxcompiler/node_modules to the project
>> dir. Got yet another error, this time with UploadMgr:
>> 
>> Error: Couldn't find preset "es2015" relative to directory
>> "/home/mitya/qooxdoo-
>> contrib/UploadMgr/source/class/com/zenesis/qx/upload"
>>     at /home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/options/option-manager.js:393:17
>>     at Array.map (native)
>>     at OptionManager.resolvePresets
>> (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/options/option-manager.js:385:20)
>>     at OptionManager.mergePresets
>> (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/options/option-manager.js:369:10)
>>     at OptionManager.mergeOptions
>> (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/options/option-manager.js:328:14)
>>     at OptionManager.init (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/options/option-manager.js:486:10)
>>     at File.initOptions (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/index.js:211:75)
>>     at new File (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/file/index.js:129:22)
>>     at Pipeline.transform (/home/mitya/qxcompiler/node_modules/babel-
>> core/lib/transformation/pipeline.js:48:16)
>>     at /home/mitya/qxcompiler/lib/qxcompiler/ClassFile.js:220:32
>> 
>> With node_modules symlinked to qooxdoo-contrib/UploadMgr, finally
>> everything worked. This is easily reproducible if you move qxt
>> outside of QxCompiler dir, place build script inside qxt and adjust
>> paths accordingly (I used absolute paths).
>> 
>> Transpiling and compression work just fine. Yet I've encountered a
>> small bug with translations. If a message is translated with
>> this.tr*() set of functions, everything works fine. If
>> qx.locale.Manager.tr() is used, such a message simply won't make it
>> into the build.
>> I think we should unconditionally transfer all the *.po strings into
>> the build, since translation in the app could be done based on
>> dynamic, computed values.
>> 
>> I think that as soon as the remaining issues are fixed, QxCompiler
>> can be considered fairly stable. I'm already integrating it into our
>> build process.
>> 
>> Cheers!
>> Dimitri
>> 
>> > Hi Dimitri
>> > 
>> > Sorry I realise now that was a rash suggestion, obviously it had to
>> > be in the test directory to work.
>> > 
>> > I think there’s something odd with your installation because I’ve
>> > just switched to a Centos 6.5 VM that has never had node installed,
>> > installed Node 4, ImageMagick, cloned the QxCompiler repo, and run
>> > npm install.  I discovered a problem with package.json where babel-
>> > types wasn’t listed, but once I fixed that with "npm install babel-
>> > types —save” I was able to “cd test ; ./compile-app-demo.js” and
>> > get a working app, with resources and Bable transpiling.
>> > 
>> > I tried Node 5 too on the same machine (deleting my ~/.npm,
>> > node_modules, and testdata/qxt/source-output directories first) and
>> > that also works for me; also the ./compile-app-demo-build.js
>> > 
>> > If I list installed plugins I get:
>> > $ npm list | grep 2015
>> > ├─┬ babel-preset-es2015@6.5.0
>> > │ ├─┬ babel-plugin-check-es2015-constants@6.5.0
>> > │ ├─┬ babel-plugin-transform-es2015-arrow-functions@6.5.2
>> > │ ├─┬ babel-plugin-transform-es2015-block-scoped-functions@6.5.0
>> > │ ├─┬ babel-plugin-transform-es2015-block-scoping@6.5.0
>> > │ ├─┬ babel-plugin-transform-es2015-classes@6.5.2
>> > │ ├─┬ babel-plugin-transform-es2015-computed-properties@6.5.2
>> > │ ├─┬ babel-plugin-transform-es2015-destructuring@6.5.0
>> > │ ├─┬ babel-plugin-transform-es2015-for-of@6.5.2
>> > │ ├─┬ babel-plugin-transform-es2015-function-name@6.5.0
>> > │ ├─┬ babel-plugin-transform-es2015-literals@6.5.0
>> > │ ├─┬ babel-plugin-transform-es2015-modules-commonjs@6.5.2
>> > │ ├─┬ babel-plugin-transform-es2015-object-super@6.5.0
>> > │ ├─┬ babel-plugin-transform-es2015-parameters@6.5.0
>> > │ ├─┬ babel-plugin-transform-es2015-shorthand-properties@6.5.0
>> > │ ├─┬ babel-plugin-transform-es2015-spread@6.5.2
>> > │ ├─┬ babel-plugin-transform-es2015-sticky-regex@6.5.0
>> > │ ├─┬ babel-plugin-transform-es2015-template-literals@6.5.2
>> > │ ├─┬ babel-plugin-transform-es2015-typeof-symbol@6.5.0
>> > │ ├─┬ babel-plugin-transform-es2015-unicode-regex@6.5.0
>> > 
>> > The array of plugins that was in QxCompiler previously was the
>> > equivalent of the es2015 preset, albeit the list was slightly out
>> > of date so updating the code to use a preset instead of plugins
>> > should only improve support, but you had it working with the preset
>> > yesterday so I don’t understand why it is not working now.
>> > 
>> > Is it possible that you have Babel installed globally and it’s
>> > conflicting somehow?  I’ve updated the package.json at GitHub to
>> > explicitly reference babel-types, and rechecking out etc on my
>> > Centos 6 VM now runs without any complaints so it might be worth
>> > updating and trying again.
>> > 
>> > Regards
>> > John
>> > 
>> > From: Dimitri <mi...@cargosoft.ru>
>> > Reply-To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net>
>> > Date: Wednesday, 17 February 2016 at 23:02
>> > To: <qooxdoo-devel@lists.sourceforge.net>
>> > Subject: Re: [qooxdoo-devel] QxCompiler - add ES6, faster
>> > compilation, and 100% Javascript API to building applications
>> > 
>> > [mitya@localhost qxcompiler]$ ./test/compile-app-demo.js 
>> > Error: Error: ENOENT: no such file or directory, open
>> > '../testdata/qxt/Manifest.json'
>> > 
>> > 
>> > > Hmm - what happens if you change directory to the root of the
>> > > QxCompiler repo and run ./test/compile-app-demo.js?
>> > > 
>> > > From: Dimitri <mi...@cargosoft.ru>
>> > > Reply-To: qooxdoo Development <qooxdoo-de...@lists.sourceforge.ne
>> > > t>
>> > > Date: Wednesday, 17 February 2016 at 22:31
>> > > To: <qooxdoo-devel@lists.sourceforge.net>
>> > > Subject: Re: [qooxdoo-devel] QxCompiler - add ES6, faster
>> > > compilation, and 100% Javascript API to building applications
>> > > 
>> > > No cigar this time :-\
>> > > 
>> > > [mitya@localhost test]$ ./compile-app-demo.js 
>> > > /home/mitya/qxcompiler/node_modules/babel-
>> > > core/lib/transformation/file/options/option-manager.js:393
>> > >           throw new Error("Couldn't find preset " +
>> > > JSON.stringify(val) + " relative to directory " +
>> > > JSON.stringify(dirname));
>> > >           ^
>> > > 
>> > > Error: Couldn't find preset "es2015" relative to directory
>> > > "/home/mitya"
>> > >     at /home/mitya/qxcompiler/node_modules/babel-
>> > > core/lib/transformation/file/options/option-manager.js:393:17
>> > >     at Array.map (native)
>> > >     at OptionManager.resolvePresets
>> > > (/home/mitya/qxcompiler/node_modules/babel-
>> > > core/lib/transformation/file/options/option-manager.js:385:20)
>> > >     at OptionManager.mergePresets
>> > > (/home/mitya/qxcompiler/node_modules/babel-
>> > > core/lib/transformation/file/options/option-manager.js:369:10)
>> > >     at OptionManager.mergeOptions
>> > > (/home/mitya/qxcompiler/node_modules/babel-
>> > > core/lib/transformation/file/options/option-manager.js:328:14)
>> > >     at OptionManager.addConfig
>> > > (/home/mitya/qxcompiler/node_modules/babel-
>> > > core/lib/transformation/file/options/option-manager.js:234:10)
>> > >     at OptionManager.findConfigs
>> > > (/home/mitya/qxcompiler/node_modules/babel-
>> > > core/lib/transformation/file/options/option-manager.js:434:16)
>> > >     at OptionManager.init
>> > > (/home/mitya/qxcompiler/node_modules/babel-
>> > > core/lib/transformation/file/options/option-manager.js:482:12)
>> > >     at File.initOptions
>> > > (/home/mitya/qxcompiler/node_modules/babel-
>> > > core/lib/transformation/file/index.js:211:75)
>> > >     at new File (/home/mitya/qxcompiler/node_modules/babel-
>> > > core/lib/transformation/file/index.js:129:22)
>> > > 
>> > > Dunno why it looks for presets in my home dir. In my previous
>> > > experiment, everything went smooth (except that it didn't in fact
>> > > collect any qooxdoo deps, since I removed all plugins - but
>> > > transpiling itself went fine).
>> > > 
>> > > As for uglify - ah, that was stupid. I used original uglify, not
>> > > uglify-js. Just tried the latter (2.6.1) - indeed, it takes ~10
>> > > secs for qxt. Not bad.
>> > > 
>> > > В Ср, 17/02/2016 в 20:56 +0000, John Spackman пишет:
>> > > > Got it – it was a bug in my plugin I introduced a while ago,
>> > > > but Chrome obviously supports arrow functions natively so I
>> > > > didn’t pick up that the translation wasn’t happening any more.
>> > > >  The .babelrc is not needed for this because we’re using it
>> > > > embedded, I think the .babelrc is only for the CLI
>> > > > 
>> > > > That’s very a good point about the polypill BTW because it’s
>> > > > not being included and it should be, I’ll add that in tomorrow.
>> > > > 
>> > > > The problem with translations is fixed now too, sorry about
>> > > > that I should have deleted the output directory before
>> > > > retesting :oops:
>> > > > 
>> > > > What options are you running Uglify with, and what version are
>> > > > you running?  I’m using "uglify boot.js -m -c”, I just timed it
>> > > > on mine and it’s mangled the qxt app in 11 seconds (I’m using
>> > > > uglify 2.6.1)  Still not great but better than 30 secs :)  I’ve
>> > > > nearly got Uglify done, but stopped for dinner and then saw
>> > > > your email so switched back.
>> > > > 
>> > > > I’ve done the #! entries too
>> > > > 
>> > > > I’ve pushed a new release, give it a go :)
>> > > > 
>> > > > John
>> > > > 
>> > > > From: Dimitri <mi...@cargosoft.ru>
>> > > > Reply-To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.
>> > > > net>
>> > > > Date: Wednesday, 17 February 2016 at 19:33
>> > > > To: <qooxdoo-devel@lists.sourceforge.net>
>> > > > Subject: Re: [qooxdoo-devel] QxCompiler - add ES6, faster
>> > > > compilation, and 100% Javascript API to building applications
>> > > > 
>> > > > Just a quick follow-up on Babel - I've rolled back to
>> > > > yesterday's version, edited lib/qxcompiler/ClassFile.js:218,
>> > > > replaced that plugins array with presets: [ "es2015" ].
>> > > > Suddenly, it worked :)
>> > > > I'm still wondering why it doesn't try to look for any .babelrc
>> > > > file. It's clearly stated in the docs that the "babelrc" option
>> > > > is true by default. And it definitely would be good to have
>> > > > control over Babel via (optional) config file.
>> > > > 
>> > > > Another issue to consider is that not every ES6 feature is
>> > > > implemented via code transformation. Some (ex., Promises)
>> > > > require babel-polyfill. (Mention in the docs? Integrate
>> > > > polyfill into build?)
>> > > > 
>> > > > Dimitri
>> > > > 
>> > > > > Hi John,
>> > > > > 
>> > > > > That pace you're keeping, it's incredible :) Glad to hear
>> > > > > translations finally landed!
>> > > > > 
>> > > > > Unfortunately, I couldn't make them work :(
>> > > > > 
>> > > > > [mitya@localhost test]$ node compile-app-demo.js 
>> > > > > [BABEL] Note: The code generator has deoptimised the styling
>> > > > > of
>> > > > > "/home/mitya/qxcompiler/qooxdoo/framework/source/class/qx/ui/
>> > > > > core/Widget.js" as it exceeds the max of "100KB".
>> > > > > 2016-02-17 21:30:13.229 [info ] makers          Writing
>> > > > > target Source Target: ../testdata/qxt/source-output/
>> > > > > /home/mitya/qxcompiler/lib/qxcompiler/targets/Target.js:239
>> > > > >               pkgdata.locales["C"] = db.cldr["en"];
>> > > > >                                             ^
>> > > > > 
>> > > > > TypeError: Cannot read property 'en' of undefined
>> > > > >     at
>> > > > > /home/mitya/qxcompiler/lib/qxcompiler/targets/Target.js:239:4
>> > > > > 5
>> > > > >     at
>> > > > > /home/mitya/qxcompiler/node_modules/async/lib/async.js:718:13
>> > > > >     at async.forEachOf.async.eachOf
>> > > > > (/home/mitya/qxcompiler/node_modules/async/lib/async.js:233:1
>> > > > > 3)
>> > > > >     at _parallel
>> > > > > (/home/mitya/qxcompiler/node_modules/async/lib/async.js:717:9
>> > > > > )
>> > > > >     at Object.async.parallel
>> > > > > (/home/mitya/qxcompiler/node_modules/async/lib/async.js:731:9
>> > > > > )
>> > > > >     at
>> > > > > /home/mitya/qxcompiler/lib/qxcompiler/targets/Target.js:236:1
>> > > > > 5
>> > > > >     at /home/mitya/qxcompiler/lib/util.js:321:9
>> > > > >     at
>> > > > > /home/mitya/qxcompiler/node_modules/async/lib/async.js:52:16
>> > > > >     at
>> > > > > /home/mitya/qxcompiler/node_modules/async/lib/async.js:269:32
>> > > > >     at
>> > > > > /home/mitya/qxcompiler/node_modules/async/lib/async.js:44:16
>> > > > > 
>> > > > > (removed qxcompiler dir & did clean checkout, didn't help
>> > > > > either)
>> > > > > 
>> > > > > Re: Babel - sadly, didn't make it work either :( that arrow
>> > > > > function in qxt/Application.js goes unchanged first to
>> > > > > [source|build]-output/transpiled, then to [source|build]-
>> > > > > output/script. The same with string templates, etc. Note the
>> > > > > above [BABEL] message - that means, Babel is invoked, but
>> > > > > doesn't apply any actual transformations. I tried "strace -e
>> > > > > trace=open node compile-app-demo.js", and didn't see it open
>> > > > > .babelrc or any plugin and/or preset modules. Could you
>> > > > > please make sure it's indeed enabled? If it works for you,
>> > > > > could you please assist me in tracing/debugging (since I'm a
>> > > > > newbie in a Node world)?
>> > > > > 
>> > > > > As for script compression, I played a bit with the standalone
>> > > > > uglify tool. Works pretty fine, but it takes ~30 seconds to
>> > > > > process a skeleton app. Do you think it can be sped up if
>> > > > > integrated into QxCompiler?
>> > > > > 
>> > > > > Minor issue: test/*.js scripts could have a shebang string
>> > > > > (#!/usr/bin/node) and +x mode so that they could be run
>> > > > > directly, without typing "node ..." each time.
>> > > > > 
>> > > > > Cheers!
>> > > > > Dimitri
>> > > > -------------------------------------------------------------
>> > > > ----------------- Site24x7 APM Insight: Get Deep Visibility
>> > > > into Application Performance APM + Mobile APM + RUM: Monitor 3
>> > > > App instances at just $35/Month Monitor end-to-end web
>> > > > transactions and take corrective actions now Troubleshoot
>> > > > faster and improve end-user experience. Signup Now! http://puba
>> > > > ds.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140__________
>> > > > _____________________________________ qooxdoo-devel mailing
>> > > > list qooxdoo-
>> > > > devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/
>> > > > listinfo/qooxdoo-devel
>> > > > -------------------------------------------------------------
>> > > > -----------------
>> > > > Site24x7 APM Insight: Get Deep Visibility into Application
>> > > > Performance
>> > > > APM + Mobile APM + RUM: Monitor 3 App instances at just
>> > > > $35/Month
>> > > > Monitor end-to-end web transactions and take corrective actions
>> > > > now
>> > > > Troubleshoot faster and improve end-user experience. Signup
>> > > > Now!
>> > > > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/414
>> > > > 0
>> > > > _______________________________________________
>> > > > qooxdoo-devel mailing list
>> > > > qooxdoo-devel@lists.sourceforge.nethttps://lists.sourceforge.ne
>> > > > t/lists/listinfo/qooxdoo-devel
>> > > ---------------------------------------------------------------
>> > > --------------- Site24x7 APM Insight: Get Deep Visibility into
>> > > Application Performance APM + Mobile APM + RUM: Monitor 3 App
>> > > instances at just $35/Month Monitor end-to-end web transactions
>> > > and take corrective actions now Troubleshoot faster and improve
>> > > end-user experience. Signup Now! http://pubads.g.doubleclick.net/
>> > > gampad/clk?id=272487151&iu=/4140_________________________________
>> > > ______________ qooxdoo-devel mailing list qooxdoo-
>> > > devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/li
>> > > stinfo/qooxdoo-devel
>> > > ---------------------------------------------------------------
>> > > ---------------
>> > > Site24x7 APM Insight: Get Deep Visibility into Application
>> > > Performance
>> > > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>> > > Monitor end-to-end web transactions and take corrective actions
>> > > now
>> > > Troubleshoot faster and improve end-user experience. Signup Now!
>> > > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>> > > _______________________________________________
>> > > qooxdoo-devel mailing list
>> > > qooxdoo-devel@lists.sourceforge.nethttps://lists.sourceforge.net/
>> > > lists/listinfo/qooxdoo-devel
>> > -----------------------------------------------------------------
>> > ------------- Site24x7 APM Insight: Get Deep Visibility into
>> > Application Performance APM + Mobile APM + RUM: Monitor 3 App
>> > instances at just $35/Month Monitor end-to-end web transactions and
>> > take corrective actions now Troubleshoot faster and improve end-
>> > user experience. Signup Now! http://pubads.g.doubleclick.net/gampad
>> > /clk?id=272487151&iu=/4140_________________________________________
>> > ______ qooxdoo-devel mailing list qooxdoo-
>> > devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/list
>> > info/qooxdoo-devel
>> > -----------------------------------------------------------------
>> > -------------
>> > Site24x7 APM Insight: Get Deep Visibility into Application
>> > Performance
>> > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>> > Monitor end-to-end web transactions and take corrective actions now
>> > Troubleshoot faster and improve end-user experience. Signup Now!
>> > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>> > _______________________________________________
>> > qooxdoo-devel mailing list
>> > qooxdoo-devel@lists.sourceforge.nethttps://lists.sourceforge.net/li
>> > sts/listinfo/qooxdoo-devel
>> -------------------------------------------------------------------
>> ----------- Site24x7 APM Insight: Get Deep Visibility into
>> Application Performance APM + Mobile APM + RUM: Monitor 3 App
>> instances at just $35/Month Monitor end-to-end web transactions and
>> take corrective actions now Troubleshoot faster and improve end-user
>> experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id
>> =272487151&iu=/4140_______________________________________________
>> qooxdoo-devel mailing list qooxdoo-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>> -------------------------------------------------------------------
>> -----------
>> Site24x7 APM Insight: Get Deep Visibility into Application
>> Performance
>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>> Monitor end-to-end web transactions and take corrective actions now
>> Troubleshoot faster and improve end-user experience. Signup Now!
>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>> _______________________________________________
>> qooxdoo-devel mailing list
>> qooxdoo-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>------------------------------------------------------------------------------
>Site24x7 APM Insight: Get Deep Visibility into Application Performance
>APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>Monitor end-to-end web transactions and take corrective actions now
>Troubleshoot faster and improve end-user experience. Signup Now!
>http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>_______________________________________________
>qooxdoo-devel mailing list
>qooxdoo-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel



------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to