General Actions:
Log-in
Wiki:
Courses
▼
:
Document Index
»
Space:
DSSF2008
▼
:
Document Index
»
Page:
SiteMap
Search
DSSF2008
:
Flash Sitemap
Page Actions:
Export
▼
:
Export as PDF
Export as RTF
Export as HTML
More actions
▼
:
Print preview
View Source
Flash Sitemap
Wiki source code of
Flash Sitemap
Last modified by
Hal Eden
on 2010/08/20 11:06
Content
·
Comments
(0)
·
Attachments
(8)
·
History
·
Information
Show line numbers
1 Flash Sitemap #macro(flashmap $mapname) <script type="text/javascript" src="$doc.getAttachmentURL('flashobject.js')"> </script> <div id="flashcontent_$mapname"> Flash plugin or Javascript are turned off. Activate both and reload to view the mindmap </div><script type="text/javascript"> var fo = new FlashObject("$doc.getAttachmentURL('visorFreemind.swf')","visorFreeMind", "100%", "600", 6, "#9999ff"); fo.addParam("quality", "high"); fo.addParam("bgcolor", "#ffffff"); fo.addVariable("openUrl", "_blank"); fo.addVariable("initLoadFile", "$doc.getAttachmentURL($mapname, "download")"); fo.addVariable("startCollapsedToLevel","1"); fo.addVariable("startFit","true") fo.write("flashcontent_$mapname"); </script> #end #flashmap("sitemap.mm") 1 Sitemap <% import java.io.StringReader import java.util.HashMap import com.xpn.xwiki.doc.XWikiAttachment import groovy.xml.MarkupBuilder def generateXmlForChildNode(nodeSpace, nodeName, xmlBuilder) { def fullNodeName = nodeSpace+"."+nodeName def attachExists = xwiki.getDocument(fullNodeName).getAttachment("pageicon.png") def attachment = xwiki.getDocument(fullNodeName).getAttachmentURL("pageicon.png", "download", "width=50") def nodeHtml = nodeName if (attachExists!=null) { nodeHtml = "<html>"+nodeName+"<img src=\""+attachment+"\" width=\"50px\"></html>" } xmlBuilder.node(LINK:xwiki.getURL(fullNodeName, "view"), TEXT:nodeHtml, STYLE:"bubble") { xmlBuilder.edge(STYLE:"sharp_bezier", WIDTH:"4") def sql = "select distinct doc.web, doc.name, doc.parent from XWikiDocument as doc where doc.parent='" + xwiki.sqlfilter(fullNodeName) + "'" + "and doc.space='" + nodeSpace + "'" def doclist = xwiki.search(sql) for(item in doclist) { generateXmlForChildNode(item[0], item[1], xmlBuilder) } } } def generateMap(firstNodeSpace, firstNodeName, xmlBuilder) { xmlBuilder.map() { generateXmlForChildNode(firstNodeSpace, firstNodeName, xmlBuilder) } } if (xwiki.hasAdminRights()) { println "[Update the Map>" + doc.fullName + "?update=1]" if (request.get("update") != null) { print "Start mindmap generation... " def writer = new StringWriter() def xmlBuilder = new MarkupBuilder(writer) generateMap("DSSF2008", "WebHome", xmlBuilder) def attachmentName = "sitemap.mm" def attachment = doc.getDocument().getAttachment(attachmentName) if (!attachment) { attachment = new XWikiAttachment(doc.getDocument(), attachmentName) doc.getDocument().getAttachmentList().add(attachment) } attachment.setContent(writer.toString().getBytes()) doc.getDocument().saveAttachmentContent(attachment, context.getContext()) doc.save() println "done" response.sendRedirect(xwiki.getURL(doc.getName(),"view")) } } %> #if ($doc.getAttachmentList().size() > 0) #mindmap("sitemap.mm" "100%" "500") #end 1 Current Users #flashmap("usermap.mm") <% if (xwiki.hasAdminRights()) { println "[Update the User Map>" + doc.fullName + "?updateum=1]" if (request.get("updateum") != null) { print "Start mindmap generation... " def sql = ", BaseObject as obj where obj.name=doc.fullName and obj.className='XWiki.XWikiUsers'" def writer = new StringWriter() def xmlBuilder = new MarkupBuilder(writer) def hgapcount = 0 def totalCount = xwiki.searchDocuments(sql).size()+0 xmlBuilder.map () { xmlBuilder.node (TEXT:"Users"){ for (item in xwiki.searchDocuments(sql)){ def userdoc = xwiki.getDocument(item) def attachCount = userdoc.attachmentList.size() def attachIndex = attachCount - 1 def nodeURL = userdoc.getURL() def nodeHtml = userdoc.getName() /* def obj = userdoc.getObject("XWiki.XWikiUsers") def lastname = obj.get("last_name") def firstname = obj.get('first_name') nodeHtml = firstname + ' ' + lastname */ if(attachCount >0){ def attach = userdoc.attachmentList.get(0) def attachURL = userdoc.getAttachmentURL(attach.filename,"download") + "?width=30" nodeHtml = "<html>"+userdoc.getName()+"<img src=\""+attachURL+"\" width=\"30px\"></html>" } def angle = (Math.floor(hgapcount/2.0))/(totalCount/2)*Math.PI if (angle < Math.PI/2) { angle = angle*(1.0+Math.abs(Math.cos(angle))*0.333) } else { angle = Math.PI - (Math.PI-angle)*(1.0+Math.abs(Math.cos(angle))*0.333) } def hgap = 350*Math.sin(angle) xmlBuilder.node(LINK:nodeURL, TEXT:nodeHtml, STYLE:"bubble", HGAP:hgap) { xmlBuilder.edge(STYLE:"sharp_bezier", WIDTH:"2") } hgapcount=hgapcount+1 } } } def attachmentName = "usermap.mm" def attachment = doc.getDocument().getAttachment(attachmentName) if (!attachment){ attachment = new XWikiAttachment(doc.getDocument(), attachmentName) doc.getDocument().getAttachmentList().add(attachment) } attachment.setContent(writer.toString().getBytes()) doc.getDocument().saveAttachmentContent(attachment, context.getContext()) doc.save() println "done" response.sendRedirect(xwiki.getURL(doc.getName(),"view")) } } %> 1 Current Users (by group) #flashmap("groupmap.mm") <% if (xwiki.hasAdminRights()) { println "[Update the Group Map>" + doc.fullName + "?updategm=1]" if (request.get("updategm") != null) { print "Start mindmap generation... " def sql = ", BaseObject as obj where obj.name=doc.fullName and obj.className='XWiki.XWikiGroups'" def writer = new StringWriter() def xmlBuilder = new MarkupBuilder(writer) xmlBuilder.map () { xmlBuilder.node (TEXT:"Groups"){ for (item in xwiki.searchDocuments(sql)) { def groupdoc = xwiki.getDocument(item) xmlBuilder.node(TEXT:groupdoc.getName(), STYLE:"bubble"){ def users = groupdoc.getObjects("XWiki.XWikiGroups") for (user in users) { def hgapcount = 0 def totalCount = users.size() def userName = xwiki.getUserName(user.getProperty("member").value) userName = user.getProperty("member").value def userdoc = xwiki.getDocument(userName) if (userdoc != null){ def attachCount = userdoc.attachmentList.size() def attachIndex = attachCount - 1 def nodeURL = userdoc.getURL() def nodeHtml = xwiki.getUserName(userName, false) def obj = userdoc.getObject("XWiki.XWikiUsers") if (obj != null) { def lastname = obj.get("last_name") def firstname = obj.get('first_name') nodeHtml = firstname + ' ' + lastname } if (attachCount >0){ def attach = userdoc.attachmentList.get(0) def attachURL = userdoc.getAttachmentURL(attach.filename,"download") + "?width=30" nodeHtml = "<html>"+nodeHtml+"<img src=\""+attachURL+"\" ></html>" } def angle = (Math.floor(hgapcount/2.0))/(totalCount/2)*Math.PI if (angle < Math.PI/2) { angle = angle*(1.0+Math.abs(Math.cos(angle))*0.333) } else { angle = Math.PI - (Math.PI-angle)*(1.0+Math.abs(Math.cos(angle))*0.333) } def hgap = 350*Math.sin(angle) xmlBuilder.node(LINK:nodeURL, TEXT:nodeHtml, STYLE:"bubble", HGAP:hgap) { xmlBuilder.edge(STYLE:"sharp_bezier", WIDTH:"2") } } hgapcount=hgapcount+1 } } } } } def attachmentName = "groupmap.mm" def attachment = doc.getDocument().getAttachment(attachmentName) if (!attachment){ attachment = new XWikiAttachment(doc.getDocument(), attachmentName) doc.getDocument().getAttachmentList().add(attachment) } attachment.setContent(writer.toString().getBytes()) doc.getDocument().saveAttachmentContent(attachment, context.getContext()) doc.save() println "done" response.sendRedirect(xwiki.getURL(doc.getName(),"view")) } } %>
Course Pages
Home
Roster
Assignments
Schedule and Syllabus
Course Announcement
Lecture Material
Relevant Resources
Questionnaires
Independent Research Projects
Blog
Recently Visited
A5Hiphophippotomi
|
Document EDCSSDainCilke
|
A8PEdwards
|
A12MasonHauck
|
Neuschwanstein Castle
Search
Search query
Recently Modified
MSC Final Project ...
MakeShiftCrew Proj...
Embedding Content
Human-Centered Com...
Assignment12KyleMa...
See More Changes
Recent Comments
Recently Created
WebPreferences
|
RatingStats
|
palen
|
ksiek
|
kena