SharePoint 2013: Liste innerhalb der Websitesammlung anzeigen

Eine Frage, die immer wieder aufkommt, ist die, wie man die Daten einer Liste oder einer Bibliothek in einer anderen Website anzeigen kann. In einem früheren Beitrag habe ich gezeigt, wie man das in SharePoint 2010 machen kann. Leider funktioniert es in SharePoint 2013 mit der Methode nicht mehr. Die Vorgehensweise ist zwar ähnlich, aber auch die Werkzeuge haben sich verändert, so daß es jetzt einen eigenen Beitrag dazu gibt, wie man eine Listenansicht in SharePoint 2013 für die gesamte Websitesammlung zur Verfügung stellt.

Ansicht vorbereiten

Man kann die Ansicht zwar auch später noch problemlos über die Webparteinstellungen bearbeiten, auch dann, wenn sie in einer anderen Website eingefügt wurde, aber es empfiehlt sich trotzdem sie bereits an der Quelle so aufzubereiten, wie sie später an den meisten Stellen verwendet wird (oder verwendet werden soll).

Man kann dazu entweder eine vorhandene Listen- oder Bibliotheksansicht verändern, auf der Liste oder Bibliothek eine neue Ansicht erzeugen (und später wieder löschen) oder auch auf einer beliebigen Seite eine Ansicht einfügen und verändern. Auch in diesem Fall kann man sie später problemlos wieder von der Seite entfernen (oder die ganze Seite löschen).

Ansicht exportieren

Die oben erstellte Ansicht muß jetzt exportiert werden. Warum Microsoft den dafür vorgesehenen Menüpunkt aus dem Webpartmenü entfernt hat, kann ich nicht sagen, aber mit SharePoint Designer geht es zum Glück immer noch. Man öffnet also die Website in SharePoint Designer und navigiert zur Seite mit der gewünschten Ansicht. Wenn sie sich als Ansicht direkt auf der Liste oder Bibliothek befindet, kann man dazu über Listen und Bibliotheken und dann über die Ansichten einer Liste oder Bibliothek gehen. Wenn sie sich auf einer beliebigen Seite befindet, muß man diese öffnen. Je nach Speicherort der Seite kann man z.B. über Site Pages oder auch über Alle Dateien dorthin gelangen.

In SharePoint Designer 2013 gibt es keine Designansicht mehr, so daß man nach dem Öffnen der Seite direkt in die Quellcodeansicht gelangt. Dort sucht man sich die gewünschte Ansicht (im Idealfall befindet sich nichts anderes auf der Seite). Man findet Listenansichten z.B. indem man nach WebPartPages:XsltListViewWebPart sucht. Jetzt setzt man einfach die Einfügemarke irgendwo innerhalb dieses Elements und im Ribbon oben erscheint unter der Überschrift WEBPARTTOOLS der Reiter FORMAT. Darin gibt es rechts zwei Optionen zum Webpart speichern:

Direktes Speichern in den Websitekatalog hat keinen Sinn, weil es damit in anderen Websites nicht funktionieren wird. Man speichert das Webpart also in eine Datei, z.B. als ListeInWebsite1.webpart und merkt sich den Ort, an dem man die Datei abgelegt hat.

Gespeicherte Ansicht editieren

In der Datei muß jetzt eine Änderung gemacht werden. Es handelt sich dabei um eine XML-Datei, die man mit einem geeigneten Editor bearbeiten kann. Zur Not geht es auch mit Windows-Notepad. Man sucht in der Datei nach WebId und stellt fest, daß diese als leere Guid hinterlegt wurde: 00000000-0000-0000-0000-000000000000

Dort muß jetzt die richtige ID der Website eingetragen werden, in der sich die Liste oder Bibliothek tatsächlich befindet. Man findet diese ID z.B. über den REST-Service, indem man im Browser an die Adresse der Website folgendes anhängt: /_api/web/id

Als Adresse steht dann sowas im Browser http://sharepoint/sites/web2/_api/web/id und die Ausgabe sieht so aus:

Der markierte Teil ist die gesuchte Guid der Website. Man überschreibt damit die leere Guid in der Datei und speichert sie. Falls der Browser die Daten nicht wie oben gezeigt darstellt: hier steht, wie man das ändert.

Ansicht importieren

Die in der Datei gespeicherte Ansicht wird jetzt in den Webpartkatalog importiert. Dazu geht man zuerst in die Rootwebsite der Websitesammlung. Dort dann über das Menü hinter dem kleinen Zahnrad rechts oben in die Websiteeinstellungen. Unter Web-Designer-Kataloge findet man den Link Webparts. Dort lädt man die Datei hoch und kann dann noch verschiedene Metadaten angeben wie z.B. eine Beschreibung. Man kann auch die Gruppe angeben, unter das Webpart später beim Einfügen in eine Seite gefunden wird. Wenn man hier nichts angibt, erscheint es unter Verschiedenes.

Das war’s auch schon. Die Ansicht ist jetzt als wiederverwendbares Webpart im Webpartkatalog gespeichert und kann innerhalb der gesamten Websitesammlung verwendet werden.

16 Gedanken zu “SharePoint 2013: Liste innerhalb der Websitesammlung anzeigen

  1. Vielen, vielen Dank! 🙂
    Ich habe lange nach einer Möglichkeit gesucht, Listen als Webparts innerhalb der Websitesammlung mehrfach zu verwenden.

    Mit freundlichen Grüßen

    Markus Hanisch
    Student B. Eng. Wirtschaftsingenieurwesen

    Gefällt mir

  2. Hallo Holger,
    bei meinen Versuchen ist mir das mit den Lookups nie aufgefallen. Und rein technisch sollte es auch kein Problem sein, weil alle Lookups automatisch in die ganze Websitesammlung gehen können. Man kann sie per Code problemlos so einrichten (nur im Browser nicht).
    Ich prüfe das nochmal

    Viele Grüße
    Andi

    Gefällt mir

  3. ein toller Vorschlag, der bei mir auch funktioniert. Habe es mit einer Liste ausprobiert, die Daten werden auch angezeigt – allerdings funktioniert das Paging nicht (die Liste hat ca. 200 Einträge). Gibt es dafür eine Lösung?
    Die ID habe ich natürlich übernommen…
    LG
    Piet

    Gefällt mir

  4. Hallo Piet,
    tut mir leid, aber dafür kenne ich auch keine Lösung. Microsoft möchte offenbar nicht, daß man sowas macht – deshalb machen sie es einem auch so schwer.

    Viele Grüße
    Andi

    Gefällt mir

  5. Das Einfügen der Liste hat Wunderbar geklappt, Danke Andi!
    Was leider nicht funktioniert sind die Look-Ups, das bearbeitem oder Anzeigen einer Datei 😦
    Weisst Du da evtl. eine Lösung? (WEnn ich mit der Maus auf die Datei ^zeige, sehe ich den richtigen Pfad zur Datei)

    Gefällt mir

  6. Hallo Tom,
    natürlich kann man sowas viel eleganter per Suche machen. Auch das Content Qiery Webpart ist eine Möglichkeit, aber das gibt es nur beim Server und ich versuche immer auch Foundation-Benutzer glücklich zu machen 😉
    Der Artikel an sich hat historische Gründe. In 2007 konnte man das ganz einfach per SPD machen. In 2010 ging das nicht mehr und ich habe beschrieben, wie man es trotzdem hinbekommt. Aufgrund großer Nachfrage habe ich das dann auch für 2013 beschrieben.
    Viele Grüße
    Andi

    Gefällt mir

  7. Hallo Peter,
    das Verfahren hat leider einige Nachteile und die kann man oft nur schwer oder gar nicht umschiffen. Ich würde in einem solchen Fall die Suche benutzen, das ist seit 2013 eigentlich der bessere Weg. Siehe dazu auch meine Antwort an Tom direkt darüber.
    Viele Grüße
    Andi

    Gefällt mir

  8. Hallo Andi, vielen Dank für diesen Post! Ich habe versucht, einen Blog zu exportieren, allerdings werden mir die einzelnen Beiträge nur bedingt richtig dargestellt. Die Schriftgröße des Titels z.B. passt, allerdings wird mir gar keine Umrahmung angezeigt und die Datumsangaben sind auch nicht korrekt dargestellt. Gibt es eine Möglichkeit, das zu lösen? Wird die Darstellung eventuell zusätzlich noch wo anders gespeichert?
    LG Raphi

    Gefällt mir

  9. Hallo Ralph,
    Du hast da offenbar zwei Probleme. Das eine ist die Darstellung wie z.B. Schriftarten und -farben. Das wird durch CSS gesteuert und vielleicht fehlt da einfach in der anderen Website etwas (eine CSS-Datei). Du kannst das z.B. mit Hilfe der Entwicklertools im IE (F12) nachvollziehen.
    Das andere ist die Datumsformatierung und da nehme ich ganz einfach unterschiedliche Einstellungen der beiden Websites an (Landes- und Regionaleinstellungen).
    Viele Grüße
    Andi

    Gefällt mir

    • Es liegt ja im allgemeinen daran, dass der Blog und die zugrundeliegenden Listen richtig dargestellt werden, da die Website als Blog und nicht als Team-Website definiert ist. Ich muss nur irgendwie die ganzen Dateien und Codezeilen herausfinden, die eben verantwortlich sind für diese Darstellung. Ich habe mal zwei Screenshots hochgeladen, damit du siehst was ich meine:
      IST:

      SOLL:

      Gefällt mir

  10. Hi Andi,
    der Beitrag hat mir wirklich geholfen. Nur laufe ich leider in ein Problem, sobald zwei Listen nach dem gleichen Schema auf einer Unterwebsite dargestellt werden sollen. Das Hinzufügen des zweiten Web Parts ist noch kein Problem. Erst dessen Anpassung führt dazu, dass Fehler dieser kommen: System.Runtime.InteropServices.COMException: Liste nicht vorhanden. Die gewählte Seite verweist auf eine nicht vorhandene Liste. Möglicherweise wurde sie von einem anderen Benutzer gelöscht.,
    Geht man zurück auf die Site, sind beide Web Parts vorhanden und zeigen genau das an, was sie sollen… Ich als Admin weiß also, dass es nicht schlimm ist. Der Endanwender jedoch dürfte das eher ungeil finden.

    Gefällt mir

  11. Hi Florian,
    ich habe nicht ganz verstanden, wo Dein Problem liegt. Falls Du damit meinst, daß es Fehler gibt, wenn man später ein auf diese Art eingefügtes Webpart bearbeiten möchte, dann kann ich das nur bestätigen. Es gibt keinen Editor, der das unterstützt, d.h. es geht weder im Browser noch mit SharePoint Designer oder sowas.
    Die einzige Möglichkeit ist, das Webpart an der Quelle genau so aufzubereiten, wie man es möchte und dann so zu speichern. Später bearbeiten ausgeschlossen.
    Viele Grüße
    Andi

    Gefällt mir

    • Mir ist es nur aufgefallen, dass dieser Fehler erst dann auftritt, sobald ein zweites Web Part (andere Liste, aber gleiche WebID) auf einer Seite untergebracht wird. Die jeweiligen Einstellungen der Web Parts werden eigenartiger Weise übernommen, die List Items werden entsprechend der ausgewählten View dargestellt.
      Es führt halt zu Verwirrung, sobald ein Benutzer die Seite möglicher Weise anpasst (Web Part hinzugefügt oder ähnliches), speichert und diesen Fehler bekommt.

      Gefällt mir

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s