You are viewing the documentation for Blueriq 13. Documentation for other versions is available in our documentation directory.

The management service is a SOAP service that allows you to access and edit your studio repository without the use of studio. Everything that the studio does graphically can be done via methods in the management service. You could theoretically build your own studio that connects to the management service. This article describes how to authenticate and the different methods of the management service.

minOccurences in the XSD

Although many parameters in the XSD have a minOccurence of zero, almost all parameters are required. We advise to ignore the <!--Optional:--> line some tools such as SoapUI generate based on the minOccurence.

For authentication, you have to send your credentials with each request to the management service. Depending on your settings in studio, this might for example be Basic or NTLM.

Basic



NTLM

We distinguish different categories of methods:

Dependencies

GetUsedByElementsForGlobalElement

The server will return a dependency for each element that uses the specified element. It will search through all projects and modules that are in scope for the specified element in the specified branch.

ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
projectthe project in which the element is definedrequired
globalElementthe element key of the elementrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetUsedByElementsForGlobalElement>
         <ns:repository>TestRepository</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:project>TestProject</ns:project>
         <ns:globalElement Name="color1" GlobalElementType="PresentationStyle"/>
      </ns:GetUsedByElementsForGlobalElement>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetUsedByElementsForGlobalElementResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <GetUsedByElementsForGlobalElementResult>
            <Dependency>
               <ReferenceType>Usage</ReferenceType>
               <From>
                  <ModuleElement>
                     <Project Name="TestProject"/>
                     <Module Name="main" ModuleType="Interaction"/>
                     <Key Name="testpage" ModuleElementType="Page"/>
                  </ModuleElement>
               </From>
               <To>
                  <Global>
                     <Project Name="Dashboard"/>
                     <Key Name="color1" GlobalElementType="PresentationStyle"/>
                  </Global>
               </To>
            </Dependency>
            <Dependency>
               <ReferenceType>Usage</ReferenceType>
               <From>
                  <ModuleElement>
                     <Project Name="TestProject"/>
                     <Module Name="main" ModuleType="Interaction"/>
                     <Key Name="testcontainer" ModuleElementType="Container"/>
                  </ModuleElement>
               </From>
               <To>
                  <Global>
                     <Project Name="Dashboard"/>
                     <Key Name="color1" GlobalElementType="PresentationStyle"/>
                  </Global>
               </To>
            </Dependency>
         </GetUsedByElementsForGlobalElementResult>
      </GetUsedByElementsForGlobalElementResponse>
   </s:Body>
</s:Envelope>

GetUsedByElementsForModuleElement

The server will return a dependency for each element that uses the specified element. It will search through all projects and modules that are in scope for the specified element in the specified branch.

ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
projectthe project in which the element is definedrequired
modulethe module in which the element is definedrequired
moduleElementthe element key of the elementrequired

If you use inheritance between modules, and specialization of elements, elements and dependencies you are looking for may react differently than expected.

Consider the following example for a module element:
For a repository named ExampleRepository with a branch named ExampleBranch, with in the branch the following project structure:

  • project SpecificProject references GenericProject
    • GenericProject contains module GenericModule
      • GenericModule contains entity and attribute Person.Name
    • SpecificProject contains module SpecificModule, which includes GenericModule
      • SpecificModule contains container PersonView which displays Person.Name
      • SpecificModule contains page Overview which contains PersonView
  • project UnrelatedProject references none
    • UnrelatedProject contains module UnrelatedModule
      • UnrelatedModule contains entity and attribute Person.Name
      • UnrelatedModule contains container PersonView which displays Person.Name

If we use the GetUsedByElementsForModuleElement method with parameters:
repository = ExampleRepository
branch = ExampleBranch
project = GenericProject
module = GenericModule
element key = Attribute, Person.Name

It will return a dependency for

  • PersonView in SpecificModule because
    • SpecificModule includes GenericModule
    • PersonView has a direct reference to Person.Name

But not for

  • Overview in SpecificModule because
    • Overview does not directly reference Person.Name
  • PersonView in UnrelatedModule because
    • there is no include between UnrelatedModule and GenericModule

The returned dependency will contain:

  • ReferenceType: Usage
  • From: ElementKeyReference
    • property ModuleElement will be a reference to PersonView in SpecificModule
    • all other properties will be null
  • To: ElementKeyReference
    • property ModuleElement will be reference Person.Name in GenericModule
    • all other properties will be null

Note that if Person.Name is also specialized in SpecificModule, then the dependency from PersonView in SpecificModule will refer to Person.Name in SpecificModule instead. This means the search with the given parameters will give no results: the search should also be executed for Person.Name in SpecificModule.

Request
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetUsedByElementsForModuleElement xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <repository>TestRepository</repository>
         <branch>Trunk</branch>
         <project>TestProject</project>
         <module Name="main" ModuleType="Interaction"/>
         <moduleElement xsi:type="AttributeKey" Name="test" ModuleElementType="Attribute">
             <Entity xmlns="">test</Entity>
         </moduleElement>
      </GetUsedByElementsForModuleElement>
   </s:Body>
</s:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetUsedByElementsForModuleElementResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <GetUsedByElementsForModuleElementResult>
            <Dependency>
               <ReferenceType>Usage</ReferenceType>
               <From>
                  <ModuleElement>
                     <Project Name="TestProject"/>
                     <Module Name="main" ModuleType="Interaction"/>
                     <Key Name="testpage" ModuleElementType="Page"/>
                  </ModuleElement>
               </From>
               <To>
                  <ModuleElement>
                     <Project Name="TestProject"/>
                     <Module Name="main" ModuleType="Interaction"/>
                     <Key xsi:type="AttributeKey" Name="test" ModuleElementType="Attribute">
                        <Entity xmlns="">test</Entity>
                     </Key>
                  </ModuleElement>
               </To>
            </Dependency>
            <Dependency>
               <ReferenceType>Usage</ReferenceType>
               <From>
                  <ModuleElement>
                     <Project Name="TestProject"/>
                     <Module Name="main" ModuleType="Interaction"/>
                     <Key Name="testcontainer" ModuleElementType="Container"/>
                  </ModuleElement>
               </From>
               <To>
                  <ModuleElement>
                     <Project Name="TestProject"/>
                     <Module Name="main" ModuleType="Interaction"/>
                     <Key xsi:type="AttributeKey" Name="test" ModuleElementType="Attribute">
                        <Entity xmlns="">test</Entity>
                     </Key>
                  </ModuleElement>
               </To>
            </Dependency>
         </GetUsedByElementsForModuleElementResult>
      </GetUsedByElementsForModuleElementResponse>
   </s:Body>
</s:Envelope>

GetUseElementsForGlobalElement

The server will return a dependency for each element that is used by the specified element. 

ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
projectthe project in which the element is definedrequired
globalElementthe name and the global element type of the global elementrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetUseElementsForGlobalElement>
         <ns:repository>DCM</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:project>Main_Dashboard</ns:project>
         <ns:globalElement Name="MyContentStyle" GlobalElementType="ContentStyle"/>
      </ns:GetUseElementsForGlobalElement>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetUseElementsForGlobalElementResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <GetUseElementsForGlobalElementResult>
            <Dependency>
               <ReferenceType>Usage</ReferenceType>
               <From>
                  <Global>
                     <Project Name="Main_Dashboard"/>
                     <Key Name="MyContentStyle" GlobalElementType="ContentStyle"/>
                  </Global>
               </From>
               <To>
                  <Global>
                     <Project Name="AquimaTheme"/>
                     <Key Name="Anchor" GlobalElementType="ContentStyle"/>
                  </Global>
               </To>
            </Dependency>
         </GetUseElementsForGlobalElementResult>
      </GetUseElementsForGlobalElementResponse>
   </s:Body>
</s:Envelope>

GetUseElementsForModuleElement

The server will return a dependency for each element that is used by the specified element. 

ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
projectthe project in which the element is definedrequired
modulethe module name and module type in which the element is definedrequired
moduleElementthe name and the module element type of the module elementrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetUseElementsForModuleElement>
         <ns:repository>DCM</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:project>Main_Dashboard</ns:project>
         <ns:module Name="Dashboard" ModuleType="Interaction"/>
         <ns:moduleElement Name="MyExampleContainer" ModuleElementType="Container"/>
      </ns:GetUseElementsForModuleElement>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetUseElementsForModuleElementResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <GetUseElementsForModuleElementResult>
            <Dependency>
               <ReferenceType>Usage</ReferenceType>
               <From>
                  <ModuleElement>
                     <Project Name="Main_Dashboard"/>
                     <Module Name="Dashboard" ModuleType="Interaction"/>
                     <Key Name="MyExampleContainer" ModuleElementType="Container"/>
                  </ModuleElement>
               </From>
               <To>
                  <ModuleElement>
                     <Project Name="Basis_Functionaliteit"/>
                     <Module Name="Basis_Functionaliteit" ModuleType="Interaction"/>
                     <Key Name="Document" ModuleElementType="Entity"/>
                  </ModuleElement>
               </To>
            </Dependency>
            <Dependency>
               <ReferenceType>Usage</ReferenceType>
               <From>
                  <ModuleElement>
                     <Project Name="Main_Dashboard"/>
                     <Module Name="Dashboard" ModuleType="Interaction"/>
                     <Key Name="MyExampleContainer" ModuleElementType="Container"/>
                  </ModuleElement>
               </From>
               <To>
                  <ModuleElement>
                     <Project Name="Basis_Functionaliteit"/>
                     <Module Name="Basis_Functionaliteit" ModuleType="Interaction"/>
                     <Key xsi:type="AttributeKey" Name="Id" ModuleElementType="Attribute">
                        <Entity xmlns="">Document</Entity>
                     </Key>
                  </ModuleElement>
               </To>
            </Dependency>
         </GetUseElementsForModuleElementResult>
      </GetUseElementsForModuleElementResponse>
   </s:Body>
</s:Envelope>

Exports

ExportBranch

ExportLibrary

ExportPackage

ExportProject

Exports the working revision of a project. The server will return the bytes of a ZIP file containing the project export.

ParameterParameter descriptionRequired/optional
repositorythe repository in which the project to be exported is locatedrequired
branchthe branch in which the project to be exported is locatedrequired
projectthe project to be exportedrequired
encrypta boolean flag indicating whether the export should be encryptedrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:ExportProject>
         <ns:repository>TestRepository</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:project>TestProject</ns:project>
         <ns:encrypt>false</ns:encrypt>
      </ns:ExportProject>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ExportProjectResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <ExportProjectResult ContentType="application/zip">
            <Content>UEsDBBQACAA ... CxJwAAAAA=</Content>
         </ExportProjectResult>
      </ExportProjectResponse>
   </s:Body>
</s:Envelope>

ExportProjectRevision

Exports a project at a specific revision. The server will return the bytes of a ZIP file containing the project export.

ParameterParameter descriptionRequired/optional
repositorythe repository in which the project to be exported is locatedrequired
branchthe branch in which the project to be exported is locatedrequired
revisionIdthe revision to be exported, requiredrequired
projectthe project to be exportedrequired
encrypta boolean flag indicating whether the export should be encryptedrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:ExportProjectRevision>
         <ns:repository>TestRepository</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:revisionId>b1372603-4705-4728-8ef4-198477f97e6e</ns:revisionId>
         <ns:project>TestProject</ns:project>
         <ns:encrypt>false</ns:encrypt>
      </ns:ExportProjectRevision>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ExportProjectRevisionResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <ExportProjectRevisionResult ContentType="application/zip">
            <Content>UEsDBBQ ... CeIQAAAAA=</Content>
         </ExportProjectRevisionResult>
      </ExportProjectRevisionResponse>
   </s:Body>
</s:Envelope>

ExportProjectWithMetadata

Elements

FindGlobalElementProject

FindGlobalElements

FindModuleProject

GetAllGlobalElements

GetAllModuleElements

GetGlobalElement

GetGlobalElements

GetModuleElement

The server will return a description of the element with all the settings which can be configured in studio.

For certain elements a special type is required to uniquely identify an element in studio. An example are attributes, as an attribute with the same name can be defined multiple times for different entities. To find all of these special cases, search the wsdl for elements which have base="tns:ModuleElementKey". If you expand the example below we show how to work with attributes.

ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
projectthe revision to be exportedrequired
modulethe project in which the element is definedrequired
moduleElementThe Name and Type of the module element which should be returnedrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetModuleElement>
         <ns:repository>TestRepository</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:project>TestProject</ns:project>
         <ns:module Name="Main" ModuleType="Interaction"/>
         <ns:moduleElement xsi:type="ns:AttributeKey" Name="DateOfBirth" ModuleElementType="Attribute">
                <Entity>Person</Entity>
         </ns:moduleElement>
      </ns:GetModuleElement>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetModuleElementResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <GetModuleElementResult xsi:type="Attribute" Name="DateOfBirth" Entity="Person" DataType="Date" MultiValued="false" Askable="true" ActsAsReference="false">
            <Comments xmlns=""/>
            <Tags xmlns="">
               <Tag>
                  <Name>Person</Name>
               </Tag>
            </Tags>
            <QuestionText xmlns="">
               <Text Language="dutch">
                  <Value>Date of Birth</Value>
               </Text>
            </QuestionText>
            <ExplainText xmlns=""/>
            <ValidationRules xmlns=""/>
         </GetModuleElementResult>
      </GetModuleElementResponse>
   </s:Body>
</s:Envelope>

GetModuleElements

The server will return a list of module elements which matches the specified type within the chosen project.

ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
projectthe project in which the element is definedrequired
modulethe module in which the element is definedrequired
elementTypethe type of element that you want to be returnedrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetModuleElements>
         <ns:repository>TestRepository</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:project>TestProject</ns:project>
         <ns:module Name="main" ModuleType="Interaction"/>
         <ns:elementType>Attribute</ns:elementType>
      </ns:GetModuleElements>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetModuleElementsResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <GetModuleElementsResult>
            <ModuleElementKey xsi:type="AttributeKey" Name="DateOfBirth" ModuleElementType="Attribute">
               <Entity xmlns="">Person</Entity>
            </ModuleElementKey>
            <ModuleElementKey xsi:type="AttributeKey" Name="Name" ModuleElementType="Attribute">
               <Entity xmlns="">Person</Entity>
            </ModuleElementKey>
         </GetModuleElementsResult>
      </GetModuleElementsResponse>
   </s:Body>
</s:Envelope>

GetMostSpecificModuleElement

This method searches for an element in a given branch, project or module. It is equivalent to the search functionality present in studio.

ParameterParameter descriptionPossible ValuesRequired / Optional
SearchTypeIn what scope you would like to searchBranch, ProjectStructure, SingleProject, ModuleScoperequired
Repositorythe repository in which the search is performed
required
Branchthe branch in which the search is performed
required
Projectthe projectin which the search is performed
optional
Modulethe module in which the search is performed
optional
SearchStringthe string to be searched for
required
SearchInNamesa boolean indicating whether to search in names of elementstrue, falserequired
SearchInDependenciesa boolean indicating whether to search in the dependencies of an elementtrue, falserequired
IncludeGlobalElementsa boolean indicating whether to search in global elementstrue, falserequired
IncludeModuleElementsa boolean indicating whether to search in module elementstrue, falserequired
FullTexta boolean indicating if a full text search should be performedtrue, falserequired
CaseSensitivea boolean indicating that the search should be performed in a case-sensitive mannertrue, falserequired

To make this method useful, the caller should make sure that:

  • at least one of IncludeGlobalElements or IncludeModuleElements should be true
  • at least one of SearchInNamesSearchInDependencies or FullText should be true


Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:Search>
         <ns:parameters>
            <ns:SearchType>ModuleScope</ns:SearchType>
            <ns:Repository>HospitalDCM</ns:Repository>
            <ns:Branch>Trunk</ns:Branch>
            <ns:Project>HospitalDCM</ns:Project>
            <ns:Module Name="Dashboard" ModuleType="Interaction"/>
            <ns:SearchString>Menu</ns:SearchString>
            <ns:SearchInNames>1</ns:SearchInNames>
            <ns:SearchInDependencies>0</ns:SearchInDependencies>
            <ns:IncludeGlobalElements>0</ns:IncludeGlobalElements>
            <ns:IncludeModuleElements>1</ns:IncludeModuleElements>
            <ns:FullText>0</ns:FullText>
            <ns:CaseSensitive>0</ns:CaseSensitive>
         </ns:parameters>
      </ns:Search>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <SearchResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <SearchResult>
            <SearchResultItem xsi:type="ElementSearchResultItem">
               <Element>
                  <ModuleElement>
                     <Project Name="HospitalDCM"/>
                     <Module Name="Dashboard" ModuleType="Interaction"/>
                     <Key Name="MenuBar" ModuleElementType="Container"/>
                  </ModuleElement>
               </Element>
            </SearchResultItem>
            <SearchResultItem xsi:type="ElementSearchResultItem">
               <Element>
                  <ModuleElement>
                     <Project Name="HospitalDCM"/>
                     <Module Name="Dashboard" ModuleType="Interaction"/>
                     <Key Name="Dashboard_Menu" ModuleElementType="Container"/>
                  </ModuleElement>
               </Element>
            </SearchResultItem>
            <SearchResultItem xsi:type="ElementSearchResultItem">
               <Element>
                  <ModuleElement>
                     <Project Name="HospitalDCM"/>
                     <Module Name="Dashboard" ModuleType="Interaction"/>
                     <Key Name="DashboardMenu" ModuleElementType="FlowEvent"/>
                  </ModuleElement>
               </Element>
            </SearchResultItem>
         </SearchResult>
      </SearchResponse>
   </s:Body>
</s:Envelope>

Imports

ImportBranch

The user can check a box to delete existing elements in the current branch that are not included in the imported branch. By checking this box, the imported branch will be identical to the exported branch. 

ImportLibrary

ImportSpecification

Project Structure

GetModule

GetModules

GetPackage

GetPackages

GetProject

GetProjects

ReadLibraryMetadata

UnitTests

ExecuteAllUnitTests

Returns the result of all unit tests that are defined within a specific module scope. 

ParameterParameter descriptionRequired/optional
repositoryThe name of the repository of which the the unit tests have to be executedrequired
branchThe name of the branch of which the the unit tests have to be executedrequired
projectThe name of the project of which the the unit tests have to be executedrequired
moduleThe module scope of which the unit tests have to be executed. This includes tests and logic defined in the given module and all underlying modules. required
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:ExecuteAllUnitTests>
         <ns:repository>Kinderbijslag</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:project>Kinderbijslag</ns:project>
         <ns:module Name="Top" ModuleType="Interaction"/>
      </ns:ExecuteAllUnitTests>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ExecuteAllUnitTestsResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <ExecuteAllUnitTestsResult>
            <Succeeded>true</Succeeded>
            <Results>
               <UnitTestReport>
                  <UnitTestName>SoortKind_AangehuwdKind</UnitTestName>
                  <ProfileResults>
                     <ProfileResult>
                        <ProfileId>0</ProfileId>
                        <UnitTestResult>
                           <ExpectedValue>
                              <string>AangehuwdKind</string>
                           </ExpectedValue>
                           <SourcedValue>
                              <string>AangehuwdKind</string>
                           </SourcedValue>
                           <Succeeded>true</Succeeded>
                        </UnitTestResult>
                     </ProfileResult>
                  </ProfileResults>
               </UnitTestReport>
               <UnitTestReport>
                  <UnitTestName>SoortKind</UnitTestName>
                  <ProfileResults>
                     <ProfileResult>
                        <ProfileId>0</ProfileId>
                        <UnitTestResult>
                           <ExpectedValue>
                              <string>Pleegkind</string>
                           </ExpectedValue>
                           <SourcedValue>
                              <string>PleegKind</string>
                           </SourcedValue>
                           <Succeeded>true</Succeeded>
                        </UnitTestResult>
                     </ProfileResult>
                  </ProfileResults>
               </UnitTestReport>
            </Results>
         </ExecuteAllUnitTestsResult>
      </ExecuteAllUnitTestsResponse>
   </s:Body>
</s:Envelope>

ExecuteUnitTests

Returns the result of a list of specified unit tests, defined within a specific module scope. 

ParameterParameter descriptionRequired/optional
repositoryThe name of the repository of which the the unit tests have to be executedrequired
branchThe name of the branch of which the the unit tests have to be executedrequired
projectThe name of the project of which the the unit tests have to be executedrequired
moduleThe module scope of which the unit tests have to be executed. In contrast to the "ExecuteAllUnitTests" method, unlderlying modules are ignored here. required
unittestsA list of unit tests to be run. In case no unit tests are submitted, the result will be "succeed". optional
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:ExecuteUnitTests>
 	    <ns:repository>Kinderbijslag</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:project>Kinderbijslag</ns:project>
         <ns:module Name="Top" ModuleType="Interaction"/>
         <ns:unittests>
            <ns:string>SoortKind_AangehuwdKind</ns:string>
            <ns:string>SoortKind_PleegKind</ns:string>
         </ns:unittests>
      </ns:ExecuteUnitTests>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ExecuteUnitTestsResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <ExecuteUnitTestsResult>
            <Succeeded>false</Succeeded>
            <Results>
               <UnitTestReport>
                  <UnitTestName>SoortKind_AangehuwdKind</UnitTestName>
                  <ProfileResults>
                     <ProfileResult>
                        <ProfileId>0</ProfileId>
                        <UnitTestResult>
                           <ExpectedValue>
                              <string>AangehuwdKind</string>
                           </ExpectedValue>
                           <SourcedValue>
                              <string>AangehuwdKind</string>
                           </SourcedValue>
                           <Succeeded>true</Succeeded>
                        </UnitTestResult>
                     </ProfileResult>
                  </ProfileResults>
               </UnitTestReport>
               <UnitTestReport>
                  <UnitTestName>SoortKind_PleegKind</UnitTestName>
                  <ProfileResults>
                     <ProfileResult>
                        <ProfileId>0</ProfileId>
                        <UnitTestResult>
                           <ExpectedValue>
                              <string>Pleegkin</string>
                           </ExpectedValue>
                           <SourcedValue>
                              <string>PleegKind</string>
                           </SourcedValue>
                           <Succeeded>false</Succeeded>
                        </UnitTestResult>
                     </ProfileResult>
                  </ProfileResults>
               </UnitTestReport>
            </Results>
         </ExecuteUnitTestsResult>
      </ExecuteUnitTestsResponse>
   </s:Body>
</s:Envelope>

Version Management

Commit

CreateBranch

CreateBranchType

CreateFeatureBranch

CreateFeatureBranchOnRevision

CreateRepository

DeleteRepository

DeleteBranch

DeleteBranchType

GetRepository

GetRepositories

GetBranch

GetBranches

GetBranchType

GetBranchTypes

GetProjectsForRevision

GetRevision

GetRevisionChanges

Returns the changes in a specific revision.

ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
revisionthe revision whose changes are to be retrievedrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetRevisionChanges>
         <!--Optional:-->
         <ns:repository>TestRepository</ns:repository>
         <!--Optional:-->
         <ns:branch>Trunk</ns:branch>
         <!--Optional:-->
         <ns:revision>eadcb8e1-c306-4ea0-a983-162afa863473</ns:revision>
      </ns:GetRevisionChanges>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetRevisionChangesResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <GetRevisionChangesResult>
            <ElementChange>
               <Type>Create</Type>
               <CurrentKey>
                  <ModuleElement>
                     <Project Name="TestProject"/>
                     <Module Name="TestModule" ModuleType="Interaction"/>
                     <Key Name="Address" ModuleElementType="Entity"/>
                  </ModuleElement>
               </CurrentKey>
            </ElementChange>
            <ElementChange>
               <Type>Create</Type>
               <CurrentKey>
                  <ModuleElement>
                     <Project Name="TestProject"/>
                     <Module Name="TestModule" ModuleType="Interaction"/>
                     <Key xsi:type="AttributeKey" Name="Street" ModuleElementType="Attribute">
                        <Entity xmlns="">Address</Entity>
                     </Key>
                  </ModuleElement>
               </CurrentKey>
            </ElementChange>
            <ElementChange>
               <Type>Create</Type>
               <CurrentKey>
                  <ModuleElement>
                     <Project Name="TestProject"/>
                     <Module Name="TestModule" ModuleType="Interaction"/>
                     <Key xsi:type="RelationKey" Name="hasAddress" ModuleElementType="Relation">
                        <Entity xmlns="">Person</Entity>
                     </Key>
                  </ModuleElement>
               </CurrentKey>
            </ElementChange>
         </GetRevisionChangesResult>
      </GetRevisionChangesResponse>
   </s:Body>
</s:Envelope>


GetRevisionDescriptor

GetRevisions

Returns a list of revisions in a specified repository and branch.

ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
startIndexthe index of the first included revisionrequired
amountthe number of revisions to include; a negative amount includes all revisionsrequired
taggedOnlyboolean flag indicating whether to include only tagged revisionsrequired
includeMergeRevisionsboolean flag indicating whether to include merge revisionsrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetRevisions>
         <ns:repository>TestRepository</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:startIndex>0</ns:startIndex>
         <ns:amount>-1</ns:amount>
         <ns:taggedOnly>false</ns:taggedOnly>
         <ns:includeMergeRevisions>true</ns:includeMergeRevisions>
      </ns:GetRevisions>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetRevisionsResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <GetRevisionsResult>
            <Revision>
               <CommitTime>2015-02-21T22:07:36.857</CommitTime>
               <RevisionId>147513d0-558e-4562-8281-595a6471d1aa</RevisionId>
               <Message>created new entity</Message>
               <Committer>admin</Committer>
               <Branch>Trunk</Branch>
               <ParentRevisionIds>b1372603-4705-4728-8ef4-198477f97e6e</ParentRevisionIds>
               <Tags>tag1</Tags>
            </Revision>
            <Revision>
               <CommitTime>2015-02-17T15:05:14.213</CommitTime>
               <RevisionId>b1372603-4705-4728-8ef4-198477f97e6e</RevisionId>
               <Message>initial commit in Trunk</Message>
               <Committer>admin</Committer>
               <Branch>Trunk</Branch>
               <ParentRevisionIds>7371efb5-be0d-43fb-ba54-287836daedd6</ParentRevisionIds>
            </Revision>
            <Revision>
               <CommitTime>2015-02-13T13:14:39.353</CommitTime>
               <RevisionId>7371efb5-be0d-43fb-ba54-287836daedd6</RevisionId>
               <Message>Branch created</Message>
               <Committer>admin</Committer>
               <Branch>Trunk</Branch>
            </Revision>
         </GetRevisionsResult>
      </GetRevisionsResponse>
   </s:Body>
</s:Envelope>

GetRevisionsWithLeveledMergedRevisions

Returns a list of revisions in a specified repository and branch, with the option to request a certain level of merged revisions

Usage recommendation : this method can be used as a better performing variant of the GetRevisions operation (with the includeMergeRevisions flag set to true).  

ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
startIndexthe index of the first included revisionrequired
amountthe number of revisions to include; a negative amount includes all revisionsrequired
taggedOnlyboolean flag indicating whether to include only tagged revisionsrequired
levelthe level of merge revision to include; a negative amount includes all levels of merged revisionsrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetRevisionsWithLeveledMergeRevisions>
         <ns:repository>TestRepository</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:startIndex>0</ns:startIndex>
         <ns:amount>10</ns:amount>
         <ns:taggedOnly>false</ns:taggedOnly>
         <ns:level>1</ns:level>
      </ns:GetRevisionsWithLeveledMergeRevisions>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetRevisionsWithLeveledMergeRevisionsResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <GetRevisionsWithLeveledMergeRevisionsResult>
            <Revision>
               <CommitTime>2016-11-29T13:30:18.277</CommitTime>
               <RevisionId>99a878f4-5338-4910-974c-b5749303f7fe</RevisionId>
               <Message>update from A B C</Message>
               <Committer>admin</Committer>
               <Branch>Trunk</Branch>
               <ParentRevisionIds>64bac7d9-7140-4669-b3de-a8f0c98db5cf</ParentRevisionIds>
               <ParentRevisionIds>6fd443ee-9a20-431f-8d91-b7b1a85bc217</ParentRevisionIds>
               <MergeRevisions>
                  <CommitTime>2016-11-29T13:28:42.4</CommitTime>
                  <RevisionId>6fd443ee-9a20-431f-8d91-b7b1a85bc217</RevisionId>
                  <Message>update from Team b &amp; C</Message>
                  <Committer>admin</Committer>
                  <Branch>TeamA</Branch>
                  <ParentRevisionIds>300c5d5c-08a5-4184-8c47-db7eb2aa1466</ParentRevisionIds>
               </MergeRevisions>
               <MergeRevisions>
                  <CommitTime>2016-11-28T17:39:01.007</CommitTime>
                  <RevisionId>300c5d5c-08a5-4184-8c47-db7eb2aa1466</RevisionId>
                  <Message>update from Trunk</Message>
                  <Committer>admin</Committer>
                  <Branch>TeamA</Branch>
                  <ParentRevisionIds>c00795a2-2c4d-4d12-be7d-35e3ea8d636d</ParentRevisionIds>
               </MergeRevisions>
            </Revision>
            <Revision>
               <CommitTime>2016-11-28T17:38:00.823</CommitTime>
               <RevisionId>64bac7d9-7140-4669-b3de-a8f0c98db5cf</RevisionId>
               <Message>create entity C on Trunk</Message>
               <Committer>admin</Committer>
               <Branch>Trunk</Branch>
               <ParentRevisionIds>6f8c6390-dcb2-402d-b6bb-dc33bcdfce42</ParentRevisionIds>
            </Revision>
            <Revision>
               <CommitTime>2016-11-28T17:37:39.927</CommitTime>
               <RevisionId>6f8c6390-dcb2-402d-b6bb-dc33bcdfce42</RevisionId>
               <Message>merge with teamA</Message>
               <Committer>admin</Committer>
               <Branch>Trunk</Branch>
               <ParentRevisionIds>311d5dd3-8931-4e5c-99e5-0b3f22c47571</ParentRevisionIds>
               <ParentRevisionIds>c00795a2-2c4d-4d12-be7d-35e3ea8d636d</ParentRevisionIds>
               <MergeRevisions>
                  <CommitTime>2016-11-28T17:36:44.877</CommitTime>
                  <RevisionId>c00795a2-2c4d-4d12-be7d-35e3ea8d636d</RevisionId>
                  <Message>commit on TeamA branch</Message>
                  <Committer>admin</Committer>
                  <Branch>TeamA</Branch>
                  <ParentRevisionIds>311d5dd3-8931-4e5c-99e5-0b3f22c47571</ParentRevisionIds>
               </MergeRevisions>
            </Revision>
            <Revision>
               <CommitTime>2016-11-28T17:09:25.783</CommitTime>
               <RevisionId>311d5dd3-8931-4e5c-99e5-0b3f22c47571</RevisionId>
               <Message>initial commit on Trunk</Message>
               <Committer>admin</Committer>
               <Branch>Trunk</Branch>
               <ParentRevisionIds>f9db26db-ca13-4154-a8dc-2c05fa81eda1</ParentRevisionIds>
            </Revision>
            <Revision>
               <CommitTime>2016-11-28T17:08:58.74</CommitTime>
               <RevisionId>f9db26db-ca13-4154-a8dc-2c05fa81eda1</RevisionId>
               <Message>Created repository</Message>
               <Committer>admin</Committer>
               <Branch>Trunk</Branch>
            </Revision>
         </GetRevisionsWithLeveledMergeRevisionsResult>
      </GetRevisionsWithLeveledMergeRevisionsResponse>
   </s:Body>
</s:Envelope>

MergeBranch

MergeRevision

SetTags

UpdateRepository

UpdateBranch

UpdateBranchType

Other Methods

ApplyOperations

This operation allows for applying changes to the model in a particular branch. The list of operations is applied in the order in which they are provided (meaning that a creation operation of e.g. a module must precede the creation of module elements within it) and there can only be a single operation per element, otherwise this request will fail.

This request is executed atomically; either all operations succeed or the whole request is rejected.

ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
operationsthe list of operations to apply.required

The list of operations must contain OperationEntry  elements with exactly one child element according to the type of element (ProjectOperation, PackageOperation, GlobalOperation, ModuleOperation, or ModuleElementOperation) that is being changed in that OperationEntry

A ModuleElementOperation  can either be a Create , Update , or Delete  operation. In the case of Update , you need to be aware that the element is updated with the exact request data; optional elements that are omitted will be cleared instead of using their prior value as fallback. If the name of the OriginalKey  and the name determined by the ModuleElement  element differ then the element will be renamed, with "Update References" behavior enabled (this cannot be disabled).

The OriginalKey  may take a specialized type depending on the type of element. In particular, all elements with a compound key require a dedicated type: attributes (AttributeKey), relations (RelationKey) and static instances (StaticInstanceKey). These types of key need an explicit xsi:type  specification, where xsi  is the XML Schema Instance namespace that needs to be declared in the SOAP envelope element (please refer to the example below).

Similarly, the ModuleElement  element always needs an explicit xsi:type  specification, as the ModuleElement  element is of the abstract ModuleElement  complex type. Hence, a concrete subtype needs to be given using xsi:type . Please be aware that the specified type name must include the namespace alias of the management service, which is ns  in the example below (per the xmlns:ns  declaration on the SOAP envelope element).

Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:ApplyOperations>
         <ns:repository>TestRepository</ns:repository>
         <ns:branch>Trunk</ns:branch>
         <ns:operations>
            <ns:Operations>
               <ns:OperationEntry>
                  <ns:ModuleElementOperation Type="Create" GenerateLayout="false">
                     <ns:Project>ExampleProject</ns:Project>
                     <ns:Module Name="MainModule" ModuleType="Interaction"/>
                     <ns:OriginalKey xsi:type="ns:AttributeKey" Entity="MyEntity" Name="MyAttribute" ModuleElementType="Attribute"/>
                     <ns:ModuleElement xsi:type="ns:Attribute"
                        Entity="MyEntity" Name="MyAttribute"
                        DataType="String" MultiValued="false" Askable="false"
                        ActsAsReference="false"></ns:ModuleElement>
                  </ns:ModuleElementOperation>
               </ns:OperationEntry>
            </ns:Operations>
         </ns:operations>
      </ns:ApplyOperations>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ApplyOperationsResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0"/>
   </s:Body>
</s:Envelope>

EvaluateExpression

GetCurrentIdentity

GetDataSource

GetLicenseData

GetStatus

GetStatusMaxDepth

Returns a list of revisions which are the pending revisions  to be commited(accepted in the branch). Same as GetStatus. The maxMergedRevisionsDepth service was added because the GetStatus service retrieved HUGE amount of data which was mostly repetitive in very big pending revisions structures. Suggested maxMergedRevisionsDepth values: 5-10.

ParameterParameter descriptionRequired/optional
repositorythe repository to search inrequired
branchthe branch to search inrequired
maxMergedRevisionsDepththe maximum depth which is search is the revision treerequired
Request
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
    <x:Header/>
    <x:Body>
        <ns:GetStatusMaxDepth>
            <ns:repository>FunStuff</ns:repository>
            <ns:branch>branch9</ns:branch>
            <ns:maxMergedRevisionsDepth>3</ns:maxMergedRevisionsDepth>
        </ns:GetStatusMaxDepth>
    </x:Body>
</x:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <GetStatusMaxDepthResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
            <GetStatusMaxDepthResult>
                <TipRevision>2538eada-bb93-46a7-948c-c9e9f7f68cc1</TipRevision>
                <WorkingRevision>cbde6cb1-b3ff-44b0-91b2-73afbeee423b</WorkingRevision>
                <Commitable>true</Commitable>             
                <Changes>
                    <Type>Create</Type>
                    <CurrentKey>
                        <Project>
                            <Key>branch4project</Key>
                        </Project>
                    </CurrentKey>
                </Changes>
                <Changes>
                    <Type>Create</Type>
                    <CurrentKey>
                        <Project>
                            <Key>brnach3project</Key>
                        </Project>
                    </CurrentKey>
                </Changes>
                <Changes>
                    <Type>Create</Type>
                    <CurrentKey>
                        <Project>
                            <Key>branch2Project</Key>
                        </Project>
                    </CurrentKey>
                </Changes>
                <MergeRevisions>
                    <CommitTime>2017-03-15T13:56:23.793</CommitTime>
                    <RevisionId>9796f7eb-060e-42dd-bef2-927078e94609</RevisionId>
                    <Message>aaa</Message>
                    <Committer>admin</Committer>
                    <Branch>branch6</Branch>
                    <ParentRevisionIds>55a73f9d-3b31-4852-bcc0-08558bb1ed62</ParentRevisionIds>
                    <ParentRevisionIds>014c231e-9381-47f5-96b8-8a2692ad9b54</ParentRevisionIds>
                    <MergeRevisions>
                        <CommitTime>2017-03-15T13:52:31.093</CommitTime>
                        <RevisionId>014c231e-9381-47f5-96b8-8a2692ad9b54</RevisionId>
                        <Message>aaa</Message>
                        <Committer>admin</Committer>
                        <Branch>branch7</Branch>
                        <ParentRevisionIds>26138c8c-28ce-4f1c-9939-5bbdfd8e96b5</ParentRevisionIds>
                        <ParentRevisionIds>250332f3-8b42-4eb3-ab4b-6e793898cf93</ParentRevisionIds>
                        <MergeRevisions>
                            <CommitTime>2017-03-15T13:45:44.017</CommitTime>
                            <RevisionId>250332f3-8b42-4eb3-ab4b-6e793898cf93</RevisionId>
                            <Message>q1</Message>
                            <Committer>admin</Committer>
                            <Branch>branch4</Branch>
                            <ParentRevisionIds>17d4af9d-bce7-4ca2-a35d-bf48a88644ec</ParentRevisionIds>
                            <ParentRevisionIds>5fe5fd12-4610-422c-9496-e18130dc822b</ParentRevisionIds>
                        </MergeRevisions>
                        <MergeRevisions>
                            <CommitTime>2017-03-15T13:33:13.96</CommitTime>
                            <RevisionId>17d4af9d-bce7-4ca2-a35d-bf48a88644ec</RevisionId>
                            <Message>a1</Message>
                            <Committer>admin</Committer>
                            <Branch>branch4</Branch>
                            <ParentRevisionIds>cd2ba04a-93c1-4db8-bf94-4d8a4f991994</ParentRevisionIds>
                            <ParentRevisionIds>e1418147-b136-4515-814e-8dd44cfd6aa4</ParentRevisionIds>
                        </MergeRevisions>
                        <MergeRevisions>
                            <CommitTime>2017-03-15T13:31:55.617</CommitTime>
                            <RevisionId>cd2ba04a-93c1-4db8-bf94-4d8a4f991994</RevisionId>
                            <Message>a1</Message>
                            <Committer>admin</Committer>
                            <Branch>branch4</Branch>
                            <ParentRevisionIds>2538eada-bb93-46a7-948c-c9e9f7f68cc1</ParentRevisionIds>
                        </MergeRevisions>
                    </MergeRevisions>
                    <MergeRevisions>
                        <CommitTime>2017-03-15T13:52:10.137</CommitTime>
                        <RevisionId>26138c8c-28ce-4f1c-9939-5bbdfd8e96b5</RevisionId>
                        <Message>a5</Message>
                        <Committer>admin</Committer>
                        <Branch>branch7</Branch>
                        <ParentRevisionIds>971d60ba-b70b-42d2-b6b2-3c08ca383282</ParentRevisionIds>
                        <ParentRevisionIds>95615b39-ad82-4932-bc5e-94234183f103</ParentRevisionIds>
                        <MergeRevisions>
                            <CommitTime>2017-03-15T13:47:20.46</CommitTime>
                            <RevisionId>95615b39-ad82-4932-bc5e-94234183f103</RevisionId>
                            <Message>a1</Message>
                            <Committer>admin</Committer>
                            <Branch>Branch5</Branch>
                            <ParentRevisionIds>8b6fb392-bb40-4274-b8f8-635f6049fdf7</ParentRevisionIds>
                            <ParentRevisionIds>4c57d9c4-8a4c-4a84-a535-c5b5cdb926f0</ParentRevisionIds>
                        </MergeRevisions>
                    </MergeRevisions>
                </MergeRevisions>
                <MergeRevisions>
                    <CommitTime>2017-03-15T13:55:53.077</CommitTime>
                    <RevisionId>55a73f9d-3b31-4852-bcc0-08558bb1ed62</RevisionId>
                    <Message>a44</Message>
                    <Committer>admin</Committer>
                    <Branch>branch6</Branch>
                    <ParentRevisionIds>ac9ce6f0-d814-4a69-b0cc-5205509d4a65</ParentRevisionIds>
                    <ParentRevisionIds>abeedd37-9c04-4783-8850-1dd2f1ded126</ParentRevisionIds>
                    <MergeRevisions>
                        <CommitTime>2017-03-15T13:46:42.007</CommitTime>
                        <RevisionId>abeedd37-9c04-4783-8850-1dd2f1ded126</RevisionId>
                        <Message>save</Message>
                        <Committer>admin</Committer>
                        <Branch>branch4</Branch>
                        <ParentRevisionIds>f81a0556-3891-49f4-ade8-3d6abe3dcbfe</ParentRevisionIds>
                        <ParentRevisionIds>4c57d9c4-8a4c-4a84-a535-c5b5cdb926f0</ParentRevisionIds>
                        <MergeRevisions>
                            <CommitTime>2017-03-15T13:45:16.333</CommitTime>
                            <RevisionId>4c57d9c4-8a4c-4a84-a535-c5b5cdb926f0</RevisionId>
                            <Message>merge</Message>
                            <Committer>admin</Committer>
                            <Branch>Trunk</Branch>
                            <ParentRevisionIds>d137f43d-fce9-4d08-8f51-aca31e7dc720</ParentRevisionIds>
                            <ParentRevisionIds>17d4af9d-bce7-4ca2-a35d-bf48a88644ec</ParentRevisionIds>
                        </MergeRevisions>
                        <MergeRevisions>
                            <CommitTime>2017-03-15T13:44:44.5</CommitTime>
                            <RevisionId>d137f43d-fce9-4d08-8f51-aca31e7dc720</RevisionId>
                            <Message>merge</Message>
                            <Committer>admin</Committer>
                            <Branch>Trunk</Branch>
                            <ParentRevisionIds>8b6fb392-bb40-4274-b8f8-635f6049fdf7</ParentRevisionIds>
                            <ParentRevisionIds>233e802d-7392-459e-a5a4-32baf676c344</ParentRevisionIds>
                        </MergeRevisions>
                        <MergeRevisions>
                            <CommitTime>2017-03-15T13:43:40.307</CommitTime>
                            <RevisionId>8b6fb392-bb40-4274-b8f8-635f6049fdf7</RevisionId>
                            <Message>mergeIntoMaster</Message>
                            <Committer>admin</Committer>
                            <Branch>Trunk</Branch>
                            <ParentRevisionIds>53ec7bf3-0d47-4763-9f9d-d7e733f5c802</ParentRevisionIds>
                            <ParentRevisionIds>5fe5fd12-4610-422c-9496-e18130dc822b</ParentRevisionIds>
                        </MergeRevisions>
                        <MergeRevisions>
                            <CommitTime>2017-03-15T13:37:29.477</CommitTime>
                            <RevisionId>53ec7bf3-0d47-4763-9f9d-d7e733f5c802</RevisionId>
                            <Message>a1</Message>
                            <Committer>admin</Committer>
                            <Branch>Trunk</Branch>
                            <ParentRevisionIds>2538eada-bb93-46a7-948c-c9e9f7f68cc1</ParentRevisionIds>
                        </MergeRevisions>
                    </MergeRevisions>
                </MergeRevisions>              
            </GetStatusMaxDepthResult>
        </GetStatusMaxDepthResponse>
    </s:Body>
</s:Envelope>

HasModuleWriteAccess

IsInRole

Logout

RetrieveLog

RetrieveServerInformation

RetrieveSubscriptionStatus

SendMessage

SetDataSource

ValidateProject

Advanced Search Methods 

These methods provide a way to start an async search for elements in Studio. 

Search results are temporarily stored in an expiring cache. The timeout for the cache can be configured from app.config file : 

app.config
<!--Advanced Search Configuration-->
<advancedsearch timeout-in-minutes="30"/>

If no interaction occurs with a started search entry (e.g. results are not pulled via the GetAdvancedSearchResults method) for the configured timeout, the search is stopped and results are removed. 

StartAdvancedSearch

This method starts a new search according to the input parameters and returns a GUID that can be further used to get the results or stop the search. 

The server returns a SearchID: GUID associated with the newly started search .

ParameterParameter descriptionRequired/optional
ElementNamename of the element to be searchedrequired
ElementTypesarray of element types that can be searched. Currently, the following global or module element types are supported : Container, Attribute, Presentation Style, Content Style, Text Item, Service Call, Flowoptional
IsInExposedFlow

boolean indicating whether the search should return information about elements in exposed flows

  • true: the advanced search will check if the searched element is reachable through an exposed flow and will return the information accordingly in the <IsInExposedFlow> element from the response. 
  • false: the advanced search will not check if the searched element is reachable through an exposed flow and will return a null value in the <IsInExposedFlow> element from the response.
optional
IsSpecialized

boolean indicating whether the search should return information about specialized elements

  • true : the advanced search will check if the search element is specialized and return the information accordingly in the <IsSpecialized> element from the response. 
  • false: the advanced search will not check if the search element is specialized and will return a null value in the <IsSpecialized> element from the response. 
required
FullTextboolean indicating whether full-text search is enabledoptional
SearchDepthparameter of type int, indicating the level of dependencies on which to searchoptional, default value = 5
SearchIn

Array of objects composed of the name of the repository, branch and project which specifies the search location

  • Valid combinations are : repository + branch + project , repository + branch , repository
  • Invalid combinations are ignored (search is done in all repositories, branches, projects)
optional

For more details about how the input parameters influence the search result, see the Reponse Example of the GetAdvancedSearchResults method.

Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:StartAdvancedSearch>
         <ns:parameters>
            <ns:ElementName>Age</ns:ElementName>
            <ns:ElementTypes>Attribute</ns:ElementTypes>
            <ns:IsInExposedFlow>true</ns:IsInExposedFlow>
            <ns:IsSpecialized>false</ns:IsSpecialized>
            <ns:IsFullTextEnabled>false</ns:IsFullTextEnabled>
            <ns:SearchDepth>5</ns:SearchDepth>
            <ns:SearchIn>
               <ns:Repository>CoffeeAdvisor</ns:Repository>
               <ns:Branch>Trunk</ns:Branch>
               <ns:Project>CoffeeAdvisor</ns:Project>
            </ns:SearchIn>
         </ns:parameters>
      </ns:StartAdvancedSearch>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <StartAdvancedSearchResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <StartAdvancedSearchResult>
            <SearchId>72852a96-3bea-4786-a2d5-17d98bd8d430</SearchId>
         </StartAdvancedSearchResult>
      </StartAdvancedSearchResponse>
   </s:Body>
</s:Envelope>

StopAdvancedSearch

This method stops the search for the specified Search Id, and also clears the results that are stored in the search cache in Studio. If the provided search id does not exist anymore, an error will be returned. 

ParameterParameter descriptionRequired/optional
SearchIdthe GUID obtained after calling the StartAdvancedSearch methodrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:StopAdvancedSearch>
         <!--Optional:-->
         <ns:searchId>
            <!--Optional:-->
            <ns:SearchId>304254f5-76fc-4bf5-b806-6bce78533a64</ns:SearchId>
         </ns:searchId>
      </ns:StopAdvancedSearch>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <StopAdvancedSearchResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0"/>
   </s:Body>
</s:Envelope>

GetAdvancedSearchResults

This method returns the results associated with the input search id. The results could be partial or complete. The state of the search is indicated by the "IsSearchFinished" parameter. 

ParameterParameter descriptionRequired/optional
SearchIdthe GUID obtained after calling the StartAdvancedSearch methodrequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetAdvancedSearchResults>
         <!--Optional:-->
         <ns:searchId>
            <!--Optional:-->
            <ns:SearchId>304254f5-76fc-4bf5-b806-6bce78533a64</ns:SearchId>
         </ns:searchId>
      </ns:GetAdvancedSearchResults>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetAdvancedSearchResultsResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <GetAdvancedSearchResultsResult>
            <ResultEntries>
               <ResultEntry>
                  <Repository>CoffeeAdvisor</Repository>
                  <Branch>Trunk</Branch>
                  <Project>CoffeeAdvisor</Project>
                  <Elements>
                     <ElementDetails>
                        <ElementName>Age</ElementName>
                        <ElementType>Attribute</ElementType>
                        <Module>CoffeeAdvisor</Module>
                        <IsInExposedFlow>true</IsInExposedFlow>
                        <IsSpecialized>null</IsSpecialized>
                     </ElementDetails>
                  </Elements>
               </ResultEntry>
            </ResultEntries>
            <IsSearchFinished>true</IsSearchFinished>
         </GetAdvancedSearchResultsResult>
      </GetAdvancedSearchResultsResponse>
   </s:Body>
</s:Envelope>

GetLibraries

This method returns libraries that are present in a branch. 

ParameterParameter descriptionRequired/optional
repositorystring parameter representing the name of the repository where the search is maderequired
branchstring parameter representing the name of the branch where the search is maderequired
Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:GetLibraries>
         <!--Optional:-->
         <ns:repository>Repository2</ns:repository>
         <!--Optional:-->
         <ns:branch>Trunk</ns:branch>
      </ns:GetLibraries>
   </soapenv:Body>
</soapenv:Envelope>
Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <GetLibrariesResponse xmlns="http://www.everest.nl/aquima/studio/ManagementService/1.0">
         <GetLibrariesResult>
            <LibrarySearchResult>
               <Name>Aggregate</Name>
               <IsExternal>true</IsExternal>
            </LibrarySearchResult>
            <LibrarySearchResult>
               <Name>AquimaLibrary</Name>
               <IsExternal>true</IsExternal>
            </LibrarySearchResult>
            <LibrarySearchResult>
               <Name>AquimaPresentationStyles</Name>
               <IsExternal>true</IsExternal>
            </LibrarySearchResult>
            <LibrarySearchResult>
               <Name>Dashboard</Name>
               <IsExternal>true</IsExternal>
            </LibrarySearchResult>
            <LibrarySearchResult>
               <Name>Internal</Name>
               <IsExternal>false</IsExternal>
            </LibrarySearchResult>
         </GetLibrariesResult>
      </GetLibrariesResponse>
   </s:Body>
</s:Envelope>
  • No labels