SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Regelmässiger Import CSV Unternehmenssuchcenter / Liste

Unbeantwortet Dieser Beitrag hat 16 Antworten

Ohne Rang
24 Beiträge
Vaanmo erstellt 20 Juni 2016 10:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Zusammen

Ich recherchiere hier nun schon eine ganze Weile, finde aber nichts passendes dazu. Da ich mir schwer vorstellen kann, dass es niemanden gibt der ähnliche Anforderungen hat, versuche ich es hier. Vielleicht habe ich auch nur falsch gesucht oder stehe sonst irgendwie auf dem Schlauch.

Wir haben die Anforderung ein Telefonverzeichnis in SharePoint aufzubauen. Ich dachte hier an das Template 'Unternehmenssuchcenter', da dies bereits einige nette Funktionalitäten betreffend Filterung etc. mit sich bringt. Gefüttert werden soll das Ganze dann nicht vom AD, sondern von einer CSV. Der Hintergrund ist folgender.

Wir setzen ein UIM System ein, welches für die Verwaltung sämtlicher Stammdaten zuständig ist. Dieses wird u.a. vom HR-System mit Daten gefüttert und verteilt die jeweils nötigen Informationen dann über Schnittstellen an alle übrigen Systeme (AD etc.). In das Telefonverzeichnis kommen dann auch Daten von Personen, die keinen User im AD haben. Von diesem System habe ich nun einen CSV Export mit den relevanten Informationen und würde diesen gerne auf regelmässiger Basis in SharePoint bzw. dann eben in das Unternehmenssuchcenter einspielen. Ich dachte hier an ein Powershell Script, welches via Scheduled Task die Daten 1-2x täglich in eine SharePoint Liste schreibt, welche anschliessend via Query im Suchcenter angezogen wird. 

Ist so etwas möglich? Gibt es andere Möglichkeiten? Falls ich mich nicht verständlich genug ausgedrückt habe, bitte einfach melden.

Besten Dank schonmal für euer Feedback.

Viele Grüsse
Markus 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Juni 2016 11:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja, das ist möglich. Aber was genau ist jetzt Deine Frage?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
24 Beiträge
Vaanmo Als Antwort am 20 Juni 2016 11:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Meine Frage ist, wie ich das umsetze :-) 

Ich habe die Site Collection mit Template Unternehmenssuchcenter, sowie eine Liste, erstellt und habe die CSV parat. Die nächsten Schritte sind mir jedoch nicht ganz klar. Wie bekomme ich die Daten via Powershell in die Liste und wie wird diese Liste dann vom Suchcenter angesprochen? Ich habe das bis dato nur mit AD-Benutzern gemacht.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Juni 2016 12:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du wirst sicher verstehen, daß Dir hier keiner die komplette Lösung liefern kann...

Ich würde die Liste nicht im Suchcenter anlegen, sondern "irgendwo" (wo sie sinngemäß hingehört). Über die Suche ist sie jederzeit überall verfügbar. Verwende für die Liste auf jeden Fall einen eigenen Inhaltstyp, damit Du später einfach danach filtern kannst.

Du brauchst auch nicht unbedingt ein Suchcenter - jedenfalls nicht dafür. Du kannst auf jeder beliebigen Seite ein Suchergebniswebpart einfügen und das passend konfigurieren. Als Filter verwendest Du dabei den o.g. Inhaltstyp, so daß das Webpart nur noch die Elemente Deiner Liste anzeigt. Die Darstellung der Ergebnisse kannst Du mit sog. Search Display Templates sehr frei gestalten.

Für den Datenimport per PowerShell hast Du grundsätzlich zwei Möglichkeiten: Du könntest das serverseitige Objektmodell von SharePoint verwenden. Das ist am einfachsten, aber das Script kann dann nur direkt auf einem SharePoint Server ausgeführt werden. Du kannst auch das clientseitige Objektmodell (CSOM) verwenden, dann kann das Script grundsätzlich überall ausgeführt werden. Du kannst auch ganz auf das Objektmodell verzichten und SharePoint nur über die REST-Services ansprechen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
24 Beiträge
Vaanmo Als Antwort am 1 Juli 2016 10:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hat ein wenig gedauert bis ich mich wieder mit diesem Thema befassen konnte.

@Frank

Danke für die Info. Auf dieses Tool bin ich bei meiner Recherche bereits gestossen. Gemäss Firmenstrategie soll das Ganze jedoch ohne externe Tools umgesetzt werden.

@Andi

Ich erwarte mir natürlich keine Komplettlösung. Deine Infos haben mir schonmal weitergeholfen. Ich habe nun ein kleines Powershell Script geschrieben, mit dem ich die Daten in die SharePoint Liste bekomme. Zudem habe ich einen Inhaltstyp mit den entsprechenden Spalten angelegt, die auch in der CSV enthalten sind. Der Inhaltstyp ist der Liste zugeteilt und die Datensätze sind importiert. Bei der Konfiguration des Suchergebnis-Webparts stehe ich nun jedoch an. Ich habe hier nun schon mehrere Varianten versucht, bekomme jedoch keine Ergebnisse der Liste angezeigt. Folgendermassen sieht meine Abfrage aus.

Abfrage: Local SharePoint Results (System)
Stichwortfilter: Abfrage aus dem Suchfeld
Eigenschaftenfilter: ContentType = 'entsprechender Inhaltstyp' 

Wo könnte hier der Fehler liegen? Einen Full Crawl habe ich bereits durchgeführt. 

 

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 1 Juli 2016 10:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Vaanmo"]Eigenschaftenfilter: ContentType = 'entsprechender Inhaltstyp'[/quote]

An der Stelle ist der "Designer" nicht ganz korrekt und man muß manuell eingreifen. Sinnvollerweise filtert man nach der ID und nicht nach dem Namen (Namen sind mehrsprachig und sie können sich ändern):

ContentTypeId:0x01...

Die ContentTypeId findest Du, wenn Du über Websiteeinstellungen - Websiteinhaltstypen auf Deinen Inhaltstyp gehst. Sie steht in der Adresszeile.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
24 Beiträge
Vaanmo Als Antwort am 1 Juli 2016 11:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn ich beim Filter meinen ContentType auswähle, wandelt er diesen in der Abfrage automatisch um in die ID. Der Abfragetext sieht somit wie folgt aus -> {SearchBoxQuery} ContentType=0x0100........ so sollte das ja korrekt sein, oder?

Ich sollte doch auch einfach sagen können er soll mir nur die Elemente dieser einen Liste für die Suchabfrage ausgeben, oder!? Der Filter auf den Inhaltstyp wäre meiner Ansicht nach nicht zwingend nötig. 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 1 Juli 2016 11:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Vaanmo"]Wenn ich beim Filter meinen ContentType auswähle, wandelt er diesen in der Abfrage automatisch um in die ID[/quote]

Hab das schon eine Weile nicht mehr gemacht, aber erinnere mich jetzt. Man muß nur den Parameter ändern von ContentType zu ContentTypeId. Ich wußte nur noch, daß man da eingreifen muß, sonst geht es nicht.

[quote user="Vaanmo"]Ich sollte doch auch einfach sagen können er soll mir nur die Elemente dieser einen Liste für die Suchabfrage ausgeben, oder!? [/quote]

Das geht über einen Path-Filter, der dann wirklich auf eine bestimmte Stelle einschränkt. Meistens ist aber der Inhaltstyp schlauer, weil man damit wirklich Elemente aus der gesamten Farm zusammenziehen kann. Man denke nur an sowas wie "alle meine Aufgaben"...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
24 Beiträge
Vaanmo Als Antwort am 1 Juli 2016 12:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das macht natürlich Sinn ja, bekomme aber auch hier keine Ergebnisse :-(

Der Abfragetext sieht nun wie folgt aus -> {SearchBoxQuery} ContentTypeId=0x01...

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 1 Juli 2016 12:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ersetze noch das Gleichheitszeichen durch einen Doppelpunkt. Sorry, habe ich oben übersehen.

= macht tatsächlich einen 1:1 Vergleich. Du hast ja die ID des Websiteinhaltstyps angegebn, die aber auf der Liste erweitert wird und deshalb nicht mehr exakt übereinstimmt. Mit : macht man dagegen einen "enthält" Vergleich.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
24 Beiträge
Vaanmo Als Antwort am 1 Juli 2016 12:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Leider auch nicht...

Mache mich jetzt auf den Weg ins Wochenende, vielleicht fällt dir sonst noch etwas ein. Werde das dann am Montag testen.

Danke schonmal für die bisherige Hilfe und schönes WE...

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 1 Juli 2016 12:59
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Vaanmo"]Um 12:25: Mache mich jetzt auf den Weg ins Wochenende[/quote]

Wo arbeitest Du denn, daß Du am frühen morgen schon Wochenende machst? ;-)

Tut mir leid, aber zum eigentlichen Problem fällt mir nichts mehr ein.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
24 Beiträge
Vaanmo Als Antwort am 9 Aug. 2016 13:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]

Wo arbeitest Du denn, daß Du am frühen morgen schon Wochenende machst? ;-)

Tut mir leid, aber zum eigentlichen Problem fällt mir nichts mehr ein.

[/quote]

Leider ist der Feierabend um diese Uhrzeit nicht die Regel ;-)

Nach den Ferien hatte ich nun wiedermal etwas Zeit mich diesem Thema anzunehmen und habe zumindest schonmal den Grund gefunden, weshalb die Abfrage auf die Liste nicht funktioniert hat. Scheinbar funktioniert das mit dem Site Collection Template Enterprise Search nicht. Ich habe testweise eine neue Site Collection mit dem Template 'Teamsite' erstellt et voilà, ich bekomme die Ergebnisse aus der Liste. Muss man wohl nicht verstehen...

Ich versuche nun die Seite soweit aufzubereiten, dass ich (nahezu) dieselbe Optik und Funktionalität des Suchcenters erhalte, habe da aber noch meine Problemchen, weil man hier scheinbar betreffend Konfiguration der Webparts Suchergebnisse, Suchnavigation und Einschränkung nicht dieselben Möglichkeiten hat. Mal sehen, würde mich sonst allenfalls nochmal melden.

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Aug. 2016 13:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Vaanmo"]Scheinbar funktioniert das mit dem Site Collection Template Enterprise Search nicht[/quote]

Ist die Liste, von der Du die Daten möchtest, in dieser Search Center Website? In den Einstellungen der Website sind Search Center aus der Suche ausgeschlossen. Das könnte man ändern, aber es ist m.M.n. keine gute Idee, dort auch noch Daten unterzubringen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
24 Beiträge
Vaanmo Als Antwort am 9 Aug. 2016 14:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja, in meinem aktuellen Testszenario ist die Liste direkt auf der entsprechenden Site bzw. Site Collection. Wo diese Liste im Endeffekt dann liegt, spielt nicht die grosse Rolle. Auch nicht ob wir diese Daten direkt auf dieser Site ablegen. Von daher würde ich das gerne mal testen. Wo stelle ich das um?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Aug. 2016 14:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Settings Menü - Site Settings - Search and offline availability

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
391 Beiträge
Frank Daske Als Antwort am 20 Juni 2016 12:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Markus,

ja, CSV-Import in eine SharePoint Liste ist per PowerShell möglich. Für die, die nicht programmieren wollen, gibt es entsprechende SharePoint Integrations-Tools für die regelmäßige Aktualisierung von SharePoint Listen durch externe Daten über Timer Jobs am Markt.

Die Vorgehensweise damit ist hier ist hier beschrieben:
http://www.layer2solutions.com/en/community/FAQs/BDLC/Pages/How-to-connect-text-file-to-sharepoint-list.aspx

Vorteile sind die einfache Konfiguration (keine Programmierung), die Ausführung ohne zusätzliche externe Skripts über Timer Jobs und die sorgfältige Aktualisierung nur von geänderten Daten (kein Bulk-Import). Das macht Änderungs-Mitteilungen oder Workflows möglich.

Ich hoffe, das hilft erstmal weiter.

Beste Grüße, Frank