480 likes | 492 Views
Explore the architecture, benefits, and tools of Microsoft Office Open XML Formats, Ribbon Extensibility, InfoPath Forms, and SharePoint Workflow. Learn how to access, edit, and manipulate individual file parts for reliable and transparent data handling.
E N D
Microsoft Office Overview Open XML Formats, Extensible UI, InfoPath and Forms Services, Workflow and Sharepoint Dave Gloverhttp://blogs.msdn.com/dglover
Agenda • Office XML Formats • Office Ribbon Extensibility • Infopath Forms • Sharepoint Workflow
Open XML Formats Architecture Document Parts Most parts are XML Each XML part is a discreet, compressed component Can add, extract and modify individual parts using any Zip implementation Corruption or absence of any part would not prohibit the file from being opened Questionaire.docx User view: single Office “file” Developer view: modular file
Benefits Of Open XML Solutions No longer need to automate client applications to open and modify files Unsupported solution on server Clients not designed for this scenario Reliability Access directly the parts you need Avoid corruption Transparency Direct access to your data!
Tools for Accessing Data In Office Open XML files XML Editing Notepad? System.XML makes this easier ZIP Manipulation Compressed Folders in Windows Third-Party Zip Libraries Microsoft’s Packaging API’s (.NET Fx 3.0) Office Open XML Resource Kit Code Snippets C# and VB.NET http://www.microsoft.com/downloads/details.aspx?familyid=8d46c01f-e3f6-4069-869d-90b8b096b556&displaylang=en Validation Library Parses a file and reports on schema, relationship errors and warnings Serialization/Deserialization Library Flattens package into a single file for ease of development in simple construction scenarios
demo Open XML FormatCustom XML Controls and Word Content Control Kit
System.IO.Packaging Part of Windows Presentation Foundations Ships with Vista Requires .NET 2.0 Enables package manipulation for Office Open XML File Formats XML Paper Specification Files Any (ECMA) Open Packaging Convention files
Package class provides methods to create, enumerate and delete the following entities Package Package Relationships PackageProperties Parts Collections Streams System.IO.Packaging.Package Common Package Parts Package Relationships Core Properties Thumbnail Digital Signatures Specific Format Parts officeDocument Part Rels XML Part XML Part Part Rels Etc… XML Part
Resources OpenXMLDeveloper.org msdn.microsoft.com/office Kevin Boske’s Blog http://blogs.msdn.com/kevinboske Brian’s Blog http://blogs.msdn.com/brian_jones XPS Blog: http://blogs.msdn.com/xps
The Fluent User Interface • Microsoft Office Access, Microsoft Office Excel, Microsoft Office Outlook, Microsoft Office PowerPoint, Microsoft Office Word • “The Fluent Ribbon”
Ribbon Extensibility - “RibbonX” • Developers can modify the Fluent Ribbon • For example: remove tabs, add a tab, add a group Custom Tab Custom Group
Existing Solutions • XLM • WordBasic • CommandBars (‘96) • WLL, XLL • XLA, PPA, Word global templates • In Excel, “Init Menus” registry key • Attached Toolbars in Word & Excel • Other technologies And it all still works!
Existing Solutions Custom Buttons on Formatting Toolbar Custom Menu Custom Toolbars
Excel, after you open a few hundred workbooks with attached toolbars…
RibbonX… • Is a consistent, XML-based developer model for Microsoft Office UI • Produces well-behaved solutions by default • Exposes new control types • Targets specific developer & customer scenarios
RibbonX Basics • Add your own tabs • Add to built-in tabs • Add to the Microsoft Office menu • Add to built-in contextual tabs • Remove tabs, groups, controls
RibbonX Controls • Tabs • Groups • Buttons • Menus • SplitButtons • ToggleButtons • Labels • CheckBoxes
RibbonX Controls • EditBoxes • DialogBoxLaunchers • DropDowns • ComboBoxes • Galleries Only five controls in Microsoft Office 2003: msoControlButton, msoControlEdit, msoControlPopup, msoControlComboBox, msoControlDropdown
RibbonX Markup • Declarative XML • Easy to understand, localize, generate • Separates UI from your business logic • Gets applied to UI at add-in or document load <tab idMso=“TabHome”> <group id=“myGroup” label=“My Group”> <button id=“hw” label=“Hello World!” onAction=“myHelloFunc” /> </group> </tab>
RibbonX Solution Space COM VBA VSTO App. Level Installed at app-level, UI always visible Word Global Template Excel Add-in (.xlam) PPT Add-in (.ppam) Write a VSTO app-level solution Doc. Level Installed at app-level, displays UI based on doc properties Word, Excel, PowerPoint document Access Database Write a VSTO doc-based solution
demo Hello World Document
Features Targeting Developers • StartFromScratch • Global repurposing • Referencing 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 -->
UI Licensing ProgramCan I make a Ribbon in my own app? • Licensing rights to build Office 2007 UI (ribbon) into 3rd party applications • 120-page design guidelines document published • License is royalty-free • Easy to sign up (Web site click-through acceptance) • Some small set of exclusions (direct competitors) • Large community of licensees • Approximately 35 early adopters helped shape the license terms and guidelines, hundreds have signed up • Resources • Web site: http://msdn.microsoft.com/officeui • Design guidelines and click-through license available there • Specific questions should go to: officeui@microsoft.com
demo All Singing and Dancing Ribbon Demo DemoRx
InfoPath Form Template Design Declarative design surface New features Import existing Word/Excel forms into InfoPath 2007 Create form template partsfor re-use across forms Use logic inspectorto help debug declarative business rules Use design checker to design for the targeted environment and run compatibility checks
Template Parts and Logic Inspector • Template Parts • Allow • Re-use of parts across multiple forms • Multiple developers to work in parallel • Support all form features except code • Formatting & control properties; data connections; rules, validation, conditional formatting, calculations • Logic Inspector • Inspect and debug the form thru a single, read-only view of all your form logic • Rules, calculations, validation, events • Caveat: conditional formatting not reported
Code C# VB .NET Rules Formulas Data Validation Data Connections Conditional Formatting Declarative InfoPath Business Logic Most Form Development Does Not Need Code XSD, Web Service, Database Schema
Design Once OverviewOne form for rich client and browser • Shared features • Controls • Business Logic • Data Connections • Digital Signatures • Managed Code Object Model • Design Checker: rich client-only features • A pure subset of InfoPath features is available for browser-enabled forms • Compatibility errors and warnings can be seen in the Designer or on the server during the publish step • Smart Invocation • Open in rich client, if available. - Links in document libraries, Web pages, email, etc. • Special URL parameters to force opening in browser
Mobile Browser Forms Browser forms in a mobile device Scenario: Warehouse employees Form rendering optimized for mobile devices Fine Print • Operating system and browser neutral • Device must support HTML, xHTML, or cHTML
InfoPath Designer Browser InfoPath Client Publishing, Opening, and Filling XSN, XML loaded Business logicexecution Office “12” servers Publish XSN Forms Capabilities Replay event log ASPX Generate WSS XSN Download script anddata array DownloadXSN, XML Return updated data array Postback event log via XMLHTTP Take offline as needed XSN, XML loaded Business logicexecution Generate and render HTML (using script) Validation Execute calculations Execute rules Editing actions (All using script) Rendering Validation Execute calculations Execute rules Editing actions
Visual Studio IntegrationWrite Code in Your Favorite IDE Visual Studio Tools for Applications (VSTA) Out of the box development Lowers the bar for forms with managed code Compatible with Visual Studio Tools for Office Visual Studio Tools for Office (VSTO) Embedded designer for professional devs One IDE for all your projects: workflow, etc. Integrated toolbox, project wizard, etc.
Integrating Forms Into Web Sites Build custom UI, provide additional functionality on the page • Add a link with query params to open form in its own browser window • Embed form as a control in aspx page Using the form control • Placing other chrome and controls around the form • Dynamically loading forms • Changing the data in the form • Getting the data from the form • After the form has been submitted… ASPX page needs to run on the server where InfoPath Forms Services is available
Windows Forms & ActiveX Control Host InfoPath Forms in Your App • Managed and unmanaged InfoPath control • Examples: • Property editor in an Office app (Word, Excel, Powerpoint) • Workflow dialogs • Custom app for specific tasks that also hosts forms • Automate • OM and events for host/control interaction • IOLECommandTarget for full control of editing actions • Caveats • ActiveX will not load in browsers (security) • No ink entry, Information Rights Management
Integrating InfoPath Browser Forms in a Windows Applications
Office Workflow Vision • Facilitate human processes by attaching businesslogic to items and documents in Windows SharePoint Services, while providing context and tracking progress • Empower information workers using Office Serverwith out-of-the-box solutions and self-service tools to support a broad range of routing and tracking scenarios without IT involvement • Empower organizations to build a broad range of sophisticated workflow solutions that take advantageof the full functionality of the Windows Workflow Foundation (WF) platform and integrate into the SharePoint and Office experiences
Workflow Authoring Scenarios LOBIntegration Visual Studio andWorkflow SDK Industryspecific processes Purchase orders Product lifecycle mgmt Custom Tracking Apps Service Requests Asset Tracking SharePoint Designer Workflow Structured Ad Hoc Custom Form Actions Email Notification Exception Handling Document Processes Spec Review Weekly Status Report Tracking Applications Issue tracking Out-of-the-Box Solutions (with customization) Routing and Approval Review – Approval Signature collection East Asian workflow Office Server Features List Moderation Publishing Process Document Expiration
Windows Workflow Foundation Extensible framework and tools for building workflow into Windows applications • Common workflow technology for Microsoft products, ISVs and customer solutions • A framework to build on – not a server or application • Key features • Unified model for human and system workflow • Extensible activity framework • Allows workflows to run in any application or server • Visual designer for graphical and code-based authoring • Availability • Included in WinFX – powers Office “12” workflow
Windows Workflow Foundation Visual Designer Key Concepts • Workflows are a set of activities • Activities are the building blocks • Workflows run within a Host Process: Any application or server • Developers can build their ownCustom Activity Libraries Components • Base Activity Library: Out-of-boxactivities and base for custom activities • Runtime Engine: Workflow executionand state management • Runtime Services: Hosting flexibilityand communication • Visual Designer: Graphicaland code-based construction AWorkflow AnActivity Custom Activity Library Windows Workflow Foundation Base Activity Library Runtime Engine Runtime Services Host Process
Agenda • Office XML Formats • Office Ribbon Extensibility • Infopath Forms • Sharepoint Workflow