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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

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.

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. Here is an example of how to configure this in SOAPUI:


We distinguish different categories of methods:

Dependencies

GetUsedByElementsForGlobalElement

Parameters

  • repository: the repository to search in, required
  • branch: the branch to search in, required
  • project: the project in which the element is defined, required
  • globalElement: the element key of the element, required

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.

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

Parameters : 

  • repository: the repository to search in, required
  • branch: the branch to search in, required
  • project: the project in which the element is defined, required
  • module: the module in which the element is defined, required
  • moduleElement: the element key of the element, required

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.

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>

Response:


Something to consider

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.

GetUseElementsForGlobalElement

Parameters

  • repository: the repository to search in, required
  • branch: the branch to search in, required
  • project: the project in which the element is defined, required
  • globalElement: the name and the global element type of the global element, required

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

Example Request Message

Example 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>

Example Response Message

Example 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

Parameters:

  • repository: the repository to search in, required
  • branch: the branch to search in, required
  • project: the project in which the element is defined, required
  • module: the module name and module type in which the element is defined, required
  • moduleElement: the name and the module element type of the module element, required 

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

Example Request Message

Example 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>

Example Response Message

Example 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.

Parameters:

  • repository: the repository in which the project to be exported is located, required
  • branch: the branch in which the project to be exported is located, required
  • project: the project to be exported, required
  • encrypt: a boolean flag indicating whether the export should be encrypted, required

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

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

Parameters:

  • repository: the repository in which the project to be exported is located, required
  • branch: the branch in which the project to be exported is located, required
  • revisionId: the revision to be exported, required
  • project: the project to be exported, required
  • encrypt: a boolean flag indicating whether the export should be encrypted, required

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

 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>

Elements

FindGlobalElementProject

FindglobalElements

FindModuleElement

GetAllGlobalElements

GetAllModuleElements

GetGlobalElement

GetGlobalElements

GetModuleElement

Parameters

  • repository: the repository to search in, required
  • branch: the branch to search in, required
  • project: the project in which the element is defined, required
  • module: the element key of the element, required
  • moduleElement: The Name and Type of the module element which should be returned.

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.

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

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

Parameters

  • repository: the repository to search in, required
  • branch: the branch to search in, required
  • project: the project in which the element is defined, required
  • module: the element key of the element, required
  • elementType: The type of element that you want to be returned, for example 'Attribute'. For a complete list, search the wsdl for 'ModuleElementType'.

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


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.

Parameters:

  • SearchType: In what scope you would like to search. Values: BranchProjectStructureSingleProjectModuleScope
  • Repository: the repository in which the search is performed
  • Branch: the branch in which the search is performed
  • Project: Optional, the projectin which the search is performed
  • Module: Optional, the modulein which the search is performed
  • SearchString: the string to be searched for
  • SearchInNames: a boolean indicating whether to search in names of elements
  • SearchInDependencies: a boolean indicating whether to search in the dependencies of an element
  • IncludeGlobalElements: a boolean indicating whether to search in global elements
  • IncludeModuleElements: a boolean indicating whether to search in global elements
  • FullText: a boolean indicating if a full text search should be performed
  • CaseSensitive: a boolean indicating that the search should be performed in a case-sensitive manner

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

ExecuteUnitTests

Version Management

Commit

CreateBranch

CreateBranchType

CreateFeatureBranch

CreateFeatureBranchOnRevision

DeleteRepository

DeleteBranch

DeleteBranchType

GetRepository

GetRepositories

GetBranch

GetBranches

GetBranchType

GetBranchTypes

GetProjectsForRevision

GetRevision

GetRevisionChanges

Returns the changes in a specific revision.

Parameters:

  • repository: the repository to search in, required.
  • branch: the branch to search in, required.
  • revision: the revision whose changes are to be retrieved, 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: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.

Parameters:

  • repository: the repository to search in, required
  • branch: the branch to search in, required
  • startIndex: the index of the first included revision, required
  • amount: the number of revisions to include, required; a negative amount includes all revisions.
  • taggedOnly: boolean flag indicating whether to include only tagged revisions, required.
  • includeMergeRevisions: boolean flag indicating whether to include merge revisions, 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: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

Parameters:

  • repository : the repository to search in, required
  • branch : the branch to search in, required
  • startIndex : the index of the first included revision, required
  • amount : the number of revisions to include, required; a negative amount includes all revisions
  • taggedOnly : boolean flag indicating whether to include only tagged revisions, required
  • level : the level of merge revision to include, required; a negative amount includes all levels 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).  

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

ApplyOperation

EvaluateExpression

GetCurrentIdentity

GetDataSource

GetLicenseData

GetStatus

GetStatusMaxDepth

HasModuleWriteAccess

IsInRole

Logout

RetrieveLog

RetrieveServerInformation

RetrieveSubscriptionStatus

SendMessage

SetDataSource

ValidateProject


GetStatusMaxDepth

Returns a list of revisions which are the pending revisions  to be commited(accepted in the branch). Same as GetStatus

  • repository : the repository to search in, required
  • branch : the branch to search in, required
  • maxMergedRevisionsDepth : the maximum depth which is search is the revision tree

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

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>
  • No labels