WhiteFrost

The Writings and Technology of Stephen W. Cote.

Home of Hemi JavaScript Framework, Javascript Profiler, and Account Manager.

Steve's Blog | Projects

News

Hemi JavaScript Framework v3.1.4

Version 3.1.4 of Hemi is available. The source and source+builder archives are available on the Google Code project page.

Version 3.1.4 includes updates to the the Framework Designer for creating modules and tests via the designer interface, and running the modules and tests via the Runtime Container. Additional updates include adding a configuration object for specifying the base_path property.

Hemi JavaScript Framework v3.1.3

Version 3.1.3 of Hemi is out. The source and source+builder archives are available on the Google Code project page.

Version 3.1.3 includes additional updates to the Module Service, Test Module, and in-page unit testing with the testableApplication Component. The Get Started with Hemi and Unit Testing article introduces using the testable component for writing in-page node-specific unit tests.

More updates were made to the Data IO layer, and the Distributed Web Application Component templates were migrated from being tightly bound to the Core Web project to use the Data IO layer with the Core Web interface abstracted out as a provider. This allows the static Hemi components, templates, and fragments to be accessible via the designer and the Framework IO Provider.

You can Try the Framework Designer to explore the Hemi project.

Hemi JavaScript Framework v3.1.1

Version 3.1.1 of Hemi is out. The source and source+builder archives are available on the Google Code project page.

Version 3.1.1 includes significant enhancements to the Module Service, Test Module, and Test Suite feature. The Get Started with Hemi and TDD article introduces using the Test Suite for writing in-page and on-demand unit tests. You can see how the Test Suite may be used to run Feature Verification Tests, as well as any custom defined list of tests or custom test text.

Also new is the Data IO layer for abstracting Data requests and responses across disparate buses and channels.

In addition to Get Started with Hemi and TDD, a detailed walkthrough of using the Distributed Web Application Component Builder was added: Get Started with Hemi and DWAC.

Hemi JavaScript Framework v3.1

Version 3.1 of Hemi is out. You may also find out more on the Google Code project page.

New features includes the Worker Service for adding cross-browser DOM Worker support (aka: Internet Explorer) and decorating the Worker as a Module using the Module Service. Also, testing features were enhanced and spun off from the Module Service into the Test Module Service, which decorates a module with a lightewight in-page test API.

General Updates

Hemi now on Google Code:

I started up a project page for Hemi JavaScript Framework on Google Code.

The upcoming version of Hemi will include more HTML 5 centric features, new design maxims, and an updated DWAC editor.

A Hemi Use Case:

Over the last year, I worked on adding rich functionality to an existing project that made heavy use of Dojo and JQuery. When it came time to expand the existing implementations, we ran into a problem with global namespace collisions and element identifiers. The HemiSpaces and Templates capabilities were used to abstract the respective toolkit bootstraps. The original code remained as-is, and the new functionality was written to leverage the original code without corrupting the namespace.

Hemi JavaScript Framework

I've made a general site upgrade to dogfood a major revision to Engine for Web Applications, code named Hemi. Hemi is a JavaScript Web Framework for AJAX, Monitoring (Analytics), service-oriented portal development, and HTML templating and code-behind.

I added promotional branding to older projects, such as libXmlRequest as well as Engine to raise awareness of the new version.

I'm excited with how "Hemi" has turned out. I still need to extricate a number of hooks to the older Engine framework.

Distributed Web Applications

Engine 2.0 and Account Manager 4 were updated to include support for Distributed Web Application Components Anonymous use is coming soon. In the meantime, registered users can access the /DWAC/ builder as /DWAC/{username}. For example, my builder is located at /DWAC/steve/.

The DWAC Builder bundles together several development tools for Engine.

DWAC Explorer

The DWAC Explorer provides a launch point for the Profiler, API Browser, and for browsing Components, Templates, Fragments, and DWAC Bundles.

Builders

At present, there are three types of builders: Template Builder, Fragment Builder, and Component Builder. The DWAC Bundle tool is coming soon. Each builder includes New, Save, and Delete functionality handled by the Account Manager 4 DWAC Handler, and the special Running feature to test the code, alongside with example HTML and Script to show how to re-use the tested component on your own Web page.

  1. Component Builder - Quickly create Application Components with a number of demonstration variations.
  2. Template Builder - Templates are a means to quickly display and change user interface elements via Application Componnets, and make it very easy to manage Virtual Forms. The Template Builder includes a few demonstration variations and a feature to link in fragments.
  3. Fragment Builder - Fragments are reusable XHTML and embedded script sections.

Running Feature

After developers create their Component, Template, or Fragment, they can test it immediately by running it in an on-demand Running engine. The active object can be sent to the inline Active Source tool to make queries against the live object. If the Engine Profiler is open before the component is run, the profiler results can be filtered to only show the actively used Engine objects.

Engine Profiler

The Engine Profiler is an inline development tool for working with Engine, and includes a number of helpful features. Try the Engine Profiler.

  1. Running Engine Stats - browse through the current in-memory objects and statistics of Engines, Tasks, Transactions, Application and XHTML Components.
  2. Active Source - This is an inline version of the Active Source tool available as part of the JavaScript Profiler.
  3. Script Profiler - This is an inline version of the Script Profiler tool available as part of the JavaScript Profiler.
  4. XML/XSL Tool - This is the same inline tool used for the XSL Primer document.

API Browser

The API Browser is an inline documentation browsing tool for quickly looking up the core Engine API. Try the API Browser.

Account Manager and Engine Updates

Engine 2.0, libXmlRequest, Account Manager 4 and the site were updated.

Engine for Web Applications (v 2.0)

Engine for Web Applications 2.0 was updated to resolve DOMStorage support for Internet Explorer 8, and include additional JSON support features.

libXmlRequest (v. SPEC-2.0.1.0226.2009)

libXmlRequest was updated to include additional helpers for working with JSON objects.

Account Manager 4

Account Manager 4 Beta 2 was updated to enhance the Handler classes. Handlers are REST implementations of Account Manager 4, and front the Blog/, Media/, Forum/, and DWAC/ tools. The new implementation isn't as clean as I'd like, but the handlers now follow a more consistent URI structure.

Security policies are now better enforced through a new AuthorizationUtil class. The longer term objective is a general policy wrapper (or an internal XACML representation).

Monitoring

The Core Monitor projects are included with the Account Manager 4 / Core Web bundle. The monitors include passive performance, behavior, and interaction client monitors derived from the Engine monitor service. The database schemas, receiver and aggregator, and SVG report library (note: the IMNMotion report browser UI isn't included yet) for the performance and behavior monitors are provided. The Interaction monitor is still a prototype.

A project page will be created to provide instructions on setup and use.

Account Manager and Engine Updates

Engine 2.0 and the site were updated.

Engine for Web Applications (v 2.0)

Engine for Web Applications 2.0 is now available.

Account Manager 4

Account Manager 4 Beta 2 is now available.

Engine and Web Site Updates

Engine and the site were updated.

Engine for Web Applications (v 1.9.6)

Version 1.9.6 includes a number of procedural updates in anticipation of version 2.

Version 2 will include the groundwork for Distributed Web Application Components (DWAC), something that I've been working on for a while. DWAC is similar to gears and gadgets in that they encapsulate a product, but different in that they are meant to run as a self-contained distribution (framework being made available, of course). Most important is the existing features of engine, particularly application components and templates, make it very easy to build out new DWACs.

Other V2 features: A specific section for monitoring, including performance, behavior (aka: IMNMotion), and customer monitors.

Web Site

Some style changes were made to improve browsing experience.