building second generation digital dashboards david “dashboard dave” holladay product manager,...

37
Building Second Building Second Generation Digital Generation Digital Dashboards Dashboards David David “Dashboard Dave” “Dashboard Dave” Holladay Holladay Product Manager, Digital Dashboard Product Manager, Digital Dashboard Brian Brian Web Parts” Web Parts” Welcker Welcker Program Manager, SQL Server Program Manager, SQL Server Microsoft Corporation Microsoft Corporation 4-304 4-304

Upload: carolyn-messer

Post on 31-Mar-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Building Second Building Second Generation Digital Generation Digital DashboardsDashboards

David David “Dashboard Dave”“Dashboard Dave” Holladay HolladayProduct Manager, Digital DashboardProduct Manager, Digital Dashboard

Brian Brian ““Web Parts”Web Parts” Welcker WelckerProgram Manager, SQL ServerProgram Manager, SQL Server

Microsoft CorporationMicrosoft Corporation4-3044-304

Page 2: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,
Page 3: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

TechEd Digital TechEd Digital Dashboard SessionsDashboard Sessions

4-304W – 4-304W – Building Second Building Second Generation Digital DashboardsGeneration Digital Dashboards

4-313 4-313 - Building Web Parts for - Building Web Parts for Second Generation Digital Second Generation Digital Dashboards Dashboards

4-303 4-303 – Deploying Second – Deploying Second Generation Digital DashboardsGeneration Digital Dashboards

Page 4: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

AgendaAgenda

What is a digital dashboard?What is a digital dashboard? Digital Dashboard Resource Kit 2.0Digital Dashboard Resource Kit 2.0

Web PartsWeb Parts Web Part BuilderWeb Part Builder Digital Dashboard Services ComponentDigital Dashboard Services Component

Building/Deploying digital dashboardsBuilding/Deploying digital dashboards ClientsClients Windows 2000 File System dashboardWindows 2000 File System dashboard SQL Server dashboardSQL Server dashboard Personalization / DeploymentPersonalization / Deployment

Platform DirectionsPlatform Directions

Page 5: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Delivering the right informationDelivering the right informationat the right timeat the right timeDigital Digital

DashboardDashboardDigital Digital

DashboardDashboard

What Is A What Is A Digital Dashboard?Digital Dashboard?

A A customizedcustomized solution that consolidates solution that consolidates personal, team, corporate and external personal, team, corporate and external information with anytime, anywhere access.information with anytime, anywhere access.

Goal = better, faster decision makingGoal = better, faster decision making

Page 6: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Big SuccessBig Success

Digital Dashboard concept launched by BillG Digital Dashboard concept launched by BillG 4/994/99 Achieved significant mind share with customersAchieved significant mind share with customers 700,000+ DDSK’s distributed700,000+ DDSK’s distributed Big partner momentumBig partner momentum

Sample customer deploymentsSample customer deployments Troop LawTroop Law MotorolaMotorola JD EdwardsJD Edwards Pacific LifePacific Life ……

Page 7: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Key LessonsKey Lessons

Knowledge WorkersKnowledge Workers Need a rich catalogue of contentNeed a rich catalogue of content Need offline supportNeed offline support Want end user customizationWant end user customization

DevelopersDevelopers Need a standard frameworkNeed a standard framework Need better dashboard development toolsNeed better dashboard development tools Want to create reusable “nuggets”Want to create reusable “nuggets”

IT DepartmentIT Department Need flexible, scalable deployment approachNeed flexible, scalable deployment approach Need manageable end-user experienceNeed manageable end-user experience

Page 8: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Digital Dashboard Resource Digital Dashboard Resource Kit 2.0Kit 2.0

Internet standards-based Internet standards-based framework and tools for framework and tools for building Web Parts and building Web Parts and

customizable digital customizable digital dashboardsdashboards

Audience: Developer and ITAudience: Developer and IT

Page 9: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

DDRK 2.0 ContentsDDRK 2.0 Contents

Dashboards (server-based)Dashboards (server-based) Supported stores: SQL, Windows 2000 file systemSupported stores: SQL, Windows 2000 file system Supported clients: Outlook and IESupported clients: Outlook and IE

Web Part Gallery (3rd party and Microsoft)Web Part Gallery (3rd party and Microsoft) White PapersWhite Papers

What’s New in the DDRK 2.0What’s New in the DDRK 2.0 Building Web PartsBuilding Web Parts Building and Deploying Digital DashboardsBuilding and Deploying Digital Dashboards Business Process Assessment GuideBusiness Process Assessment Guide

Web Part BuilderWeb Part Builder Visual InterDev add-inVisual InterDev add-in

Page 10: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

TerminologyTerminologyWeb PartWeb Part

A digital dashboard component that can contain any type of A digital dashboard component that can contain any type of Web-based contentWeb-based content

Digital dashboardDigital dashboardThe rendering of a set of Web Parts in an HTML pageThe rendering of a set of Web Parts in an HTML page

Dashboard factoryDashboard factoryA set of ASP, XML and XSL files that assemble Web Parts A set of ASP, XML and XSL files that assemble Web Parts into a view layout for rendering into a dashboardinto a view layout for rendering into a dashboard

Web Part CatalogWeb Part Cataloga library of Web Parts located on the Internet or Intraneta library of Web Parts located on the Internet or Intranet

Digital dashboard application Digital dashboard application a digital dashboard plus all support pieces, customization a digital dashboard plus all support pieces, customization pages, and Web Parts.pages, and Web Parts.

Page 11: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

What Is A Web Part?What Is A Web Part?

Standard schema for delivering web-based services to the desktop

MetadataMetadata• TitleTitle• DescriptionDescription• DateDate• ……

Web PartWeb Part

ContentContent• HTMLHTML• XMLXML• ScriptScript• ......

The component formerly know as “nugget”

AppearanceAppearance• HeightHeight• WidthWidth• ZoneZone• ……

ExecutionExecution• RefreshRefresh• IsolatedIsolated• ……

Page 12: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

End User ExperienceEnd User Experience

Web Part

Dashboard Navigation Bar (nested dashboards)

Web Part Catalog

add

remove

End user actions: -Minimize/restore-Re-arrange-Add/remove-Customize attributes

Page 13: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

DDRK 2.0 DemoDDRK 2.0 Demo

Page 14: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Dashboard ArchitectureDashboard Architecture

Digital DashboardDigital Dashboard

Context, notification,Context, notification,and messagesand messages

Dashboard Services ComponentDashboard Services Component

Web PartWeb Part Web PartWeb Part Web PartWeb Part Web PartWeb Part

Dashboard APIs for Dashboard APIs for accessing storesaccessing stores

Assembly of parts, Assembly of parts, dashboard and styles dashboard and styles

Dashboard FactoryDashboard Factory

HTTPHTTP

Internet Information ServerInternet Information Server

ExchangeExchangeDashboardDashboard

ServicesServices

SQL ServerSQL ServerDashboardDashboard

ServicesServices

File SysFile SysDashboardDashboard

ServicesServices

Office / Outlook, Office / Outlook, Internet ExplorerInternet Explorer

Storage of Storage of dashboard and part dashboard and part metadatametadata

ExchangeExchangePlatinumPlatinum

SQLSQLServerServer

W2K FileW2K FileSystemSystem

WebDAVWebDAV WebDAVWebDAV

Page 15: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Accessing PartsAccessing Parts

Web Part FactoryWeb Part Factory Given dashboard ID, retrieves parts from storeGiven dashboard ID, retrieves parts from store Replaceable storage modulesReplaceable storage modules

Distributed Authoring and VersioningDistributed Authoring and Versioning Through HTTP & Port 80Through HTTP & Port 80 Methods for creating, deleting, and modifying Methods for creating, deleting, and modifying

Web Parts & dashboardsWeb Parts & dashboards How Parts are StoredHow Parts are Stored

Windows 2000 – 2 Streams: Content, PropertiesWindows 2000 – 2 Streams: Content, Properties Exchange 2000 – Folder Items & PropsExchange 2000 – Folder Items & Props SQL – Records in databaseSQL – Records in database

Page 16: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Working With Web PartsWorking With Web Parts

Import PartsImport Parts Web Part catalog(s)Web Part catalog(s) Uses Web Part XML format (DWP)Uses Web Part XML format (DWP)

Create New PartsCreate New Parts Dashboard Contents PageDashboard Contents Page Administration DashboardAdministration Dashboard

Web Part BuilderWeb Part Builder Visual InterDev Add-InVisual InterDev Add-In Modify Web Part PropertiesModify Web Part Properties Export XMLExport XML Import XMLImport XML

Page 17: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Basic Web Part PropertiesBasic Web Part Properties

TitleTitle – Short name for the part – Short name for the part DescriptionDescription – Longer description of the – Longer description of the

partpart NamespaceNamespace – Unique identifier for part – Unique identifier for part IsIncludedIsIncluded – Is the part included on the – Is the part included on the

Dashboard page?Dashboard page? ContentTypeContentType – XML, HTML, VBScript or – XML, HTML, VBScript or

JscriptJscript PartStoragePartStorage - Part Customization - Part Customization

informationinformation

Page 18: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Web Part Content OptionsWeb Part Content Options

Linked ContentLinked Content Web Parts with dynamic contentWeb Parts with dynamic content Presentation of XML-based servicesPresentation of XML-based services

Embedded ContentEmbedded Content Web Parts with less-dynamic contentWeb Parts with less-dynamic content Can use master part to update Web Part Can use master part to update Web Part

copiescopies Script Content (ala ASP)Script Content (ala ASP)

Script executed during page constructionScript executed during page construction Can target low bandwidth or down-level Can target low bandwidth or down-level

browser environmentsbrowser environments

Page 19: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Web Part Content PropertiesWeb Part Content Properties

ContentLinkContentLink – URL from which to get content – URL from which to get content (HTML, XML or script)(HTML, XML or script)

ContentContent – Embedded content or fallback – Embedded content or fallback content when content when ContentLinkContentLink fails fails

RequiresIsolationRequiresIsolation – Should the part be – Should the part be isolated from other parts (via IFrame)?isolated from other parts (via IFrame)?

XSL / XSLLink XSL / XSLLink – Embedded XSL and URL to – Embedded XSL and URL to get XSL used to transform contentget XSL used to transform content

MasterPartLinkMasterPartLink – URL to master version of – URL to master version of partpart

LastModifiedLastModified – Used to determine whether – Used to determine whether part needs to be updatedpart needs to be updated

Page 20: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Appearance PropertiesAppearance Properties IsVisibleIsVisible – Is the part visible on screen? – Is the part visible on screen? HasFrameHasFrame – Does the part have a frame – Does the part have a frame

and title bar?and title bar? FrameStateFrameState – Is the frame minimized or – Is the frame minimized or

restored?restored? ZoneZone – In what zone should the part be? – In what zone should the part be? PartOrderPartOrder – Where should the part be – Where should the part be

relative to other parts in the same relative to other parts in the same zone?zone?

Height / WidthHeight / Width – Does the part have a – Does the part have a fixed height or width?fixed height or width?

Page 21: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Behavior PropertiesBehavior Properties

CustomizationLinkCustomizationLink – URL for – URL for customizing part content. Used when customizing part content. Used when user clicks customize link in title baruser clicks customize link in title bar

DetailLinkDetailLink – URL to a full-page, detailed – URL to a full-page, detailed UI. Used when user clicks part titleUI. Used when user clicks part title

AllowRemoveAllowRemove – Can the user remove – Can the user remove the part from the Dashboard?the part from the Dashboard?

AllowMinimizeAllowMinimize – Can the user minimize – Can the user minimize the part?the part?

Page 22: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Web Part ExamplesWeb Part Examples

Page 23: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Digital Dashboard Services Digital Dashboard Services Component (DDSC)Component (DDSC) Easy-to-use services for Web PartsEasy-to-use services for Web Parts

DiscoveryDiscovery NotificationNotification

Web Parts can be combined into an Web Parts can be combined into an integrated applicationintegrated application

Allows cooperative Web Parts to be Allows cooperative Web Parts to be developed and deployed independentlydeveloped and deployed independently

Method definitions are inserted into Method definitions are inserted into page by dashboard factorypage by dashboard factory

Session StateSession State Part StatePart State

Page 24: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Discovery And NotificationDiscovery And Notification

DiscoveryDiscovery Provides access to parts registered on Provides access to parts registered on

current dashboardcurrent dashboard Dashboard factory automatically registers Dashboard factory automatically registers

parts on a dashboard pageparts on a dashboard page NotificationNotification

Provides standard multi-cast event Provides standard multi-cast event mechanism for Web Partsmechanism for Web Parts

Hides the complexity of the underlying Hides the complexity of the underlying event mechanisms of browser or OSevent mechanisms of browser or OS

Page 25: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Session And Part StateSession And Part State

Session StateSession State Allows data to be passed between parts, Allows data to be passed between parts,

even between page refresheseven between page refreshes Part StatePart State

Enables Web Part (and Dashboard) Enables Web Part (and Dashboard) properties to be retrieved, set, added, or properties to be retrieved, set, added, or deleteddeleted

State is location transparent, i.e., a part State is location transparent, i.e., a part does not have to know where its state does not have to know where its state physically residesphysically resides

Page 26: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Building Good Web PartsBuilding Good Web Parts FocusedFocused

Rethink information deliveryRethink information delivery PersonalizedPersonalized

Let users customize display and contentLet users customize display and content Consistent look and feelConsistent look and feel

Use standard dashboard stylesUse standard dashboard styles Support off-line scenariosSupport off-line scenarios

Provide default contentProvide default content PortablePortable

Design parts to be “self-contained”Design parts to be “self-contained”

Page 27: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Deploying Deploying Digital DashboardsDigital Dashboards

Page 28: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Client EnvironmentClient Environment

Minimum Internet ExplorerMinimum Internet Explorer Outlook 2000 enhanced digital Outlook 2000 enhanced digital

dashboarddashboard Interactive – Outlook View ControlInteractive – Outlook View Control Offline – Outlook/Exchange/IEOffline – Outlook/Exchange/IE Folder Home Pages/Outlook TodayFolder Home Pages/Outlook Today

Office 2000 enhanced digital Office 2000 enhanced digital dashboarddashboard Office Web Components – pivot table, Office Web Components – pivot table,

chart, data accesschart, data access Highest level of functionalityHighest level of functionality

Page 29: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Choosing A Web Part StoreChoosing A Web Part Store

Active Directory Integration Office Integration Offline support Native WebDAV/XML

ExchangeWeb Store (coming)

Can be done through custom module Get Best of Both Worlds Difficult to Manage

Mixed

Relational user and part management Scalable Application Server XML and WebDAV Support (DDRK)

SQL Server

Ubiquitous Simple WebDAV Support

FileSystem

AdvantageStore

Page 30: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

File System DashboardFile System Dashboard

Windows 2000 ServerWindows 2000 Server NTFS file systemNTFS file system Virtual root directoriesVirtual root directories

Factory – factory script Factory – factory script Dashboards – user/admin dashboard, Dashboards – user/admin dashboard,

Web Parts catalogWeb Parts catalog Development workstationDevelopment workstation Welcome and Administration Welcome and Administration

sample dashboardssample dashboards

Page 31: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

SQL Server DashboardSQL Server Dashboard

SQL Server 7.0 or laterSQL Server 7.0 or later WebDAV SupportWebDAV Support Supports Personalization of shared Supports Personalization of shared

parts and dashboardsparts and dashboards Virtual root directoriesVirtual root directories

Dashboard – factory script Dashboard – factory script sqlwbcat – user/admin dashboards, sqlwbcat – user/admin dashboards,

Web Part catalogWeb Part catalog Welcome and Administration Welcome and Administration

Sample dashboardSample dashboard

Page 32: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Security And PersonalizationSecurity And Personalization

SecuritySecurity Dashboard Honors NT ACLsDashboard Honors NT ACLs Use Item Level SecurityUse Item Level Security

ReadRead WriteWrite

Folders & Web PartsFolders & Web Parts Active Directory Users & GroupsActive Directory Users & Groups

PersonalizationPersonalization Per user Web Part settingsPer user Web Part settings User/group specific ContentUser/group specific Content

Page 33: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

DeploymentDeployment Static - CommunityStatic - Community

Highly Administered PortalHighly Administered Portal No user customizationNo user customization Managed Information FlowManaged Information Flow

Customizable PortalCustomizable Portal Partially AdministeredPartially Administered

Dashboard Navigation LockedDashboard Navigation Locked Some Parts LockedSome Parts Locked

Per-user Web Part settingsPer-user Web Part settings 4-303 - Deploying Second Generation 4-303 - Deploying Second Generation

Digital DashboardsDigital Dashboards

Page 34: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Platform DirectionsPlatform Directions Microsoft cross product integration of Web Microsoft cross product integration of Web

PartsParts Clients work with Web PartsClients work with Web Parts Servers deliver services via Web PartsServers deliver services via Web Parts

Public catalog of Web Parts/CommunityPublic catalog of Web Parts/Community Free parts/subscription partsFree parts/subscription parts Huge library of re-usable componentsHuge library of re-usable components

Portal partners with complete framework Portal partners with complete framework toolsetstoolsets InfoImageInfoImage PlumtreePlumtree

Other clients/devicesOther clients/devices

Page 35: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Why Build With DDRK 2.0?Why Build With DDRK 2.0? CustomersCustomers

Scalable, Manageable for the enterpriseScalable, Manageable for the enterprise Rich library of Web Parts will save development timeRich library of Web Parts will save development time

Content providers/Application providersContent providers/Application providers Deliver your content/services to Office desktopsDeliver your content/services to Office desktops Focus on your content/service, not interfaceFocus on your content/service, not interface

System IntegratorsSystem Integrators Customized dashboard solutions for customersCustomized dashboard solutions for customers Need to Web Part-ize customer systemsNeed to Web Part-ize customer systems

Portal VendorsPortal Vendors Out of the box enterprise dashboard/portal toolsetOut of the box enterprise dashboard/portal toolset Rich library of Web Parts to tap intoRich library of Web Parts to tap into

Focus on Web Parts!Focus on Web Parts!

Page 36: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,

Q&AWeb Parts, Web Parts, Web Parts

http://www.microsoft.com/digitaldashboard

Page 37: Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager, Digital Dashboard Brian “Web Parts” Welcker Program Manager,