1 / 39

Microsoft Office System UK Developers Conference

Microsoft Office System UK Developers Conference. Radisson Edwardian, Heathrow 29 th & 30 th June 2005. Web Part Connections. Nigel Bridport Principal Consultant Microsoft Corporation. Agenda. Introduction to Web Part Connections Problems and Solutions Connection Framework Scenarios

jiro
Download Presentation

Microsoft Office System UK Developers Conference

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microsoft Office SystemUK Developers Conference Radisson Edwardian, Heathrow 29th & 30th June 2005

  2. Web Part Connections Nigel Bridport Principal Consultant Microsoft Corporation

  3. Agenda • Introduction to Web Part Connections • Problems and Solutions • Connection Framework • Scenarios • Creating and Developing Web Part Connections • Supported Interfaces • Interface Details • Compatibility and Transformers • Cross Page Connections • Compatibility Rules • Out-of-the-Box Microsoft Web Part Connectability

  4. Problems And Solutions • Hardwired solutions • Parts need intimate knowledge of each other • Parameterized Hyperlinks • Lack of flexibility • Developer driven • SharePoint ships powerful parts

  5. Connections Framework • Allows Web Parts to send and received basic types of data • Cell, Row, List, etc • Uses standardized set of interfaces • Allows completely independent parts to connect • Enables end users to form connections • Browser • FrontPage 2003

  6. Scenarios • Master/Detail • Parent/Child • Data Entry and Filter • Calculations • Alternate Views • Data Enhancement • Connecting to Out of the Box Web Parts

  7. Connecting Parts

  8. Connection Interfaces

  9. Supported Interfaces • ICellProvider, ICellConsumer • IRowProvider, IRowConsumer • IListProvider, IListConsumer • IFilterProvider, IFilterConsumer • IParametersOutProvider, IParametersOutConsumer • IParametersInProvider, IParametersInConsumer

  10. Code Flow • EnsureInterfaces() • RegisterInterface() • CreateInterfaceGroup() • AddInterface() • CanRunAt() • PartCommunicationConnect() • PartCommunicationInit() • Fire Init Events; e.g., CellProviderInit() • PartCommunicationMain() • Fire Remaining Events; e.g., CellReady() • GetInitEventArgs()* *Only needed for interfaces that require transformers.

  11. The Cell Conversation • P: Hello Consumer • C: Hello Provider • P: Here is what I want to talk about. • C: Oh? Well; Here is what I want to talk about • P: Ok, now here is the data you were looking for • C: Thanks!

  12. Methods you implement Method calls you make Cell Connection Flow Provider Consumer EnsureInterfaces EnsureInterfaces CanRunAt CanRunAt PartCommunicationConnect PartCommunicationConnect PartCommunicationInit CellProviderInit() CellProviderInit PartCommunicationInit CellConsumerInit() CellConsumerInit PartCommunicationMain CellReady() CellReady GetInitEventArgs GetInitEventArgs

  13. Cell Connections

  14. The Row Conversation • P: Hello Consumer • C: Hello Provider • P: Here is a list of fields I can give you • C: (ok) • P: Here is the data you were looking for • C: (thanks!)

  15. Methods you implement Method calls you make Row Connection Flow Provider Consumer EnsureInterfaces EnsureInterfaces CanRunAt CanRunAt PartCommunicationConnect PartCommunicationConnect PartCommunicationInit RowProviderInit() RowProviderInit PartCommunicationMain RowReady() RowReady GetInitEventArgs GetInitEventArgs

  16. Row Connections

  17. The List Conversation • P: Hello Consumer • C: Hello Provider • P: Here is a list of fields I can give you • C: (ok) • P: Now here is the data I told you about • C: (thanks!)

  18. Methods you implement Method calls you make List Connection Flow Provider Consumer EnsureInterfaces EnsureInterfaces CanRunAt CanRunAt PartCommunicationConnect PartCommunicationConnect PartCommunicationInit ListProviderInit() ListProviderInit PartCommunicationMain ListReady() ListReady PartialListReady() PartialListReady GetInitEventArgs GetInitEventArgs

  19. The Filter Conversation • P: Hello Consumer • C: Hello Provider • C: Here is a list of things you can filter for me • P: (Will do) • P: Ok, apply this filter • C: (Thanks!)

  20. Methods you implement Method calls you make Filter Connection Flow Provider Consumer EnsureInterfaces EnsureInterfaces CanRunAt CanRunAt PartCommunicationConnect PartCommunicationConnect PartCommunicationInit FilterConsumerInit() FilterConsumerInit PartCommunicationMain SetFilter() SetFilter ClearFilter() ClearFilter NoFilter() NoFilter GetInitEventArgs GetInitEventArgs

  21. Filter Connections

  22. The ParametersOut Conversation • P: Hi Consumer • C: Hi Provider • P: Here is the set of parameters I’m giving you • C: (ok…) • P: Ok, here are the parameters • C: (thanks!)

  23. ParametersOut Connection Flow Provider Consumer EnsureInterfaces EnsureInterfaces CanRunAt CanRunAt PartCommunicationConnect PartCommunicationConnect PartCommunicationInit ParametersOutProviderInit ParametersOutProviderInit() PartCommunicationMain NoParametersOut NoParametersOut ParametersOutReady ParametersOutReady() GetInitEventArgs GetInitEventArgs

  24. The ParametersIn Conversation • P: Hello Consumer • C: Hello Provider • C: Here is the set of parameters I want from you; Some of them are optional • P: (Ok, I’ll get on it!) • P: Here are the parameters • C: (Thanks!)

  25. ParametersIn Connection Flow Provider Consumer EnsureInterfaces EnsureInterfaces CanRunAt CanRunAt PartCommunicationConnect PartCommunicationConnect PartCommunicationInit ParametersInConsumerInit() ParametersInConsumerInit PartCommunicationMain ParametersInReady() ParametersInReady NoParametersIn NoParametersIn GetInitEventArgs GetInitEventArgs

  26. Rules And Transformers

  27. Compatibility Transformers *Not supported for cross page connections.

  28. Transformers

  29. Compatibility Interface Groups Web Parts

  30. CompatibilityRules Overview • Reciprocal pairs or transformer exist • All required interfaces in a group have match • GroupMaxConnections not exceeded • GroupRunAt matches • Connect over only one interface group • No circular connections • (More rules in the SDK)

  31. Cross-Page ConnectionsFeatures • Allow connecting parts on different pages • Can only be created in FrontPage • Certain interfaces supported Page 1 (Source) Page 2 (Target)

  32. Cross-Page ConnectionsSupported Interfaces These are the supported cross-page connections. In some cases, a transformer is used

  33. Out-Of-The-Box Web Parts

  34. Out-Of-The-Box Parts ListViewWebPart IListProvider IFilterConsumer IRowProvider DataViewWebPart ICellConsumer IFilterConsumer IRowProvider IParametersInConsumer

  35. Out-Of-The-Box Parts ImageWebPart ICellConsumer ListFormWebPart IRowProvider

  36. Office Parts Office DataSheet Office PivotChart Office PivotTable Office PivotView IListConsumer IListProvider IRowProvider IFilterConsumer IParametersOutProvider IParametersOutConsumer

  37. Office Parts Office Spreadsheet IFilterConsumer IRowConsumer IRowProvider IParametersOutProvider IParametersOutConsumer

  38. Summary • Web Part Connections • Connection Interfaces • Transformers • Cross Page Connections • Out of Box Parts

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

More Related