Inhalt anzeigen / ausblenden

    innosolvcity (former NEST)

    innosolvcity address provider by Innosolv.
    This address interface addresses the "FindSubjectContactPerson" endpoint from the "BasisService".

    Warning

    This is the client-side version of the innosolvcity address provider. This is up to date with NEST 2018 and is no longer under development.
    We recommend using the server-side innosolvcity address provider in any case, see the following section Switch to server-side version of innosolvcity address provider.

    Switch to server-side version of innosolvcity address provider

    To switch to the server-side innosolvcity address provider, perform the following steps:

    1. Customize "configuration frame":
      Before:
      <AddressProvider id="B16EC67C-444E-46DC-A659-93E95BB4EB4D" ...>
        ...
      </AddressProvider>
      
      After:
      <!-- AddressService -->
      <AddressProvider id="E10A8313-A92D-4CB2-A12B-9AEB58F39207" ...>
        <!-- serverside innosolvcity address provider -->
        <AddressProvider id="28F86C73-3A64-4BFF-AD87-CBDA92ED9170">
          ...
        </AddressProvider>
      </AddressProvider>
      
    2. If the SearchParameters are already explicitly configured, add the following new search parameter:
      <SearchParameter Name="ActiveOnly" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.ActiveOnly]}" Type="Boolean" Length="100" Sort="8" />
      
    3. If necessary, add the following configuration line:
      <ActiveOnlyDefault>false</ActiveOnlyDefault>
      

    NEST release 2018

    Simple example configuration:

    <!-- Nest Address Provider -->
    <AddressProvider id="B16EC67C-444E-46DC-A659-93E95BB4EB4D" order="1" active="true" hiddenIfNotAvailable="false">
      <NestVersion>2018</NestVersion>
      <Uri>http://services.example.com:12345/BasisService</Uri>
      <UserName>myUserName</UserName>
      <Password>myPassword</Password>
    </AddressProvider>
    

    Detailed example configuration:

    <!-- Nest Address Provider -->
    <AddressProvider id="B16EC67C-444E-46DC-A659-93E95BB4EB4D" order="1" active="true" hiddenIfNotAvailable="false">
      <Title>NEST Kontaktperson</Title>
      <NestVersion>2018</NestVersion>
      <Uri>http://services.example.com:12345/BasisService</Uri>
      <UserName>myUserName</UserName>
      <Password>myPassword</Password>
      <Debug>false</Debug>
      <AlleAdressartenDefault>false</AlleAdressartenDefault>
      <DetailsColumnMapping>./ExtendentFields/Item[@Key='Dynamic.Adressart']</DetailsColumnMapping>
      <SearchParameters>
        <SearchParameter Name="Vorname" Label="Vorname" Type="String" Length="100" Sort="1" />
        <SearchParameter Name="Name" Label="Nachname" Type="String" Length="100" Sort="2" />
        <SearchParameter Name="Geburtsdatum" Label="Geburtstag" Type="Date" Length="100" Sort="3" />
        <SearchParameter Name="StrasseHaus" Label="Strasse/Haus" Type="String" Length="100" Sort="4" />
        <SearchParameter Name="PLZ" Label="PLZ/Ort" Type="String" Length="6" Sort="5" />
        <SearchParameter Name="Ortsname" Label="" Type="String" Length="100" Width="130" Sort="5" />
        <SearchParameter Name="ID_Subjekt" Label="Subjekt-ID" Type="Long" Length="100" Sort="6" />
        <SearchParameter Name="AlleAdressarten" Label="AlleAdressarten" Type="Boolean" Length="100" Sort="7" />
      </SearchParameters>
      <Mapping>
        <!-- determine AddressType -->
        <Map Target="AddressType">
          <Map.SourceExpression>
            <![CDATA[
              function main()
              {
                let firmenname = source('Firmenname');
                let name = source('Name');
                
                let companyDataIsAvailable = firmenname !== null && firmenname !== '';
                let personDataIsAvailable = name !== null && name !== '';
                
                if (companyDataIsAvailable && personDataIsAvailable)
                {
                  return 'CompanyAndPersonData';
                }
                else if (personDataIsAvailable)
                {
                  return 'PersonData';
                }
                else
                {
                  return 'CompanyData';
                }
              }
            ]]>
          </Map.SourceExpression>
        </Map>
        <!-- Company -->
        <If Condition="target('AddressType') === 'CompanyAndPersonData' || target('AddressType') === 'CompanyData'">
          <Map Target="Company_Name" Source="Firmenname" />
          <Map Target="Company_Street" Source="StrasseHaus" />
          <Map Target="Company_City" Source="Ort" />
          <Map Target="Company_ZipCode" Source="PLZ" />
          <Map Target="Company_Country" Source="Nation" />
          <Map Target="Company_CountryShortCode" SourceExpression="''" />
          <Map Target="Company_PhoneDirect" Source="Telefon" />
          <Map Target="Company_EmailDirect" Source="Email" />
          <Map Target="Company_FaxCentral" Source="Telefax" />
          <Map Target="Company_Mobile" Source="Mobil" />
        </If>
        <!-- Person -->
        <If Condition="target('AddressType') === 'CompanyAndPersonData' || target('AddressType') === 'PersonData'">
          <Map Target="Person_Title" Source="Titel" />
          <Map Target="Person_LastName" Source="Name" />
          <Map Target="Person_FirstName" Source="Vorname" />
          <Map Target="Person_SecondName" Source="Zusatzname" />
          <Map Target="Person_Birthday" Source="Geburtsdatum" />
          <Map Target="Person_SalutationShort" Source="Anrede" />
          <Map Target="Person_Salutation" Source="Briefanrede" />
          <If Condition="target('AddressType') === 'PersonData'">
            <Map Target="Person_Street" Source="StrasseHaus" />
            <Map Target="Person_City" Source="Ort" />
            <Map Target="Person_ZipCode" Source="PLZ" />
            <Map Target="Person_Country" Source="Nation" />
            <Map Target="Person_CountryShortCode" SourceExpression="''" />
            <Map Target="Person_PhoneDirect" Source="Telefon" />
            <Map Target="Person_EmailDirect" Source="Email" />
            <Map Target="Person_FaxDirect" Source="Telefax" />
            <Map Target="Person_Mobile" Source="Mobil" />
          </If>
        </If>
        <!-- Extended Fields -->
        <Map Target="ExtendedField_Dynamic.Adressart" Source="Adressart" />
        <Map Target="ExtendedField_Dynamic.AnzeigeName" Source="AnzeigeName" />
        <Map Target="ExtendedField_Dynamic.AdressZusatz" Source="AdressZusatz" />
        <Map Target="ExtendedField_Dynamic.StrasseZusatz" Source="StrasseZusatz" />
        <Map Target="ExtendedField_Dynamic.PostleitzahlZusatzziffer" Source="PostleitzahlZusatzziffer" />
        <!-- Address Provicer Data -->
        <Map Target="AddressProviderData_Id" Source="ID_Subjekt" />
        <Map Target="AddressProviderData_Name" SourceValue="NEST Einwohner" />
        <If Condition="source('Briefanschrift')">
          <Map Target="AddressProviderData_Label_FormattedString" Source="Briefanschrift" />
        </If>
        <!-- ContactViewOptions -->
        <Map Target="AddressTypeOption" SourceExpression="target('AddressType') === 'PersonData' ? 'Private' : 'Business'" />
        <Map Target="SalutationSeparateLine" SourceExpression="target('AddressType') === 'PersonData' ? 'true' : 'false'" />
      </Mapping>
    </AddressProvider>
    

    With translated labels:

    • Configuration
    • Translations
    [...]
    <Title>NEST Kontaktperson</Title>
    [...]
    <SearchParameters>
      <SearchParameter Name="Vorname" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.FirstName]}" Type="String" Length="100" Sort="1" />
      <SearchParameter Name="Name" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.LastName]}" Type="String" Length="100" Sort="2" />
      <SearchParameter Name="Geburtsdatum" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.Birthday]}" Type="Date" Length="100" Sort="3" />
      <SearchParameter Name="StrasseHaus" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.StreetHouse]}" Type="String" Length="100" Sort="4" />
      <SearchParameter Name="PLZ" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.ZipCodeCity]}" Type="String" Length="6" Sort="5" />
      <SearchParameter Name="Ortsname" Label="" Type="String" Length="100" Width="130" Sort="5" />
      <SearchParameter Name="ID_Subjekt" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.SubjectID]}" Type="Long" Length="100" Sort="6" />
      <SearchParameter Name="AlleAdressarten" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.AllAddressTypes]}" Type="Boolean" Length="100" Sort="7" />
    </SearchParameters>
    [...]
    

    Entries in the Global Translations:

    Recipients.NestAddressProvider.Title
    de: NEST Kontaktperson
    en: NEST contact person
    fr: Personne de contact de NEST
    it: Persona di contatto NEST
    
    Recipients.NestAddressProvider.SearchParameterLabel.FirstName
    de: Vorname
    en: First name
    fr: Prénom
    it: Nome
    
    Recipients.NestAddressProvider.SearchParameterLabel.LastName
    de: Nachname
    en: Last name
    fr: Nom de famille
    it: Cognome
    
    Recipients.NestAddressProvider.SearchParameterLabel.StreetHouse
    de: Strasse/Haus
    en: Street/House
    fr: Rue/maison
    it: strada / casa
    
    Recipients.NestAddressProvider.SearchParameterLabel.ZipCodeCity
    de: PLZ/Ort
    en: Zip code/town
    fr: Zip/Ville
    it: Zip / Città
    
    Recipients.NestAddressProvider.SearchParameterLabel.Birthday
    de: Geburtstag
    en: Birthday
    fr: Date de naissance
    it: Data di nascita
    
    Recipients.NestAddressProvider.SearchParameterLabel.SubjectID
    de: Subjekt-ID
    en: Subject id
    fr: Id du sujet
    it: Id dell'oggetto
    
    Recipients.NestAddressProvider.SearchParameterLabel.AllAddressTypes
    de: Alle Adressarten
    en: All address types
    fr: Tous les types d'adresse
    it: Tutti i tipi di indirizzo
    

    Before NEST release 2018

    Example configuration:

    <AddressProvider id="B16EC67C-444E-46DC-A659-93E95BB4EB4D" order="8" active="false" hiddenIfNotAvailable="true">
      <Uri>http://services.example.com:12345/BasisService</Uri>
      <UserName>myUserName</UserName>
      <Password>myPassword</Password>
    </AddressProvider>
    

    Structure

    • Title Title of the address provider. Default: "NEST Contact" (with UI language German)
    • NestVersion Version from Nest service. 2018 if the Nest release 2018 (or newer) is installed.
    • Uri Uri of the Nest service endpoint
    • UserName Username for authentication to the Nest service endpoint
    • Password Password for authentication to the Nest service endpoint
    • Debug true if additional information is to be logged (request and response)
    • AlleAdressartenDefault false if the "AllAddressTypes" search parameter is to be disabled. The user can change this option for the current search by using the "AllAddressTypes" search parameter (if configured).
    • DetailsColumnMapping determines which data will be displayed in the Details column. Default: ./ExtendentFields/Item[@Key='Dynamic.AddressType']
    • SearchParameters The search mask can be configured here (see sample configuration). If this element is not configured, a default search mask is displayed (available in DE, EN, FR, IT; checkbox "AllAddress types" is not displayed). The following parameters can be used for the Nest search:
      • Vorname
      • Name
      • Geburtsdatum (Date)
      • StrasseHaus
      • PLZ
      • Ortsname
      • ID_Subjekt (Long)
      • AlleAdressarten (Boolean)
    • Mapping Contact mapping, see default-contact-mapping. Possible source fields retrieved from NEST and made available for mapping:
      • Adressart
      • AdressZusatz
      • Anrede
      • AnzeigeName
      • Briefanrede
      • Briefanschrift
      • Email
      • Firmenname
      • Geburtsdatum
      • ID_Subjekt
      • Mobil
      • Name
      • Nation
      • Ort
      • PLZ
      • PlzOrt
      • PostleitzahlZusatzziffer
      • StrasseHaus
      • StrasseZusatz
      • Telefax
      • Telefon
      • Titel
      • Vorname
      • Zusatzname
    Back to top | Deutsch | English PrimeSoft AG   I   Bahnhofstrasse 4   I   8360 Eschlikon   I   Switzerland   I   Privacy   I   Legal notice