diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/page.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/page.get.json.ftl index d3e6073a98..6ca43d828d 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/page.get.json.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/page.get.json.ftl @@ -8,6 +8,7 @@ <#list page.versionHistory?sort_by("versionLabel")?reverse as record> { "version": "${record.versionLabel}", + "versionId": "${record.id}", "date": "${record.createdDate?datetime}", "author": "${record.creator}" }<#if record_has_next>, diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.desc.xml new file mode 100644 index 0000000000..6422fdda09 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.desc.xml @@ -0,0 +1,8 @@ + + wikipage + Wiki - Page details + /slingshot/wiki/version/{siteId}/{pageTitle}/{versionId} + argument + user + required + \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.html.ftl new file mode 100644 index 0000000000..51a16e9af1 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.html.ftl @@ -0,0 +1 @@ +${content} \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.js b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.js new file mode 100644 index 0000000000..0e591edf48 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.js @@ -0,0 +1,45 @@ + + +function main() +{ + var params = getTemplateArgs(["siteId", "pageTitle", "versionId"]); + var content = ""; + // Get the site + var site = siteService.getSite(params.siteId); + if (site === null) + { + return ""; + } + + var wiki = getWikiContainer(site); + if (wiki === null) + { + return ""; + } + + var page = wiki.childByNamePath(params.pageTitle); + if (page === null) + { + return ""; + } + + var version; + var versions = page.versionHistory; + // NOTE: would it be possible to pass in the noderef and do a search for the specific + // version (directly) against the "lightWeightVersionStore"? This would depend on what + // indexing (if any) there is on the version store. + for (var i=0; i < versions.length; i++) + { + version = versions[i].node; + // If we don't create a string explicitly the comparison fails + if (String(version.id) === params.versionId) + { + content = version.content; + break; + } + } + + return content; +} + +model.content = main(); \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.mediawiki.ftl b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.mediawiki.ftl new file mode 100644 index 0000000000..51a16e9af1 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/version.get.mediawiki.ftl @@ -0,0 +1 @@ +${content} \ No newline at end of file