SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

Regelmässiger Import CSV Unternehmenssuchcenter / Liste

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 16 Antworten | 2 Followers

Ohne Rang
Männlich
24 Beiträge
Vaanmo erstellt in 20 Jun 2016 10:45

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

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

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

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
Männlich
24 Beiträge

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.

Top-25-Beitragsschreiber
Männlich
378 Beiträge

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

 

 

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

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
Männlich
24 Beiträge

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. 

 

 

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

Vaanmo:
Eigenschaftenfilter: ContentType = 'entsprechender Inhaltstyp'

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
Männlich
24 Beiträge

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. 

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

Vaanmo:
Wenn ich beim Filter meinen ContentType auswähle, wandelt er diesen in der Abfrage automatisch um in die ID

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.

Vaanmo:
Ich sollte doch auch einfach sagen können er soll mir nur die Elemente dieser einen Liste für die Suchabfrage ausgeben, oder!?

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
Männlich
24 Beiträge

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

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

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

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
Männlich
24 Beiträge

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

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

Vaanmo:
Um 12:25: Mache mich jetzt auf den Weg ins Wochenende

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
Männlich
24 Beiträge

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.

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.

 

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

Vaanmo:
Scheinbar funktioniert das mit dem Site Collection Template Enterprise Search nicht

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
Seite 1 von 2 (17 Elemente) 1 2 Weiter > | RSS