Welcome to the Web ID XWiki

- Manage
-
Copy
- Actions
-
Export
-
Print Preview
- Viewers
-
Source
-
Children
-
Comments
-
Annotations
-
Attachments
-
History
-
Information
This wiki was the work of Henry Story. It's no longer maintained and the instructions probably don't work anymore.
Some recent progress on webid:
About WedId support
This is a playground for FOAF+SSL integration in XWiki.
WebId's are so simple to make and to use, that it is difficult to explain. The following screen cast does this better than any HOWTO could:
With foaf+ssl, you no longer need to type a username or remember a password. Public Key Cryptography takes care of that. As Dan Kaminsky pointed out in a few of his speeches, the major security problem on the web are passwords. 60% of security breaches can be attributed to them. Why are they still so ubiquitous? Because the only secure contender, SSL - the protocol that gave us online shopping - and X.509 were too expensive and complex for end users. But this need to be so. By tying X.509 to the semantic web, we solve the major problem of cost, and introduce powerful flexibility. On the server side DNSsec will solve the other half of the problem. See the recent thread on the foaf-protocols list.
Currently you can get yourself an account on here, the normal way, then create yourself a WebID.
HOWTO
- Create an account here with a password
- On your profile page create a WebId: just click the "create certificate request" button and a certificate will be added to your browser (likely need to restart your browser)
- You can then login to a growing number of sites with one click. No more username or password to type!
The idea is that you only need one account (though you can have a few) to login to all other sites. Ideally this account would be on a server you control.
Features
- When you get yourself a WebId you automatically get an OpenId too that uses foaf+ssl authentication via http://openid4.me/ . The openid is a bit ugly for the moment (it is too long). Making it shorter is on the todo list below.
Todo
- of course the certificates created here should be created behind https in order to avoid a man in the middle attack in the certificate generation process
(given that WebIds are not being used for anything much this is not an urgent issue - but of course people will point this out) - Looking for ways to simplify IE cert creation!!! Please let us know of any cool tricks you may know of.
- Public profiles should have beautiful URLs, and short ones too ( something like http://webid.myxwiki.org/id/bblfish )
- The public profiles should also return minimal html as as can be had by adding ?xpage=plain at the user profile
http://webid.myxwiki.org/xwiki/bin/view/XWiki/Natanael_L?xpage=plain
This cuts the page size down by 4. - Add the ability to login to this site using WebIDs create elsewhere (or from this site). We will do this in two steps
- Use an external FOAF+SSL identity provider, such as https://foafssl.org/srv/idp
- Build a component that can be added to XWiki or Restlets so as to not require an external IDP (this will require support for https though)
- Add Access Controls to parts of this wiki for members of given foaf:Groups
- [enter your idea]
Web site Issues
XWiki deploys profiles in RDFa, which is still very new. A lot of the foaf+ssl community is just moving over to supporting that, so
a number of sites will seem broken when attaching from here.
- The Cheese Lover's club is not functioning
- Ontowiki's login feedback is way too minimal for the moment
Browser issues
- None of the browsers are good at showing the user which cert he is using. But developments are on their way:
- Chrome has an active issue 29784
- Firefox has started thinking about it but this could be sped up with a good demo
- Firefox and Opera work very well.
- for Chrome on OSX try the latest development snapshots . ( issue 37765 was fixed 16 March )
- Safari on OSX has the same issue as Chrome above, but it is very difficult to get any response from their developers through their bug database. If you know how to bring their attention please do.
Please feel free to get an account and edit this wiki. Send feedback to the foaf-protocols mailing list
Code
The code to add to XWiki to enable this is available here http://github.com/bblfish/keygenapp in the xwiki subdirectory
More about XWiki itself
This is a wiki, ie an easy-to-edit website that will help you work better together. This Wiki is made of pages sorted by spaces. You're currently in the Main space, looking at its home page (WebHome).
Recent Changes
Failed to execute the [velocity] macro. Cause: [Could not locate ordinal parameter [1], expecting one of []]. Click on this message for details.
org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate Velocity Macro for content [##
## Recent changes.
##
## Optional parameters :
##
## Parameters which can be set in velocity before including this page or can be passed as HTTP parameters.
## Note that HTTP parameters supercede velocity set variables.
##
## - rcShowMinor (String set to "true" or "false"): show minor edits.
## - rcShowDiff (String set to "true" or "false"): show diff in items.
## - rcShowRss (String set to "true" or "false"): show RSS at the bottom of the list.
## - rcChangesNb (String set to a numerical value): number of recent changes to display.
## - rcSpace (List of string[s]): restrict recent changes retrieval to pages within the given space.
## - rcTag (List of string[s]): restrict recent changes retrieval to pages with the given tag.
## - rcAuthor (List of string[s]): restrict recent changes retrieval to pages with the given author.
##
## Parameters which can be set before including this page only.
##
## - rcDocumentNames (Collection): The list of recentlyChanged documents, to reuse a previous search query.
##
$xwiki.jsx.use("Main.RecentChanges")##
$xwiki.ssx.use("Main.RecentChanges")##
#set($action = "$!request.getParameter('action')")
##
## Start execution timer
##
#set($execStart = $util.getDate())
##
## Go to diff URL service.
##
#if($action == "goToDiffURL")
#set($page = "$!request.getParameter('page')")
#set($author = "$!request.getParameter('author')")
#set($date = "$!request.getParameter('date')")
#set($period = $xwiki.criteriaService.getPeriodFactory().createDayPeriod($date))
#set($criterion = $xwiki.criteriaService.getRevisionCriteriaFactory().createRevisionCriteria($author, $period))
#if("$!request.getParameter('rcShowMinor')" == "true")
#set($discard = $criterion.setIncludeMinorVersions(true))
#end
#set($diffDoc = $xwiki.getDocument($page))
#set($revisions = $diffDoc.getRevisions($criterion))
#set($rev1 = $listtool.get($revisions, 0))
#set($revMax = $revisions.size() - 1)
#set($rev2 = $listtool.get($revisions, $revMax))
#if($rev2 != "1.1")
#set($rev2 = $xwiki.getDocument($diffDoc, $rev2).getPreviousVersion())
#end
$response.sendRedirect($diffDoc.getURL("view", "viewer=changes&rev1=${rev1}&rev2=${rev2}"))
#end
## We have to use the HTML macro to avoid prints of multiple   on macro calls.
{{html}}
## Manage minor edits.
#setVariableFromRequest($rcShowMinor "rcShowMinor" false)
## Manage show diff in items.
#setVariableFromRequest($rcShowDiff "rcShowDiff" true)
## Manage show RSS links.
#setVariableFromRequest($rcShowRss "rcShowRss" true)
## Manage number of changes to display.
#setVariableFromRequest($rcChangesNb "rcChangesNb" 30)
## Manage tag criterion
#setVariableFromRequest($rcTag "rcTag" [])
## Manage space criterion
#setVariableFromRequest($rcSpace "rcSpace" [])
## Manage author criterion
#setVariableFromRequest($rcAuthor "rcAuthor" [])
{{/html}}
##
## Create a string containing one or more ? given the number of values in the passed list.
##
#macro(createQueryParameters $values $parameters)
#foreach($value in $values)
#if($parameters == "")
#set($parameters = "?")
#else
#set($parameters = "${parameters}, ?")
#end
#end
#end
##
## Retrieve recently changed documents.
##
#set($criteria = $util.getHashMap())
#if("$!rcDocumentNames" == "")
#if(!$xwiki.hasMinorEdit() || $rcShowMinor)
#set ($hqlQuery = "where 1=1 order by doc.date desc")
#else
#set ($hqlQuery = "where doc.version like '%.1'#if(!$isAdvancedUser) and doc.author != 'superadmin'#end order by doc.date desc")
#end
## Create space criterion.
#if($rcSpace.size() > 0)
#set($spaceParameters = "")
#createQueryParameters($rcSpace $spaceParameters)
#set($discard = $criteria.put("doc.space in (${spaceParameters})", $rcSpace))
#end
## Create tag criterion.
#if("$!xwiki.getPlugin('tag')" != "" && $rcTag.size() > 0)
#set($docsWithTag = $util.getArrayList())
#foreach($item in $rcTag)
#set($discard = $docsWithTag.addAll($xwiki.tag.getDocumentsWithTag($item)))
#end
#set($docsWithTagParameters = "")
#createQueryParameters($docsWithTag $docsWithTagParameters)
#set($discard = $criteria.put("doc.fullName in (${docsWithTagParameters})", $docsWithTag))
#end
#if($rcAuthor.size() > 0)
#set($authorParameters = "")
#createQueryParameters($rcAuthor $authorParameters)
#set($discard = $criteria.put("doc.author in (${authorParameters})", $rcAuthor))
#end
## Exclude blacklisted spaces if displaying changes for a whole wiki
#if($rcSpace.size() == 0)
#set($blacklistedSpacesParameters = "")
#createQueryParameters($blacklistedSpaces $blacklistedSpacesParameters)
#set($discard = $criteria.put("doc.space not in (${blacklistedSpacesParameters})", $blacklistedSpaces))
#end
#if($criteria.size() > 0)
## If any, loop over criterias to add them to the query, then perform the query.
#set($values = $util.getArrayList())
#foreach($criterion in $criteria.keySet())
#if($criteria.get($criterion).size() > 0)
#set($hqlQuery = $hqlQuery.replaceAll("where", "where ${criterion} and"))
#set($discard = $values.addAll($criteria.get($criterion)))
#end
#end
#set($rcDocumentNames = $xwiki.searchDocuments($hqlQuery, $rcChangesNb, 0, $values))
#else
## No query criterion, perform the query as is.
#set($rcDocumentNames = $xwiki.searchDocuments($hqlQuery, $rcChangesNb, 0))
#end
#end
##
## Prepare comments handling
#set($commentsOrder = false)
#if($xwiki.getSpacePreferenceAsInt('commentsorder', 1) == 0)
#set($commentsOrder = true)
#end
##
## Comment handling macro.
## Retreive page's last comment if any and
## overwrite variables if this comment is the last modification on the page.
##
#macro(handleComment $rcDoc $rcType $rcDt $commentsOrder)
## Retrieve comments from last to first.
#set($rcComments = $rcDoc.getComments($commentsOrder))
#if($rcComments.size() > 0)
## Retrieve last comment.
#set($lastComment = $listtool.get($rcComments, 0))
#set($lastCommentDate = $lastComment.getProperty("date").getValue())
## If the last modification on the page is the comment, overwrite values.
## We don't test compareTo() == 0 since the comment date and the save date may vary a little bit.
#if($lastCommentDate.compareTo($rcDt.toDate()) > -1 && $lastCommentDate.compareTo($rcDt.toDate()) <= 1)
#set($rcType = "comment")
#end
#end
#end
##
## Attachments handling macro.
## Retrieve page's attachments and put those which upload matches the modification entry (author and timeframe)
## in the $rcAttachments List.
##
#macro(handleAttachments $rcDoc $rcAuthor $rcDt)
#set($attachments = $rcDoc.getAttachmentList())
#foreach($attachment in $attachments)
#set($attachmentDt = $xwiki.jodatime.getDateTime($attachment.getDate().getTime()))
#if($rcAuthor == $attachment.getAuthor() && $rcDt.getYear() == $attachmentDt.getYear() && $rcDt.getDayOfYear() == $attachmentDt.getDayOfYear())
#set($discard = $rcAttachments.add($attachment))
#end
#end
#end
##
##
##
#macro(displayRcAuthor $author)
#useravatar($author)
<br/><span class="recentChangesAuthor">
#if($author == "XWikiGuest")
Guest
#else
#set($userName = $xwiki.getUserName($author))
#if($userName == "")
## userName can be empty when the page has been saved without specifying the author.
## We're printing a non-breaking space to ensure xhtml validity (ie: avoid empty paragraph).
#else
$userName
#end
#end
</span>
#end
#macro(displayRcVersion $version)
#if($version == "1.1")
<span class="rcVersion">(<span class="newVersion">$msg.get("xe.recentchanges.entry.new")</span>)</span>
#end
#end
##
## Display the recent changes list.
##
#set($previousDt = $xwiki.jodatime.getDateTime(0))
#set($discard = $previousDate.setTime(0))
#set($previousAuthor = "")
## Get this very doc, useful when it is included from another one.
#set($recentChangesDoc = $xwiki.getDocument("Main.RecentChanges"))
{{html clean="false"}}
<table class="recentChanges" summary="$msg.get('xe.recentchanges.summary')">
<tr class="recentChangesHeader"><th scope="col">$msg.get("xe.recentchanges.column.authoranddate")</th><th scope="col">$msg.get("xe.recentchanges.column.changes")</th></tr>
#foreach ($rcDocName in $rcDocumentNames)
#set($row = "")
#set($rcAttachments = $util.arrayList)
## Verify user access level on the document
#if ($xwiki.hasAccessLevel("view", $context.user, "${context.database}:${rcDocName}"))
#set($rcDoc = $xwiki.getDocument($rcDocName))
#set($rcType = "page")
#set($rcAuthor = $rcDoc.getAuthor()) ## TODO : check comments
#set($rcDt = $xwiki.jodatime.getDateTime($rcDoc.getDate().getTime()))
## The handleComment macro overwrites rcType variable if the last modification is a comment.
#handleComment($rcDoc $rcType $rcDt $commentsOrder)
## The handleAttachments macro put a list of attachments uploaded during the day by the author in $rcAttachments.
#handleAttachments($rcDoc $rcAuthor $rcDt)
#if($rcAuthor == $previousAuthor && $rcDt.getYear() == $previousDt.getYear() && $rcDt.getDayOfYear() == $previousDt.getDayOfYear())
## Same day and author, continue in the same row.
#else
## Different day or author, end previous row and start a new one.
#if($velocityCount > 1)</ul></td></tr>#end ## close previous row if needed
<tr><td class="recentChangesLeft">#displayRcAuthor($rcAuthor)<br/>
<span class="recentChangesDate">$xwiki.formatDate($rcDt.toDate(), "MMMM d")</span></td>
<td class="recentChangesRight"><ul class="xlist"> ## open next cell
#end
## Compute a GUID for this modification with page name, modification date and author.
#set($modGUID = "${rcDoc.fullName}_${xwiki.formatDate($rcDt.toDate(), 'yyyyMMdd')}_${rcAuthor}")
## Build the URL used to retreive the diff viewer URL
#set($goToDiffURL = $recentChangesDoc.getURL("view", "xpage=plain&action=goToDiffURL&page=${rcDoc.getFullName()}&author=${rcAuthor}&date=${xwiki.formatDate($rcDt.toDate(), 'yyyyMMdd')}&rcShowMinor=${rcShowMinor}"))
<li class="xitem xunderline xhighlight ${rcType}">
<div class="xitemcontainer">
#if($rcType == "comment")
<div class="modifiedPage"><a href="$rcDoc.getURL()" title="$msg.get("xe.recentchanges.entry.comment.tooltip", [$xwiki.formatDate($rcDt.toDate(), "HH:mm")]) ">$xwiki.getXMLEncoded($rcDoc.getDisplayTitle())</a></div>
#if($rcShowDiff)
<div class="xshowonhover modifiedPageActions"><a class="ajax" href="$rcDoc.getURL("vire", "viewer=comments")" onclick="toggleClass(document.getElementById('$modGUID'), 'hidden'); toggleClass(document.getElementById('${modGUID}_comShow'), 'hidden'); toggleClass(document.getElementById('${modGUID}_comHide'), 'hidden'); return false;"><span id="${modGUID}_comShow">[+] $msg.get("xe.recentchanges.entry.comment.show")</span><span id="${modGUID}_comHide" class="hidden">[-] $msg.get("xe.recentchanges.entry.comment.hide")</span> $msg.get("xe.recentchanges.entry.comment")</a></div>
<div class="commentContainer hidden" id="$modGUID">
<div class="commentQuote lQuo"> </div>
<div class="commentQuote rQuo"> </div>
<div class="comment">
{{/html}}
$lastComment.get("comment")
{{html clean="false"}}
</div>
## Display discussion link, this link point to the comments anchor.
<div class="commentAdd"><img src="$xwiki.getSkinFile("icons/silk/comment.gif")" alt="Reply icon" /> <a href="${rcDoc.getURL("view")}#Comments">$msg.get("xe.recentchanges.entry.comment.seediscussion")</a></div>
</div>
#end
#else
<div class="modifiedPage"><a href="$rcDoc.getURL()" title="$msg.get("xe.recentchanges.entry.page.tooltip", [$rcDoc.getVersion(), $xwiki.formatDate($rcDt.toDate())])">$xwiki.getXMLEncoded($rcDoc.getDisplayTitle())</a> #displayRcVersion($rcDoc.getVersion())</div>
#if($rcShowDiff)
<div class="xshowonhover modifiedPageActions"><a href="$goToDiffURL" title="$msg.get('xe.recentchanges.entry.page.seemodifications.title', [$rcDoc.fullName])">$msg.get("xe.recentchanges.entry.page.seemodifications")</a></div>
## If the author has uploaded attachments during the day in this page, display them.
#if($rcAttachments.size() > 0)
<div class="attachmentContainer" id="$modGUID">
<ul>
#foreach($rcAttachment in $rcAttachments)
<li class="attachment"><a href="$rcDoc.getAttachmentURL($rcAttachment.filename)">$rcAttachment.filename</a> #displayRcVersion($rcAttachment.getVersion())</li>
#end
</ul>
</div>
#end
#end
#end
<div class="xspacer"> </div>
</div>
</li>
#end
#set($previousAuthor = $rcAuthor)
#set($previousDt = $rcDt)
#end
## Close last row if any.
#if($rcDocumentNames.size() > 1)</ul></td></tr>#end
</table>
{{/html}}
##
## Rebuild URL query string
## Workaround until we fix $request.getQueryString()
##
#set($queryString = "")
#set($paramMap = $request.getParameterMap())
#foreach($key in $paramMap.keySet())
#foreach($value in $paramMap.get($key))
#set($queryString = "${queryString}&${key}=${value}")
#end
#end
##
## Provide links to display minor edits and RSS feed.
##
#if($xwiki.hasMinorEdit())
{{html}}
<p class="recentChangesMoreActions">
#if($rcShowMinor)
<a href="$xwiki.getURL($tdoc.getFullName(), "view", $queryString.replaceAll('rcShowMinor=true', ''))"><img src="$xwiki.getSkinFile("icons/silk/zoom_out.gif")" alt="Hide minor icon"/>$msg.get("xe.recentchanges.hideminor")</a>
#else
<a href="$xwiki.getURL($tdoc.getFullName(), "view", "${queryString}&rcShowMinor=true")"><img src="$xwiki.getSkinFile("icons/silk/zoom_in.gif")" alt="Show minor icon"/>$msg.get("xe.recentchanges.showminor")</a>
#end
#if($rcShowRss)
#set($rssURL = "")
#set($parameters = 'xpage=plain&outputSyntax=plain')
#if($rcTag.size() > 0)
#set($parameters = "${parameters}&tag=$listtool.get($rcTag, 0)")
#end
#if($rcSpace.size() > 0)
#set($parameters = "${parameters}&space=$listtool.get($rcSpace, 0)")
#end
#set($rssURL = $xwiki.getURL('Main.WebRss', 'view', $parameters))
<a href="${rssURL}"><img src="$xwiki.getSkinFile("icons/silk/feed.gif")" alt="RSS icon"/>$msg.get("xe.recentchanges.rssfeed")</a>
#end
</p>
{{/html}}
#end]
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:139)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:52)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.evaluateBlock(AbstractScriptMacro.java:278)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:181)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:57)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:309)
at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183)
at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:88)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.executeInCurrentExecutionContext(DocumentContentAsyncExecutor.java:395)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.execute(DocumentContentAsyncExecutor.java:268)
at org.xwiki.display.internal.DocumentContentAsyncRenderer.execute(DocumentContentAsyncRenderer.java:107)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:157)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:273)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:250)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.execute(DefaultBlockAsyncRendererExecutor.java:125)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:67)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:43)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:96)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:39)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:123)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:52)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:68)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:42)
at com.xpn.xwiki.doc.XWikiDocument.display(XWikiDocument.java:1350)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1487)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1436)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1405)
at com.xpn.xwiki.api.Document.displayDocument(Document.java:798)
at jdk.internal.reflect.GeneratedMethodAccessor731.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:704)
at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:75)
at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:242)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:190)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.xwiki.velocity.internal.directive.TryCatchDirective.render(TryCatchDirective.java:86)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:280)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:321)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:222)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:177)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:138)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:267)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:267)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:250)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:773)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:746)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:726)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:712)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:91)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:85)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2536)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:2514)
at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:997)
at jdk.internal.reflect.GeneratedMethodAccessor296.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:492)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:218)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:331)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:261)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:280)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:321)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:222)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:177)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:138)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:267)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:267)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:250)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:773)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:746)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:726)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:712)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:91)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:85)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2536)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:2514)
at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:997)
at jdk.internal.reflect.GeneratedMethodAccessor296.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:492)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:218)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:331)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:261)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:190)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:280)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:321)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:222)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:177)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:138)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:267)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:267)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:250)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:773)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:746)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:726)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:712)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:91)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:85)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2536)
at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:179)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:601)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:289)
at com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:115)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:375)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with namespace [webid:Main.WebHome]
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:289)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:321)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:131)
... 190 more
Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'searchDocuments' in class com.xpn.xwiki.api.XWiki threw exception com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with SQL [select distinct doc.fullName, doc.date from XWikiDocument as doc where doc.space not in () and doc.version like '%.1' and doc.author != 'superadmin' order by doc.date desc] at webid:Main.WebHome[line 125, column 32]
at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:308)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:235)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:704)
at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:75)
at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:242)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:280)
... 192 more
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with SQL [select distinct doc.fullName, doc.date from XWikiDocument as doc where doc.space not in () and doc.version like '%.1' and doc.author != 'superadmin' order by doc.date desc]
at com.xpn.xwiki.store.XWikiHibernateStore.searchGenericInternal(XWikiHibernateStore.java:2902)
at com.xpn.xwiki.store.XWikiHibernateStore.searchDocumentReferencesInternal(XWikiHibernateStore.java:2847)
at com.xpn.xwiki.store.XWikiHibernateStore.searchDocumentsNamesInternal(XWikiHibernateStore.java:2827)
at com.xpn.xwiki.store.XWikiHibernateStore.searchDocumentsNames(XWikiHibernateStore.java:2571)
at com.xpn.xwiki.store.XWikiCacheStore.searchDocumentsNames(XWikiCacheStore.java:504)
at com.xpn.xwiki.api.XWiki.searchDocuments(XWiki.java:840)
at jdk.internal.reflect.GeneratedMethodAccessor1484.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
... 204 more
Caused by: java.lang.IllegalArgumentException: Could not locate ordinal parameter [1], expecting one of []
at org.hibernate.query.internal.ParameterMetadataImpl.getOrdinalParameterDescriptor(ParameterMetadataImpl.java:154)
at org.hibernate.query.internal.ParameterMetadataImpl.getQueryParameter(ParameterMetadataImpl.java:204)
at org.hibernate.query.internal.QueryParameterBindingsImpl.getBinding(QueryParameterBindingsImpl.java:183)
at org.hibernate.query.internal.AbstractProducedQuery.setParameter(AbstractProducedQuery.java:519)
at org.hibernate.query.internal.AbstractProducedQuery.setParameter(AbstractProducedQuery.java:122)
at com.xpn.xwiki.store.XWikiHibernateStore.injectParameterToQuery(XWikiHibernateStore.java:2541)
at com.xpn.xwiki.store.XWikiHibernateStore.injectParameterListToQuery(XWikiHibernateStore.java:2525)
at com.xpn.xwiki.store.XWikiHibernateStore.createQuery(XWikiHibernateStore.java:2505)
at com.xpn.xwiki.store.XWikiHibernateStore.searchGenericInternal(XWikiHibernateStore.java:2887)
... 215 more