''Because a simple to use interface should also be simple to program.'' [TP] Æjaks combines the server-side [Ajax] windowing system [Echo2] with the powerful simplicity of the Tcl language. The result is a rich development environment in which to develop Ajax-based web applications, often with much less code to write. Download, documentation, source code, mailing list, etc. now online at: http://aejaks.sourceforge.net/ '''22 April 2009 - version 1.2 released, changes at [http://aejaks.sourceforge.net/CHANGES.txt]''' ---- See how [Æjaks compares to Tcl/Tk] coding. ---- [LV] Anyone know of a web site which makes use of this package, so a demo of the capabilities can be seen? [TP] answers: '''localhost''' is your best bet for now. The distribution file aejaks-1.1-exe.tar.gz or aejaks-1.1-exe.zip has '''everything''' you need, except a Java installation. This makes Æjaks a ''batteries included'' distribution, that's why it's such a big file. (There are even ''backup batteries'' yet to be utilized, waiting for a future release. :-) The Æjaks website has a specific page [http://aejaks.sourceforge.net/Documentation/Running/index.html] on starting the server with the sample apps. In short: 1. unpack the distribution. 1. change to the directory that was unpacked. 1. '''run.sh''' (Windows users '''run.bat'''). 1. point your browser to http://localhost:8080/ 1. ''Now, be amazed that you're running this on your browser.'' [NB] I had to first go to http://localhost:8082/ and login before I could access the index page on port 8080.. Incredible stuff Tom!!! Now, if you just want to see the flavor of the toolkit, the [Echo2] page at NextApp has some demo programs to run. Surf on over to: http://nextapp.com/platform/echo2/echo/demo/ Anything that is done with the Java-based demos can be completely done in Tcl with Æjaks. The 0.4 release of Æjaks doesn't include the Extras and Chart widgets in Tcl yet, but you can still make use of those through the TclJava interfaces [http://tcljava.sourceforge.net/docs/TclJava/contents.html] if you really want. (Avoid the ''Test'' applications on the NextApp demo page.) [TP] ''06 July 2007'' - Version 0.5 now includes Echo2 Extras, ChartDisplay, and FileTransfer widgets. patrick@zill.net says: Have looked over this and it looks pretty astounding. Can't wait to get me hands dirty with this. ---- 2007-01-17 [VI] One cool app! I am writing some of our internal tools using this. Is there any way to (prompt the user to) load or save a file? Or everything has to be done on their server? [TP] Echo2 has a FileTransfer library jar, and it is included in the Æjaks ./lib directory. Æjaks doesn't yet have Tcl support for FileTransfer, it is on my To-Do list. You should be able to use it now using Jacl's ''java'' package to interface directly. See the FileTransfer example on the NextApp Echo2 Wiki [http://wiki.nextapp.com/echowiki/Echo2FileTransferExample]. [TP] ''06 July 2007'' - Version 0.5 now includes Echo2 Extras, ChartDisplay, and FileTransfer widgets. ---- 2007-01-25 [MRJC] Is there a reason why the Tk Convention of lower case windowing commands can't be supported? Tk Aejaks (NOW) -------------------------------------- ---------------------------------------- pack .top.row1 Pack .top.row1 Tk Aejaks (POSSIBLE??) -------------------------------------- ---------------------------------------- pack .top.row1 pack .top.row1 [TP] Æjaks is not compatible with Tk, and I believe it would be confusing to name widgets and commands the same as Tk. The '''Pack''' command has different syntax from '''pack'''. However, if you would really like to use '''pack''' in Æjaks, Tcl provides an easy way to alias commands, see [interp alias]. ---- [IL] 2/2/2007 I can try to put up a demo app of this provided it doesn't conflict with my main tomcat setup. Check back sometime after the weekend :). Update: I can't seem to find an easy .war for this for those of us that already have a container set up. Did I miss it somewhere? [TP] The .war file is included in any of the download files, in the ./war/ directory after unpacking. I haven't made a .war available as separate download yet, but I'll make one available for the next release. [IL] - Right, I saw that one, and deployed it, but it can't seem to run the demos by itself, so I started messing around with the web.xml in order to try get it to work, but gave up and used the Jetty demo which worked fine. After the next release, I can try again, I'd like to put this on my host. [TP] ''06 July 2007'' - Version 0.5 distribution includes AejaksDemo.war, ready to deploy in a running Java web server. ---- [VI] 15-MAR-2007 Probably doesn't belong here - I'd like to build something like this for the GWT (http://code.google.com/webtoolkit/) - any ideas on how I could start? [Roy Keene] VI, Maybe a good start: [Porting a Tk GUI to A Web Browser] especially [TkWeb] (by me) :-) ---- [SAF] 05-June-2007 Looks pretty good. Since this all server based, I assume there is no way to have an offline caching mode like JavaFX, Apollo, GoogleGears, etc.? [TP] Correct. ---- [NEM] ''12 May 2007'': The example apps on the Echo2 webpage seem to be quite [MDI] in nature, i.e. the browser window becomes a mini window manager. Can you configure Æjaks to open native windows instead of using these "fake" windows? [TP] Basically, no. I don't know the exact specifics, but probably has a lot to do with the Javascript context per browser window. There are additional Echo2 UI widgets such as Tab and Accordion panes that might help to organize an application. These are supported by Æjaks in the current SVN sources. [TP] ''06 July 2007'' - Version 0.5 includes AccordionPane, TabPane, and TransitionPane containters. ---- [XO] ''17-June-2007'': I did a little tweak on running [Snit] under [Jacl]; with minor modification, I was able to run Snit inside Jacl, but the [tcltest] script '''snit.test''' is a bit difficult to port though (jacl supports tcltest V1.0 which is very different from the tcltest V2.2 required by snit.test). So I have not run the snit regresstion test under jacl. It took me a while to figure out that there is a little trick to make the Snit package work like it does under Tcl. I thought I could simply copy the snit folder under D:\jacl140\lib folder, and I would be able to fire away ''package require snit''. Jacl didn't work out that way, until I specified the property ''-DTCLLIBPATH D:\jacl140\lib'' when invoking the java command. But this trick doesn't work for [Aejaks], I don't know why? [TP] Jacl processes the TCLLIBPATH property and adds paths listed to the ''auto_path'' global variable, but you should use Unix-style pathnames and separators, even with running on Windows. An equal sign is also required between the property name and its value. The correct usage on the java command line would be: ''-DTCLLIBPATH=D:/jacl140/lib'' ---- [Chang LI] Glad to test Aejaks. Several questions: (1)Where is the directory that I can put my own tcl code? (2)Where is the directory to add a Tcl library? (3)How can I write HTML page with Jacl? [TP] Please see the documentation, it should answer all of your questions. Specifically, for your questions (1) and (2), see: http://aejaks.sourceforge.net/Documentation/Configuration/index.html. For (3) you do not write HTML, you write Tk-like widget commands instead, see: http://aejaks.sourceforge.net/Documentation/Programmer's_Guide/index.html or the example above. [MHo]: 1. Shure I missed something. If aejaks says I should close a window - how do I do this...? There is no such thing as a ''close symbol'' or ''system menue''... I could move and resize, ok, but...? [TP] Hmm, there should be a 'X' in the top right corner of windows that allow themselves to be closed. If not, please send a screenshot to me, and follow up on the mailing list. Are you somehow blocking images from be loaded on your browser? [MHo]: Ok, with OPERA, the close symbols appears, so it seems to be a browser topic. 1. On my WinXP, something's going wrong. If I started an application, say '''.../aejaks/app?AEJAKS_SCRIPT_NAME=widget_tour.tcl''', then the previously called app appears... and if I alter a procedure in the /samples dir, aejaks ignores the changes until restarting the server. Seems a kind of caching occures... Maybe my ''SeaMonkey'' fools me. [TP] This is because Aejaks is entirely '''stateful''', not ''stateless'' as other HTTP applications. Aejaks (Echo2 really) uses a JSESSIONID cookie to maintain state with your window session objects and your Jacl interpreter. You should use the 'Exit' button or menu 'Exit' menu selection to quit the applications. [MHo]: This means: in one loaded browser instance, I only could call one aejaks app, regardless of how many tabs are open and what URL is given... makes this sense? To call another app, I have to load another browser... [TP] There are two current ways to achieve running multiple apps: 1) simply copy war/aejaks.war to war/aejaks2.war and adjust your URL to to http://localhost:8080/aejaks2/app/...etc... 2) extract the file ''WEB-INF/web.xml'' from the aejaks.war file, edit it, copy the elements '''' and '''', rename the '''' element to '''Aejaks2''' in both, and '''' to '''app2''' ; replace the WEB-INF/web.xml file in aejaks.war. (I'll look into putting this into the source). 1. On windows, long running service applications should be implemented and running as so called ''windows services''. Is there a way to turn the whole jetty stuff into such a true windows service which survives logoff etc.? [TP] Should be possible, see http://docs.codehaus.org/display/JETTY/Win32Wrapper. [MHo]: Hm, it seems the wrapper is only partially open source... [TP] I believe the Jetty-Server.exe is based on http://wrapper.tanukisoftware.org/doc/english/index.html which is MIT-licensed, SourceForge page at http://sourceforge.net/projects/wrapper/ . You can also run Aejaks under other Java webservers such as Tomcat, that has a similar solution: http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html ---- [TP] Æjaks includes two extension packages, [Hyde] for easy Tcl-to-Java integration, and [MrPersister] a database access library. ---- "... I will probably adopt Echo3 when those extra widgets are implemented." [TP], 2 December 2009 ---- '''Articles''' "Microsoft makes AJAX technology available" [http://www.infoworld.com/d/developer-world/microsoft-makes-ajax-technology-available-054]. Page 2 mentions Æjaks early release. "Amplify Web Apps with Æjaks" [http://ldn.linuxfoundation.org/column/amplify-web-apps-with-aeligjaks] is a lightweight introduction for non-Tclers. "Æjaks Tutorial" [http://eoffice.im.fju.edu.tw/phpbb/viewtopic.php?t=5777] blog by Geoffrey Wu (Chinese) ---- !!!!!! %| [Category Development] | [Category Internet] | [Category Ajax] |% !!!!!!