<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Why is the modifier of a content a random user from the list of logged in users? in Alfresco Forum</title>
    <link>https://connect.hyland.com/t5/alfresco-forum/why-is-the-modifier-of-a-content-a-random-user-from-the-list-of/m-p/33758#M14286</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a webscript:&lt;/P&gt;&lt;P&gt;desc.xml -&amp;nbsp;&lt;/P&gt;&lt;PRE style="color: #a9b7c6; background-color: #2b2b2b; font-size: 12.0pt;"&gt;&lt;SPAN style="color: #e8bf6a;"&gt;&amp;lt;webscript&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #e8bf6a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;shortname&amp;gt;&lt;/SPAN&gt;LibreOffice Online PutFile&lt;SPAN style="color: #e8bf6a;"&gt;&amp;lt;/shortname&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #e8bf6a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #e8bf6a;"&gt;&amp;lt;url&amp;gt;&lt;/SPAN&gt;/wopi/files/{fileId}/contents&lt;SPAN style="color: #e8bf6a;"&gt;&amp;lt;/url&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #e8bf6a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;family&amp;gt;&lt;/SPAN&gt;LibreOffice Online&lt;SPAN style="color: #e8bf6a;"&gt;&amp;lt;/family&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #e8bf6a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;authentication&amp;gt;&lt;/SPAN&gt;none&lt;SPAN style="color: #e8bf6a;"&gt;&amp;lt;/authentication&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #e8bf6a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;format &lt;/SPAN&gt;&lt;SPAN style="color: #bababa;"&gt;default&lt;/SPAN&gt;&lt;SPAN style="color: #a5c261;"&gt;="json"&lt;/SPAN&gt;&lt;SPAN style="color: #e8bf6a;"&gt;&amp;gt;&amp;lt;/format&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #e8bf6a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;transaction&amp;gt;&lt;/SPAN&gt;required&lt;SPAN style="color: #e8bf6a;"&gt;&amp;lt;/transaction&amp;gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #e8bf6a;"&gt;&amp;lt;/webscript&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;java controller (shortened slightly for brevity):&lt;/P&gt;&lt;PRE style="color: #a9b7c6; background-color: #2b2b2b; font-size: 12.0pt;"&gt;&lt;SPAN style="color: #cc7832;"&gt;public class &lt;/SPAN&gt;LOPutFileWebScript &lt;SPAN style="color: #cc7832;"&gt;extends &lt;/SPAN&gt;AbstractWebScript {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #cc7832;"&gt;private static final &lt;/SPAN&gt;Log &lt;SPAN style="color: #9876aa;"&gt;logger &lt;/SPAN&gt;= LogFactory.&lt;SPAN&gt;getLog&lt;/SPAN&gt;(LOPutFileWebScript.&lt;SPAN style="color: #cc7832;"&gt;class&lt;/SPAN&gt;)&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private &lt;/SPAN&gt;WOPITokenService &lt;SPAN style="color: #9876aa;"&gt;wopiTokenService&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private &lt;/SPAN&gt;NodeService &lt;SPAN style="color: #9876aa;"&gt;nodeService&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private &lt;/SPAN&gt;ContentService &lt;SPAN style="color: #9876aa;"&gt;contentService&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;@Override&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;public void &lt;/SPAN&gt;&lt;SPAN style="color: #ffc66d;"&gt;execute&lt;/SPAN&gt;(WebScriptRequest req&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;WebScriptResponse res) &lt;SPAN style="color: #cc7832;"&gt;throws &lt;/SPAN&gt;IOException {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #cc7832;"&gt;try &lt;/SPAN&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #cc7832;"&gt;final &lt;/SPAN&gt;WOPIAccessTokenInfo tokenInfo = &lt;SPAN style="color: #9876aa;"&gt;wopiTokenService&lt;/SPAN&gt;.getTokenInfo(req)&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final &lt;/SPAN&gt;NodeRef nodeRef = &lt;SPAN style="color: #9876aa;"&gt;wopiTokenService&lt;/SPAN&gt;.getFileNodeRef(tokenInfo)&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;//Verifying that the user actually exists&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;final &lt;/SPAN&gt;PersonInfo person = &lt;SPAN style="color: #9876aa;"&gt;wopiTokenService&lt;/SPAN&gt;.getUserInfoOfToken(tokenInfo)&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if &lt;/SPAN&gt;(StringUtils.&lt;SPAN&gt;isBlank&lt;/SPAN&gt;(person.getUserName()) &amp;amp;&amp;amp; !person.getUserName().equals(tokenInfo.getUserName()) )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #cc7832;"&gt;throw new &lt;/SPAN&gt;WebScriptException(Status.&lt;SPAN style="color: #9876aa;"&gt;STATUS_INTERNAL_SERVER_ERROR&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;"Invalid user id in token."&lt;/SPAN&gt;)&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&lt;/SPAN&gt;(tokenInfo != &lt;SPAN style="color: #cc7832;"&gt;null&lt;/SPAN&gt;) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AuthenticationUtil.&lt;SPAN&gt;runAs&lt;/SPAN&gt;(&lt;SPAN style="color: #cc7832;"&gt;new &lt;/SPAN&gt;AuthenticationUtil.RunAsWork&amp;lt;Object&amp;gt;() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #bbb529;"&gt;@Override&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;public &lt;/SPAN&gt;Object &lt;SPAN style="color: #ffc66d;"&gt;doWork&lt;/SPAN&gt;() &lt;SPAN style="color: #cc7832;"&gt;throws &lt;/SPAN&gt;Exception {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ContentWriter writer = &lt;SPAN style="color: #9876aa;"&gt;contentService&lt;/SPAN&gt;.getWriter(&lt;SPAN style="color: #b389c5;"&gt;nodeRef&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ContentModel.&lt;SPAN style="color: #9876aa;"&gt;PROP_CONTENT&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, true&lt;/SPAN&gt;)&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;writer.putContent(&lt;SPAN style="color: #b389c5;"&gt;req&lt;/SPAN&gt;.getContent().getInputStream())&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;writer.guessMimetype((String) &lt;SPAN style="color: #9876aa;"&gt;nodeService&lt;/SPAN&gt;.getProperty(&lt;SPAN style="color: #b389c5;"&gt;nodeRef&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ContentModel.&lt;SPAN style="color: #9876aa;"&gt;PROP_NAME&lt;/SPAN&gt;))&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;writer.guessEncoding()&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;//Output is correct 100% of the time&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;logger&lt;/SPAN&gt;.debug(&lt;SPAN style="color: #6a8759;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;\n&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;****** Debug testing ********&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;\n&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;Token: " &lt;/SPAN&gt;+ &lt;SPAN style="color: #b389c5;"&gt;tokenInfo&lt;/SPAN&gt;.getAccessToken()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + &lt;SPAN style="color: #6a8759;"&gt;"FileId: " &lt;/SPAN&gt;+ &lt;SPAN style="color: #b389c5;"&gt;tokenInfo&lt;/SPAN&gt;.getFileId() + &lt;SPAN style="color: #6a8759;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;\n&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;UserName: " &lt;/SPAN&gt;+ &lt;SPAN style="color: #b389c5;"&gt;tokenInfo&lt;/SPAN&gt;.getUserName() + &lt;SPAN style="color: #6a8759;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;\n&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;"&lt;/SPAN&gt;)&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;tokenInfo.getUserName())&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080;"&gt;//The output here results in a random user name. Seemingly from the pool of logged in users.&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;logger&lt;/SPAN&gt;.debug(&lt;SPAN style="color: #6a8759;"&gt;"Modifier for the above nodeRef [" &lt;/SPAN&gt;+ nodeRef.toString() + &lt;SPAN style="color: #6a8759;"&gt;"] is: " &lt;/SPAN&gt;+ &lt;SPAN style="color: #9876aa;"&gt;nodeService&lt;/SPAN&gt;.getProperty(nodeRef&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ContentModel.&lt;SPAN style="color: #9876aa;"&gt;PROP_MODIFIER&lt;/SPAN&gt;))&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #cc7832;"&gt;catch&lt;/SPAN&gt;(ContentIOException | WebScriptException we){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; we.printStackTrace()&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;//throw a bunch of errors&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;SPAN style="color: #808080;"&gt;//Setters for services...&lt;BR /&gt;&lt;/SPAN&gt;}&lt;/PRE&gt;&lt;P&gt;It so happens that after editing a document, the&amp;nbsp;ContentModel.PROP_MODIFIER property of the document node is a seemingly random user from the pool of logged in users. I was under the understanding that the expected behaviour would be that when the default onUpdateBehaviour kicked, in it would update with the details found in the context, and since the thread is run as the user, I figured the information passed&amp;nbsp;to the behaviour would come from this thread.&lt;/P&gt;&lt;P&gt;I'd appreciate some insight into this.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 01 Mar 2017 13:51:32 GMT</pubDate>
    <dc:creator>darkstar1</dc:creator>
    <dc:date>2017-03-01T13:51:32Z</dc:date>
    <item>
      <title>Why is the modifier of a content a random user from the list of logged in users?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/why-is-the-modifier-of-a-content-a-random-user-from-the-list-of/m-p/33758#M14286</link>
      <description>I have a webscript:desc.xml -&amp;nbsp;&amp;lt;webscript&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;shortname&amp;gt;LibreOffice Online PutFile&amp;lt;/shortname&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url&amp;gt;/wopi/files/{fileId}/contents&amp;lt;/url&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;family&amp;gt;LibreOffice Online&amp;lt;/family&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;authentication&amp;gt;none&amp;lt;/authentication&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;format default="json</description>
      <pubDate>Wed, 01 Mar 2017 13:51:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/why-is-the-modifier-of-a-content-a-random-user-from-the-list-of/m-p/33758#M14286</guid>
      <dc:creator>darkstar1</dc:creator>
      <dc:date>2017-03-01T13:51:32Z</dc:date>
    </item>
    <item>
      <title>Re: Why is the modifier of a content a random user from the list of logged in users?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/why-is-the-modifier-of-a-content-a-random-user-from-the-list-of/m-p/33759#M14287</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That does look a little odd - but would need to debug with the "auditable" behaviour with your test case, etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Out of interest, do you see the same effect if you wrap with something like this instead ... ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE style="color: #a9b7c6; background-color: #2b2b2b; font-size: 9.0pt;"&gt;&lt;PRE style="color: #a9b7c6; background-color: #2b2b2b; font-size: 9.0pt;"&gt;&lt;/PRE&gt;&lt;SPAN style="color: #a9b7c6;"&gt;...&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;&lt;BR /&gt;retryingTransactionHelper&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;.doInTransaction(&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;new &lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;RetryingTransactionCallback&amp;lt;Void&amp;gt;()&lt;BR /&gt;{&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;@Override&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;public &lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;Void &lt;/SPAN&gt;&lt;SPAN style="color: #ffc66d;"&gt;execute&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;() &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;throws &lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;Throwable&lt;BR /&gt; {&lt;BR /&gt; AuthenticationUtil.&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;pushAuthentication&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt; try&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;{&lt;BR /&gt; AuthenticationUtil.&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;setRunAsUser&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;(tokenInfo.getUserName())&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt; // ... do more here ...&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;&lt;BR /&gt; }&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;finally&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;{&lt;BR /&gt; AuthenticationUtil.&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;popAuthentication&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;}&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;return null;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;}&lt;BR /&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, false, true&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6;"&gt;...&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Jan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Mar 2017 15:59:23 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/why-is-the-modifier-of-a-content-a-random-user-from-the-list-of/m-p/33759#M14287</guid>
      <dc:creator>janv</dc:creator>
      <dc:date>2017-03-01T15:59:23Z</dc:date>
    </item>
    <item>
      <title>Re: Why is the modifier of a content a random user from the list of logged in users?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/why-is-the-modifier-of-a-content-a-random-user-from-the-list-of/m-p/33760#M14288</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As I was saying in our chat on Skype, I believe these links can help you with the problem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://migration33.stage.lithium.com/thread/160230"&gt;[solved] AuthenticationUtil.runAs: how to get ride of this ?&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" class="link-titled" href="https://community.alfresco.com/thread/194553-action-with-setrunasuser#comment-652744" title="https://community.alfresco.com/thread/194553-action-with-setrunasuser#comment-652744" rel="nofollow noopener noreferrer"&gt;https://community.alfresco.com/thread/194553-action-with-setrunasuser#comment-652744&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try to use the AuthenticationUtil.setFullyAuthenticatedUser method with the user in the token.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Mar 2017 20:09:15 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/why-is-the-modifier-of-a-content-a-random-user-from-the-list-of/m-p/33760#M14288</guid>
      <dc:creator>douglascrp</dc:creator>
      <dc:date>2017-03-02T20:09:15Z</dc:date>
    </item>
    <item>
      <title>Re: Why is the modifier of a content a random user from the list of logged in users?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/why-is-the-modifier-of-a-content-a-random-user-from-the-list-of/m-p/33761#M14289</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Actually, yes as suggested by Douglas, that makes even more sense in your example, eg.&lt;/P&gt;&lt;PRE style="color: #a9b7c6; background-color: #2b2b2b; border: 0px; font-size: 9pt;"&gt;&lt;SPAN style="color: #a9b7c6; border: 0px; font-weight: inherit; font-size: 12px;"&gt;...&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832; border: 0px; font-weight: inherit;"&gt;try&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6; border: 0px; font-weight: inherit;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6; border: 0px; font-weight: inherit; font-size: 12px;"&gt;&lt;BR /&gt;&amp;nbsp; AuthenticationUtil.&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6; border: 0px; font-weight: inherit; font-size: 12px;"&gt;setFullyAuthenticatedUser&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6; border: 0px; font-weight: inherit; font-size: 12px;"&gt;(tokenInfo.getUserName())&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832; border: 0px; font-weight: inherit; font-size: 12px;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832; border: 0px; font-weight: inherit; font-size: 12px;"&gt;&amp;nbsp; // ... do more here ...&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6; border: 0px; font-weight: inherit; font-size: 12px;"&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832; border: 0px; font-weight: inherit; font-size: 12px;"&gt;finally&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6; border: 0px; font-weight: inherit; font-size: 12px;"&gt;{&lt;BR /&gt;&amp;nbsp; AuthenticationUtil.clearCurrentSecurityContext&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6; border: 0px; font-weight: inherit; font-size: 12px;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832; border: 0px; font-weight: inherit; font-size: 12px;"&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6; border: 0px; font-weight: inherit; font-size: 12px;"&gt;}&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832; border: 0px; font-weight: inherit; font-size: 12px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #a9b7c6; border: 0px; font-weight: inherit; font-size: 12px;"&gt;...&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Jan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Mar 2017 10:26:07 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/why-is-the-modifier-of-a-content-a-random-user-from-the-list-of/m-p/33761#M14289</guid>
      <dc:creator>janv</dc:creator>
      <dc:date>2017-03-03T10:26:07Z</dc:date>
    </item>
    <item>
      <title>Re: Why is the modifier of a content a random user from the list of logged in users?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/why-is-the-modifier-of-a-content-a-random-user-from-the-list-of/m-p/33762#M14290</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Jan.&lt;/P&gt;&lt;P&gt;It seems AuthenticationUtil.setFullyAuthenticatedUser() did the trick. So far testing hasn't resulted in the re-appearance of the bug.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Mar 2017 10:45:51 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/why-is-the-modifier-of-a-content-a-random-user-from-the-list-of/m-p/33762#M14290</guid>
      <dc:creator>darkstar1</dc:creator>
      <dc:date>2017-03-10T10:45:51Z</dc:date>
    </item>
  </channel>
</rss>

