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.




PDF-Preview im CSWP bei Cross-Site Publishing

Geprüfte Antwort Dieser Beitrag hat 10 Antworten

Ohne Rang
91 Beiträge
Myrcella erstellt 1 Dez. 2014 10:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Community,

ich probiere aktuell die Kombination eines Produktkatalogs mit einem Veröffentlichungsportal zum Cross-Site Publishing aus und bin prompt auf ein Problem gestoßen. Wir möchten unseren Anwendern vor allem PDFs zur Verfügung stellen und hätten dazu gerne statt eines Rollup-Bilds eine PDF-Vorschau in den Content Search Webparts des Publishing Portals. Zu diesem konkreten Anwendungsfall hat Google mir bisher keine Ergebnisse ausgespuckt, deswegen wende ich mich an euch. Wisst ihr, wie man so etwas ermöglichen kann?

Beste Grüße,

Myrcella

Alle Antworten

Ohne Rang
91 Beiträge
Myrcella Als Antwort am 2 Dez. 2014 14:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich verfolge aktuell einen Ansatz, der zumindest in berechneten Feldern funktioniert. Da nutze ich quasi ein <iframe>-Tag, um die Preview in einem berechneten Feld darzustellen. Das funktioniert soweit auch sehr gut, nur bringt mir das bis hierhin noch nicht sehr viel, da das mein ursprüngliches Problem nicht löst. Denn weder will die Rollupbild-Spalte <iframe>-Tags als Wert annehmen, noch weiß ich, wie ich das berechnete Feld in den Display Templates anzeigen kann. Habt ihr dazu einen möglichen Ansatz parat? Oder eine vollkommen andere Alternative?

Viele Grüße,

Myrcella

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Dez. 2014 08:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich würde das ganz ohne berechnete Spalte direkt im Display Template machen. Du kannst dort ja per Script das ganze HTML für den iframe zusammensetzen. Eine genaue Anleitung habe ich aber nicht.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
91 Beiträge
Myrcella Als Antwort am 5 Dez. 2014 08:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja, das macht Sinn. Dann werde ich mal herumprobieren. Danke schonmal!

Ohne Rang
91 Beiträge
Myrcella Als Antwort am 5 Dez. 2014 09:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also ich habe jetzt mal herumprobiert, aber ich fürchte, so, wie ich mir das gedacht habe, funktioniert das noch nicht so ganz.

Was ich gemacht habe:

Das <mso:ManagedPropertyMapping>-Tag habe ich erstmal ganz in Ruhe gelassen, weil ich dort meiner Meinung nach alles habe, was ich brauche. Diese Zeile hat schon existiert:

var line1 = $getItemValue(ctx, "Line 1");

also habe ich diese Zeile darunter gepackt:

var pdfurl = "[URL der Bibliothek]" + line1 + ".pdf";

Zur Erklärung: "line1" ist das Titelfeld des Dokuments, und ich habe ja nur PDFs in meiner Bibliothek, also dachte ich mir, dass ich einfach den Link zum Dokument aus der URL der Bibliothek, dem Titel und der Endung *.pdf zusammenfüge. Macht das bis hierhin erstmal Sinn?

Danach habe ich mein <iframe>-Tag (in grün) in das meiner Meinung nach passende <div>-Tag eingefügt:

            <div class="cbs-largePictureImageContainer" id="_#= pictureContainerId =#_">
                <a class="cbs-pictureImgLink" href="_#= linkURL =#_" title="_#= $htmlEncode(line1) =#_" id="_#= pictureLinkId =#_">
                    <iframe src="_#= pdfurl =#_" width="468px" height="220px" scrolling="no"></iframe>
                </a>
            </div>

Irgendetwas hat auch schonmal funktioniert. In den CSWP-Ergebnissen wird mir jetzt die Katalogseite mit der Überschrift "Seite nicht gefunden" angezeigt. Insofern muss meine Lösung ja zumindest teilweise richtig sein. Nun nehme ich an, dass mir irgendein Fehler in der Deklaration der Variable "pdfurl" unterlaufen ist. Kann mir den bitte jemand aufzeigen?

Vielen Dank und beste Grüße,

Myrcella

EDIT: Erst denken, dann schreiben! In der Sekunde, als ich diesen Beitrag gepostet habe, ist mir klar geworden, wo mein Fehler liegt - das Titelfeld hat ja gar nicht den gleichen Inhalt wie das Namensfeld. Ich suche jetzt also die passende Spalte plus managed property mapping heraus und melde mich in ein paar Minuten nochmal zurück. Sorry, war wohl etwas voreilig. ^^

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Dez. 2014 10:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Schaue Dir mal in enem Debugger das Objekt ctx.CurrentItem genauer an. Ich bin mir sicher, daß Du dort irgendwo den Link zum Dokument findest. Wahrscheinlich FileRef oder so.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
91 Beiträge
Myrcella Als Antwort am 5 Dez. 2014 10:29
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Got it! Wow, das war tatsächlich viel einfacher, als ich gedacht hatte. Danke, Andi, dass du mich auf den richtigen Pfad geführt hast!

Wie habe ich mein Problem jetzt also gelöst?

Ich habe eine extra Websitespalte "Name2" erstellt und per QuickEdit einfach alle Werte aus der Spalte "Name" übernommen. Gecrawlt, die crawled property an eine managed property gebunden, nochmal gecrawlt. Dann habe ich 'Name2':'RefinableString06' in das <mso:ManagedPropertyMapping>-Tag gepackt und die Zeile var Name2 = $getItemValue(ctx, "Name2"); ergänzt. Dazu passend kam die Zeile var pdfurl = "[URL der Bibliothek]" + Name2 + ".pdf#page=1&toolbar=0&scrollbar=0&navpanes=0&statusbar=0"; direkt darunter. Und den Inhalt des <iframe>-Tags hab ich ja oben schon gepostet.

Und jetzt läuft es! Ich bin total begeistert und echt glücklich, dieses Problem hat mir wirklich Nerven geraubt. Danke dir nochmal, Andi, das hat mir echt weiter geholfen!

Ohne Rang
20 Beiträge
Norinco Als Antwort am 17 Dez. 2014 16:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Myrcella,

ich hab das über berechnete Spalte und direkte Vorschau von PDF Previews auch schon getestet, allerdings wirst du bei größeren Datenmengen merken das die  die Ladezeiten recht hoch werden. Schau dir mal das Video an hier wird genau beschrieben wie man den SharePoint Product Catalog einsetzt und ihn mit einer publishing Site Collection  verknüpft.

 

https://www.youtube.com/watch?v=xTVW5fqafy4

http://en.share-gate.com/blog/recording-understand-sharepoint-product-catalog

bzw hier

http://blogs.technet.com/b/tothesharepoint/archive/2013/02/20/stage-1-create-site-collections-for-cross-site-publishing.aspx

Ohne Rang
91 Beiträge
Myrcella Als Antwort am 18 Dez. 2014 07:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Norinco,

vielen Dank für die Links. Allerdings habe ich das Problem ja bereits gelöst. Unsere Dateien sind nicht allzu groß und unser Portal zeigt auch immer nur sechs Dokumente gleichzeitig, deswegen sind die Ladezeiten sehr gering.

[quote user="Norinco"]Schau dir mal das Video an hier wird genau beschrieben wie man den SharePoint Product Catalog einsetzt und ihn mit einer publishing Site Collection  verknüpft.[/quote]

Das habe ich längst alles getan, sonst hätte ich ja keine Frage zu diesem Stadium des Projekts stellen können. Trotzdem danke.

 

Ohne Rang
20 Beiträge
Norinco Als Antwort am 18 Dez. 2014 10:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe nicht alles gelesen gestern stimmt :-)

Nun will ich aber noch was Interessantes beitragen mit der Hoffnung nicht off Topic zu schreiben. Ich habe damals aufgrund genannter Performance Gründen VorschauBilder angezeigt und die PDF Preview über ein HoverPanel auf der Publishing Site realisiert.

Hier wird das Display Template des Content Search Weparts angepasst, so dass  ein hover panel pro Item geladen wird in diesem dann das Iframe zum Dokument _#= $htmlEncode(ctx.CurrentItem.Title) als PDF Vorschau geladen wird. 

Hier steht wie das funktioniert:

http://www.cdhtalkstech.com/2013/11/19/5598/

 

 

Ohne Rang
91 Beiträge
Myrcella Als Antwort am 18 Dez. 2014 10:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Norinco"]PDF Preview über ein HoverPanel auf der Publishing Site[/quote]

Danach hab ich auch schon gesucht, aber alle Herangehensweisen haben bei mir irgendwie nicht funktioniert. Die Anleitung, die du referenziert hast, sieht aber recht vielversprechend aus, die werde ich mir nachher definitiv mal anschauen. Danke!