Post Reply 
Author Noder & its AT integration
jakub-g
AT core team member

Find all posts by this user
Quote this message in a reply
Default  31 January 2014 11:36
Seems it's a good time to start a thread about Noder Smile Let me raise some points to free my mind and summarize the meeting / start the discussion.

Potential issues with Noder - to be watched at:

- dev mode should still work and be easy to use for the application developers (without building anything ideally)
- URL maps should still work
- what about $dependencies in templates, and about sth like
$css : ["foo" + Aria.AriaSkin.skinName + "bar"] // common in SECO
- right-click template reloading

CLASSPATHS:
- when classpaths are gone, how do I debug?
-- there's "noder.require.cache['aria/utils/Array.js'].exports"
-- less convenient than "aria.utils.Array" but works - and also there's autocompletion in Firebug

- when classpaths are gone, there's no longer "_classpath" in DOM element corresponding to the template
-- How do I then find about which template I am looking at?
--> improve the Aria debug tools and/or create some Firefox/Chrome plugins? what about IE?

- when classpaths are gone, what will be the @sourceURL passed to Firebug? (especially in dev mode)

The AT+Noder build is available on David's server (so far it's with classpaths still, so noder.require.cache['aria/utils/Array.js'].exports === aria.utils.Array )

http://jakub-g.github.io/
(This post was last modified: 31 January 2014 11:37 by jakub-g.)
divdavem
AT core team member

Find all posts by this user
Quote this message in a reply
Default  31 January 2014 14:10
Hello Jakub!

Thank you for opening this thread.

I have remarks about some of the items you mentioned:

(31 January 2014 11:36)jakub-g Wrote:  - dev mode should still work and be easy to use for the application developers (without building anything ideally)

When building the Noder version of Aria Templates, the result (both the development and production versions, which are produced in build/target by calling grunt on the source code of Aria Templates, and end up published on http://ariatemplates.com/download/) can be used in the same way as the non-Noder version of Aria Templates. There is no change in the way application developers work. There is no new build step required for application files.

Regarding the source files of Aria Templates, with the non-Noder version of Aria Templates, it is currently possible to just clone the Aria Templates git repository from https://github.com/ariatemplates/ariatemplates and to use the files from the src folder without any build step.
Currently, it is not possible to do the same with the Noder version of Aria Templates (which is still in development here: https://github.com/divdavem/ariatemplate...ntegration ). There are two reasons for this:
- one of the build step is to automatically convert all files from the current syntax, to the syntax which uses require, using at-noder-converter (https://github.com/divdavem/at-noder-converter). This build step is needed only temporarily until we definitively store the converted version of those files in the repository instead of their original version, which will probably happen at the time we merge the noder branch in master.
- another build step is needed to build the bootstrap file, which is built from Noder itself and contains additional code for its integration with Aria Templates. If we want to keep the same possibility of just cloning the repository and use the files without any build step, we could just store the built version of this file in the repository (to be discussed). Otherwise, a build step will always be needed to produce this file.

(31 January 2014 11:36)jakub-g Wrote:  - URL maps should still work

The Noder version of Aria Templates uses the DownloadMgr to retrieve files, so, URL maps and all the features of aria.core.DownloadMgr and aria.core.IO (including the packaging format, root maps, IO filters, IO transports) work the same as before.

(31 January 2014 11:36)jakub-g Wrote:  - when classpaths are gone, what will be the @sourceURL passed to Firebug? (especially in dev mode)

It is the logical path which is used in @sourceURL, not the classpath. Even if classpaths disappear, logical paths will stay and there is no change for @sourceURL.

We can discuss later about the other items you mentioned...
jakub-g
AT core team member

Find all posts by this user
Quote this message in a reply
31 January 2014 14:28
@David,

thanks for responses (even though we discussed some of it already, it's good to keep things written down Wink

(31 January 2014 14:10)divdavem Wrote:  - another build step is needed to build the bootstrap file, which is built from Noder itself and contains additional code for its integration with Aria Templates. If we want to keep the same possibility of just cloning the repository and use the files without any build step, we could just store the built version of this file in the repository (to be discussed). Otherwise, a build step will always be needed to produce this file.

I think we can make this step a part of `prepublish` script in package.json. Then, it'll be included in AT versions published in then npm, and also will be executed after `npm install` (prepublish is always executed after npm install) in the cloned repo of AT. So perhaps we can do without it, but we can see later. But if this file won't change frequently (like bootstrap.js now) we may include it in Github.

http://jakub-g.github.io/
(This post was last modified: 4 February 2014 11:43 by jakub-g.)
Post Reply