The Bitflux Editor

Every once in a while, we run across a piece of software that assembles technologies in a different way with surprising and impressive results. The Bitflux Editor (or BXE) is just that sort of software: it's a browser-based, WYSIWYG XML editor that runs inside Mozilla. And since Mozilla is a cross-platform browser, BXE is inherently a cross-platform XML WYSIWYG editor. Better yet, BXE requires no Java or ActiveX plug-ins at all. There aren't many other editors that can make that claim.

http://bitfluxeditor.org

Every once in a while, we run across a piece of software that assembles technologies in a different way with surprising and impressive results. The Bitflux Editor (or BXE) is just that sort of software: it’s a browser-based, WYSIWYG XML editor that runs inside Mozilla. And since Mozilla is a cross-platform browser, BXE is inherently a cross-platform XML WYSIWYG editor. Better yet, BXE requires no Java or ActiveX plug-ins at all. There aren’t many other editors that can make that claim.

One of the more amazing features of BXE is that it’s written entirely in JavaScript! It uses XML, XSLT, and CSS to render XML documents as web pages. It does this in real-time just like any modern, WYSIWYG word processor would. (For more about XSL, see “From XML To… Anything” in the June 2002 issue of Linux Magazine, or online at http://www.linux-mag.com/2002-06/xml_01.html).








diy_01
FIGURE ONE: Editing with Galeon and BXE on the Bitflux demo site

Motivation

Other than “to prove it can be done,” you’re probably wondering why someone would create a beast such as BXE — surely it’d be much easier to develop an XML editor using platform-specific tools. Perhaps, but the rationale to create BXE lies in the next generation of on-line content management systems (CMS).

Rather than use proprietary document formats like Microsoft Word or PDF, modern CMS software is being designed to work with structured XML data. By applying XSL and CSS to your XML, you can transform the raw structured data into a nice looking document, or a variety of nice-looking documents, each with a different style.

While a lot of modern CMS packages let you edit content in a large TEXTAREA within the browser, that approach doesn’t scale to larger documents — especially those that require structured markup. The developers of the Bitflux CMS — Bitflux is a CMS that deals natively with XML — recognized this deficiency and opted to build a browser-based environment that spanned all platforms.

Take a Test Drive

The best way to get a feel for what BXE can do it to take it for a test drive. Grab a recent version of Mozilla (or a Mozilla derived browser, such as Galeon) and head to http://demo.bitfluxeditor.org to try it out.

What you’ll see is a document that looks like Figure One. (Yes, it’s in German.) The toolbar at the top of the screen provides various markup and formatting options. The buttons work just as you’d expect. Just point at some text and start typing.

If you’re curious to see the underlying XML behind the document, simply click the “get xml” link at the top right. That opens a second window where you can see the structure of your document. You cannot (yet) edit the document from the XML view.

Under the Hood

Like many other applications, you can customize BXE using external files. config.xml changes basic configuration options, the URL to open, and so on, while data.xml is the data you’d like to modify.

transform.xsl contains the XSL rules used to transform the XML to displayable XHTML. schema.xsd is the XML Schema for the document you’re editing. BXE won’t let you insert elements that haven’t been specified in the schema.

style.css is the CSS formatting that’s applied to the transformed XML.

Complete descriptions of each of the BXE configuration files and instructions on how to use them can be found on the BXE site. It’s fun to poke around with BXE to see what it lets you edit.

Go For It

BXE, like many projects we look at, is still a work in progress. But it already has an impressive set of features. If you’d like to get a feel for what can be done with a modern web browser, some JavaScript, and a lot of imagination, give it a try.

And if you’re building a content management system (everyone seems to build their own eventually), consider using BXE as an editing interface. It’ll save you a lot of time, and give your users a more powerful tool at the same time.



Do you have an idea for a project we should feature? Drop a note to diy@linux-mag.com and let us know.

Fatal error: Call to undefined function aa_author_bios() in /opt/apache/dms/b2b/linux-mag.com/site/www/htdocs/wp-content/themes/linuxmag/single.php on line 62