Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product Manager,...
-
Upload
carolyn-messer -
Category
Documents
-
view
224 -
download
0
Transcript of Building Second Generation Digital Dashboards David “Dashboard Dave” Holladay Product 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
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
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
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
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 ……
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
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
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
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.
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• ……
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
DDRK 2.0 DemoDDRK 2.0 Demo
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
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
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
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
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
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
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?
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?
Web Part ExamplesWeb Part Examples
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
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
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
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”
Deploying Deploying Digital DashboardsDigital Dashboards
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
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
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
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
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
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
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
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!
Q&AWeb Parts, Web Parts, Web Parts
http://www.microsoft.com/digitaldashboard