Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager...
-
Upload
gilbert-harris -
Category
Documents
-
view
219 -
download
0
description
Transcript of Longhorn Search and Organize User And Developer Experience Paul Cutsinger – Lead Program Manager...
Longhorn Search and Organize User And Developer Experience
Paul Cutsinger – Lead Program ManagerKerem Karatal – Lead Program ManagerMicrosoft Corporation
Agenda
Demo OverviewExtending The Longhorn ExplorerDeveloping Applications
Search, Organize And Visualize
Paul CutsingerLead Program Manager
Developer Experience
Extending the Longhorn Explorer:Content (metadata and full-text)Rich thumbnailsRich previews
Developing applications using new APIs:Search in your applicationRead/Write metadataLeverage Common File Dialog
Architecture Overview
Windows ExplorerWindows Explorer 33rdrd Party Applications Party Applications
Windows Search EngineWindows Search Engine
Windows Metadata SystemWindows Metadata System
SystemSystemPropertiesProperties
33rdrd Party PartyCustomCustom
PropertiesPropertiesSystemSystem
MetadataMetadataHandlersHandlers
33rdrd Party PartyMetadataMetadataHandlersHandlers
SystemSystemProtocolProtocolHandlersHandlers
33rdrd Party PartyProtocolProtocolHandlersHandlers
File SystemFile System(NTFS, FAT32)(NTFS, FAT32) Other Data StoresOther Data Stores
Agenda
Demo OverviewExtending The Longhorn ExplorerDeveloping Applications
Extending Longhorn ExplorerTop 3 Extension Points
Provide content to the Explorer:Search across file formats, data stores.Both full-text content & metadata.Enable organization by writing metadata back into file formats.
E.g.: Set System.Keyword property on .foo file type.
Provide rich thumbnails in the Explorer:Visually stimulating view of files in the Explorer.
Provide rich previewing in the Explorer:Browse contents of files without opening the file.
Providing Content3 Ways To Provide Content
Property HandlersProperty HandlersFile formatsFile formatsMetadataMetadataSome full-text contentSome full-text content
MultimediaMultimediaFile FormatsFile Formats
Property HandlersProperty Handlers+ IFilters (Full-text)+ IFilters (Full-text)
File formatsFile formatsMetadataMetadataExtensive full-text Extensive full-text content, multi-content, multi-lingual chunkslingual chunks
Document-basedDocument-basedFile FormatsFile Formats
Protocol HandlersProtocol Handlers
Non-file system Non-file system based storesbased storesMetadataMetadataExtensive full-text Extensive full-text content, multi-content, multi-lingual chunkslingual chunks
Document Document Management,Management,MessagingMessaging
Metadata
Leverage system properties where possible:Best performanceBest behavior in heterogeneous sets
E.g. One column shows Photographer and Author in Explorer
Otherwise add new properties:XML based format for describing custom properties,APIs to register the custom properties to system.
Property naming convention:Canonical Names:
Publisher.ApplicationName.PropertyNameFormatId/PropertyId:
FormatId: Use a new GUID for each propertyPropertyId: Use value > 2
Custom Properties<configuration xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation= "allprops.xsd“ > <propertyDescriptionList publisher = "Microsoft" product = "Windows” >
<propertyDescription name="System.Author" formatId="F29F85E0-4FF9-1068-AB91-08002B27B3D9" propertyId="4"><typeInfo
type="String" canStackBy="true" groupingRange=“Discrete"
multipleValues="true" isReadOnly="false"/>
<displayInfo drawControl=“Explorer.EditPropertyControl”
editControl=“Explorer.EditPropertyControl"></displayInfo><labelInfo
label="Author" invitationText="Add an author" sortDescription="AToZ"/>
</propertyDescription><propertyDescriptionList/>
</configuration>
Providing Metadata For File FormatsProperty Handlers
Registered through the File Association SystemOne per file type
Can be invoked as:Read-Only while indexing filesRead/Write when reading/updating metadata in the Explorer
Implemented as COM componentsMainly implement:
IInitializeWithStream – Initialization codeIPropertyStore – Property Read/Write accessIPropertyStoreCapabilities – Indicate capabilities like set of properties supported, read/write etc.
Rich Thumbnails In Longhorn
In Longhorn, thumbnails provide a rich visualization option for file types:
Providing Rich Thumbnails
Longhorn is introducing a new and simpler API.IThumbnailProvider replaces IExtractImage
There are problems with existing API:Complex and error-prone implementation:
Many unused flags, parameters.Need for fixing many bitmaps that are returned:
Convert bit depth to 32bpp,Stretch if necessary,Guess if bitmap is RGB or ARGB.
Opportunity to open files with too many or wrong oplocks.
Thumbnail handlers are now required to implement:IInitializeWithStream – Initialization code.IThumbnailProvider – Simpler interface for providing thumbnails.
Rich Previews In Explorer
A new pane in Explorer : Reading PaneIn place browsing of file contents
Providing Rich Preview Handlers
3rd parties provide viewers for their own file formatsWill run in:
ExplorerOutlook 12 and Common File Dialog
Implemented as COM components.Light weight components that render content in read-only mode
Mainly implement:IInitializeWithStream – Initialization codeIPreviewHandler – Rendering and interactive code
Agenda
Demo OverviewExtending The Longhorn ExplorerDeveloping Applications
Developing ApplicationsNew Set Of APIs
Known Folders: Common namespace locations
E.g. Documents, Music, etc.Access them and create new ones
Search in your application:Query items in Windows Search Engine
Metadata Read/Write:Unified access to file formats.
Common File Dialog:Open/save files with metadata
Known Folders
Longhorn defines a new and more intuitive namespace:Users
UsernameDocumentsPicturesMusic…
PublicDocuments…
Redirection to common network locations:In XP, known as “Redirected My Documents”In Longhorn available for all known folders
Known FoldersUsing And Extending
Applications should NEVER hard code file paths
Use Known Folder APIs insteadUse existing Known Folders if they are semantically equivalent:
E.g.: PDF documents stored in DocumentsOtherwise applications can create new known folders:
E.g.: 3D Drawings, Shapes, Code Projects etc.
Using Search In Applications
OLEDB/ADO APIs are used for issuing queries
SQL-like syntaxReturns an OLEDB Recordset
Both managed and native accessColumns correspond to properties in Windows Metadata System
E.g.: System.Photo.FNumber
Reading/Writing Properties
Unified layer to read/write metadata into files formats:
Requires metadata handlers which provide per file type handling
3rd party applications can:Enumerate properties stored in a fileDiscover property descriptions as described in the systemRead and write values for properties
Common File Dialog
Longhorn Common File Dialog mirrors the familiar Explorer UI:
Using Common File Dialog
New COM APIs.Enable multiple view states per application
View State: Last visited folder, dialog sizeWorking with properties:
Promote application related propertiesSetting default values for propertiesGetting property values to save
Rich set of events:FileOk, Help, SelectionChange, FolderChange, Overwrite, etc.
Extending Common File DialogNew Places In Places Bar
Extending Common File DialogCustom Layout And Controls
Summary
Longhorn provides 3 ways to extend Search, Organize and Visualize experience:
Providing content (metadata and full-text)Providing rich thumbnailsProviding rich preview handlers
Longhorn enables application developers:Use and extend Known FoldersIssue queries to Windows Search EngineRead/Write properties through unified layerIncorporate the new UI using the Common File Dialog
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.