FIS role for import – archive (fisRoleArchive)

The following code presents the ImageMaster role definition “fisRoleArchive”, which is required for the FIS import operation “archive”. This role contains minimal rights to run FIS commands "ArchiveDocuments", "ArchiveSapDocuments", "RegisterBlobs" and "UnregisterBlobs". A role administrator may use this SOAP request to deploy the role. Additional right for web service operation createDocument is needed for a command ArchiveSapDocuments. Additional rights for web service operations writeAuditEvent is needed to write entries for command ArchiveSapDocuments to ImageMaster audit trail if it is licensed.

Be aware: Copy and paste from an example in this PDF into a text file that shall be processed by FIS can result in errors due to the encoding of special characters that can get broken!
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ns="http://www.tsystems.com/ima9/integrationws/messaging/201101">
   <soap:Header>
      <user:user xmlns:user="http://www.tsystems.com/ima/9.0/integrationws/header/user">powerUser</user:user>
   </soap:Header>
   <soap:Body>
      <ns:createRole>
         <role name="fisRoleArchive">
            <combinator>union</combinator>
            <constituents>
               <roles/>
               <rights>
                  <right outcome="permitted">
                     <query>restrict(or(
                         =(ima:webservice:operationName(ref("webservice:operations")), const("getLogConfig")),
                         =(ima:webservice:operationName(ref("webservice:operations")), const("getLogCustomization")),           
                         =(ima:webservice:operationName(ref("webservice:operations")), const("getProperties")),
                         =(ima:webservice:operationName(ref("webservice:operations")), const("getCurrentTenant")),
                         =(ima:webservice:operationName(ref("webservice:operations")), const("listDocumentTypes")),
                         =(ima:webservice:operationName(ref("webservice:operations")), const("listAttributeTypes")),
                         =(ima:webservice:operationName(ref("webservice:operations")), const("query")),
                         =(ima:webservice:operationName(ref("webservice:operations")), const("createMultipleDocuments")),          
                         =(ima:webservice:operationName(ref("webservice:operations")), const("createDocument")),
                         =(ima:webservice:operationName(ref("webservice:operations")), const("registerBlob")),
                         =(ima:webservice:operationName(ref("webservice:operations")), const("unregisterBlob")),
                         =(ima:webservice:operationName(ref("webservice:operations")), const("writeAuditEvent"))),
                         galaxy(webservice:operations))</query>
                     <functions>
                        <function>execute</function>
                     </functions>
                  </right>
                  <!--may do anything with any revision to be created-->
                  <right outcome="permitted">
                     <query>galaxy(params:createRevision)</query>
                     <functions>
                        <function>create</function>
                     </functions>
                  </right>
                  <!--may do anything with any (persistent) revision-->
                  <right outcome="permitted">
                     <query>galaxy(revisions)</query>
                     <allFunctions/>
                  </right>
                  <!--may do anything with any document-->
                  <right outcome="permitted">
                     <query>galaxy(documents)</query>
                     <allFunctions/>
                  </right>
                  <!--may do anything with any content-->
                  <right outcome="permitted">
                     <query>galaxy(contents)</query>
                     <allFunctions/>
                  </right>
                  <!--may do anything with any (persistent) document type-->
                  <right outcome="permitted">
                     <query>galaxy(documentTypes)</query>
                     <allFunctions/>
                  </right>
                  <!--may do anything with any attribute definition-->
                  <right outcome="permitted">
                     <query>galaxy(attributeDefs)</query>
                     <allFunctions/>
                  </right>
                  <!--may do anything with any attribute type-->
                  <right outcome="permitted">
                     <query>galaxy(attributeTypes)</query>
                     <allFunctions/>
                  </right>
                  <!--may do anything with any binary object-->
                  <right outcome="permitted">
                     <query>galaxy(binaryObjects)</query>
                     <allFunctions/>
                  </right>              
                   <!--may do anything with folders -->
                  <right outcome="permitted">
                     <query>galaxy(folders)</query>
                     <allFunctions/>
                  </right>
                  <right outcome="permitted">
                     <query>galaxy(auditTrail)</query>
                     <allFunctions/>
                  </right>
               </rights>
            </constituents>
            <description>FIS role for commands DeleteMigratedDocument</description>
         </role>
      </ns:createRole>
   </soap:Body>
</soap:Envelope>