Kevin Dangoor asks
what Server Side JavaScript needs
and launches
more talk about a standard library
for Javascript on the server-side.
Having a unified API for libraries in different environments would in
my opinion be nice especially because it would allow higher level
modules to be shared between different server-side javascript
environments. One problem that has slowed this from happening in the
past has been that in Java-based environments like
Helma
,
Sling
and
Xjs
,
Rhino
makes the direct scripting of Java packages so easy, that
some stakeholders don't believe the added burden of maintaining an
additional API layer in javascript is reasonable for the benefit they
would get from it.
Some pointers to current server-side javascript library
projects in the realm of the Helma project and to other efforts for a
standard library for JS:
The current Helma 1 versions come with two libraries containing
several modules. The
HelmaLib
provides modules for core functionality
such as Database, File, Ftp, Http, Smtp and SSH, some that extend
built-in prototypes, and a few others. The
Jala library
adds further
modules such as DNS, MP3 and XML-RPC and utility modules such as i18n,
image manipulation, captcha, HtmlDocument, RemoteContent, Podcast, Rss
and other XML related modules.
Modules are included either via a configuration file or at runtime via
a method call. A module is only loaded once, even if included multiple
times. In the context of Helma 1, modules are loaded into the global
scope and they need to be nice and restrict themselves to a save
namespace.
For
Helma NG
, the way modules are included is changed to eliminate any possible namespace conflicts. Each
module in Helma NG lives in its own
scope
and can
selectively import other modules or portions thereof
into its scope. Here again, when modules are imported in different
scopes, each module is only actually loaded once.
There has been
some discussion
with the goal of a unified library/
modules architecture between different projects over in the Helma NG
group. One of the major goals in Peter Michaux's
xjs project
is to provide a standard library and a shared module loading mechanism.
29.1.2009, 19:58
Le premier
Soleil
sur le Mont-Soleil dans le soleil de soirée:
"The Twins"
- a siamese warrior or siamese warriors?
30.12.2008, 17:38
|
Hannes took a few days time to bring mod_gcj and rhinola up to date and prepared
new releases for both projects
.
mod_gcj now implements a pretty useful subset of the servlet specification.
Rhinola no longer depends on mod_gcj and can be deployed on any servlet container.
Have a look at the release notes for details.
mod_gcj is an Apache module to run Java code as closely embedded into
the HTTP server as possible using the
GCC/GCJ Java runtime and libraries.
GCJ treats Java as just another language
and compiles it down to native code. This makes it much lighter than most
traditional Java virtual machines, especially regarding memory footprint
and startup time.
Rhinola is a servlet based web scripting environment using the
Mozilla
Rhino JavaScript implementation
. It was
originally conceived as showcase and playground for the mod_gcj Apache
module, but it should work with any
servlet container.
Rhinola is not a full featured server side JavaScript Runtime. If you
are looking for something conceptually similar but more complete,
have
a look at Helma NG.
16.12.2008, 9:40
|
Helma is 1.6.3 and
ready to be downloaded
! With over 10 years of development history, she is now more mature and more stable than ever. The latest list of refinements is a testament to that. The release isn't as minor as it sounds. Helma is just very conservative about her version numbers. This is really more like a 6.3 release than a 1.6.3. She is ready for your projects! For those of you that haven't already, it is now time to
get serious about Javascript on the server-side
.
26.11.2008, 9:38
|
The
third release candidate can be taken for a spin
. Again, see the
Helma 1.6.3 Changelog
for an updated list ofchanges included in the new version.
Release Candidate 3 contains some additional important changes, such as the totalUploadLimit value now being applied also to ordinary form post requests, as well as preventing a potential problem with the insertion order and making it easier to run Helma in other servlet containers.
14.11.2008, 10:16
|
A
second release candidate is ready to download
. Please take a moment to check for any remaining problems with these packages.
See the
Helma 1.6.3 Changelog
for detailed information about the changes included in this new version.
5.11.2008, 7:40
|
The
Helma 1.6.3rc1 release candidate
contains numerous bug fixes and many minor improvements, such as support for secure HttpOnly session cookies, logging improvements, several changes to the way file paths to different resources are resolved, and Helma is now again backwards compatible with Java 1.4, to mention just a few.
Our bugzilla has a
list of bugs fixed in Helma 1.6.3
.
- Relative repository paths now resolve relative to Helma home directory, fixing bug 639.
- Introduced hopdir servlet parameter to be able to set the helma directory.
- The location of db.properties is now customizable using the dbPropFile server property, fixing bug 640
- Fixed bug with closed database connections in very long running requests by making sure connections are re-checked every 10 seconds.
- Changed HopObject.getOrderedView() to return a transient HopObject instead of a ListViewWrapper.
- Fixed bug in request handling when incoming requests are attached to an existing response and the response is generated by directly accessing the res.servletResponse HttpServletResponse instance.
- Go back to Java 1.4 compatibility. The few generics uses aren't worth it to require Java 1.5.
- Made sub-properties updateable.
- Logging improvements, such as an additional log message when a request starts evaluating, making commit log messages look nicer and easier to parse, and improved thread naming including thread ids in helma log messages.
- Unified macro error handling, no longer dumping stack traces for macro errors.
- Ampersand is no longer encoded as entity when encountered in macro tags.
- Added support for secure and HttpOnly session cookies, with HttpOnly being enabled by default. The features are controlled through the httpOnlySessionCookie and secureSessionCookie app properties. We now compose and set the session cookie ourselves as this is the only reliable way to do it in a cross-servlet-container compatible way and without adding dependencies to the servlet container.
- Fixed a problem with the code evaluation order of repositories added via app.addRepository().
- Fixed app.xmlrpcCount to be increased for "new style" XML-RPC requests served by Jetty, fixing bug 629.
- Changed code to not track unset() on non-persitable properties, fixing bug 633.
- Fixed serialization for transient HopObjects.
- Synchronize more methods in TypeManager as well as app.addRepository() to avoid memory race conditions.
- Use LinkedHashMap for dirty node tracking to preserve insertion order.
- Made checkXmlRpc work with content-types containing a charset subheader, fixing bug 628.
- Continue parsing macro tags even if it is a comment. This is the only way we can correctly catch embedded macros. Fixes bug 588.
- Only resolve direct prototype matches in parent chain, fixing bug 617.
Now,
please go download Helma 1.6.3rc1
and let us know in case something in these packages isn't ready for prime time!
27.10.2008, 19:18
|
Last week I presented Helma at the
OpenExpo in Zurich
, where Helma and FreeBSD happened to be neighbors, which reminds me to point out that there is now a
FreeBSD port of Helma
thanks to
decke's efforts
.
28.9.2008, 21:54
|
|
|
> Ecmascript Harmony
|
|
> The A-Z of Programming Languages jumps to Javascript
|
|
> Fresh Javascript IDE in Ganymede Eclipse release
|
|
> Helma at the Linuxwochen in Linz
|
|
> Brendan on the state of Javascript evolution
|
|
> Stuff by George Carlin
|
|
> Is AppleScript done?
|
|
> ES4 Draft 1 and ES3.1 Draft 1
|
|
> Want ES4 in Helma today?
|
|
> SquirrelFish!
|
|
> Permaculture 101
|
|
> ES4 comes to IE via Screaming Monkey
|
|
> Apple's position on ECMAScript 4 proposals
|
|
> Helma Meeting Spring 2008
|
|
> Attila Szegedi about Rhino, Helma and Server-Side Javascript, and scripting on the JVM in general
|
|
> Helma 1.6.2 ready to download
|
|
> Larry Lessig's case for creative freedom
|
|
> Earthlings - Can you face the truth?
|
|
> The Story of Stuff
|
|
> A Quick Start to Hello World
|
|
> The Overlooked Power of Javascript
|
|
> Adobe's position on ES4 features, plus the Flex 3 SDK source code is now available under the MPL
|
|
> Solar cell directly splits water for hydrogen
|
|
> Asynchronous Beer and Geeking and other opportunities to talk about Helma, Rhino and Javascript on the server-side
|
|
> Openmocha and Jhino updated to 0.8
|
|
> Even more Server-side Javascript with Jaxer
|
|
> e4xd and jhino - javascript server-side soft-coding
|
|
> Additional Filename Conventions
|
|
> Update to Helma 1.6.1
|
|
> Netscape, the browser, to live one more month
|
|
> Heavyweight Champion of the World by Reverend and the Makers
|
|
> SimpleDB vs CouchDB
|
|
> Nuclear plants in Switzerland are modern Orgetorixism
|
|
> Helma powered AppJet - Takeoff!
|
|
> CouchDB for Helma
|
|
> Bubble bursting friendship bracelets
|
|
> Evolving ES4 as the universal scripting language
|
|
> Helmablog and an article in Linux Pro Magazine
|
|
> More praise for Helma
|
|
> Javascript as Universal Scripting Language
|
|
> So, what's up with World Radio Switzerland?
|
|
> Helma Conspiracy Theory
|
|
> JSONPath and CouchDB
|
|
> Hold the whole program in your head, and you can manipulate it at will
|
|
> Keeping track of localhost:8080
|
|
> Rhino 1.6R6 with E4X fix and patches for Helma
|
|
> Helma 1.6 is ready!
|
|
> Junction brings Rhino on Rails to Helma
|
|
> Javascript for Java programmers
|
|
> The server-side advantage
|
|
> John Resig on Javascript as a language
|
|
> Rhino on Rails
|
|
> Release Candidate 3 of Helma 1.6.0
|
|
> ECMAScript 4 Reference Implementation
|
|
> Antville Summer Of Code 2007
|
|
> Helma 1.6.0-rc2
|
|
> Using H2 with Helma
|
|
> Helma warped around existing db schemas
|
|
> Rocket the Super Rabbit
|
|
> Bootstrap is out of the bag
|
|
> The last mention of Microsoft
|
|
> Helma 1.6.0-rc1
|
|
> Introducing Planet Helma
|
|
> Helma ante portas
|
|
> Fixing Javascript inheritance
|
|
> Shutdown-Day the Helma way
|
|
> Upcoming Helma 1.6, new reference docs and IRC channel
|
|
> Making Higgs where the Web was born
|
|
> Jala for Helma
|
|
> See you at Lift'07
|
|
> More on Javascript Inheritance
|
|
> Mocha Inheritance
|
|
> Helma 1.5.3
|
|
> Fresh Rhino on Safari
|
|
> Truly Hooverphonic!
|
|
> Helma 1.5.2
|
|
> RFC 4329 application-ecmascript
|
|
> Helma 1.5.1 ready to download
|
|
> Aptana - Eclipse reincarnated as a Javascript IDE
|
|
> Building the Conversational Web
|
|
> Drosera steps in to debug Safari
|
|
> Helma 1.5.0 has been released!
|
|
> Helma 1.5 RC2 is ready
|
|
> Helma 1.5.0 Release Candidate 1 available for download
|
|
> FreeBSD Jails the brand new easy way
|
|
> Javascript 2 and the Future of the Web
|
|
> Frodo takes on chapter 3
|
|
> No Rough Cut :-(
|
|
> Welcome to Helma!
|
|
> 40th Montreux Jazz Festival
|
|
> trackAllComments
|
|
> Rails' greatest contribution
|
|
> Consensus vs Direct Democracy
|
|
> A candidate for CSCSJS or a Mocha Fetchlet
|
|
> A (Re)-Introduction to JavaScript
|
|
> coComment Roundup
|
|
> Track your comments
|
|
> Sketching image queries and reinventing email
|
|
> ECMAScript - The Switzerland of development environments
|
|
> I love E4X
|
|
> Tutorial D, Industrial D and the relational model
|
|
> Stop bashing Java
|
|
> E4X Mocha Objects
|
|
> Logging and other antimatters
|
|
> Stronger types in Javascript 2
|
|
> Javascript Diagnosis & Testing
|
|
> Homo Oxymora
|
|
> Yeah, why not Javascript?
|
|
> Moving beyond Java
|
|
> Spidermonkey Javascript 1.5 finally final
|
|
> Helma Trivia
|
|
> Finding Java Packages
|
|
> JSEclipse Javascript plug-in for Eclipse
|
|
> Catching up to Continuations
|
|
> Mighty and Beastie Licenses
|
|
> Tasting the OpenMocha Console
|
|
> "Who am I?", asks Helma
|
|
> Savety vs Freedom and other recent ramblings
|
|
> Mont-Soleil Open Air Lineup
|
|
> Rhinola - Mocha reduced to the minimum
|
|
> OpenMocha 0.6 available for download
|
|
> E4X presentation by Brendan Eich
|
|
> What is Mocha?
|
|
> Do you remember Gopher?
|
|
> The current.tv disappointment
|
|
> OpenMocha Project Roadmap
|
|
> MochiKit Javascript Library
|
|
> Getting your feet wet with OpenMocha
|
|
> People flocking to see global warming
|
|
> Rails vs Struts vs Mocha
|
|
> The JavaScript Manifesto
|
|
> OpenMocha is ready for a spin
|
|
> The limits of harmonization
|
|
> Le Conseil fédéral au Mont-Soleil
|
|
> Amiga History Guide
|
|
> The people must lead the executive, control the legislature and be the military
|
|
> Copyback License
|
|
> Looking at FreeBSD 6 and Beyond
|
|
> Qualified Minority Veto
|
|
> The Doom of Representative Democracy
|
|
> Violence in a real democracy
|
|
> Concordance and Subsidiarity
|
|
> Wrapping Aspects around Mocha Objects?
|
|
> Future of Javascript Roadmap
|
|
> Baby steps towards Javascript heaven
|
|
> Mac OS X spreading like wildfire
|
|
> Trois petits filous à Faoug
|
|
> Jackrabbit JSR 170
|
|
> Rich components for HTML 5
|
|
> More Java Harmony
|
|
> Mac goes Intel
|
|
> Google goes Rumantsch
|
|
> Oxymoronic Swiss-EU relations
|
|
> Rico and Prototype Javascript libraries
|
|
> Paul Klee - An intangible man and artist
|
|
> Incrementalism in the Mozilla roadmap
|
|
> Mocha multi-threading
|
|
> Moving towards OpenMocha
|
|
> Google goes Portal
|
|
> What Bush doesn't get
|
|
> Unique and limited window of opportunity
|
|
> Persisting Client-side Errors to your Server
|
|
> Dive Into Greasemonkey
|
|
> Brown bears knock on Switzerland's door
|
|
> The experience to make what people want
|
|
> "Just" use HTTP
|
|
> A Free Song for Every Swiss Citizen
|
|
> Yes, what is gather?
|
|
> Java in Harmony
|
|
> Jan getting carried away
|
|
> Evil Google Web Accelerator?
|
|
> JSON.stringify and JSON.parse
|
|
> Ajax for Java
|
|
> The launching of launchd
|
|
> Timeless RSS
|
|
> Kupu
|
|
> SNIFE goes Victorinox
|
|
> AJAX is everywhere
|
|
> Papa Ratzi
|
|
> How Software Patents Work
|
|
> Ten good practices for writing Javascript
|
|
> Free-trade accord with japan edges closer
|
|
> Mocha at a glance
|
|
> Adobe acquires Macromedia
|
|
> Safari 1.3
|
|
> View complexity is usually higher than model complexity
|
|
> Free Trade Neutrality
|
|
> SQL for Java Objects
|
|
> Security Bypass
|
|
> Exactly 1111111111 seconds
|
|
> Kurt goes Chopper
|
|
> Choosing a Java scripting language
|
|
> Spamalot's will get spammed a lot
|
|
> The visual Rhino debugger
|
|
> The Unix wars
|
|
> EU-Council adopts software patent directive
|
|
> FreeBSD baby step "1j"
|
|
> Never trust a man who can count to 1024 on his fingers
|
|
> Visiting the world's smallest city
|
|
> Finally some non-MS, non-nonsense SPF news
|
|
> Swiss cows banned from eating grass
|
|
> Ludivines, the "Green Fairy" of absinthe
|
|
> First Look At Solaris 10
|
|
> EU Commission Declines Patent Debate Restart
|
|
> Alan Kay's wisdom guiding the OpenLaszlo roadmap towards Mocha?
|
|
> 1 Kilo
|
|
> Re: FreeBSD logo design competition
|
|
> Schweizer Sagen
|
|
> Europas Eidgenossen
|
|
> Art Nouveau La Chaux-de-Fonds 2005-2006
|
|
> XMLHttpRequest glory
|
|
> The Beastie Silhouette
|
|
> The Number One Nightmare
|
|
> Safe and Idempotent Methods such as HEAD and TRACE
|
|
> Sorry, you have been verizoned.
|
|
> Daemons and Pixies and Fairies, Oh My!
|
|
> Sentient life forms as MIME-attachments: RFC 1437
|
|
> Anno 2004: CZV
|
|
> Web Developer Extension for Firefox
|
|
> Refactoring until nothing is left
|
|
> Brendan, never tired of providing Javascript support
|
|
> Catching XP in just 20 Minutes
|
|
> Designing the Star User Interface
|
|
> Rhino, Mono, IKVM. Or: JavaScript the hard way
|
|
> Re: SCO
|
|
> Judo
|
|
> Convergence on abstraction and on browser-based Console evaluation
|
|
> Today found out that inifinite uptimes are still an oxymoron
|
|
> New aspects of woven apps
|
|
> Original Contribution License (OCL) 1.0
|
|
> Unified SPF: a grand unified theory of MARID
|
|
> BSD is designed. Linux is grown.
|
|
> 5 vor 12 bei 10 vor 10
|
|
> Mocha vs Helma?
|
|
> Schattenwahrheit: Coup d'etat underway against the Cheney Circle?
|
|
> Abschluss Bilaterale II Schweiz-EU
|
|
> From Adam Smith to Open Source
|
|
> Linux - the desktop for the rest of them
|
|
> Big Bang
|
|
> Leaky Hop Objects
|
|
> Return Path Rewriting (RPR) - Mail Forwarding in the Spam Age
|
|
> Microsoft Discloses Huge Number Of Windows Vulnerabilties
|
|
> Steuerungsabgabe statt Steuern
|
|
> Anno 2003: deployZone
|
|
> The war against terror
|
|
> The war against terror (continued)
|
|
> The relativity of Apple's market share
|
|
> Are humans animals?
|
|
> Server-side Javascript
|
|
> Democracy Now!
|
|
> The Cluetrain Manifesto
|
|
> Anno 1999: Der Oberhasler
|
|
> Anno 1998: volksrat.ch
|
|
> Anno 1998: crossnet
|
|
> Think different
|
|
> The right time to buy Apple stock
|
|
> Geschwindigkeit vs Umdrehungszahl
|
|
> Anno 1997: Xmedia
|
|
> "The meaning of life is to improve the quality of all life"
|
|
> Cute Barristas at Peet's Coffee
|
|
> Anno 1996: CZV
|
|
> Alternative 1995
|
|
> BZ Internet Cafe
|
|
> Xjournal
|
|
> How do I set a DEFAULT HTML-DOCUMENT?
|
|
> Searching Gopherspace
|
|
> Crossnet - der kollektive Intellekt der Schweiz
|
|
> Global Screen Design Services
|
|
> NEW-LIST digests
|
|
> ACTIV-L Digest
|
|
> Eternal September
|
|
> AOL expanding Internet services
|
|
> Anno 1993: Macro-micro navigator
|
|
> Freude herrscht!
|
|
> Anno 1992: Intouch i-station
|
|
> You register me in 50 states
|
|
> Anno 1991: mediacube
|
|
> Friedrich Dürrenmatt - Die Schweiz als Gefängnis
|
|
> Anno 1990: RasterOps
|
|
> Enable the Creative
|
|
> Photoshop Startup Memories and First Demo
|
|
> Anno 1989: Lambada by Kaoma
|
|
> Anno 1988: Perfect by Fairground Attraction
|
|
> Bürgerbrief
|
|
> Morgana - Selling Digital-Font based Sign-writing
|
|
> Macworld Expo 1988 Amsterdam
|
|
> Acorn Archimedes RISC Technology
|
|
> Anno 1987: Knowledge Navigator
|
|
> Anno 1986: Max Headroom in the News
|
|
> FidoNet
|
|
> Anno 1985: Amiga 1000
|
|
> Hello World on C128 in CP/M Mode
|
|
> Analog Desktop Publishing in 1984
|
|
> Anno 1982: Vic-20
|
|
> Gamchi
|
|
> Postel's Law
|
|
> The Future Is Unwritten
|
|
> Earth Mother and Fortieth Floor by Lesley Duncan
|
|
> California by Joni Mitchell
|
|
> Supplement to the Whole Earth Catalog
|
|
> Neil Young
|
|
> Whole Earth Catalog
|
|
> Anno 1968: Mony Mony and People Got to Be Free
|
|
> August 28th 1968: William Buckley Vs Gore Vidal
|