Upload
helene
View
42
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Microsoft Office Overview Open XML Formats, Extensible UI, InfoPath and Forms Services, Workflow and Sharepoint. Dave Glover http://blogs.msdn.com/dglover. Agenda. Office XML Formats Office Ribbon Extensibility Infopath Forms Sharepoint Workflow. Office Open XML Formats. - PowerPoint PPT Presentation
Citation preview
Microsoft Office Overview Microsoft Office Overview Open XML Formats, Extensible UI, InfoPath and Open XML Formats, Extensible UI, InfoPath and Forms Services, Workflow and SharepointForms Services, Workflow and Sharepoint
Microsoft Office Overview Microsoft Office Overview Open XML Formats, Extensible UI, InfoPath and Open XML Formats, Extensible UI, InfoPath and Forms Services, Workflow and SharepointForms Services, Workflow and Sharepoint
Dave GloverDave Gloverhttp://blogs.msdn.com/dglover
AgendaAgenda
Office XML FormatsOffice XML Formats
Office Ribbon ExtensibilityOffice Ribbon Extensibility
Infopath FormsInfopath Forms
Sharepoint WorkflowSharepoint Workflow
Office Open XML FormatsOffice Open XML FormatsOffice Open XML FormatsOffice Open XML Formats
User view: single Office “file”User view: single Office “file”
Questionaire.docxFile ContainerFile Container
Document PropertiesDocument Properties
CommentsComments
ChartsCharts
Embedded code / macrosEmbedded code / macros
Images, video, soundImages, video, sound
Custom-defined XMLCustom-defined XML
WordML / SpreadsheetML, etc.WordML / SpreadsheetML, etc.Document PartsDocument Parts
Most parts are XMLMost parts are XML
Each XML part is a discreet, Each XML part is a discreet, compressed componentcompressed component
Can add, extract and modify individual parts Can add, extract and modify individual parts using any Zip implementationusing any Zip implementation
Corruption or absence of any part would not Corruption or absence of any part would not prohibit the file from being openedprohibit the file from being opened
Developer view: modular fileDeveloper view: modular file
Open XML Formats Open XML Formats ArchitectureArchitecture
Benefits Of Open XML SolutionsBenefits Of Open XML Solutions
No longer need to automate client No longer need to automate client applications to open and modify filesapplications to open and modify files
Unsupported solution on serverUnsupported solution on server
Clients not designed for this scenarioClients not designed for this scenario
ReliabilityReliabilityAccess directly the parts you needAccess directly the parts you need
Avoid corruptionAvoid corruption
TransparencyTransparencyDirect access to your data!Direct access to your data!
Tools for Accessing Data In Tools for Accessing Data In Office Open XML filesOffice Open XML files
XML EditingXML EditingNotepad?Notepad?
System.XML makes this easierSystem.XML makes this easier
ZIP ManipulationZIP ManipulationCompressed Folders in WindowsCompressed Folders in Windows
Third-Party Zip LibrariesThird-Party Zip Libraries
Microsoft’s Packaging API’s (.NET Fx 3.0)Microsoft’s Packaging API’s (.NET Fx 3.0)
Office Open XML Resource KitOffice Open XML Resource KitCode Snippets Code Snippets
C# and VB.NETC# and VB.NEThttp://www.microsoft.com/downloads/details.aspx?familyid=8d46c01f-e3f6-4069-869d-90b8b096b556&displaylang=en
Validation LibraryValidation LibraryParses a file and reports on schema, relationship errors and Parses a file and reports on schema, relationship errors and warnings warnings
Serialization/Deserialization LibrarySerialization/Deserialization LibraryFlattens package into a single file for ease of development in simple Flattens package into a single file for ease of development in simple construction scenarios construction scenarios
Open XML FormatOpen XML Format
Custom XML Controls and Custom XML Controls and Word Content Control KitWord Content Control Kit
Open XML FormatOpen XML Format
Custom XML Controls and Custom XML Controls and Word Content Control KitWord Content Control Kit
System.IO.PackagingSystem.IO.Packaging
Part of Windows Presentation FoundationsPart of Windows Presentation Foundations
Ships with Vista Ships with Vista
Requires .NET 2.0Requires .NET 2.0
Enables package manipulation forEnables package manipulation forOffice Open XML File FormatsOffice Open XML File Formats
XML Paper Specification FilesXML Paper Specification Files
Any (ECMA) Open Packaging Convention filesAny (ECMA) Open Packaging Convention files
System.IO.Packaging.System.IO.Packaging.PackagPackagee
PackagePackage class provides class provides methods to create, methods to create, enumerate and delete enumerate and delete the following entitiesthe following entities
PackagePackage
Package RelationshipsPackage Relationships
PackagePropertiesPackageProperties
PartsParts
CollectionsCollections
StreamsStreamsPack
ag
e R
ela
tionsh
ips
Pack
ag
e R
ela
tionsh
ips
Core PropertiesCore Properties
Common Package Common Package PartsParts
ThumbnailThumbnail
Digital SignaturesDigital Signatures
officeDocumentofficeDocument
XML PartXML Part
XML PartXML Part
Specific Format Specific Format PartsParts
Etc…Etc…
Part
Rels
Part
Rels
XML PartXML Part
Part
Rels
Part
Rels
ResourcesResources
OpenXMLDeveloper.orgOpenXMLDeveloper.org
msdn.microsoft.com/officemsdn.microsoft.com/office
Kevin Boske’s BlogKevin Boske’s Bloghttp://blogs.msdn.com/kevinboskehttp://blogs.msdn.com/kevinboske
Brian’s BlogBrian’s Bloghttp://blogs.msdn.com/brian_jones
XPS Blog:XPS Blog:http://blogs.msdn.com/xpshttp://blogs.msdn.com/xps
Office Ribbon ExtensibilityOffice Ribbon ExtensibilityOffice Ribbon ExtensibilityOffice Ribbon Extensibility
The Fluent User InterfaceThe Fluent User Interface
Microsoft Office Access, Microsoft Office Microsoft Office Access, Microsoft Office Excel, Microsoft Office Outlook, Microsoft Excel, Microsoft Office Outlook, Microsoft Office PowerPoint, Microsoft Office WordOffice PowerPoint, Microsoft Office Word
“The Fluent Ribbon”
Ribbon Extensibility - Ribbon Extensibility - “RibbonX”“RibbonX”Developers can modify the Fluent RibbonDevelopers can modify the Fluent Ribbon
For example: remove tabs, add a tab, add For example: remove tabs, add a tab, add a groupa group
Custom GroupCustom Group
Custom Custom TabTab
Existing SolutionsExisting Solutions
XLMXLM
WordBasicWordBasic
CommandBars (‘96)CommandBars (‘96)
WLL, XLLWLL, XLL
XLA, PPA, Word global templatesXLA, PPA, Word global templates
In Excel, “Init Menus” registry keyIn Excel, “Init Menus” registry key
Attached Toolbars in Word & ExcelAttached Toolbars in Word & Excel
Other technologiesOther technologies
And it all still works!And it all still works!
Existing SolutionsExisting Solutions
Custom MenuCustom MenuCustom ButtonsCustom Buttonson Formatting Toolbaron Formatting Toolbar
Custom ToolbarsCustom Toolbars
Mapping Existing SolutionsMapping Existing Solutions
If your code added If your code added a…a… it appears in…it appears in…
Control to a built-in menuControl to a built-in menu the 'Menu Commands' groupthe 'Menu Commands' group
Control to a built-in toolbarControl to a built-in toolbar the 'Toolbar Commands' the 'Toolbar Commands' groupgroup
Custom toolbarCustom toolbar the ‘Custom Toolbars’ groupthe ‘Custom Toolbars’ group
… … on the Add-Ins Tabon the Add-Ins Tab
Excel, after you open a few hundred workbooks with attached toolbars…
RibbonX…RibbonX…
Is a consistent, XML-based developer Is a consistent, XML-based developer model model for Microsoft Office UIfor Microsoft Office UI
Produces well-behaved solutions by defaultProduces well-behaved solutions by default
Exposes new control typesExposes new control types
Targets specific developer & customer Targets specific developer & customer scenariosscenarios
RibbonX BasicsRibbonX Basics
Add your own tabsAdd your own tabs
Add to built-in tabsAdd to built-in tabs
Add to the Microsoft Add to the Microsoft Office menuOffice menu
Add to built-in Add to built-in contextual tabscontextual tabs
Remove tabs, Remove tabs, groups, controlsgroups, controls
RibbonX ControlsRibbonX Controls
TabsTabs
Groups Groups
ButtonsButtons
MenusMenus
SplitButtons SplitButtons
ToggleButtonsToggleButtons
LabelsLabels
CheckBoxesCheckBoxes
RibbonX ControlsRibbonX Controls
EditBoxesEditBoxes
DialogBoxLaunchersDialogBoxLaunchers
DropDownsDropDowns
ComboBoxesComboBoxes
GalleriesGalleries
Only five controls in Only five controls in Microsoft Office 2003:Microsoft Office 2003:
msoControlButton, msoControlButton, msoControlEdit, msoControlEdit, msoControlPopup, msoControlPopup, msoControlComboBox, msoControlComboBox, msoControlDropdownmsoControlDropdown
RibbonX MarkupRibbonX Markup
Declarative XMLDeclarative XML
Easy to understand, localize, generateEasy to understand, localize, generate
Separates UI from your business logicSeparates UI from your business logic
Gets applied to UI at add-in or document Gets applied to UI at add-in or document loadload
<tab idMso=“TabHome”><tab idMso=“TabHome”><group id=“myGroup” label=“My Group”><group id=“myGroup” label=“My Group”>
<button id=“hw” label=“Hello World!” <button id=“hw” label=“Hello World!” onAction=“myHelloFunc” />onAction=“myHelloFunc” />
</group></group></tab></tab>
<tab idMso=“TabHome”><tab idMso=“TabHome”><group id=“myGroup” label=“My Group”><group id=“myGroup” label=“My Group”>
<button id=“hw” label=“Hello World!” <button id=“hw” label=“Hello World!” onAction=“myHelloFunc” />onAction=“myHelloFunc” />
</group></group></tab></tab>
Doc.Doc.LevelLevel
App.App.LevelLevel
RibbonX Solution SpaceRibbonX Solution Space
Installed at app-level,
UIalways visible
Write a VSTO app-
level solution
Word Global Template
Excel Add-in (.xlam)
PPT Add-in (.ppam)
Installed at app-level,
displays UI based on doc
properties
Write a VSTO
doc-based solution
Word, Excel,
PowerPointdocument
AccessDatabase
COMCOM VBAVBA VSTOVSTO
Hello World Hello World DocumentDocumentHello World Hello World DocumentDocument
Features Targeting Features Targeting DevelopersDevelopers
StartFromScratchStartFromScratch
Global repurposingGlobal repurposing
Referencing built-in controls and imagesReferencing built-in controls and images
<ribbon startFromScratch=“true”><!– hides the main tabs -->
<command idMso=“Save” onAction=“runMyCode” /><!- takes over the built-in save action -->
<button id=“x” imageMso=“Save” label=“Imposter!” /><!- “steals” the image of the Save button -->
Licensing rights to build Office 2007 UI (ribbon) Licensing rights to build Office 2007 UI (ribbon) into 3rd party applicationsinto 3rd party applications
120-page design guidelines document published120-page design guidelines document publishedLicense is royalty-freeLicense is royalty-freeEasy to sign up (Web site click-through acceptance)Easy to sign up (Web site click-through acceptance)Some small set of exclusions (direct competitors)Some small set of exclusions (direct competitors)
Large community of licenseesLarge community of licenseesApproximately 35 early adopters helped shape the Approximately 35 early adopters helped shape the license terms license terms and guidelines, hundreds have signed upand guidelines, hundreds have signed up
ResourcesResourcesWeb site: Web site: http://msdn.microsoft.com/officeui Design guidelines and click-through license available Design guidelines and click-through license available therethereSpecific questions should go to: Specific questions should go to: [email protected]
All Singing and All Singing and Dancing Ribbon Dancing Ribbon DemoDemo
All Singing and All Singing and Dancing Ribbon Dancing Ribbon DemoDemoDemoRxDemoRx
Infopath 2007Infopath 2007Infopath 2007Infopath 2007
InfoPath Form Template DesignInfoPath Form Template Design
Declarative design surfaceDeclarative design surface
New featuresNew featuresImportImport existing Word/Excel forms into InfoPath existing Word/Excel forms into InfoPath 20072007
Create Create form template partsform template parts for re-use across for re-use across formsforms
Use Use logic inspectorlogic inspector to help debug declarative to help debug declarative business rulesbusiness rules
Use Use design checkerdesign checker to design for the targeted to design for the targeted environment and run compatibility checksenvironment and run compatibility checks
Template Parts and Logic Template Parts and Logic InspectorInspector
Template PartsTemplate PartsAllowAllow
Re-use of parts across multiple formsRe-use of parts across multiple forms
Multiple developers to work in parallelMultiple developers to work in parallel
Support all form features Support all form features exceptexcept code codeFormatting & control properties; data connections; rules, validation, Formatting & control properties; data connections; rules, validation, conditional formatting, calculationsconditional formatting, calculations
Logic InspectorLogic InspectorInspect and debug the form thru a single, read-only view of Inspect and debug the form thru a single, read-only view of all your form logicall your form logic
Rules, calculations, validation, eventsRules, calculations, validation, events
Caveat: conditional formatting not reportedCaveat: conditional formatting not reported
InfoPath Business LogicInfoPath Business Logic
Most Form Development Does Not Need Code
XSD, Web Service, Database
Sch
ema
C#VB .NET
Cod
e
Dec
lara
tive Rules
FormulasData Validation
Data ConnectionsConditional Formatting
Template Parts and Logic Template Parts and Logic InspectorInspectorTemplate Parts and Logic Template Parts and Logic InspectorInspector
Design Once OverviewDesign Once OverviewOne form for rich client and browserOne form for rich client and browser
Shared featuresShared featuresControlsControls
Business LogicBusiness Logic
Data ConnectionsData Connections
Digital SignaturesDigital Signatures
Managed Code Object ModelManaged Code Object Model
Design Checker: rich client-only featuresDesign Checker: rich client-only featuresA pure subset of InfoPath features is available for browser-A pure subset of InfoPath features is available for browser-enabled formsenabled forms
Compatibility errors and warnings can be seen in the Designer Compatibility errors and warnings can be seen in the Designer or on the server during the publish stepor on the server during the publish step
Smart InvocationSmart InvocationOpen in rich client, if available. Open in rich client, if available. - Links in document libraries, Web pages, email, etc.- Links in document libraries, Web pages, email, etc.
Special URL parameters to force opening in browserSpecial URL parameters to force opening in browser
Mobile Browser FormsMobile Browser FormsBrowser forms in Browser forms in a mobile devicea mobile device
Scenario: Scenario: Warehouse Warehouse employeesemployees
Form rendering Form rendering optimized for optimized for mobile devicesmobile devices
Fine PrintFine Print
Operating system and browser neutralOperating system and browser neutral
Device must support HTML, xHTML, or cHTMLDevice must support HTML, xHTML, or cHTML
WSSWSS
Publishing, Opening, and FillingPublishing, Opening, and Filling
Rendering Rendering ValidationValidation
Execute calculationsExecute calculationsExecute rulesExecute rules
Editing actionsEditing actions
ValidationValidationExecute calculationsExecute calculationsExecute rulesExecute rulesEditing actionsEditing actions(All using script)(All using script)
DownloadDownloadXSN, XMLXSN, XML
Publish XSNPublish XSN
Download Download script andscript anddata arraydata array
Office “12” serversOffice “12” servers
XSNXSN
ASPXASPX
Replay event logReplay event log
XSN, XML loadedXSN, XML loadedBusiness logicBusiness logic
executionexecution
XSN, XML loadedXSN, XML loadedBusiness logicBusiness logic
executionexecution
Form
s C
apabili
ties
Form
s C
apabili
ties
Generate and render Generate and render HTML HTML (using script)(using script)
Return updated Return updated data arraydata array
GenerateGenerate
InfoPath ClientInfoPath Client Browser
Postback event log Postback event log via XMLHTTPvia XMLHTTP
InfoPath Designer
Take offline as neededTake offline as needed
Design Once for Rich and Design Once for Rich and Browser FormsBrowser FormsDesign Once for Rich and Design Once for Rich and Browser FormsBrowser Forms
Visual Studio IntegrationVisual Studio IntegrationWrite Code in Your Favorite IDE Write Code in Your Favorite IDE
1.1. Visual Studio Tools for Applications (VSTA)Visual Studio Tools for Applications (VSTA)Out of the box developmentOut of the box development
Lowers the bar for forms with managed codeLowers the bar for forms with managed code
Compatible with Visual Studio Tools for OfficeCompatible with Visual Studio Tools for Office
2.2. Visual Studio Tools for Office (VSTO)Visual Studio Tools for Office (VSTO)Embedded designer for professional devsEmbedded designer for professional devs
One IDE for all your projects: workflow, etc. One IDE for all your projects: workflow, etc.
Integrated toolbox, project wizard, etc.Integrated toolbox, project wizard, etc.
Integrating Forms Into Web Integrating Forms Into Web SitesSitesBuild custom UI, provide additional functionality on Build custom UI, provide additional functionality on
the pagethe page
1.1. Add a link with query params to open form in Add a link with query params to open form in its own browser windowits own browser window
2.2. Embed form as a control in aspx pageEmbed form as a control in aspx page
Using the form controlUsing the form controlPlacing other chrome and controls around the Placing other chrome and controls around the formformDynamically loading formsDynamically loading formsChanging the data in the formChanging the data in the formGetting the data from the formGetting the data from the formAfter the form has been submitted…After the form has been submitted…
ASPX page needs to run on the server where ASPX page needs to run on the server where InfoPath Forms Services is availableInfoPath Forms Services is available
Windows Forms & ActiveX Windows Forms & ActiveX Control Control Host InfoPath Forms in Your AppHost InfoPath Forms in Your App
Managed and unmanaged InfoPath controlManaged and unmanaged InfoPath control
Examples: Examples: Property editor in an Office app (Word, Excel, Powerpoint)Property editor in an Office app (Word, Excel, Powerpoint)
Workflow dialogsWorkflow dialogs
Custom app for specific tasks that also hosts formsCustom app for specific tasks that also hosts forms
AutomateAutomateOM and events for host/control interactionOM and events for host/control interaction
IOLECommandTarget for full control of editing actionsIOLECommandTarget for full control of editing actions
CaveatsCaveatsActiveX will not load in browsers (security)ActiveX will not load in browsers (security)
No ink entry, Information Rights ManagementNo ink entry, Information Rights Management
Integrating InfoPath Browser Forms in a Windows Applications
Integrating InfoPath Browser Forms in a Windows Applications
Sharepoint 2007 and Sharepoint 2007 and WorkflowWorkflowSharepoint 2007 and Sharepoint 2007 and WorkflowWorkflow
Office Workflow VisionOffice Workflow Vision
Facilitate human processes by attaching businessFacilitate human processes by attaching businesslogic to items and documents in Windows logic to items and documents in Windows SharePoint Services, while providing context and SharePoint Services, while providing context and tracking progresstracking progress
Empower information workers using Office ServerEmpower information workers using Office Serverwith out-of-the-box solutions and self-service tools with out-of-the-box solutions and self-service tools to support a broad range of routing and tracking to support a broad range of routing and tracking scenarios without IT involvementscenarios without IT involvement
Empower organizations to build a broad range of Empower organizations to build a broad range of sophisticated workflow solutions that take sophisticated workflow solutions that take advantageadvantageof the full functionality of the Windows Workflow of the full functionality of the Windows Workflow Foundation (WF) platform and integrate into the Foundation (WF) platform and integrate into the SharePoint and Office experiencesSharePoint and Office experiences
Workflow Authoring Workflow Authoring ScenariosScenarios
Visual Studio andWorkflow SDK
Out-of-the-BoxSolutions(with customization)
SharePoint Designer Workflow
Routing and ApprovalRouting and ApprovalReview – ApprovalReview – ApprovalSignature collectionSignature collectionEast Asian workflowEast Asian workflow
Stru
ctured
Ad
Ho
cOffice Server FeaturesOffice Server FeaturesList ModerationList Moderation
Publishing ProcessPublishing ProcessDocument ExpirationDocument Expiration
Tracking ApplicationsTracking ApplicationsIssue trackingIssue tracking
LOBLOBIntegrationIntegration
Custom Form ActionsCustom Form ActionsEmail NotificationEmail Notification
Exception HandlingException Handling
Document ProcessesDocument ProcessesSpec Review Spec Review
Weekly Status ReportWeekly Status Report
Custom Tracking AppsCustom Tracking AppsService RequestsService Requests
Asset TrackingAsset Tracking
IndustryIndustryspecific processesspecific processes
Purchase ordersPurchase ordersProduct lifecycle mgmtProduct lifecycle mgmt
Designing WorkflowsDesigning WorkflowsIn SharePoint DesignerIn SharePoint DesignerDesigning WorkflowsDesigning WorkflowsIn SharePoint DesignerIn SharePoint Designer
Windows Workflow Windows Workflow FoundationFoundation
Common workflow technology for Microsoft Common workflow technology for Microsoft products, ISVs and customer solutionsproducts, ISVs and customer solutions
A framework to build on – not a server or A framework to build on – not a server or applicationapplication
Key featuresKey featuresUnified model for human and system workflowUnified model for human and system workflow
Extensible activity frameworkExtensible activity framework
Allows workflows to run in any application or serverAllows workflows to run in any application or server
Visual designer for graphical and code-based authoringVisual designer for graphical and code-based authoring
AvailabilityAvailabilityIncluded in WinFX – powers Office “12” workflowIncluded in WinFX – powers Office “12” workflow
Extensible framework and tools for building workflow into Windows applications
Windows Workflow Windows Workflow FoundationFoundationKey ConceptsKey Concepts
WorkflowsWorkflows are a set of activities are a set of activities
ActivitiesActivities are the building blocks are the building blocks
WorkflowsWorkflows run within a Host Process: run within a Host Process: Any application or serverAny application or server
DevelopersDevelopers can build their own can build their ownCustom Activity LibrariesCustom Activity Libraries
ComponentsComponents
Base Activity LibraryBase Activity Library: Out-of-box: Out-of-boxactivities and base for custom activities and base for custom activitiesactivities
Runtime EngineRuntime Engine: Workflow execution: Workflow executionand state managementand state management
Runtime ServicesRuntime Services: Hosting flexibility: Hosting flexibilityand communicationand communication
Visual DesignerVisual Designer: Graphical: Graphicaland code-based constructionand code-based construction Host Process
WindowsWorkflow Foundation
Runtime Engine
A Workflow
An Activity
Runtime Services
Base Activity Library
Custom Activity Library
Visual Designer
Designing WorkflowsDesigning WorkflowsIn Visual Studio 2005In Visual Studio 2005Designing WorkflowsDesigning WorkflowsIn Visual Studio 2005In Visual Studio 2005
AgendaAgenda
Office XML FormatsOffice XML Formats
Office Ribbon ExtensibilityOffice Ribbon Extensibility
Infopath FormsInfopath Forms
Sharepoint WorkflowSharepoint Workflow