Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager...

25
Exploiting New Exploiting New Capabilities for Search Capabilities for Search And Organization And Organization Kerem Karatal Kerem Karatal DAT307 DAT307 Lead Program Manager Lead Program Manager Microsoft Corporation Microsoft Corporation

Transcript of Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager...

Page 1: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

Exploiting New Capabilities Exploiting New Capabilities for Search And Organizationfor Search And Organization

Kerem KaratalKerem KaratalDAT307DAT307Lead Program ManagerLead Program ManagerMicrosoft CorporationMicrosoft Corporation

Page 2: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

2

AgendaAgenda

Overview – End User ExperienceOverview – End User ExperienceVisualization, Organization and SearchVisualization, Organization and Search

Search Enabling Your ApplicationSearch Enabling Your Application

Organize by Reading & Writing Organize by Reading & Writing Properties Properties

Using Common File DialogUsing Common File Dialog

Page 3: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

Visualization, Organization Visualization, Organization & Search – User Experience& Search – User Experience

Kerem KaratalKerem KaratalLead Program ManagerLead Program ManagerWindows ShellWindows Shell

Page 4: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

4

Exploiting Search & Exploiting Search & OrganizeOrganizeDeveloper OpportunitiesDeveloper Opportunities

Ability to search files/items.Ability to search files/items.

Reading & writing Reading & writing properties.properties.

New Common File New Common File Dialog.Dialog.

Page 5: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

Introducing Photo Browser Introducing Photo Browser ProProA sample applicationA sample application

Kerem KaratalKerem KaratalLead Program ManagerLead Program ManagerWindows ShellWindows Shell

Page 6: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

6

One Search TechnologyOne Search Technology

Common Full Text IndexerCommon Full Text Indexer

ClientClient ServeServerr

Client & Server products Client & Server products based on a shared core based on a shared core engineengine

Embedded in WSS, SQL, Embedded in WSS, SQL, Exchange, Office serversExchange, Office servers

Windows platform Windows platform component in Windows component in Windows XP & Windows VistaXP & Windows Vista

Common extensibility Common extensibility across all productsacross all products

SearchSearch

Drew DeBruyne
I think it might be confusing to refer to MSN rather than Windows Desktop Search, but of course if we refer to WDS, then the question is, how does that relate to just "Windows"? So
Page 7: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

7

ArchitectureArchitecture

File File SystemSystem

MAPIMAPIStoreStore

Other Other StoresStores

Property SystemProperty System

33rdrd Party PartySchemasSchemas

SystemSystemSchemasSchemas

Property HandlersProperty Handlers

3rd Party3rd PartyPropertyPropertyHandlersHandlers

ImageImagePropertyPropertyHandlersHandlers

MediaMediaPropertyPropertyHandlersHandlers

……

……

IndexerIndexer

InvertedInvertedIndexIndex

&&PropertyPropertyCacheCache

Query SystemQuery System

3rd Party Applications3rd Party Applications

Protocol HandlersProtocol HandlersFileFile

ProtocolProtocolHandlerHandler

MAPIMAPIProtocolProtocolHandlerHandler

3rd Party3rd PartyProtocolProtocolHandlerHandler

……

SearchSearch

Page 8: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

8

User Defined QueriesUser Defined Queries

Advanced Query SyntaxAdvanced Query SyntaxIncludes simple full text “word” based Includes simple full text “word” based queries.queries.

E.g.: John EmailE.g.: John Email

To disambiguate use mnemonics:To disambiguate use mnemonics:E.g.: from:John kind:EmailE.g.: from:John kind:Email

Implicit AND between words.Implicit AND between words.

Can also use AND/OR/NOT operators.Can also use AND/OR/NOT operators.

Query Building UIQuery Building UIExplicit UI to build predicates.Explicit UI to build predicates.

SearchSearch

Page 9: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

9

Query SystemQuery System

OLEDB/ADO APIs are used for issuing OLEDB/ADO APIs are used for issuing queries.queries.

Microsoft SQL Syntax with Full-Text Extensions.Microsoft SQL Syntax with Full-Text Extensions.

Returns an OLEDB Recordset.Returns an OLEDB Recordset.Recordset columns -> PropertiesRecordset columns -> Properties

Helper APIs convert from Advanced Query Helper APIs convert from Advanced Query Syntax to:Syntax to:

SQL SQL

Condition Tree -> To other query languagesCondition Tree -> To other query languages

SearchSearch

Page 10: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

10

Property SystemProperty SystemProperties – {Name, Value}Properties – {Name, Value}

Uniquely identified by:Uniquely identified by:Canonical NameCanonical Name

PROPERTYKEY - {FormatID, PropertyID}PROPERTYKEY - {FormatID, PropertyID}FormatID – GUIDFormatID – GUID

PropertyID – DWORD PropertyID – DWORD

System defined properties:System defined properties:System.GroupName.PropertyNameSystem.GroupName.PropertyName

E.g. System.Photo.FNumberE.g. System.Photo.FNumber

Declared in XML format – PropDesc Declared in XML format – PropDesc filesfiles

SearchSearch

Page 11: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

Querying the Windows Querying the Windows Search EngineSearch Engine

Kerem KaratalKerem KaratalLead Program ManagerLead Program ManagerWindows ShellWindows Shell

Page 12: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

12

Protocol HandlersProtocol Handlers

Property HandlersProperty Handlers

ArchitectureArchitecture

Property SystemProperty System

3rd Party3rd PartyPropertyPropertyHandlersHandlers

33rdrd Party PartySchemasSchemas

Query SystemQuery System

IndexerIndexer

File File SystemSystem

FileFileProtocolProtocolHandlerHandler

MAPIMAPIProtocolProtocolHandlerHandler

3rd Party3rd PartyProtocolProtocolHandlerHandler

MAPIMAPIStoreStore

Other Other StoresStores

ImageImagePropertyPropertyHandlersHandlers

MediaMediaPropertyPropertyHandlersHandlers

SystemSystemSchemasSchemas

InvertedInvertedIndexIndex

&&PropertyPropertyCacheCache

……

……

……

3rd Party Applications3rd Party Applications

OrganizOrganizee

Page 13: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

13

Property System Drill-downProperty System Drill-down

ShellShellFolderFolder

MetadataMetadataHandlerHandler

IPropertyStoreIPropertyStore

FileFileContentsContents

Shell ItemShell Item

IShellItem2IShellItem2

SHCreateItemFromParsingNameSHCreateItemFromParsingName

33rdrd Party PartyApplicationApplication

Property SystemProperty System

IPropertyStoreIPropertyStore

33rdrd Party PartySchemasSchemas

SystemSystemSchemasSchemas

IPropertyDescriptionIPropertyDescription

SHGetPropertyDescriptionSHGetPropertyDescription

GetCount\GetCount\GetAtGetAtGetValueGetValueSetValueSetValueCommitCommit

GetPropertyStoreGetPropertyStore

GetCanonicalNamGetCanonicalNameeGetDisplayNameGetDisplayName……

OrganizOrganizee

Page 14: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

14

Property Description FileProperty Description File

<configuration xmlns:xsi= <configuration xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance""http://www.w3.org/2001/XMLSchema-instance" >>

<propertyDescriptionList publisher = <propertyDescriptionList publisher = "Microsoft""Microsoft" product = product = "Windows”"Windows” > >

<propertyDescription<propertyDescription namename="System.Author" ="System.Author" formatIdformatId="F29F85E0-4FF9-1068-AB91-="F29F85E0-4FF9-1068-AB91-

08002B27B3D9" 08002B27B3D9" propertyIdpropertyId="4">="4">

<typeInfo<typeInfo typetype="String" ="String" multipleValuesmultipleValues="true“ />="true“ />

<search index<search index=“true” =“true” propStorepropStore=“true” />=“true” />

<labelInfo<labelInfo labellabel="Author" ="Author" invitationTextinvitationText="Add an ="Add an author" author"

sortDescriptionsortDescription="AToZ"/>="AToZ"/>

</propertyDescription></propertyDescription><propertyDescriptionList/><propertyDescriptionList/>

</configuration></configuration>

OrganizOrganizee

Page 15: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

Reading/Writing PropertiesReading/Writing Properties

Kerem KaratalKerem KaratalLead Program ManagerLead Program ManagerWindows ShellWindows Shell

Page 16: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

16

Common File DialogCommon File DialogWhy?Why?

Benefits for End Users:Benefits for End Users:Consistent File Open and Save Consistent File Open and Save experience.experience.

Take full advantage of Windows Vista Take full advantage of Windows Vista features:features:

Filtering, Stacking, Virtual Folders, Preview Filtering, Stacking, Virtual Folders, Preview Pane, etc…Pane, etc…

Ability to save metadata during File Save.Ability to save metadata during File Save.

Benefits for Developers:Benefits for Developers:Get all of Filtering, Stacking etc. for free.Get all of Filtering, Stacking etc. for free.

Extend it with less code.Extend it with less code.

Page 17: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

17

Common File DialogCommon File DialogFamiliar Windows Vista Explorer UIFamiliar Windows Vista Explorer UI

Multiple view-Multiple view-states:states:

View-state: Last View-state: Last Visited folder, Visited folder, Dialog Size.Dialog Size.

Extensible Places Extensible Places BarBarRich EventsRich EventsNew APIs:New APIs:

IFileDialog,IFileDialog,IFileOpenDialog,IFileOpenDialog,IFileSaveDialog,IFileSaveDialog,IFileDialogEvents.IFileDialogEvents.Mini Save ModeMini Save Mode

Page 18: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

18

Extending Common File Extending Common File DialogDialogCustom Layout and ControlsCustom Layout and Controls

A set of controls:A set of controls:CheckButton, CheckButton, DropDownMenu ...DropDownMenu ...

Controlled layout:Controlled layout:Grouping, separators.Grouping, separators.

New APIs:New APIs:IFileDialogCustomize,IFileDialogCustomize,IFileDialogControlEvenIFileDialogControlEvents.ts.

Page 19: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

Using and Extending Using and Extending Common File DialogCommon File Dialog

Kerem KaratalKerem KaratalLead Program ManagerLead Program ManagerWindows ShellWindows Shell

Page 20: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

20

Call to ActionCall to Action

Incorporate search in your Incorporate search in your application.application.

Read & write properties.Read & write properties.

Use and extend Common File Dialog.Use and extend Common File Dialog.

All of this works in Beta1 – Start All of this works in Beta1 – Start prototyping!prototyping!

Page 21: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

21

Community ResourcesCommunity ResourcesAt PDCAt PDC

For more information, For more information, PRS310PRS310: Windows Vista: Extending Explorer by Providing : Windows Vista: Extending Explorer by Providing Metadata, Rich Previews and Thumbnails for Your File Metadata, Rich Previews and Thumbnails for Your File Types (Wed 3:15pm)Types (Wed 3:15pm)OFF320OFF320: Developing with Microsoft Office System Search : Developing with Microsoft Office System Search Technology (Thu 3:45pm)Technology (Thu 3:45pm)DAT322DAT322: Building MSN Search Enabled Applications (Thu : Building MSN Search Enabled Applications (Thu 5:15pm)5:15pm)Hands-on-Lab: Hands-on-Lab: PRSHOL33PRSHOL33Ask The Experts table: PRS TrackAsk The Experts table: PRS TrackPRS Track loungePRS Track lounge

After PDCAfter PDCMSDN dev center: MSDN dev center: http://msdn.microsoft.com/vista/http://msdn.microsoft.com/vista/HOL code available on DVD5.HOL code available on DVD5.Forum: Search and Organize in Windows VistaForum: Search and Organize in Windows VistaChannel 9 VideoChannel 9 Video

Page 22: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

22© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Page 23: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

23

Appendix - RoadmapAppendix - Roadmap

Page 24: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

24

FormatsFormats

StoresStores

QueryQuery

Common Search APIsCommon Search APIs

Content extractionContent extractionIFilter; IPropertyStore (client)IFilter; IPropertyStore (client)

Protocol HandlersProtocol HandlersISearchProtocol & IUrlAccessorISearchProtocol & IUrlAccessor

Advanced Advanced Query SyntaxQuery Syntax

OLE DB ProviderOLE DB ProviderFull-text SQLFull-text SQL

LanguagesLanguages Common set of language resourcesCommon set of language resourcesIWordbreaker & IStemmerIWordbreaker & IStemmer

Office serverOffice serverManaged OMManaged OM

Client Client Query Query

HelpersHelpers

Page 25: Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.

25

CommonCommonIndexingIndexingEngineEngine

ClientClient

ServerServer

Unified Search RoadmapUnified Search Roadmap

Unified client engine & API on WindowsUnified client engine & API on Windows

Targets Windows Vista RTMTargets Windows Vista RTM

Consistent results for Windows Vista shell, Office Consistent results for Windows Vista shell, Office “12”, Windows Desktop Search“12”, Windows Desktop Search

Server & client share extensibility APIsServer & client share extensibility APIs

ExtensibilityExtensibility

IFiltersIFilters

Protocol Protocol HandlersHandlers

Query APIQuery API

SQLSQL

Keyword Keyword SyntaxSyntax

Redist for:Redist for:

Windows 2000Windows 2000Windows XPWindows XPWindows Server 2003Windows Server 2003