--- /dev/null
+#**
+ * Render a complex document in the results list
+ *#
+
+## Load Mime-Type List and Mapping
+#parse('mime_type_lists.vm')
+## Sets:
+## * supportedMimeTypes, AKA supportedtypes
+## * mimeExtensionsMap, AKA extMap
+
+## Title
+#if($doc.getFieldValue('title'))
+ #set($title = $esc.html($doc.getFirstValue('title')))
+#else
+ #set($title = "["+$doc.getFieldValue('id')+"]")
+#end
+
+## URL
+#if($doc.getFieldValue('url'))
+ #set($url = $doc.getFieldValue('url'))
+#elseif($doc.getFieldValue('resourcename'))
+ #set($url = "file:///$doc.getFieldValue('resourcename')")
+#else
+ #set($url = "$doc.getFieldValue('id')")
+#end
+
+## Sort out Mime-Type
+#set($ct = $list.get($doc.getFirstValue('content_type').split(";"),0))
+#set($filename = $doc.getFieldValue('resourcename'))
+#set($filetype = false)
+#set($filetype = $mimeExtensionsMap.get($ct))
+
+## TODO: falling back to file extension is convenient,
+## except when you don't have an icon for that extension
+## example "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
+## document with a .docx extension.
+## It'd be nice to fall back to an "unknown" or the existing "file" type
+## We sort of do this below, but only if the filename has no extension
+## (anything after the last dot).
+
+#if(!$filetype)
+ #set($filetype = $filename.substring($filename.lastIndexOf(".")).substring(1))
+#end
+
+## #if(!$filetype)
+## #set($filetype = "file")
+## #end
+## #if(!$supportedMimeTypes.contains($filetype))
+## #set($filetype = "file")
+## #end
+
+## Row 1: Icon and Title and mlt link
+<div class="result-title">
+ ## Icon
+ ## Small file type icons from http://www.splitbrain.org/projects/file_icons (public domain)
+ <img src="#{url_root}/img/filetypes/${filetype}.png" align="center">
+
+ ## Title, hyperlinked
+ <a href="${url}" target="_blank">
+ <b>$title</b></a>
+
+ ## Link for MLT / More Like This / Find Similar
+ <span class="mlt">
+ #if($params.getBool('mlt', false) == false)
+ <a href="#lensNoQ&q=id:%22$docId%22&mlt=true">
+ More Like This</a>
+ #end
+ </span>
+
+</div>
+
+## Row 2?: ID / URL
+<div>
+ Id: #field('id')
+</div>
+
+## Resource Name
+<div>
+ #if($doc.getFieldValue('resourcename'))
+ Resource name: $filename
+ #elseif($url)
+ URL: $url
+ #end
+ #if($ct)
+ ($ct)
+ #end
+</div>
+
+## Author
+#if($doc.getFieldValue('author'))
+ <div>
+ Author: #field('author')
+ </div>
+#end
+
+## Last_Modified Date
+#if($doc.getFieldValue('last_modified'))
+ <div>
+ last-modified:
+ #field('last_modified')
+ </div>
+#end
+
+## Main content of doc
+<div class="result-body">
+ #field('content')
+</div>
+
+## Display Similar Documents / MLT = More Like This
+<div class="mlt">
+ #set($mlt = $mltResults.get($docId))
+ #set($mltOn = $params.getBool('mlt'))
+ #if($mltOn == true)
+ <div class="field-name">
+ Similar Items
+ </div>
+ #end
+ ## If has MLT enabled An Entries to show
+ #if ($mltOn && $mlt && $mlt.size() > 0)
+ <ul>
+ #foreach($mltHit in $mlt)
+ #set($mltId = $mltHit.getFieldValue('id'))
+ <li>
+ <div>
+ <a href="#url_for_home?q=id:$mltId">
+ $mltId</a>
+ </div>
+ <div>
+ <span class="field-name">
+ Title:
+ </span>
+ $mltHit.getFieldValue('title')
+ </div>
+ <div>
+ <span class="field-name">
+ Author:
+ </span>
+ $mltHit.getFieldValue('author')
+ <span class="field-name">
+ Description:
+ </span>
+ $mltHit.getFieldValue('description')
+ </div>
+ </li>
+ #end ## end for each mltHit in $mlt
+ </ul>
+ ## Else MLT Enabled but no mlt results for this query
+ #elseif($mltOn && $mlt.size() == 0)
+ <div>No Similar Items Found</div>
+ #end
+</div> ## div class=mlt
+
+#parse('debug.vm')