2012-06-09 4 views
7

Ist es möglich, Audience Manager Address Books mit dem Core Service (Tridion 2011 SP1) zu erstellen?Core Service 2011 - Adressbücher

(Oder automatisieren sie in irgendeiner anderen Art und Weise zu schaffen - db Skript, Interop)

Prost

Antwort

6

Es gibt keine Audience Manager Funktionalität im Core Service; Nur die Content Manager-Funktionalität ist dort verfügbar.

Sie können jedoch die öffentliche API (Tridion.AudienceManagement.API) auf dem Server verwenden, um ein beliebiges Element zu erstellen. Sie hat nicht angegeben Art Adressbuch Sie erstellen möchten - aber ich werde Sie wollen eine statische man annehmen Kontakte in erstellen

Hier ist ein Beispielcode, das zu tun:

StaticAddressBook denmark = new StaticAddressBook(); 
denmark.Title = "Denmark"; 
denmark.Key = "DK"; 
denmark.Save(); 
.

Wenn Sie stattdessen ein dynamisches Adressbuch erstellen möchten, müssen Sie auch einen Filter angeben. lassen Sie mich wissen, wenn das der Fall ist, und ich kann auch einen Beispielcode dafür bereitstellen.

+0

FYI, Sie müssen ein Tridion Administrator zum Erstellen von Adressbüchern sein. –

+0

Danke Peter. Siehe meinen Kommentar unten - Ich habe auf die DLL verwiesen, aber bekomme Initialisierungsfehler. Ich denke nicht, dass ich meine VS-Lösung korrekt eingerichtet habe, ich arbeite direkt am CM-Server, bin mir aber nicht sicher, was ich tun muss, damit das funktioniert. – Neil

+0

Hat das irgendwann funktioniert - musste einen Konfigurationsschlüssel namens "Configuration" hinzufügen, um auf meine OutboundEmail.xml zu zeigen und sicherzustellen, dass der Benutzer der Konsole Zugriff auf den TridionRsaKeyContainer-Verschlüsselungsschlüssel hatte, da der Datenbank-Teil von OutboundEmail.xml verschlüsselt war. Danach hat es gelacht! – Neil

0

Sie können den Namespace Tridion.OutboundEmail.ContentManagement verwenden. Darin befindet sich ein AddressBook-Objekt (oder Sie können StaticAddressBook abhängig vom Typ von AB verwenden, den Sie erstellen möchten). So etwas sollte funktionieren:

AddressBook ab = new AddressBook(); 
ab.Title = "The title of my new Address Book"; 
ab.Save(); 

Mit Blick auf die API für StaticAddressBook (es ist dokumentiert) gibt es eine statische Methode StaticAddressBook.CreateLocalAddressBook, die tatsächlich mehr relevant in diesem Fall sein könnte. Ich würde es überprüfen, wenn ich Sie wäre;) Sie können die Dokumente von SDLTridionWorld.com herunterladen

+0

Tridion.OutboundEmail.ContentManagement ist die alte, veraltete API. Sie sollten stattdessen Tridion.AudienceManagement.API verwenden. Lokale Adressbücher sind auch für temporäre Zwecke gedacht und können von Benutzern mit weniger Rechten erstellt werden; Sie werden automatisch der jeweiligen Publikation zugewiesen und jeder hat vollen Zugriff darauf. Ich würde das für keinen anderen Zweck verwenden, als Listen von Kontakten zu importieren, die Sie von einer dritten Partei erhalten und die Sie für eine einzelne Kampagne verwenden müssen, um sie anschließend zu löschen. –

+0

Danke. Muss meine lokale Kopie der Dokumente aktualisieren :) –

+0

Danke Jeremy. AddressBook ist eine abstrakte Klasse in Tridion.AudienceManagement.API - die ich glaube, ist die öffentliche API auf AM - so kann nicht instanziiert werden. Gibt es etwas Spezielles, das ich brauche, um mit dieser DLL zu arbeiten? Ich habe eine kleine Konsole-App erstellt, verweisen Sie auf die Tridion.AudienceManagement.API-DLL, aber wenn auf dem CM-Computer ausgeführt wird, erhalte ich einen Typinitialisierungsfehler - Laden der Konfiguration fehlgeschlagen. – Neil

Verwandte Themen