MindTouch Deki
Encyclopedia
MindTouch Core is a web-based
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...

 collaboration, wiki software
Wiki software
Wiki software is collaborative software that runs a wiki, i.e., a website that allows users to create and collaboratively edit web pages via a web browser. A wiki system is usually a web application that runs on one or more web servers...

 and mashup platform, developed by MindTouch, Inc. It is divided into a front-end (written in PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

) and an API, written in C#. The Deki front-end and API are distributed under the terms of the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

 while the Dream services layer is released under the Apache License
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....

, making it free and open source software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

.

MindTouch
MindTouch
MindTouch, Inc., an open-source software-development company based in San Diego, California, USA, started in January, 2005 with offices in Saint Paul, Minnesota and Bellevue, Washington. It merged all its offices in San Diego in February 2007.-History:...

 packages some proprietary connectors on top of the open source edition to provide a commercial version of their software, currently branded 'MindTouch TCS', which is commercially supported.

Before 2009, MindTouch Core was known as MindTouch Deki. Deki was hosted on the open-source hosting site SourceForge
SourceForge
SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...

, where it was Project of the Month in May 2008. In February 2009, Deki was the 2nd-ranked project on SourceForge.

History

The application was originally known as DekiWiki, and was first released by MindTouch, Inc. in June 2006 as a fork of MediaWiki
MediaWiki
MediaWiki is a popular free web-based wiki software application. Developed by the Wikimedia Foundation, it is used to run all of its projects, including Wikipedia, Wiktionary and Wikinews. Numerous other wikis around the world also use it to power their websites...

. Various changes were made to the MediaWiki software: wikitext was replaced with XHTML, a WYSIWYG editor, Lucene
Lucene
Apache Lucene is a free/open source information retrieval software library, originally created in Java by Doug Cutting. It is supported by the Apache Software Foundation and is released under the Apache Software License....

-based search and page hierarchies were all added, and a new user interface was created for the software.

For the "Hayes" release in July 2007, the backend was completely reimplemented in C#, resulting in an API built as web services on top of the new Dream server and toolset.

The name of the software was shortened from "DekiWiki to "Deki" in May 2008.

The "Lyons" release in March 2009 and the associated commercial version MindTouch 2009, introduced push notifications on content change, key/value properties on page, user and file objects, and the "JEM" (Javascript Events & Messages) framework, which provides event coordination and message passing. JEM integrates with the jQuery
JQuery
jQuery is a cross-browser JavaScript library designed to simplify the client-side scripting of HTML. It was released in January 2006 at BarCamp NYC by John Resig...

 library and PageBus, a JavaScript event and message bus, to build rich internet applications
Rich Internet application
A Rich Internet Application is a Web application that has many of the characteristics of desktop application software, typically delivered either by way of a site-specific browser, via a browser plug-in, independent sandboxes, extensive use of JavaScript, or virtual machines...

.

Later in 2009, the name of the application was changed again, to "MindTouch Core" or just "MindTouch".

API

MindTouch differs from other wiki software by decoupling the frontend and the business logic. The web frontend interacts with the services via a REST
Rest
Rest may refer to:* Leisure* Human relaxation* SleepRest may also refer to:* Rest , a pause in a piece of music* Rest , the relation between two observers* Rest , a 2008 album by Gregor Samsa...

 API. This separation means that users can easily interact with the wiki in any language of their choice, using a web services architecture. The API is commonly deployed, and fully supported on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 using Mono
Mono (software)
Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....

, as well as Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 on the .NET framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

.

Each wiki page is automatically exposed as an XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 Web Service, which can be operated on using standard HTTP verbs.

Dream Technology

The API is built on a service layer called Dream (Distributed REST Application Manager), a REST
Rest
Rest may refer to:* Leisure* Human relaxation* SleepRest may also refer to:* Rest , a pause in a piece of music* Rest , the relation between two observers* Rest , a 2008 album by Gregor Samsa...

 framework for building web services on the .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 platform.

Web front-end

The most common interface to the API is its PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

 frontend. This frontend provides users with a full-featured wiki, built using a WYSIWYG editor.

Other front-ends

Other frontends to the API available in the form of "connectors"; a Desktop Connector allows publishing from Microsoft Windows, while an Outlook Connector allows publishing of documents from Microsoft Outlook.

An open-source iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

 interface named DekiMobile was released in November 2008. It was later renamed "MindTouch Mobile".

Content authoring

All information in MindTouch Core pages is stored as XML, rather than wikitext
Wikitext
Wikitext language, or wiki markup, is a lightweight markup language used to write pages in wiki websites, such as Wikipedia, and is a simplified alternative/intermediate to HTML. Its ultimate purpose is to be converted by wiki software into HTML, which in turn is served to web browsers.There is no...

. Pages are edited using a GUI editor
FCKeditor
CKEditor is an open source WYSIWYG text editor from CKSource that can be used in web pages. It aims to be lightweight and requires no client-side installation...

, and can be manipulated as an XML web service. The frontend supports embedding rich media and has a built-in image gallery.

The software supports internal and external authentications. Permissions can be applied to individual pages or page hierarchies.

DekiScript

MindTouch Core includes a complete scripting language, called DekiScript. DekiScript, a light-weight, interpreted programming language, allows users to add dynamic content to wiki pages. It can be embedded directly into wiki pages or used in XML extensions.

Example

DekiScript is inserted using double curly braces. A simple print command would be written as:





Dynamic content can be added using DekiScript functions. this example will display the name of the current user, and the text of the current day (e.g. Wednesday):


Hi , it's .

Web 2.0 & mashups

A primary benefit of MindTouch Core is the ability to use DekiScript to perform mashups
Mashup (web application hybrid)
In Web development, a mashup is a Web page or application that uses and combines data, presentation or functionality from two or more sources to create new services...

. MindTouch Core ships with extensions allowing connection to over 100 web services, including systems such as Dapper, Flickr
Flickr
Flickr is an image hosting and video hosting website, web services suite, and online community that was created by Ludicorp in 2004 and acquired by Yahoo! in 2005. In addition to being a popular website for users to share and embed personal photographs, the service is widely used by bloggers to...

, Google Maps
Google Maps
Google Maps is a web mapping service application and technology provided by Google, free , that powers many map-based services, including the Google Maps website, Google Ride Finder, Google Transit, and maps embedded on third-party websites via the Google Maps API...

, Windows Live
Windows Live
Windows Live is the collective brand name for a set of services and software products from Microsoft, part of their software plus services platform. A majority of these services are Web applications, accessible from a browser, but there are also client-side binary applications that require...

 and Yahoo.

A commercial license enables features such as connectors to SugarCRM
SugarCRM
SugarCRM is a software company based in Cupertino, California. They produce the web application Sugar, also known as SugarCRM, which is a customer relationship management system that is available in both open source and Commercial open source applications.Sugar's functionality includes sales-force...

, Salesforce, LinkedIn
LinkedIn
LinkedIn is a business-related social networking site. Founded in December 2002 and launched in May 2003, it is mainly used for professional networking. , LinkedIn reports more than 120 million registered users in more than 200 countries and territories. The site is available in English, French,...

, MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

, Microsoft SQL Server
Microsoft SQL Server
Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...

 and Microsoft Access
Microsoft Access
Microsoft Office Access, previously known as Microsoft Access, is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of...

.

LinuxInsider describes this feature as "let[ting] site admins rope in applications -- legacy systems, CRM and ERP apps, databases and Web 2.0 tools -- and hand them over to business users to create mashups, templates, dynamic reports and dashboards."

Multi-language

Multi-language support (named polyglot
Multilingualism
Multilingualism is the act of using, or promoting the use of, multiple languages, either by an individual speaker or by a community of speakers. Multilingual speakers outnumber monolingual speakers in the world's population. Multilingualism is becoming a social phenomenon governed by the needs of...

 by MindTouch) allows hosting content in multiple languages on a single site. Language can be specified by user, site, section and pages, adapting the UI to the specified language. Search is available across all languages and results are prioritized by the user’s default language. MindTouch cite the 8.05 release of Deki as the first polyglot application on the web.

Deployment

MindTouch is available as a package for Ubuntu
Ubuntu (operating system)
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...

, Debian
Debian
Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...

, Red Hat Enterprise Linux
Red Hat Enterprise Linux
Red Hat Enterprise Linux is a Linux-based operating system developed by Red Hat and targeted toward the commercial market. Red Hat Enterprise Linux is released in server versions for x86, x86-64, Itanium, PowerPC and IBM System z, and desktop versions for x86 and x86-64...

, Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...

, CentOS
CentOS
CentOS is a free operating system based on Red Hat Enterprise Linux . It exists to provide a free enterprise class computing platform and strives to maintain 100% binary compatibility with its upstream distribution...

, and SUSE
SUSE Linux distributions
SUSE Linux is a computer operating system. It is built on top of the open source Linux kernel and is distributed with system and application software from other open source projects. SUSE Linux is of German origin and mainly developed in Europe. The first version appeared in early 1994, making...

, in both open source and commercial editions. The source code is available for each release on Sourceforge, and a public SVN repository is available.

Users of the Commercial edition are also offered a Windows Installer
Windows Installer
The Windows Installer is a software component used for the installation, maintenance, and removal of software on modern Microsoft Windows systems...

 (.MSI) package.

A popular deployment option is a VMware
VMware
VMware, Inc. is a company providing virtualization software founded in 1998 and based in Palo Alto, California, USA. The company was acquired by EMC Corporation in 2004, and operates as a separate software subsidiary ....

 virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

; the VMware appliance is certified.

Public deployments

One of the highest-profile deployments of MindTouch is at Mozilla's developer wiki, where over 25,000 pages were migrated from MediaWiki
MediaWiki
MediaWiki is a popular free web-based wiki software application. Developed by the Wikimedia Foundation, it is used to run all of its projects, including Wikipedia, Wiktionary and Wikinews. Numerous other wikis around the world also use it to power their websites...

 to Deki. The software also powers WhoRunsGov.com, a community site launched in January 2009 by the Washington Post.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK