LWN.net Logo

Advertisement

f-irc: away with the old irc-client paradigms! The graphical-interface feeling in a terminal. Give it a try!

Advertise here

Deki helps Mozilla developers collaborate

June 18, 2008

This article was contributed by Lisa Hoover

There was undoubtedly plenty of activity this week at the Mozilla Developer Center ahead of the release of Firefox 3. Thanks to a special tool created by the team at MindTouch and implemented into its latest product offering, Deki, Mozilla developers all across the globe were able view the site in their native tongue.

The "polyglot" language feature is only one of several components that make up Deki, an open source collaboration tool for communities and the enterprise. The polyglot can distinguish between different languages across a single system so it's no longer necessary for IT professionals to allocate sections of a web site's infrastructure to overcome language barriers. Instead, multiple languages are consolidated into one system and a site's pages are then localized according to user settings.

Deki functions similar to that of a traditional wiki, but with more features and practical applications. In fact, the company originally called the product "Deki Wiki" but realized it was too limiting and recently dropped "Wiki" from the name altogether. Developers can use Deki as a way to organize and aggregate project data, share documents and media, or even author and create collaborative applications from the ground up. Groups and organizations also use Deki as platform for managing a large knowledge base, coordinating team-based projects, or as a file repository.

Deki is part application, part platform. It behaves much the same way as other content management frameworks like Drupal and Joomla!, but has the underpinnings of a wiki that give it collaborative features as well. Furthermore, everything under Deki's hood can be accessed via the API on which it was built, and can be extended in any programming language.

At the heart of the platform is MindTouch Dream, which forms the application's architecture, and uses Deki as its interface. It's a .NET representational state transfer (REST) framework that runs on .NET 2.0 and Mono 1.2 — .NET runs on Microsoft Windows Servers 2003 and 2008, while Mono runs on Debian, Fedora, Ubuntu, openSUSE, and Apple OS X (see the web site for complete details). Data manipulation is done in XML using standard HTTP verbs, and data conversions to PHP, JSONP, etc. are done automatically behind the scenes. Licensed under the Gnu GPL and LGPL, together Deki and Dream can be completely customized and scaled to the needs of any size organization.

Company co-founders Aaron Fulkerson and Steve Bjorg were approached last winter by Mozilla's Chief Evangelist Mike Shaver about implementing Deki in time for the upcoming re-launch of its Developer Center. "Mike had reviewed our API and architectural documentation and he was enthusiastic about MindTouch Deki," recalls Fulkerson. "Later on the phone, we discussed Mozilla's needs, pains, and how MindTouch Deki seemed to be the perfect solution. We also day-dreamed a little about what the Mozilla community might build on the MindTouch platform. By my recollection, we both were pretty excited about the opportunity."

Given the Developer Center's wide geographical reach, barriers were to be expected as it struggled to cater to a group that collectively spoke dozens of different languages. In response, Bjorg and Fulkerson put together a design that allows for a multi-lingual Web site that scales as needed. As Mozilla's needs grow, additional languages can easily be added by translating a single file and submitting it for inclusion in the official Deki build. In fact, all current translations have come from the community, and more are on the way.

Deki isn't just for large organizations. Development platform-as-a-service provider Bungee Connect uses it as a documentation repository at the moment, but according to the Director of Bungee Connect's Developer Community, Ted Haeger, the plan is to soon make it the community platform for its Developer Network. "Our developers are very interested in programmable Web technologies, and Deki will allow us to provide them the most feature-complete wiki API we have seen yet. We expect to see some interesting and exciting things built by combining Bungee Connect and MindTouch Deki," he says.

The decision to choose Deki over other similar options "was driven overwhelmingly by the architecture of the product. Because Deki provides a complete RESTful API, it makes it an extremely attractive offering for us," notes Haeger.

Indeed, he considers the API Deki's best feature. "MindTouch has done an outstanding job with it," Haeger says. "Additionally, they have written their PHP front-end to the Deki API, which means that the API is central to the product rather than an afterthought. However, we should note that Deki's default PHP user interface is extremely polished, too. That combined with other must-haves, such as a permissions system that is considerably more flexible than what other wikis provide, helped solidify our decision."

Though there are varying levels of support options available, Haeger says Bungee Connect hasn't yet decided which to choose. They do plan, however, to lean on MindTouch for assistance as they migrate company documentation from MediaWiki to Deki. For organizations planning to take on the task themselves, Fulkerson points to the helpful guide on its site and the Mediawiki to Deki converter they have written: "As we always have done, we've released the source code to our public SVN repository. It's stable and has had generous test coverage, but this should be considered a beta release."

As Deki continues to gain traction in the enterprise as an agile content management system, Fulkerson and Bjorg say they knew they were on to something when they caught wind of the first user-organized conference held in Belgium last fall. Notes Fulkerson, "This was a pretty clear indication people liked what we're doing."


(Log in to post comments)

Deki helps Mozilla developers collaborate

Posted Jun 19, 2008 22:20 UTC (Thu) by bronson (subscriber, #4806) [Link]

Is this an ad?

Sounds like an ad

Posted Jun 20, 2008 15:49 UTC (Fri) by scripter (subscriber, #2654) [Link]

Agreed -- it sounds like an ad. I got finished reading it, and I didn't really understand what
it offers over other solutions. Take this for example:

"The polyglot can distinguish between different languages across a single system so it's no
longer necessary for IT professionals to allocate sections of a web site's infrastructure to
overcome language barriers. Instead, multiple languages are consolidated into one system and a
site's pages are then localized according to user settings."

I'm not any wiser after having read that. What is a polyglot? How do IT professionals
"allocate sections of a web site" for different languages today? What's novel about they way
they're doing it?

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds