Tuesday, May 11th, 2010

OpenAjax Metadata 1.0 and the Adobe Dreamweaver Widget Browser

Category: Adobe, Widgets

<p>Widgets. Metadata. Tools. There were a couple of announcements around this recently.

Part One: OpenAjax Metadata

Jon Ferraiolo of IBM has worked hard with the OpenAjax companies to produce the OpenAjax Metaedata format. Here is Jon talking about the work:

OpenAjax Metadata (OAM) defines a set of industry-standard metadata for Ajax widgets and Ajax APIs that promote interoperability across Ajax toolkits and Ajax products. In general, Ajax toolkits will produce OAM files (directly or indirectly using post-processing utilities) and Ajax IDEs will consume OAM files.

Here is an announcement with some accompanying background.

The IDE Working Group, in conformance with its charter, delivered the following specifications and open source:

  • A complete and detailed formal Specification (the OpenAjax Metadata 1.0 Specification). This specification went through three separate detailed editorial reviews and multiple products have implemented major parts of the specification over the past couple of years.
  • Open source implementations at OpenAjax Alliance of major parts of the spec:
    • Open source implementation of an OpenAjax Widget loader (loader.js)
    • Open source converter from JSDoc inline comments into OAM’s XML for describing JavaScript APIs
    • Open source converter from YUI’s JSON format for describing their APIs into OAM’s XML for describing JavaScript APIs
    • An open source sample mashup application that demonstrates how to build a mashup assembly application using OpenAjax Hub 2.0 and OpenAjax Widgets (defined in the OpenAjax Metadata 1.0 Specification)
  • A formal language schema, expressed in RelaxNG Compact Syntax, available within the alliance’s open source project
  • An online validator utility that allows developers to verify the syntax correctness of their metadata files
  • Sample OpenAjax widgets, available within the alliance’s open source project
  • A multiple-vendor interoperability event in 2008 (the 2008 InteropFest where various companies integrated their products and technologies with OpenAjax Hub and OpenAjax Widgets

Beyond the open source implementations done within OpenAjax Alliance listed above, we know of the following other implementations of key features found in the spec:

  • The widget features are supported by Adobe Dreamweaver CS4 and are the preferred format for 3rd party widget extensions. The Dreamweaver Exchange contains 3rd party widgets defined in OAM format that use a variety of Ajax toolkits, including jQuery UI.
  • The widget features are supported by multiple IBM commercial products and research projects, including Rational Application Developer (RAD) and IBM Mashup Center. RAD includes a complete collection of Dojo’s widgets (from the Dijit library) expressed in OAM format.
  • Eclipse Foundation has an open source implementation of the OAM JavaScript API features within the JSDT component that is a standard piece of the Web Tools Project.
  • OAM’s JavaScript API features are supported by Aptana Studio.
  • OAM’s JavaScript API features are supported by IBM Rational Application Developer.

The root page for the approved specification is with the open source project here at SourceForge.

Part Two: Widget Browser Tooling

Camelia Dobrin of the Design and Web team at Adobe reached out and gave us her thoughts on the new Widget browser from Adobe:

When designing/creating a site, you will often find the need to add common UI components (such as menus, tabbed panels, accordions, slideshows), that will make the web experience richer and more engaging. There are hundreds of free, compelling, JavaScript based widgets out there, thanks in part to frameworks like jQuery, Mootools, YUI. Finding the right one and integrating it into your site however is not always an easy task. Figuring out how to modify a widget to fit your specific needs, or identifying exactly which supporting files it requires may be challenging and may require you to spend more time trying to decipher JavaScript or CSS code than you would like.

The Adobe Dreamweaver Widget Browser is a free application that lets you preview and visually configure widgets. Through it, you are able to see a live preview of all the widgets available on Adobe Exchange. You can see different widget flavors or customize them yourself using a visual property editor. You can access them from Adobe Dreamweaver to easily insert them into your page. Or, if you don’t use Dreamweaver, you can export the widgets (sample code and all assets), to use them in the editing tool of your choice.

The Widget Browser welcomes widget developers to submit their widgets, and gain access to a larger audience. They can do this by using the developer tools inside Widget Browser to create a widget package, and then submitting it to Adobe Exchange. At the heart of the Widget Browser package is the OpenAjax Metadata format. This was created by the Open Ajax Alliance, of which Adobe is part of, to describe JavaScript widgets and frameworks.

For a visual walkthrough of Widget Browser, here is a video: Using Widget Browser.

Related Content:

  • Adobe looks to bring Ajax to designers
    Seeking to add graphic designers to the Ajax community now made up largely of Java programmers, Adobe offers a preview edition of Spry, a free open...
  • Implementing e-forms with Adobe LiveCycle Forms
    Most companies today use e-forms in some way or the other, ranging from the simple contact form with fields where customers can leave their e-mail...
  • JavaOne2006 - Day3
    Some of the hottest topics at this year's event were Ajax, scripting languages, JavaServer Faces and the new features in Java EE 5. See what other...
  • JavaOne2006 - Day1
    Sun discusses how proud they are at Java's adoption by software developers and announced new open source licensing-related agreements for...
  • Bonita v2 Series: Part Three
    This follow-up article steps back and deals with the application layer. Indeed it demonstrates a possible way to couple a Workflow Engine and a...

Posted by Dion Almaer at 6:11 am
3 Comments

+++--
3 rating from 3 votes

3 Comments »

Comments feed TrackBack URI

Is there any effort to standardize RESTful API documentation?

Comment by beriberikix — May 12, 2010

XML metadata. Oh yeah, another commitee with a knowledge set of the previous century?

Tell me a reason why should JSON-format specifications be converted into XML in an environment, where JSON is basically the only data format?

In this article, it’s mentioned that two JSON-based standard APIs can be converted into a JSON-based one.

Maybe we should agree on a JSON one instead.

For me, the XML format alone kills the legitimity of the commitee- it shows that people who designed OpenAjax aren’t in the field of Ajax.

Comment by Aadaam — May 12, 2010

This answer might not satisfy everyone, but here goes. We had long debates about XML vs JSON at OpenAjax Alliance, with full knowledge that if OAA chose XML we would run the risk that people would say we were stuck in the past. However, our starting point was an XML widget format submitted by the Adobe Dreamweaver team and an XML API format submitted by the Aptana Studio team, and we wanted to leverage their technical leadership and market momentum, and both companies worked in good faith to adapt their software to the OpenAjax spec. As the article points out, the Dreamweaver team did in fact change their software to match the OAA spec and is now working with widget developers to make their widgets available in the OpenAjax format.

We had strong misgivings about the XML approach and recognized that JSON is about 1000 times more convenient when running in the browser, but the leading tools who helped develop the spec (e.g., Dreamweaver, Eclipse, Aptana, Visual Studio, Netbeans) were not browser-based, so XML was convenient for them. Browser-based usage was also a target, so we purposely designed the XML such that a JSON alternative could be available and explicitly stated in our Futures appendix that we might add a JSON version in the future. Over at my company, IBM, we are already working on software that uses a JSON version of the metadata and will probably push OpenAjax in the coming months to make the JSON version official.

Comment by JonFerraiolo — May 14, 2010

Leave a comment

You must be logged in to post a comment.