Your SlideShare is downloading. ×
TechDays11 Geneva - Going Further with SharePoint 2010 Search
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

TechDays11 Geneva - Going Further with SharePoint 2010 Search

1,154
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,154
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • domaine
  • versions
  • La fonction «Search» est constituéd’un certain nombre de composants pouvant être déployés sur plusieurs serveurs permettant ainsi de gérer scalabilité et les performance du search. Ces composants sont le Query engin, l’engine d’Indexation, et le «Analyseur»(ou Crawler). Ils peuvent tourner sur un ou -n système selon la topologie de la ferme (aujourd’hui configurable a travers la Console Administration ou même avec PowerShell). SharePoint 2007 proposé déjà le partage des composants d’analyse (autrement dit les «Crawlers») a travers les WebFront End. Par contre le server d’indexation données, restait toujours une des cause de pénalisation des performance de votre ferme. Alors, une nouveauté dans Sharepoint 2010 (apparemment disponibles que dans SharePoint Server 2010 mais pas dans FAST!!), les composants d’Indexation peuvent être partitionnés pour éviter les problèmes de performance lié à la taille de ceux-ci. Pour construire les index, le crawler va balayer toutes les sources de données configurées au travers du connecteur approprié. Les connecteurs peuvent se connecter à toutes source de données, notamment les sites Sharepoint, des répertoires partagés, des site internet, des bases de données, et moyennant le développement de connecteurs custom toute forme de système.Query consists of components which can be scaled out among multiple servers to improve performance. When a search is performed by a user, the WFE which servesthe request uses the associated search service application proxy to connect to a server running the Query and Site Settings Service also known as the Query Processor.  It uses WCF for this communication. The QP will connect to the following components to gather results merges\\security trims and return results back to WFE:Property Store DB – holds metadata\\properties of indexed contentSearch Admin DB – holds Security Descriptors\\Configuration dataQuery Component - holds entire index or partition of an indexThe Query Processor will send request towards the Query Components that are active, but if all active Query Components are down, then Query Processor will submit requests to Query Components flagged as fail over.  Query components (marked as Engine in the photo) are responsible for serving search queries(runs under MSSearch.exe). A query component is mapped to only one Property Store DB. In previous builds of SharePoint, every query server stored the entire index.   While this achieved fault tolerance it didn’t help with performance.There is a direct correlation between the size of an index and query latency.  The size of an index can easily become a bottleneck for query performance.   For Example:Index contains 10 million documents =  Average of 2 seconds per queryIndex contains 20 million documents = Average of 4 seconds per queryThis problem has been solved in SharePoint 2010.   Index partition can contain the entire index or a portion of the index.  By creating additional query components, a new index partition is created and owns a portion of the index.  Index Partitioning (new in SharePoint 2010)By partitioning large indexes, query times are reduced and a solution to this type of bottleneck can be solved.   Partitioning an index is as simple as provisioning new Query Components from the Search Application Topology section in Central Administrator.For Example:If the entire index is 8 GB and contains 20 million documents:Holds 50%: 4GB of index\\10 million documents:  Query Server 1 - Index Partition 1    Holds 50%: 4GB of index\\10 million documents:  Query Server 2 - Index Partition 2Query Component and Property Store DBQuery server= Query Component.  A Query Server is a server that runs one or more Query Components. These servers hold a full or partial of the search index.  Query Servers are now the sole owner of storing the index on the file system.  The indexer crawls content and builds a temporary index and then propagates portions of the temporary index over to Query Server to be indexed. Query Servers contain a copy of the entire or partial index referred to as an Index Partition (new in SharePoint 2010).  Query components run under the context of an Index partition.   SharePoint 2010 uses now multiple databases only for the Search (e.g. Property Store DB and Crawl DB). Splitting into many leads to reduction in overall Database size and performance improvement
  • Avant même de lancer la première requête pour une recherche il faut tout d’abord (supposant que le planning de l’architecture de la recherche a été déjà bien finalisé et que il y a au moins un Search Service Application créée et configurer) rendre le contenu disponible. Ca signifie passer quelque étapes notamment:Création de Content Sources. Une “Content Source” représente le data store a crawler et indexer pour le mètre a disposition pour la recherche. Création d’un « Search Center »  (ou plusieurs) - un Search Center ce n’est que un Template de site comme les autres avec certain composants (comme des pages et web parts) préconfigurées. Au niveau de collection de site normalement il faut après le configurer dans «  Search Settings». Optionnel, il faut configurer Best Bets & Keywords pour rediriger les utilisateurs vers les site plus autoritaire.Création des search Scopes. Les search scopes permet de raffiner les résultats afin de améliorer pas seulement la performance serveur, en réduisant les résultats retournées, mais aussi l’experience utilisateur en lui proposant les resultats dans le contexte de sa requete. (Describehere how wedidapplythis for our Image search by using CONTENTCLASS)Les Search Scopes peuvent etredefinis au plusieurs niveaux, par consequenceells:SharedSearch Scopes – une fois definis seront disponible a travers toute la fermeSite Search Scopes – visible a l’usage que pour une collection de sitesContextualSearch Scopes – liée au endroit ou l’utilisateur se trouve sur le site au moment de lancement de la recherche – par exemple au niveau “This List” ou “This Site” – automatique, peuvent pas etre configuréPar defaut, les atributs (collones) de chaque CT sont automatiquement analysé (ou “crawlées”) etant possible des les utiliser soit dans les affineurs personnalisées ou pour encore filtrer les résultats soit dans ses web parts. Ces atributs seront grouppées en les mappant vers “ManagedProperties” qui seront que apres ca utilisable sur les sites et web parts.Optionellement ou peut faire de la fédération de contenu en definisant de locations federées mais ceci nous allons decouvrir en fin de session
  • The SharePoint platform includes many built-in Web Parts that you can include in your solution, and provides many more components that you can use in Web Parts that you developCore Search ExperienceSharePoint Server 2010 and Search Server 2010 Express include a new feature for search called Search Suggestions. Search suggestions are listing below the search box that suggests search terms while you are typing your search query. They have been around for a few years in sites like www.bing.com and are now integrated into SharePoint 2010. Suggestions are automatically built based on what search results are actually clicked on. It takes 6 clicks within a year for SharePoint to add a suggestion; if an administrator needs to add a suggestion manually this can be done using the SharePoint 2010 Management Shell (PowerShell).Improved Query Syntax.One of the most common complaints about SharePoint search in MOSS 2007 was the inability to use Wildcards and Boolean Operators when performing search queries.  Both of these capabilities were supported by the search API but required either custom code or 3rd Party Search Utilities to take advantage of this. The good news is that SharePoint 2010 now supports both Wildcards and Boolean Operators when performing search queries! Wildcards enables query as such share* which would yield results havingkeywords that started with “share” or Property based query syntax and return all results that started with John: Author:John*Boolean OperatorsSharePoint 2010 Search now also supports Boolean Operators.  This means that you can now use things like “AND”, “OR”, parenthesis, =, >, <, <=, >=  Here’s an example of the type of query you could run using the new syntax:(“SharePoint Search” OR “Bing”) AND (title:”Keyword syntax” OR title:”Query Syntax”).Boolean Operators have been around for a while but are usually only used by search power users. While wildcard searches allow users to do very broad searches, Boolean Operators allow users to do very specific searches so they can quickly find the results they are looking for that meet their search criteria.Out of the box refinement panel ( Panneau d’affinement)La page des résultats de la recherche inclut un panneau d’affinement, qui fournit permet aux utilisateurs de filtrer rapidement afin de mieux comprendre et localiser les résultats (par exemple selon tout type de contenu (document, tableur, présentation, page Web, etc.), emplacement de contenu (comme les sites SharePoint), créateur du contenu ou la date de dernière modification. L’utilisateur peut également filtrer par catégorie selon les propriétés managées ou les nœuds de taxonomie). Un résumé peut aussi indiquer qu’il existe essentiellement des documents Microsoft Word dans les 50 premiers résultats de la recherche, suivis d’un certain nombre de documents Microsoft Excel. D’ailleurs le Compteur de resultats c’est facilement rajouter a cote de chaque filtre identifié juste en spécifiant un paramètre dans le XML de configuration.When Extending there are 2 types:Value Mapping: This can be a set of values that are to be matched. For example we can have certain Continents that include a countries. Then we can create filters that contain multiple countries linked to continents. In the Refinement Panel a user can click on Europe and get a set of results that includes Germany, France, England and other European CountriesRange Value: A range value can be applied to metadata that are either Dates, Numerics or Strings. This allows you to create categorization that finds items that fall into a specific range. For example lets assume that we have projects with different budgets, we can create a range refiner that will find items that fall into these budget bounds for instance.
  • Améliorations apportées à la pertinence des résultats de recherche SharePoint Server 2010 apporte des améliorations à la pertinence et l’utilité des résultats de recherche, comme suit :Classement basé sur l’historique des résultats de la recherche Si un document dans un jeu de résultats de recherche a été consulté à partir d’une page de résultats de recherche plus souvent que d’autres documents, le document est promu dans le classement des résultats de la recherche.Pertinence basée sur des métadonnées inféréesAprès une analyse, les métadonnées de document sont analysées dans le cadre du processus d’indexation. Dans certains cas, le système de recherche peut également déduire des métadonnées à partir du contenu d’un document. Cela peut être utile lorsque les métadonnées explicites d’un document sont manquantes ou incorrectes. Par exemple, le modèle d’un document Microsoft PowerPoint peut ne pas spécifier un auteur, mais le système de recherche peut déduire l’auteur à partir d’une phrase dans le document comme « By John Doe ».
  • IT PRO: En s’appuyant juste sur la customisation XML (par exemple a rajouter des nouvelles colonnes dans les résultats de la requête a travers la configuration de Search Box Web Part ou rajouter un nouvelle catégorie dans le panneau d’affinement) ou XSLT (en changeant le façon dont les résultats de la recherche sont affiché), les professionnelles de l’information seront capables a faire des merveilles sans y devoir appeler des outils de développement. Le web part de résultat de la recherche fédéré sont aussi disponible dans la gallérie de web parts, catégorie Search Web Parts permettant d’y aller plus loin dans la customisation de votre centre de la recherche.Dev: Avec une meilleure intégration avec VS 2010 et nombreuse fonctionnalités rajouté ou améliorées SharePoint 2010 a quoi de faire jouir(??) les développeurs. Le même OM c’est maintenant utilisé avec SharePoint Search Server qu’avec FAST Server, avec accès total a tout la pipeline de fonctionnalités offerte par SharePoint.
  • Pas juste de faire “sexy” mais rendre util!
  • Connu sous le nom de BDC dans la version 2007, BCS pour Business Connectivity Services supporte maintenant l’indexation à destination des services de search. Les index de Sharepoint peuvent ainsi être enrichi à partir d’une définition et d’une simple configuration.Ca n’a été jamais plus facile a réaliser des connexions vers les basse de données et rapatrier ces données dans votre portail SharePoint, qu’a partir de SharePoint 2010 et SPD2010, et ca grâce aux services BCS. Totalement revues et améliorées, l’architecture des services BCS, permettent désormais une paletté des fonctionnalités asez large pour couvrirtoutes les besoins.Juste connecter votre portail a un system, par exemple basé sur SQL ou un même un service WCF c’est devenu une problématique des quelques minutes.Autre amélioration très importante c’est la capacité d’indexer les attachments et tenant compte aumeme temps de la securité. Pareil pour les documents stockée sur des systemes externesHooking up SharePoint to index content from a databaseisnow a no-brainer; point SPD to yourdatabase to automatically reverse engineer a BDC model, thendeploythat model to the indexer via the admin UI. To index more complex and dynamicrepositories, developerscannowalsobuild custom connectors in managed code (The old C++ Protocol Handler API isstillsupported).
  • Focus on External Content Types, ExternalLists, Searchexternal data (database, WS, etc.)Pareil qu'avecla mise en place du Search, la définition et la customisation d’un ECT désormais peut se faire soit à partir de Sharepoint 2010 Designer soit (dans un model basé sur une solution Visual Studio 2010). La plus part des fonctionnalités liée au création et édition des ECT, ou EL peut se faire directement avec SPD 2010. Même des relations entre les ECT ( connues comme Associations sont disponibles dans SPD2010, avec les restrictions specifiques).
  • Qu'est que c’est un connecteur d’indexation est constitué de: Un modèle définissant les informations, telles comme les métadonnées liée a la connexion et la structure des données accédées La partie exécutable de votre connecteur, c’est ce partie la qui assure le fonctionnement de votre connecteur. C’est elle aussi qui interagit avec les source de données externes.Connecteurs offertes Out of the BoxBase de donnée (SQL Serveur) - OLEDB, ODBC, etc.Web Services (WCF ou «ancien» SOAP based ou WSDL-based)Connector pour les assemblies .NETEvery indexing connector needsA BDC model file to express connection information and the structure of the backendA BDC Connector for code to execute when accessing the backendOut-of-box BDC ConnectorsDatabaseWCF (Web Services).NET (custom code)Accesses data through SharePoint web service (Windows authentication or by using WIF Security framework)Supports full crawl through enumeration of content and incremental crawl through change logBuilt-in support for security trimming (Windows and pluggable)
  • Ilfautexplique le contenu de slide
  • Data is stored across many repositoriesMultiple interfaces are complicated and takes timeSize, security, or cost make crawling infeasibleSearch already exists on the repositoryApproach:People want to search everything in one placeWhat aboutFederation based upon OpenSearchA lightweight standard used throughout the industry.Clients: Amazon A9®, Internet Explorer, Mozilla Firefox®, Windows 7, SharePoint 2010Providers: Bing, SharePoint 2010, any searchable RSS feed (…more at www.opensearch.org)Qu’est ce que le searchfederation ? Il s’agit d’intégrer les résultats de moteurs de recherche aux résultats de nos Query et ainsi offrir une expérience permettant d’intégrer les résultats de système public ou privé dédié tell que wikipedia, linkedin, facebook, ou bing
  • Enumeration des chosesmentioné
  • La conversation est initialisé par le “client” dans le contexte d’un portail SharePoint ce sont notamment a travers les Search web parts et les Searchtext boxes. En s’appuyant sur les paramètres spécifié par le “Query Template” (voir l’example {searchTerms}) le criteres de la recherche sont envoyé vers le serveur. Le résultat (étant donné que la configuration c’etais propre) revient dans un format RSS/XML qui apres est interepreté et transformé par les web part OOTB de SP.D’ailleurs dans les “collones” retourné dans le résultat de la requête on retrouve de contenu standard dans un RSS feed.
  • Transcript

    • 1.
    • 2. Marius Constantinescu Valerie Alonso
      Technical ArchitectLead Consultant
      blue-infinity (Switzerland) S.A.
      Aller plus loin avec le Search
    • 3. branding.technology.integration
      in brief
      • + 250 employees
      • 4. headquartered in Geneva
      • 5. founded in 1995
      • 6. international culture
      • 7. multi-national clients
      • 8. integrated solutions
    • Agenda
      Concepts
      End-user Enhancements
      Search Extensibility
      Query federation
    • 9. Microsoft SharePoint 2010
      Ribbon UI
      SharePoint Workspace
      SharePoint Mobile
      Office Client and Office Web App Integration
      Standards Support
      Business Connectivity Services
      External Lists
      Workflow
      SharePoint 2010 Designer
      Visual Studio
      InfoPath Form Services
      API Enhancements
      REST/ATOM/RSS
      Tagging, Tag Cloud, Ratings
      Social Bookmarking
      Blogs and Wikis
      My Sites
      Activity Feeds
      Profiles and Expertise
      Org Browser
      Sites
      Composites
      PerformancePoint Services
      Excel Services
      Chart Web Part
      Visio Services
      Web Analytics
      SQL Server Integration
      PowerPivot
      Communities
      Insights
      Enterprise Content Types
      Metadata and Navigation
      Document Sets
      Multi-stage Disposition
      Audio and Video Content Types
      Remote Blob Storage
      List Enhancements
      Social Relevance
      Phonetic Search
      Navigation
      FAST Integration
      Enhanced Pipeline
      Content
      Search
    • 10. Products for Every Customer Need
      Quick, easy, powerful search (for free!)
      Complete intranet search
      High-end search delivered through SharePoint
      Basic search
      Intranet-wide search
      People and expertise search
      Visual experiences, extreme adaptability and advanced content processing
    • 11. Do More With Search
      Across a Spectrum of Customization and Development
    • 12. Logical search architecture
      Concepts
      Federated Source
      • Search Center Entry pointfor users to issue queries and interact with results
      • 13. Query Servers- Accept query requests from users and return results
      • 14. Query Federation - Return external results from non-SharePoint Indexes
      • 15. Indexing - Extract information from items to enable efficient matching
      • 16. Index Partition - Subset of the overall index
      • 17. Crawling - Traverse URL space to record items in search catalog
      Indexing Connectors - Know how to process different content sources
      Content Sources - Host the content we want to return in main results
    • 18. Making Content Searchable
      Create Content Sources
      SharePoint Site, Internet Sites, Line of Business, File Shares
      Configure search scopes
      Narrow down search results
      Choose between Site or Contextual Search Scopes
      Enable Sites, Lists and/or Libraries to be searched
      Promote Crawled properties to Managed properties
      Properties coming from Content Types (same for External Content Types) are crawled
      Managed properties can be used in search results and refiners
      Create and configure a search center
      Benefit from Query Federation
      Query across remote server & external indexes, get results as structured XML (mainly RSS)
      Based on either SharePoint Index (other farms) or using the OpenSearch 1.0/1.1 Standard
    • 19. End-User Enhancements
      One-stop Search Center
      Large variety of search web parts
      Keywords and Best bets
      Top answers (Display format for the federated search location’s results.),
      Advanced search -promote managed properties
      Query federation brings together results from all over - native support for OpenSearch
      Core search experience
      Improved did you mean suggestions when mistyping
      New pre- and post-query related query suggestions
      “View in browser” link (for most office docs) – req. Office Web Apps
      Improved query syntax , including
      Prefix matching( aka wildcard), as in Author:Jo* )
      Boolean query syntax for free-text query or property based query (“SharePoint Search” OR “Bing”) AND (title:”Keyword syntax” OR title:”Query Syntax”)
      Out-of-box refinement
      Refine over key results properties
      Automatic metadata, taxonomy and social tags based results refinement
      Easy to extend over custom properties (Value or Range Mapping)
    • 20. End-User Enhancements
      Improved relevance ranking
      New ingredients: URL fuzzy matching, social tags, results click through, implicit phrase matching, extracted metadata, etc.
      Improved low-noise snippets in summaries
      Enhanced multi-lingual support
      Automatic detection of language of many document types and part of documents
      Compound word handling - e.g., Innovationszyklen” and ”innovation“, “zyklen”
      Improved ranking of documents in multilingual collections
      New form factors
      Mobile search from Smartphone browsers
      Desktop search integration in Windows 7
    • 21. End-User Enhancements
      Change web part properties – no code
      Customize XSLT - mainly in “Results” web parts (Core, Federated, etc.)
      Modify XML
      Search Box, Refinement panel – control metadata available for refinement
      Advanced search – control metadata available for advanced search queries
      Extend OOB web parts programmatically
      Almost OOB web parts are un-sealed (except for AdvancedSearchBoxHighConfidenceWebPart, PeopleCoreResultsWebPart, SearchPagingWebPart, SearchStatsWebPart, SearchSummaryWebPart)
      Extend web parts to change default behavior
      E.g. Extend core results web part to show result previews, change results sorting order
      Extend Search Center with vertical experiences
      All web parts communicate through public interface (SharedQueryManager object)
    • 22. demo
      Enhancing Search center
      Challenges in branding a search center
      A real image ONLY search experience
    • 23. Search Extensibility via BCS
      • Enable “No Code” connectivity to external data sources & built-in support for BCS in SharePoint 2010 Designer
      • 24. Provide C.R.U.D. operations support – both Read & Write
      • 25. Offline capabilities and SharePoint Workspace
      • 26. Integration with Office 2010 Programs (Word, Outlook)
      • 27. Enable indexing and search across external data
      • 28. Support more complex & dynamic repositories via custom models
    • BCS what you can do
    • 29. Connector Architecture
      Search page points to Profile Page or custom page to show search result
      Search user queries
      Search results page – results based on metadata
      Search Engine/Index
      BDC Profile Pages or External Lists
      Server BDC Runtime
      Execution call routing through BDC
      Connector using BDC model file
      Fetch data from repository
      Databases
      .NET
      BDC Connector
      WCF
      Custom BDC Connector
      Protocol Handlers
    • 30. Search external data with BCS
      Demo
    • 31. Search Extensibility - Federation
      Easily Connect to Assets that live Outside of SharePoint
      OpenSearch Federation
      Easy to Connect
      Exchange Server
      Files
      SharePoint
      Web
      Databases
      Lotus Notes
      Documentum
      Index-based Federation
    • 32. Search Extensibility - Federation
      Query Federation
      Bring external search results into the SharePoint experience
      New : Open Search standard (1.0 & 1.1) support
      Exposed through UI (via Federation Results web parts)and Public federation Object Model for developers
      Use “Federation Locations” in Central Admin to define connections to new sources
    • 33. Know the difference
      Choose Indexing when:
      No way to search repository
      Common relevance ranking
      Extract full text and metadata
      Scope to arbitrary subset
      Source performance / reliability is insufficient
      Lock on Federation when:
      You need a quick, powerful way to bring together results
      Data distributed across multiple repositories
      Search already exists
      Crawling is not feasible…
      Cost or difficulty
      Geo-distribution
      Proprietary / Legal restrictions on source
    • 34. OpenSearch federation works
      HTTP
      request
      Search Provider
      Search Client
      RSS/Atom Results
      HTTP request with query in the URL:
      http://www.site.com/srchrss.aspx?q={searchTerms}
      Internet Search Results
      http://search.live.com/results.aspx?q={searchTerms}&count={itemsPerPage}&first={startItem}&mkt={language}&format=rss&FORM=SHAREF
      RSS / Atom results:
      RSS results with <title>, <link>, <description>
      Best sources also include: <pubdate>, <author>, <category>, <media:thumbnail>
      Optionally include custom metadata: <recordid>, <projectname>, <contactnumber>
    • 35. Demo
      Federated search
      Create a new Federated source
      Custom refiner
      Blended search results
    • 36. Further Considerations
      Ranking up to the provider
      Refinement – use custom runtime
      Query Syntax – use custom web part or runtime
      Plan out Synchronous vs. Asynchronous
      Deploying to Windows 7 via Group Policy
      Security
    • 37. Federation Design Patterns
      Federation based search vertical
      Core Results – A complete results experience
      Lightweight preview of results
      Show ~three results to preview a source
      Instant answer across multiple sources
      An exact match or quick factoid
      Custom application using Federation OM
      Query alteration, refinement, multiple sources
    • 38. Further Considerations
      Ranking up to the provider
      Refinement – use custom runtime
      Query Syntax – use custom web part or runtime
      Plan out Synchronous vs. Asynchronous
      Deploying to Windows 7 via Group Policy
      Security
    • 39. Federation Design Patterns
      Federation based search vertical
      Use the OOTB Core Results Web Part–complete seamless experience
      Lightweight preview of results
      Can results to preview a source
      Instant answer across multiple sources
      An exact match or quick factoid
      Custom application using Federation OM
      Query alteration, refinement, multiple sources
    • 40. Other federation capabilities
      Federation Administration UI
      Management of federated locations.
      Triggers
      Query format determines when to send query.
      Site Restrictions
      Restrict access of federated locations to certain sites.
      Federation Gallery
      Collection of federated locations created by Microsoft or Partners.
    • 41. Q&A
    • 42. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
      The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.