Follow these steps to install this script on your wiki.
http://scripts.mindtouch.com/thinkfree.xmlRelated Links: DekiScript service, Extension Overview, DekiScript Overview, Extension Demos.
This extension contains functions for displaying Microsoft Office documents. This script requires MindTouch Deki 8.05.1 or later.
Functions:
View a document.
Parameters:
| Name | Type | Description |
| document | uri | Document uri. |
| width | num | (optional) Width of viewer. (default: 90%) |
| height | num | (optional) Height of viewer. (default: 425) |
| type | str | (optional) Document type (either \"write\", \"calc\", or \"show\"; default: detect automatically) |
<extension>
<title>ThinkFree Extension</title>
<label>ThinkFree</label>
<copyright>Copyright (c) 2007, 2008 MindTouch, Inc.</copyright>
<description>This extension contains functions for displaying Microsoft Office documents.</description>
<uri.help>http://wiki.developer.mindtouch.com/MindTouch_Deki/Extensions/ThinkFree</uri.help>
<uri.logo>http://scripts.mindtouch.com/logos/thinkfree-logo.png</uri.logo>
<namespace>thinkfree</namespace>
<requires host="MindTouch Deki 8.05.1" />
<function>
<name>viewer</name>
<description>View a document.</description>
<param name="document" type="uri">Document uri.</param>
<param name="width" type="num" optional="true">Width of viewer. (default: 90%)</param>
<param name="height" type="num" optional="true">Height of viewer. (default: 425)</param>
<param name="type" type="str" optional="true">Document type (either \"write\", \"calc\", or \"show\"; default: detect automatically)</param>
<return>
<html xmlns:eval="http://mindtouch.com/2007/dekiscript">
<body>
<eval:if test="$type == 'write'"><eval:expr value="iframe($document, $width, $height, 'WRITE_VIEWER')" /></eval:if>
<eval:elseif test="$type == 'calc'"><eval:expr value="iframe($document, $width, $height, 'CALC_VIEWER')" /></eval:elseif>
<eval:elseif test="$type == 'show'"><eval:expr value="iframe($document, $width, $height, 'SHOW_VIEWER')" /></eval:elseif>
<eval:else>
<eval:block value="var parts = uri.parse($document); var last = parts.path[#parts.path-1]; var index = string.lastindexof(last, '.'); var ext = (index >= 0) ? string.substr(last, index + 1) : ''">
<eval:if test="list.contains(['doc', 'rtf', 'txt'], ext)"><eval:expr value="iframe($document, $width, $height, 'WRITE_VIEWER')" /></eval:if>
<eval:elseif test="list.contains(['xls', 'csv'], ext)"><eval:expr value="iframe($document, $width, $height, 'CALC_VIEWER')" /></eval:elseif>
<eval:elseif test="list.contains(['ppt', 'pps'], ext)"><eval:expr value="iframe($document, $width, $height, 'SHOW_VIEWER')" /></eval:elseif>
<eval:else>ERROR: unable to determine document type, use 'type' argument to specify type</eval:else>
</eval:block>
</eval:else>
</body>
</html>
</return>
</function>
<function>
<access>private</access>
<name>iframe</name>
<param name="document" type="uri" />
<param name="width" type="num" optional="true" />
<param name="height" type="num" optional="true" />
<param name="type" type="str" />
<return>
<html xmlns:eval="http://mindtouch.com/2007/dekiscript">
<body>
<iframe eval:src="'http://viewer.thinkfree.com/view.jsp?app=' .. $type .. '&open=' .. uri.encode($document)" eval:width="web.size($width ?? 0.9)" eval:height="web.size($height ?? 425)" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" />
</body>
</html>
</return>
</function>
</extension>
| File | Size | Date | Attached by | |||
|---|---|---|---|---|---|---|
| SampleDoc.doc Preview No description | 23.5 kB | 23:47, 19 Oct 2007 | BrigetteK | Actions | ||
| SamplePowerpoint.ppt Preview No description | 8.5 kB | 00:06, 20 Oct 2007 | BrigetteK | Actions | ||
| SampleSpreadsheet.xls Preview No description | 13.5 kB | 00:03, 20 Oct 2007 | BrigetteK | Actions | ||