Mittwoch, November 12, 2008

OFC302 Building Search-Driven Portals Using FAST ESP, MOSS 2007 and Silverlight

FAST ESP is the leading enterprise search platform. Combining the strengths of FAST ESP and Microsoft Office SharePoint Server (MOSS) 2007 allows the development of powerful search-driven portals. In this session, you'll learn more about the architecture and functionality of FAST ESP and how it can complement and extend the existing search features in MOSS 2007. We will demonstrate how to create search user interfaces by configuring and extending the FAST ESP Search Web Parts, including the use of Silverlight to deliver unique search experiences.
Auf diese Session bin ich gespannt… denn ich habe noch nie die Fast Engine in Action gesehen zusammen mit MOSS.
Zu Beginn wird erklärt, dass die ganze Demo auf der FAST Engine beruht. Alle Fast Web Parts sind auf CodePlex downloadbar. Die Suchresultate werden mittels Silverlight angezeigt und die Fast WebParts funkionieren mittel Ajax.
Zuerst wird das default Search Center von Moss gezeigt. Interressant ist hier schon, dass auf der rechten Seite sogenannte "Navigators" sind. (Kein facetted Zeugs..) Dies ist alles OOB, jedoch ist ja die Fast Engine dahinter. Nun verstehe ich auch, woher die Navigators kommen. Nun wird gezeigt, wie die XSLT angepasst werden kann. Als Beispiel wird einfach das Icon ersetzt, welches den Dateitypen anzeigt. Nun wird in den Suchresultaten anstelle des Icons die erste Seite des Dokuments gezeigt.
Nun wird das Navigators WebPart gezeigt und angepasst. Er passt diese so an, dass nun 3 Navigators angezeigt werden. People, Company und Technology. Sieht sehr hübsch aus. Die Selektion geht über spezielle Analyse Properties der Search Engine. Nun wird der Company Navigator so angepasst, dass anstelle der Firma nun das Firmenlogo angezeigt. Nun wird auch noch der People Navigator angepasst, so dass vor den Usern auch noch deren Bild angezeigt wird. Es wird leider nicht darauf eingegangen, ob dies die Bilder aus dem SP Profil ist oder woher diese kommen.
Jetzt wird der Result Page ein Statistik WebPart hinzugefügt und ein neues Result WebPart, welches Bilder anzeigt. Die beiden WebParts werden so eingerichtet, dass sie gegnüber einem anderen Index suchen. (Anscheinend kann ich mit Fast mehrere Indexes haben.)
Nun erhalten wir ein Resultat, welches oben (wie bei der Google Bilder Suche) die gefundenen Bilder angezeigt werden und darunter die Dokumente. Wenn er jetzt eine Person anklickt, wird nur noch ein Dokument angezeigt und Optisch beim Foto des Autors Optisch sichtbar gemacht, dass diese Person ausgewählt wurde. Nun wird der Result Page noch Silverlight "beigebracht". Nun kann in den Suchresultaten der Bilder geblättert werde, dies sieht dann aus wie Cover Flow auf dem Ipod.
Nun erklärt er, dass dies alles noch keine Hexerei ist und nicht wirklich revolutionär. ( Dabei wäre ich schon froh, wenn wir dies könnten. ) Dies sei halt Aufgrund der XSLT Limitationen.
Deshalb beginnt eine neue Demo, wo der Suchresultat Seite Javascript beibringt, damit auch Kontext Sensitive Resultate möglich sind. (Anstelle, dass vom Xslt nur statische Html zurückkommt, wird nun das HTML und das XML zurückgegeben) Auf der Client Seite(auf dem Server, aber aus Sicht der Search Engine ist es der Client) wird nun mittels Java Script diese XML ausgewertet. Das RenderingResult() Methode ist nun im JavaScript abgefangen und wird durch das Script erledigt. Für das Rendering wird auch Ajax verwendet.
Jetzt wird einfach gezeigt, dass ich nun mittels Java Script so ziemlich alles machen, was mit Script erlaubt ist :-) . Die jetztige Lösung ist so gemacht, dass wenn man das Fenster verkleinert, sich die Resultate Dynamisch anpassen und die Icons. Sieht nett aus, hatt für mich aber nicht so einen grossen Effekt, denn User welche Ständig (nachdem sie die Resultate ja haben) die Fenstergrösse verändern.
Nun wird das ganze noch mit AJAX verknüpft, so dass wenn ich einen Buchstaben im Suchfeld eingebe, bereits die Resultate angezeigt. (Wie bei Desktop Search z.B)
Eine gute Demo, wo ich mich sicher im nachhinein noch etwas schlauer machen werden, betr. Einbindung Fast Search Engine, Kosten etc.

PDC206 Introducing Windows 7 - Part 1

The Windows® 7 operating system is the essential platform for developers. Windows 7 empowers developers to deliver creative solutions that are mobile-aware, connected, high-fidelity, and provide a highly intuitive user experience. Most importantly, developer platform fundamentals such as security, performance, and compatibility are top priorities in Window 7. This two part presentation introduces Windows 7 and summarizes the key developer advances in each of the following areas: making products that stand out, the best of Windows and the Web, and rock solid platform. Come and learn firsthand about Windows 7 developer technologies including: Multi-touch Support, Libraries, Federated Search, Ribbons, Sensors, Windows Web Services and the new Taskbar and shell experience. This is the first half of a two part presentation introducing Windows 7.

Diese Session tue ich mir jetzt an, weil 1. Paul Donlan mir geraten hat, dass ich diese Session von Kyle besuchen soll. Zum anderen, um zu schauen was es noch (ausser Search) neues gibt, welches ich noch nicht entdeckt habe. (Und ich will sehen, mit welchem Build hier gearbeitet wird :-) )
Natürlich möchte ich auch Wissen, was aus Entwickler Sicht neu ist, denn dies habe ich bislang noch nicht angeschaut.
Nach ein paar Marketing Sätzen nach wieso , weshalb und dem Video "I'm a Pc" beginnt die Demo. Er benutzt den Build 6975. Hmm, ziemlich neu, benutze ich doch 6936 und der ist vom 28. Oktober…
Zuerst zeigt er neue Task Bar Features, welche ich tatsächlich noch nicht entdeckt habe :-) Dies aber auch, weil mein Build diese Funktionen noch gar nicht kennt :-) Er zeigt, wie die Fenster neu "gedockt" werden können, gleich wie man es als Entwickler aus dem Studio kennt. Nun verliert er ein paar Worte zum Thema Task Bar, resp. neu "Natification Area".
Nun wird es interessant, er kommt nun zum Theam "Find & Organize". Zuerst erklärt er die Libraries, was die Idee dahinter ist und wie es geht. (Ich nenne sie immernoch "sphisticated myFolder") Nach der Erklärung zeigt er, wie ich eine Library erstelle, wie sie automatisch in der Suche integriert ist und ich dies auch gleich als "Search Scope" nutzen kann. Er zeigt auch, dass ich einen Scope habe, auf dem ich den SharePoint Content durchsuchen kann. (Ich hoffe er zeigt uns dann auch, wie man den Search Connector baut, denn dies habe ich bislang noch nicht zum Fliegen gebracht )
Nun geht es um vhd (Virtuelle Images), dass ich die Möglichkeit habe, eine Hardware ab dem vhd zu booten und aus einer "echten" Maschine ein virtuelles File generieren kann. Er zeigt auch noch dass die Lupenfunktion verbessert worden ist…. Das wars. Die Demo ist bereits zu Ende.

What's new to Developers ?

• New Desktop
• Managing Files and Data
• Fundamentals
• New APIs to support fundamental improvements
○ Services, Power, Graphics
• Intuitive User Interfaces
• Touch, Handwriting and Ink, Speech
• Sensors
• Windows Web Services

Er führt nun aus, dass Windows 7 viel Ressourcen schonender ist als Vista. Dies habe ich auch bereits festgestellt. Multitouch wird nun auch angekündigt und er sagt, dass er auch noch ein Demo zeigen wird. Auf diese bin ich dann gespannt.
Nun geht er durch die Folien, erklärt die Features im Detail.



Die Jumplist kann jeder App Entickler selber gestalten. D.h. wenn ich über den IE fahre in der Taskbar, sehe ich eine Preview auf alle Tabs die ich geöffnet habe und kann direkt auf den Tab springen von der Taskbar aus. Im MediaPlayer werden als Beispiel die Tasten angezeigt (Play etc.) und die nächsten 10 Titel der Playlist.
Nun folgt die Erklärung, wie die federated Search funktioniert und wo ich überall die Search zur Verfügung habe. Im gleichen Zug werden die Libraries detailierter erklärt.



Nun kommt noch eine flammende Liebeserklärung für die Search Funktionen und die federated Search. The coolest Client Side Application ever that need no code ond client side .

OFC309 Launching an Internet-Facing MOSS 2007 Publishing Site: Deployment, Performances, Security

Building and implementing a MOSS 2007 Publishing site is one thing but launching it for use by anonymous users to the Internet is a big additional step. There are things to consider that address both security and performance concerns. In this session you will learn some pre-go-live items that should be addressed and checked before launching a Publishing site. In addition we will also cover performance from the aspect of things developers should be very aware of to create well performing components and how to implement caching effectively, including custom caching components. Finally, you will see how to slim down your pages to have the smallest footprint possible and thus, providing the fastest page load time for your browsers.

Andrew, der die Session präsentiert ist MVP und kommt aus der Ted Pattison Group .
AmAnfang erklärt er uns, wie man das ActiveX auf Internet Seiten unterbinden kann. Intern ist dies kein Problem, extern ist es nicht wirklich erwünscht.
Wer benutzt die "out-of-the-box"View auf Externen Seiten ? Vermutlich niemand. Man sollte immer bedacht sein, dass man die Page nicht überlädt, da sonst der erste Page Load zu lange dauert. (Payload)

Er zeigt nun eine Demo, wo er demonstriert, dass die Core.js nicht zuerst, sondern am Schluss asynchron nachgeladen wird, ohne dass der User dies dann bemerkt und warten muss. Dies wird nur für anonymous users getan. Dies tut er, indem er die "OnInit" Function überschreibt, und dort, wenn es sich um einen authenticated User handelt, die Core.Js regisitriert.
Nun zeigt er Fiddler (Freetool) zum Http Debuggen. Er zeigt auch Safari, wo ich dass ganze graphisch darstellen kann, was wie lange gebraucht hat etc.
Nun geht es um CAS (Code Access Security) . Er empfiehlt, dass custom Cas Policies sicherer sind als ganze Site Trust.
Page Output Cache ist die schnellste Art von Caching. By Default ist dieses Feature nicht enabled und muss aktiviert werden. Caching muss für ein ganze Site aktiviert werden. Ein andere Option ist der Object Cache. Dies elimiert round trips bei Cross-site queries . Auch dieses caching ist default nicht eingeschaltet. Zusätzlich gibt es auf SharePoint die Möglichkeit des Disk based chaching. Dies erzwingt, dass die Objekte, welche aus der DB kommen, auf den WebFrontends auf der Disk gespeichert werden. Somit muss nicht bei jedem PageLoad das Objekt aus der Datenbank geholt werden sonder liegt auf dem WebFrontent.
Eine weiter Möglichkeit der Optimierung ist via IIS die statische und dynamische Kompression. Dies muss jedoch ziemlich aufwendig "fine getunded" werden. Denn: Je grösser die compression, desto grösser ist die CPU Load auf Seiten des IIS. (Dafür sind natürlich die Files kleiner, welche dem Client gesendet werden) Und natürlich umgekehrt. Also muss man dies schlichtweg austesten, was für die Web Site der beste wert ist. In IIS7 kann ich dies dynamisch einstellen, was natürlich sehr nützlich ist.

Nun folgt eine Demo, wo er zeigt, wo ich was einstellen kann.