Blog
RSS feed

MindTouch Deki Wiki Case Study

Featured Site: MindTouch Deki Wiki
Where? http://wiki.mindtouch.com/
Developer: MindTouch

The Site

MindTouch Deki Wiki (a combination of Japanese and Hawaiian words for “smart” and “quick”) is the Web’s most popular commercially supported wiki platform for creating content and mashups using a wiki interface. The free, open source application is an easy to use program for authoring, aggregating, organizing, and sharing almost any kind of content. Enterprises can build online communities and in-house Intranets, create collaborative applications, or add wiki capabilities to existing applications. Deki Wiki leverages the Microsoft™ Windows Live™ network of Internet services. In the example, a visitor to the wiki can read a restaurant review and immediately get a map and driving directions from any starting point to the restaurant. The map and directions are obtained dynamically from Microsoft Virtual Earth™ mapping software, using a few simple calls (see below).

Why the Windows Live Platform?

Windows Live services provide a number of benefits:

  • Clear APIs, SDKs, and the large repository of technical documentation available on Microsoft’s http://dev.live.com/ website.
  • A large, helpful online developer community.
  • Very fast startup (several hours from software download to demo pages).
  • No additional training or investment needed to deploy Live Services.
  • Fully compatible with Microsoft development environment.

Programming Environment

MindTouch developed Deki Wiki on the Microsoft .NET framework with the Visual Studio® development system. The application logic is implemented in C#, while the presentation layer is handled independently using PHP. This makes it possible for a designer to alter the user interface quickly and without compromising the application’s business logic.

Under the Hood

The following code snippet uses DekiScript, the built-in scripting language developed by MindTouch to create visually rich and interactive pages in Deki Wiki. The snippet shows how controls, map, and directions are placed on a wiki page so that a visitor can easily find a restaurant. DekiScript embraces the new programming model of information subscribers and publishers, which enables editors to easily create mashups with web-services and widgets.

{{ live.map{ address: args.address, title: args.title, description: args.description, 
    kind: 'road', publish: @directions, subscribe: @from, zoom: 15 } }}

{{ dhtml.form{ inputs: [ { label: args.label ?? 'Driving from:', field: 'from' }, { field: 'to', value: args.address, hidden: true } ],
    button: 'Get directions to ' .. args.title, publish: @from } }}

{{ dhtml.table{ columns: [ { label: 'Directions', field: 'text' }, { label: 'Distance', field: 'info' } ],
    subscribe: @directions } }}

Published Thursday, March 27, 2008 12:00 PM by JonB