SPC12: Tag 1

Heute morgen ging es ab 7:30(!) mit dem Frühstück in einer Halle los, in der sonst wahrscheinlich Flugzeuge oder Raketen gebaut werden.

CIMG0079

CIMG0091

 

 

 

 

 

CIMG0088

CIMG0086

 

 

 

 

 

Dann anschließend in einer ähnlich großen Halle gab es die Keynote mit u.a. Jared Spataro, Jeff Teper und Scott Guthrie. Neben den bereits bekannten Dingen wurden auch die Windows 8 Apps für SharePoint und Yammer gezeigt. Insgesamt ist die Yammer Integration aber noch nicht wirklich eine Integration. Man springt klar von einer Anwendung zur nächsten, was das ganze in meinen Augen ziemlich User-Unfreundlich macht. Was aber klar wird: Microsoft setzt ganz extrem auf die Cloud. Dazu wurde z.b. gesagt, dass sie sich von dem 3-Jahres Releasezyklus verabschieden und in Office365 alle 90 Tage Updates einspielen.

Anschließend war ich dann in der Session "What's new for Developers in Office 2013 and SharePoint 2013". Dort gab es leider nicht viel Neues, sondern nur noch mal einen Überblick über die Möglichkeiten der Apps, die dann in Office, SharePoint und Outlook laufen.

Nach dem Mittag ging es weiter mit "What's new in Search for SharePoint 2013". Sehr interessant und insgesamt super mächtig was die Suche nun für Möglichkeiten bietet. Sei es beim Ranking, bei der Präsentation oder den Query Rules. Vor allem wichtig: Um die Suchergebnis-Seite und das Hover-Panel zu bearbeiten ist kein XSLT mehr notwendig sonder nur noch HTML/Javascript.

Danach war ich noch bei der Session "Building end-to-end apps for SharePoint with Windows Azure and Windows 8". Dort wurde eine Lösung gezeigt die fast alle neuen Technologien vereint und von Public Sites bis Windows 8 Toast/Tile Notifications alles hatte. Sehr cool. Allerdings fehlte leider die Zeit wirklich in alle Details zu schauen.

CIMG0099Heute abend dann noch bei der ClubSPC Party gewesen. Und Mr. Gangnam Style persönlich war da (oder zumindest einer der genauso aussah ;-)

Und zum Schluß noch ein Lacher: Woran merkt man, dass man auf einer SharePoint- (oder Allgemein einer IT-) Konferenz ist? An diesen Schildern.

Show thumbnail image of JPGs within SharePoint search results

In SharePoint 2010 it is really easy to enable the search center to include a thumbnail of JPG images. The required XSLT is already there and you only have to add the file type "jpg" within the search administration (and a full crawl of course):

 

 

 

 

 

However, it works for images within a picture library only. To enable it also for JPGs in "normal" document libraries (e.g. "PublishingImages" which is is, other than the name would indicate, not a picture library), go to your search center results.aspx, edit the page and then edit the "search core result" web part. Make sure you uncheck "Use Location Visualization" (obviously, isn't it? ;-).

Now click "XSL Editor..." and copy/paste that XSLT to modify it within your favorite editor. Look for <xsl:template match="Result">.

There you can see at the first "xsl:when" that it tests on contentclass "STS_ListItem_PictureLibrary". I've just copied the entire "xsl:when" block and modify it.

The first modification is to test if the result is a jpg. Sadly enough there is no "indexOf" in XSLT, so this one is a little bit dirty:

<xsl:when test="contains(url, '.jpg') and not(contains(url, '.jpg.'))">

The second change is where the thumbnail will be shown. I don't want to load the full big JPG so I decided to go with the really nice built-in feature of SharePoint to get a thumbnail of any image just by modifying the URL.

To get a thumbnail from a JPG stored in any SharePoint library just add "/_t/" between the library and the filename and replace the filename extension with "_jpg.jpg":

http://sp2010/DocLib/_t/Test_jpg.jpg

 

So here is the interesting part before the modification:

<div class="srch-picture2">
    <img class="srch-picture" src="{picturethumbnailurl}" alt="" />
</div>


And after the modification:

<div class="srch-picture2">
    <img class="srch-picture" alt="">
        <xsl:attribute name="src">
            <xsl:value-of select="concat(substring-before(url,title),'_t/',
translate(title,'.jpg','_jpg'),'.jpg')"
/> </xsl:attribute> </img> </div>


At the end your XSL should contain the new "xsl:when" between the existing one and the "xsl:otherwise":

 

 

 

 

 

After saving this and the entire page, you should get a nice looking result: