innosolvcity Address Provider von Innosolv.
Die Adressschnittstelle spricht vom "BasisService" den Endpunkt "FindSubjektKontaktperson" an.
WARNUNG
Dies ist die clientseitige Version des innosolvcity Address providers. Diese ist auf dem Stand von NEST 2018 und wird nicht mehr weiterentwickelt.
Wir empfehlen in jedem Fall die Verwendung vom serverseitigen innosolvcity Address provider, siehe nachfolgender Abschnitt Umstieg auf serverseitige Version des innosolvcity Address provider.
Umstieg auf serverseitige Version des innosolvcity Address provider
Für den Umstieg auf den serverseitigen innosolvcity Address provider sind die folgenden Schritte durchzuführen:
"Konfigurationsrahmen" anpassen:
Vorher:<AddressProvider id="B16EC67C-444E-46DC-A659-93E95BB4EB4D" ...> ... </AddressProvider>
Nachher:
<!-- AddressService --> <AddressProvider id="E10A8313-A92D-4CB2-A12B-9AEB58F39207" ...> <!-- serverside innosolvcity address provider --> <AddressProvider id="28F86C73-3A64-4BFF-AD87-CBDA92ED9170"> ... </AddressProvider> </AddressProvider>
Falls die
SearchParameter
bereits explizit konfiguriert sind ggf. den folgenden neuen Suchparameter hinzufügen<SearchParameter Name="ActiveOnly" Label="{U[Recipients.NestAddressProvider.SearchParameterLabel.ActiveOnly]}" Type="Boolean" Length="100" Sort="8" />
Ggf. die folgende Konfigurationszeile hinzufügen:
<ActiveOnlyDefault>false</ActiveOnlyDefault>
NEST-Release 2018
Beispielkonfiguration 1 (minimal):
<!-- 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>
Beispielkonfiguration 2 (ausführlich):
<!-- 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>
Mit übersetzten Beschriftungen:
Konfiguration
[...] <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> [...]
Übersetzungen
Einträge in den Globalen Übersetzungen:
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
Vor NEST-Release 2018
Beispielkonfiguration:
<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>
Aufbau
Title Titel des Address Provider. Default: "NEST Kontaktperson" (bei UI-Sprache Deutsch)
NestVersion Version vom Nest-Service.
2018
, falls der Nest-Release 2018 (oder neuer) installiert ist.Uri Uri des Nest-Service-Endpunkts
UserName Benutzername für Authentifizierung beim Nest-Service-Endpunkt
Password Password für Authentifizierung beim Nest-Service-Endpunkt
Debug
true
falls zusätzliche Informationen geloggt werden sollen (Request und Response)AlleAdressartenDefault
false
, falls der "AlleAdressarten"-Suchparameter deaktiviert sein soll. Durch den SearchParameter "AlleAdressarten" (falls konfiguriert) kann der Benutzer diese Option für die aktuelle Suche ändern.DetailsColumnMapping bestimmt, welche Daten in der Details-Spalte angezeigt werden. Default:
./ExtendentFields/Item[@Key='Dynamic.Adressart']
SearchParameters Hier kann die Such-Maske konfiguriert werden (siehe Beispielkonfiguration). Wenn dieses Element nicht konfiguriert wird, wird eine Standard-Suchmaske angezeigt (verfügbar in DE, EN, FR, IT; CheckBox "AlleAdressarten" wird nicht angezeigt). Bei der Nest-Suche können folgende Parameter verwendet werden:
Vorname
Name
Geburtsdatum (Date)
StrasseHaus
PLZ
Ortsname
ID_Subjekt (Long)
AlleAdressarten (Boolean)
Mapping Kontaktmapping, siehe Standard-Kontakt-Mapping. Mögliche
Source
-Felder, welche von NEST abgerufen und für das Mapping zur Verfügung gestellt werden: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