250 likes | 432 Views
2007 Microsoft Office System Technical Overview - Client Michael McClary. Microsoft Confidential. Agenda. Introduction File Format Office Client Development Tools and UI InfoPath. Evolution of the Office Developer. VSTO. Smart Documents. Smart Tags. .Managed Add-ins. .NET Framework.
E N D
2007 Microsoft Office System Technical Overview - ClientMichael McClary Microsoft Confidential
Agenda Introduction File Format Office Client Development Tools and UI InfoPath
Evolution of the Office Developer VSTO Smart Documents Smart Tags .Managed Add-ins .NET Framework COM Add-ins COM components Visual Basic for Applications (VBA) Access Basic Word Basic Access Macros Excel Formulas Word Macros evolution graphics courtesy of SellsBrothers.com
What Do "Office Developers" Build? The Office 12 Developer a modern, evolving life form Enterprise Developer • Designing Portals • Extending the Search Engine • Integrating with LOB systems • Creating Public Web Sites • Creating Business Forms • Creating Custom Workflows • Managing Enterprise Content • Creating Custom Policies • Creating Scorecard, BI Reports Web/WSS Developer Office Client Developer • Designing Site Templates • Creating Collaboration Solutions • Developing Web Parts • Developing Workflow Activities/Assemblies • Developing Event Handlers • Packaging Features and Solutions • Creating Word Template Solutions • Extending the Ribbon • Developing Office Add-ins • Developing VSTO solutions • Creating Business Forms • Programmatically Manipulating XML Documents
New Office File Formats Office is changing to an XML-based file format Based on Microsoft Office Open XML Formats standard Applies to Word, Excel and PowerPoint Office files saved as ZIP file containing document parts Document parts saved in open, transparent XML format Word Document (ZIP file) Developers can read and modify Office documents without requiring Office or using the Office object models Document Properties Comments Compatibility? Microsoft has released patches for Office 2000, XP and 2003 to open, edit and save files in this new format Document Content as WordML Developers can read specific parts of a Word or Excel file with a simple XML parser Custom-defined XML Images / Sounds / Video Developers can easily replace or remove parts of a document such as the styles, graphics or comments Embedded code / macros Charts Valuable for both client-side and server-side development
Package Relationships Custom Defined XML, Macros, … _rels custom fld Document, Application, Custom Document Properties docProps Document Parts Questionnaire. docx word / xl /ppt Questionnaire. docx [Content Types].xml Office Open XML Format Architecture User view: single Office “file” Developer view: modular file
Basic Components of the New Formats • Package – ZIP Container • Part – The “files” inside the ZIP • Most parts are XML • Binary files can be included • Each XML part is a discreet, compressed component • Content Types – Each part has a content type that is enforced on open • Relationships – Any part that references another part or plays a certain role in the application must do so via a relationship
Developer Scenarios • Document Assembly • Server-based or user-assisted construction of documents from archived content or database content • Content Reuse • Much easier to move content between documents, including different document types • Content Tagging • Add domain-specific metadata to document content to enable custom solutions • Document Interogation • Query document repositories based on custom data, content types or document metadata • Document Sanitization • Remove unwanted content like comments or embedded code from your document when appropriate
WinFX Packaging API • Microsoft WinFX Software Development Kit (SDK) • System.IO.Packaging namespace • add document parts, • retrieve and update contents, • or create new relationships • Important Classes • Package, • PackagePart, • PackageRelationship
System.IO.PackagingSample • Open the package • Access a document part • Create a document part • Add content to the document part using (Package package = Package.Open(packagePath, FileMode.Open,FileAccess.ReadWrite)) { Uri uriPartTarget = new Uri("/word/styles1.xml", UriKind.Relative); PackagePart newPackagePart = package.CreatePart(uriPartTarget, "application/vnd.ms-word.styles+xml"); using (FileStream fileStream = new FileStream(stylePath, FileMode.Open, FileAccess.Read)) { CopyStream(fileStream, newPackagePart.GetStream()); } }
The Entirely New Office UX The “Ribbon” Galleries Live Preview Contextual Tools Quick Access Toolbar (“QAT”) “Floatie” “Super Tooltips” Enhanced window frame “KeyTips” and Keyboard Navigation Streamlined Options Context Menus New File Menu
Ribbon ComponentsReview • Ribbon accessible via a tab • A Ribbon contains one or more groups • A group contains one or more controls • New controls: ToggleButtons, SplitButtons, EditBoxes, DropDowns, ComboBoxes, CheckBoxes, DropDownGrids All
Developing for Office ’12’Scenarios • Automate tasks • Calculations in Excel • Filling in documents • Custom actions • Create custom ribbons tied to a template or activated for all Office ’12’ new UX • Provide added functionality via task panes • Tied to specific template or document • Shared across all applications Custom Ribbon Extensions Core Tasks TaskPanes
Client-side Development Tools • VS2005SE from :-http://msdn.microsoft.com/office/tool/vsto/2005SE/default.aspx • ORCAS – new version of Visual Studio, lots of integration (LiNQ, Tools for Applications, etc)
Content Controls in Word ’12’ • Evolution of customer-defined XML • No XML schema required • Provide friendly end user exposure of structured content • Each provides unique content restrictions • Controls do not affect layout • Controls can be grouped to lock them down as a unit • Controls can be mapped to XML data • Can be used by document parts • Can insert controls using the Developer Tab • Specialized options for each type of control • Can set placeholder text for when it’s empty Word
Windows Forms Controls • Use normal Windows controls in Word documents and Excel spreadsheets • Embedded in VSTO-defined ActiveX container
Challenges today with InfoPath ISVs like the idea of integrating with and leveraging InfoPath, but • Reach more users (smart vs thin clients) • Support them better with off-line capabilities • Integrate InfoPath forms in a better way into the Office clients • Leverage InfoPath forms in our own applications • Have a cleaner way of programming against InfoPath • And integrate even better with back-end systems
InfoPath 12 and Forms Services First generation: InfoPath 2003 Capture business data with dynamic, XML-based forms Rich data entry and validation Integration with multiple back-end systems and services Next generation: InfoPath 12 and Forms Services New form templates Integration with Office 12 client applications InfoPath + Forms services support browser as well as rich client
Improvements with InfoPath ’12’ InfoPath ’12’ introduces major improvements for • Template Designers • IT People Responsible for the Deployment • Users Filling-In Forms • Integrating • Developers
Designing InfoPath Templates • Server/client design mode • Combination of forms on smart client and browser • Conditional formatting, validation, rules, calculations, data connections run unchanged • Smart client only features • Offline, custom ActiveX controls, master detail, task pane, IRM, script based code • Use Design Checker to verify “browser” compatibility • Smart Form invocation • Always open in smart client, if available • Forms in WSS doc libs; links in web pages, email, etc. • Special URL parameters to force opening in browser
Template Parts • Designer support for creating reusable chunks of forms • Auto-update across solutions • Supports • Formatting and control properties • Main data source, secondary data connections • Rules, Data Validation, Conditional Formatting • Formulas/Calculations • Caveats • No Code
Summary Office Client Development File Format Tools and UI InfoPath
Resources • Blogs • Brian Jones • Jensen Harris • Andrew Whitechapel • MishnaShneerson • Office Training • http://www.microsoft.co.uk/events/eventdetail.aspx?eventid=8560 • Other links: • http://msdn2.microsoft.com/en-us/office/default.aspx • http://channel9.msdn.com/