Some time ago I blogged about How to: Uploading a File to a SharePoint Library Site from a Local Folder and How to: Magic with SharePoint 2003, uploading files using a Web service. Some people found these samples useful and some people asked if I could provide sample code that works with SharePoint Server 2007.
For some time I asked around and realized that there are multiple possible ways to accomplish this task in SharePoint 2007. Here are some popular approaches I’ve learned about and some great possibilities and drawbacks for each:
For this last approach, Joel Krist has created a new Office Visual How-to that shows how to use the HTTP PUT method to programmatically upload files from an ASP.NET Web application to a Microsoft Office SharePoint Server 2007 site: Uploading Files to SharePoint Server 2007 from ASP.NET Web Applications by Using the HTTP PUT Method. This article provides code samples in both VB and C# and a video that shows how to this.
Here’s a preview of the video from that same article.
MSDN Developer Centers pull together content and resources around specific products and technologies. They connect developers with code samples, community sites, technical articles and documentation, upcoming events, and much more. The MSDN Office Developer Center (ODC) provides a developer roadmap to understand and work with Office System programs, servers, services, tools and technologies.
As we prepare for our next product release (Office 2010 and SharePoint 2010), we worked on a set of site updates to improve navigation, increase discoverability of content, and add more community content and features.
Here’s a summary of new features and updated pages:
Coming soon Open XML Developer Center revamp!
Here’s a few toys and great reads that have kept me entertained for the last couple weeks:
If you manage a personal or company Web site and haven’t heard about this yet, get ready to be amused. The IIS team released last week the IIS Search Engine Optimization (SEO) Toolkit Beta – a free toolkit that helps Web developers, hosting providers, and server administrators improve their sites’ relevance in search results by recommending how to make them more search engine-friendly. The SEO Toolkit Beta is available for installation via the Microsoft Web Platform Installer 2.0 Beta.
The IIS SEO Toolkit Beta is a piece of the larger Microsoft Web Platform strategy, which enables developers and end-users to build great websites, experiences, and achieve success in the Web ecosystem.
Some of the great features this tool includes are: customization of crawling (you can ignore ‘nofollow’ attribute and ‘noindex’ metatag, define #links to crawl, and consider internal linking from groups of directories and subdirectories). You can also get SEO violation reports, query results using a UI query builder, generate sitemaps, page inventories, reports of external and internal links, and much more. My favorite one is the keywords suggestions view:
We’ve already crawled MSDN_Office and we’ve found lots of SEO violations. We already started fixing critical issues and our Web site will benefit extensively by using this tool and following best practices recommended by this tool. If you are interested in improving your site for SEO, this download is a must!
Here’s a few great reads and sites for download:
If you are doing SharePoint development and configuration and struggle to remember Stsadm commands, you should check out this super cool application. It provides a fully browsable interface, in-depth information from the TechNet TOC and library, and links to specific topics for each Stsadm command line operation and property. By using separate XML data files, the SilverLight application is instantly updatable and localizable.
You can find the Stsadm SilverLight application on TechNet here:
Some other blogs posts where you can find more info about this tool:
Even after years of getting my hands on Office development and loving it, I still continue being a passionate Web developer. I still keep my addiction to anything ASP.NET, AJAX, Silverlight, and Web platform in general. ScottGu’s blog is a great read to keep-up with news from DevDiv. Another fantastic blog to follow is Scott Hanselman’s blog. Scott is an expert in Web development and a former ASP.NET MVP who is now working with MSDN and providing great insight and suggestions to improve MSDN. He has a couple blogs posts that discuss alternate views for MSDN, including a Low-Bandwith (loband) view and MSDN Updates - and RFC for you. He is currently working with MSDN on a set of proposed let's go crazy here and try some way-out-there-MSDN designs for MSDN Developer Centers. Here’s a couple designs:
It’s great that someone like Scott is providing all this out-of-the-box thinking and ideas for MSDN. The MSDN Office Developer Center team can’t wait to see the final designs and roll them out to our pages. More here: http://www.hanselman.com/blog/MSDNUpdatesAndRFCForYou.aspx. You can also follow Scott on on Twitter: @shanselman
Last year I had the opportunity to attend the Office Developer Conference 2008 in San Jose, CA. I remember being there with Sanjay, Ken Getz, and Wouter at the Open XML booth where we had the opportunity to talk to some of you about the latest improvements to the Open XML Format SDK 1.0 and distribute Open XML posters. I was super happy to hear from Gray that we will have an Office Developer Conference moving to the SharePoint Developer Conference 2009. Office 2010 enables better integration between Office client applications and SharePoint products and technologies. It makes sense to have a shared conference.
For those of you who are already collecting links to Office 2010 resources, don’t forget to sign-up for the Technical Preview and to pass on the word about the Office Developer Conference this year.
Here are some other MS blogs that you should follow for news about the conference:
The Open XML Format allows you to generate, manipulate, or pull data from Word 2007, Excel 2007, and PowerPoint 2007 files. If you are working with Microsoft-based solutions, you can generate, manipulate, and pull data from documents using the following tools and technologies:
Note: If you are working with Java or PHP/Linux/Unix/Solaris, you can also find plenty of resources here and here.
Anyway, today I want to focus on a couple best practices for getting started with coding for Open XML Format SDK 2.0.
For the last couple of months I have been working with some Open XML gurus: Zeyad Rajabi, Linda Lanqing Brownell, Eric White, Joel Krist, and Ken Getz. We are working together on a new set of Visual How-tos for the Open XML Format SDK 2.0 and a set of 50+ code snippets for Visual Studio 2008 to be released soon on MSDN.
Quite frequently I hear from most of them a couple best practices that I’d like to share with you today: If you plan to build a solution using the Open XML Format SDK 2.0…
The very first thing we recommend you to do before you start writing code for a document solution, is to create the template. Depending on what kind of solution you want to build, you can use Word 2007, Excel 2007, or PowerPoint 2007 to create a template.
Imagine that you own a software company and you sent all your developers and consultants to the great Office and SharePoint sessions at TechEd this year. The end of the fiscal year is coming soon and you need expense data from each conference attendee ASAP. Developers and consultants plan to spend this weekend on New Orleans, so you ask them to fill out a Web-based Expense Report form that sends data to your company’s accounting database. Your accountant loves Excel 2007 and she asked you to export all expenses per/employee to Excel spreadsheets so she can review details before approving. CSV export won’t do this time because your accountant wants it all pretty and styled. You want to figure out a way of programmatically generate the Expense Report spreadsheets by pulling data from your accounting database. You need styles and formatting as well. After evaluating lots of tools and technologies, you decide that you want to build this solution using the super cool Open XML Format SDK 2.0. Now what?
The very first thing we recommend you to do before you start writing code is create the template using Excel 2007. You may ask your accountant to design the Expense Report template using Excel 2007, or you can always download tons of great templates from Office Online. Here’s my sample expense report template:
Open the template using Excel 2007 and add some dummy data. Don’t forget to save the template as Excel Workbook file (.xlsx). Now that you have a template to start with, you can start coding the solution.
The Open XML Format SDK 2.0 download ships with a set of tools that facilitate the process of building document solutions using the SDK. One of this tools is the DocumentReflector. This tool has the ability to open an existing Open XML document and dynamically generate C# source code that uses the Open XML SDK 2.0 typesafe classes to create the document parts. Exploring the source code created by DocumentReflector is a great way to become familiar with the Open XML SDK 2.0 classes and the Office document formats. Zeyad refers to this tool as the “Macro Recorder on vitamins” and I can tell you it rocks! The main idea is that once you have a solution template, you open it using the DocumentReflector and you get a set of autogenerated classes that you can later modify with Visual Studio 2008.
To illustrate using the DocumentReflector to create the base code for the Expense Report solution, follow the next steps:
At this point the code generated by DocumentReflector can be copied and pasted into the Visual Studio solution for reuse and learning purposes.
For testing purposes, you can create a Console application in Visual Studio 2008. Here are some generic steps:
6. Select the code for all of the methods inside of the GeneratedClass class from the DocumentReflector code window then copy and paste the code as methods of the Program class in the Program.cs file in the Visual Studio project.
7. Change the copied CreatePackage method to be private static so it can be called from the static Main method.
The AddParts method creates all the parts that you need in the Expense Report spreadsheet.
The GenerateSharedStringTablePart1() method contains the code that you need to create values for the table on the Expense Report. You can modify this code to iterate through the accounting database. You can pull expense report data by employee and replace the dummy data you entered.
7. Modify the Main method and add a call to the CreatePackage method.
Opening the workbook with Excel will display a workbook that looks just like the ExpenseReport.xlsx workbook created previously.
If you are looking for more end-to-end solutions using the Open XML Format SDK 2.0, you must see this articles:
Also, as mentioned before, Brian’s/Zeyad’s blog and Eric’s blog are always a great resource for Open XML code samples.
Coming soon the set of Open XML Format SDK 2.0 VHTs and code snippets for Visual Studio 2008!
Here are some improvements on SP2 that matter to developers:
Update: Also, here's a great sample VBA sample code from Ron de Bruin: http://www.rondebruin.nl/pdf.htm
Before SP2, you could download a free add-in to get this functionality. The SP2 offers this functionality out-of-the box.
Gray Knowlton has a couple great posts that explain more details of this release:
Today as part of the Exchange 14 annoucement we officially announced the name and availability of Office “14” products and technologies!
Exchange Server 2010 will become available in the second half of 2009. Microsoft Office 2010 and related products will enter technical preview in the third quarter of 2009 and become available in the first half of 2010.
Microsoft Office 2010, Microsoft SharePoint Server 2010, Microsoft Visio 2010 and Microsoft Project 2010 are scheduled to enter technical preview in the third quarter of 2009 and release to manufacturing in the first half of 2010.
I am looking forward to share with the developer community the latest news related to our Microsoft Office 2010 release.
MSDN® is sponsoring a coding contest for Office 2007, named OfficePalooza! This sweepstakes will run two weeks beginning April 20, 2009, and features ten fun Visual Basic of Applications™ (VBA) coding challenges in the form of puzzles and games. Each entrant will earn a chance to win one of hundreds of available prizes, determined by a random drawing at the end of the contest.
About OfficePalooza What’s this all about, and where did this crazy idea come from, anyway?
OfficePalooza Challenge Preview Get a preview of the types of challenges you’ll be seeing with these short summaries. We’ve also included deadlines so you’ll be able to plan ahead.
Getting Started with VBA
If you’re new to Visual Basic for Applications (VBA), this article might help prepare you for the challenges.
The Story of Binder Clippy An introduction to our mascot, Binder Clippy!
Find all details about this contest at the Office Palooza Web site: http://blogs.msdn.com/officepalooza/
In conjunction with this contest, an Advanced Business User theme will run on Microsoft Office Online from mid-April to mid-May, and will showcase the automation and extensibility aspects of Office 2007 through macros, custom VBA coding, the Fluent UI, and Office Open XML. This collaborative effort will also highlight existing and newly-created content on the MSDN Microsoft Office Developer Center.
Some other bloggers who have already blogged about this contest:
Join the contest and have fun!
We have some great news for Office and SharePoint developers. We launched this morning a new section on the MSDN Office Developer Center where you can find Office and SharePoint books that matter to developers. We also provide free book chapters!
Here’s the set of links where you can find our bookstore pages:
We joined the Amazon Associates program, so you if you want to buy a book, you can go directly from our bookstore pages to Amazon.
Not a developer? If you are an IT professional or an Information Worker and want to find Office and SharePoint books that matter to you, you can also find books on TechNet and Office Online (coming soon).
We’d like to invite everyone from the community to make our bookstore even better by referring more books. We are interested in hearing your recommendations for Office and SharePoint books that matter to developers. You can contact us through our Facebook group, our MSDN_Office twitter feed, or you can leave your comments @ this blog entry.
For all of those fans of Open XML and followers of updates done to the Open XML Format SDK 2.0, one more happy day has arrived. The Office Client Developer Content team and the Open XML SDK product team released the Open XML Format SDK 2.0 April CTP on MSDN! Zeyad has a great blog post where he explains in detail what’s new with the latest version of the SDK.
The Open XML Format SDK 1.0 is a licensed version of the Open XML SDK that allows you to manipulate Open XML package parts. However, you need to create your own code to manipulate XML content in each part. The Open XML SDK Format SDK 2.0 provides a set of strongly typed classes and objects that allow you to manipulate packages and XML content in each part. Here’s a list of the namespaces that you can find in the latest version of the SDK:
You can find documentation on MSDN for each of the previous namespaces here: http://msdn.microsoft.com/en-us/library/dd608815(office.14).aspx
Also, if you are into graphical content, I have created a couple more Silverlight DeepZoom Class Diagrams. Spent some time experimenting with Silverlight 2.0 to please everyone who asked me to update my previous Silverlight DeepZoom Class Explorer. As you can see from the list above, the entire OM is huge! I only created diagrams for the namespaces bolded above.
A few notes about the diagrams:
To view the diagrams locally, download and extract the zip files and locate the \…\…\DeepZoomProjectWeb\ClientBin\*.html file on each project. DocumentFormatOpenXML_CD.html is the preview file for the first project and DocumentFormatOpenXMLPackaging_CD.html is the preview file for the second project.
To view the diagrams locally, download and extract the zip files and locate the \…\…\DeepZoomProjectWeb\ClientBin\*.html file on each project. DocumentFormatOpenXML_CD.html is the preview file for the first project and DocumentFormatOpenXMLPackaging_CD.html is the preview file for the second project.
3. Make sure you download VS2008 SP1 + Silverlight 2 Tools for VS 2008 SP1 if you want to open the source code in VS 2008.
We have about 10 articles + videos, and 50~ code samples coming soon!
I’ve been experimenting with Twitter for the last couple of months and I am quite addicted to it now. I love the fact that you can get real time news and chat with so many people from the community. SharePointDev, emilysc, ninar,and ricalo have been my Twitter mentors and got me deep into the addiction.
I’ve been twittering random news that matter to Office and SharePoint developers under my Twitter account, but wanted to create another feed where we specifically post:
We created yesterday a Twitter feed for Office and SharePoint News.
MSDN_Office / MSDN Office News – Get the latest news about Microsoft Office and SharePoint code samples, downloads, SDKs, references, articles, videos, and tools for developers on MSDN.
Back in the day, I kept collections of Office and SharePoint developer bloggers. Here's our collection of Office and SharePoint accounts that matter to developers:
There’s tons of third-party applications to use with your Twitter account. Here are some great tools that help you connect to Twitter from Office Apps:
A long time ago I blogged about Office developer resources in your own language. Ever since, we have seen the need for “Office Technical Content” in multiple languages. For example, in countries like Russia or France, developers and IT professionals create great SharePoint solutions and deployments, but there is low English affinity on those markets. In some other cases you may understand well technical content in English, but you may have a preference to read it in your own language.
MSDN Library is available for: Japanese, French, Spanish, Chinese Simp., Russian, and German.
Also, for MSDN Brazilian Portuguese Content we have enabled Machine Translation Wiki – Check it out here: http://msdn.microsoft.com/pt-br/library/aa701145.aspx
TechNet Library is available for: Japanese, French, Spanish, Chinese Simp. & Trad., Russian, German, Italian, Brazil, Korean
Last February, the Office International Publishing Group localized two more markets – Japanese and Taiwanese.
The areas we are looking now into are – site customization for the local market, identifying the content areas where we should invest, and engagement with the community. Any feedback is very much appreciated!
David Pavlik, the Planner for Office Technical International content, can be reached via Twitter at http://twitter.com/davidpav. Send him your ideas, feedback, and request needs about Office Technical Content.
Hope you enjoy Office and SharePoint technical content in your own language!
It's cold and raining here in Redmond. Perfect weather for writing a blog entry.
Andrew May is a content publishing manager for WSS developer content. He is very passionate about Workflow and this week he created a new workflow development resources interactive map using mind maps. Andrew created this interactive map as another way of presenting some of the information we currently have on the MSDN Workflow Resource Center. If you are currently creating workflow solutions or are interested in learning about workflow resources, this map a great resource for getting started. It's also a very innovative way to explore learning resources located in different Web sites.
New group for Office and SharePoint development enthusiasts on Facebook!
The MSDN Office Developer Center provides a roadmap to understand and work with Office System programs, servers, services, tools and technologies. Some of our core products and technologies include Access, Communications Server, Excel, Groove, InfoPath, Office Business Applications, Office Fluent UI, Office Live Small Business, Open XML Format, Outlook, PerformancePoint Server, PowerPoint, Project and Project Server, SharePoint Designer, SharePoint Server, Unified Communications, Visio, and Word.
You should join this group if you are interested in talking to the group of Microsoftees that create and release Office and SharePoint developer documentation.
We published a lot of content this week, so for those of you twittering #Office and #SharePoint links like me, here's lots of fresh links to share:
This is a common task for ASP.NET developers. You have a Web application where you expose data from a database, Web service, or third-party API and you need an "Export to Excel" button. I have used different approaches to export to Excel from a Web application. Here's some options and guidance of when to use each one.
Note: I can't stop to mention the big no-no… using the Excel PIA to generate a spreadsheet server-side. This is not a good practice and it's not recommended or supported, so let's forget about this one.
Now, for those of you who are working with any of the first three approaches, you may have seen the prompt of file format differ each time you export to Excel.
You get this message because you are opening a file in Microsoft Office Excel 2007 that contains content that does not match the files extension.
I am not very annoyed about this, but I know some people are. By default, a user can decide whether to open the file when the warning message is displayed, but you can control user-notification either:
Here's a KB article that provides detailed steps for both options: When you open a file in Excel 2007, you receive a warning that the file format differs from the format that the file name extension specifies.
Here's a quick code sample in C# for approach 3 (Export from GridView) that you can use to export to Excel. I changed my registry following the steps explained in the previous article and it worked like a charm. No prompt!
I came across some interesting blog posts this week and here's a few links that I'd like to share with you.
Learning about Office 14 is one of the most exciting things I've been doing since I came back. I am dying to talk about so many of the great new features for developers in Office 14. Can't say much now (hopefully soon I will), but I came across a public announcement from PDC: Office 14 on the Web. In case you missed it (like me), Microsoft announced at PDC that the new release of Office will deliver Office Web applications - lightweight versions of Word, Excel, PowerPoint and OneNote - through a browser. With these new applications, people can use a browser to create, edit, and collaborate on Office documents. What's great is that this provides a consistent Office experience when and where our customers want it, regardless of whether they are accessing their Office documents through the PC, phone, or browser.
Want to see how it works? Here's a cool Channel 9 demo where you can watch it in action.
Angela Chu-Hatoun has written most of the Outlook dev documentation you see on MSDN, so she is a super Outlook expert. Some years ago we used to share an office. Now we have our own offices, but sometimes we hang out and chat. As good geeks we are, we talk about technology and Outlook stuff and this week we were talking about the latest release of the Outlook MAPI. The MAPI for Outlook 2007 provides a set of classes, interfaces, functions, and other data types to facilitate the development of Outlook 2007 messaging applications. Angela worked for the last few months on an update and she blogged this week about the latest release.
I've spent the last few days pulling 2008 metrics for Office & SharePoint developer content. It's quite interesting to see what flavor of chocolates devs pick at the candy store.
The Office System is an umbrella of products and technologies. Popular picks from the Office dev community include SharePoint, Open XML, WSS, the Fluent UI, Excel, Access, and Word technical documentation.
Here's to the very best of Office & SharePoint developer content and kudos to all the authors who contribute to our publishing queue! Now the list of the very best candies…
I'll end my Office candies blog post with a great dessert. Have you seen Soma's latest blog post? Office client developer enhancements with VS 2010.
As an Office dev I have to say that the three key improvements that Soma announced will definitely make Office.NET development even easier.
Hopefully we'll have some dev content in the future that shows how to get the best out of these features.
We've published today a new set of Open XML implementation notes. The ECMA-376 Implementation Notes helps developers to understand low-level details of the Open XML implementation. The notes also include information that will help ISO update the standard over time, and some other general information to cover some scenarios that are not covered in detail by the SPEC.
The notes are definitely a great resource for all us who work with the Open XML SDK 1.0 and 2.0 and are looking for detailed documentation and guidance. I know lots of devs out there are creating document assembly solutions and the notes help you understand fine details of the implementation. Say you are working with WordprocessingML and want to learn about paragraphs, tables, footers, document parts, or mail merge. If you don't know the SPEC by heart (like most of us J), and want to learn more about the implementation details, you can always check out the implementation notes.
Great blogs posts you should not miss:
You can also subscribe to the Microsoft Interoperability RSS feed, where you can find 3rd party and Microsoft bloggers sharing the latest news about interoperability.
Here is a list on links that I want to share with you.
Some Office solutions require that you work with XML. Open XML documents, SharePoint, and InfoPath are great samples. LINQ to XML is an in-memory XML programming interface that enables you to modify XML documents efficiently and easily. One of the great advantages of using LINQ to XML is that it greatly simplifies the task of processing XML documents. Making Office development even easier.
If you are new to LINQ to XML, you can explore the .NET Language-Integrated Query for XML Data MSDN article by Michael Champion. You can also find tons of resources at the LINQ Project resource center on MSDN.
Definitely the best of blogs for Office + LINQ is Eric White's blog. Eric has posted multiple blog entries about Office and LINQ. My favorite post is: Using LINQ to Query Excel Tables. Eric is working on a new series of posts about SharePoint and LINQ. His two latest posts include:
While I was out of office, the Office Developer Documentation Group published an online version of the latest versions of the posters:
While reviewing traffic to some of our MSDN content, I noticed that the Office Visual How-tos we've published on the MSDN Library are getting lots of page views!
Developers seem to like this content type since it provides a short article, code sample, and video. This content type provides quick demos that show you how to work with specific features provided by different Office products and technologies.
We've covered a broad set of topics, such as Open XML, SharePoint, WSS, Word, Outlook, Access, InfoPath, and VSTO.
Here's a list of the most recently published Office Visual How-tos:
Visual How To: Creating SharePoint Sequential Workflows with Visual Studio 2008
Visual How To: Creating Workflows to Transfer Records Upon Expiration in SharePoint Server 2007
Visual How To: Preventing Document Modification in Windows SharePoint Services 3.0
Visual How To: Preventing Record Modification but Allowing Metadata Modification by Overriding the Upload Page in Windows SharePoint Services 3.0
Visual How To: Building State Machine Document Approval Workflows for SharePoint Server 2007 Using Visual Studio 2008
Visual How To: Creating a Custom Approval Workflow for SharePoint Server 2007 Using SharePoint Designer 2007
Visual How To: Configuring and Deploying Workflows to SharePoint Server 2007 Using Solution Packages
Visual How To: Creating Custom Workflow Activities for SharePoint Server 2007 Using Visual Studio 2008
Visual How To: Building an Expense Report Approval Workflow for SharePoint Server 2007 Using Visual Studio 2008
Visual How To: Updating Document Information Panels for Content Type Changes in SharePoint Server 2007
Here's a list of some of the most popular topics:
You can visit the Office Developer How To Center for a complete list of Office Visual How-tos.
Here's the how-to video RSS feed: http://www.microsoft.com/feeds/msdn/en-us/office/video.xml
We have identified some Office 2007 content gaps and missing code samples and we will start building a new set of Office Visual How-tos. One of the things we've been asked is to provide the code of these articles as code sample downloads. We plan to start publishing the code sample downloads to the MSDN Code Gallery. Also, we are exploring the option of publishing the most popular videos in Zune format.
Please leave a comment with your suggestion of any Office, SharePoint, and VSTO topics/code samples that we should provide in the future. I'll keep an eye on this blog entry.
Sofia came five months ago and I can honestly say that so far she has been the best part of my life.
Spend a few months with a kid and you'll get to know a new side of you that you never imagined you had. It's like starting to live all over again. Even the simplest smile or sound coming out of your little one can make you go wild. Anyway, as many other lucky working moms, I get to enjoy the beauty of motherhood and the fun of a happy job to get back to.
One of the things I missed the most was blogging. I am quite eager to share with you some stats about Office developer content, Office 14 news, Open XML code samples, best of Office 2008 blog posts, and more.
Today is my first day at work after a long break and I am trying to catch-up with lots of stuff. I've spent a couple hours reviewing stats from our publishing system. While I was gone, the Office Developer Documentation Group published an astonishing amount of 199 content items. That is, a mix of technical articles, downloads, SDKs, book excerpts, and code samples. Kelly Bowen-McCombs, our MSDN Office Developer Center managing editor, blogged about some of the content published in the last few months. In case you missed her entries, you can find them here:
I am quite grateful that Kelly posted about Office Developer documentation news while I was out. I hope you enjoyed her blog posts.
In case you want to catch-up (like me) with all the Office developer content we published in the last few months, I recommend that you check back often our MSDN - Office Developer Center. I also recommend you to subscribe to our Office Developer RSS feeds. We have a few that you may find interesting:
RSS feeds we publish:
Other Office developer related RSS feeds:
I'd also like to use this blog post to thank everyone who has contacted me through my blog and sent me questions related to Office development. I will be answering as many questions as I can in the next couple of weeks. Thanks all for keeping up with my blog and expect to hear a lot from me this year J.
Happy 2009 to everyone!
New Reference Documentation
The big news is an offering for COM developers: the long-awaited Outlook 2007 Messaging API went live today. This is an update to the old Messaging API last published several years ago. Outlook 2007 Messaging API (MAPI) Reference describes how to create Outlook 2007 items by using MAPI that is based on the Component Object Model (COM) rather than the Outlook object model.
And hopefully you noticed this...
Install Updates for Outlook 2007 Help This download installs the latest assistance content for the Outlook 2007 Developer Help file and the Outlook 2007 Help file. It contains the latest revisions and additions to content in those files.
We also published the following new articles:
Oh yes, and there is a new book available from Microsoft Press you may want to consider. Get the comprehensive reference for extending Outlook 2007: Programming Applications for Microsoft Office Outlook 2007.
In case you missed these when they were originally published, you also may want to check out:
And some other interesting news: For those not in love with my chatty comments, Erika should be returning to her blog next month.
Time's been passing. Meanwhile, we have a slug (bucketful? melange) of interesting new content out there.
For Office client developers, we have a couple of important updates. One is to Andrew Whitechapel's popular article: Isolating Microsoft Office Extensions with the COM Shim Wizard Version 18.104.22.168. By customer request, we also republished a popular article that was inadvertently dropped in some recent shenanigans: Improving Web Site Usability and Appeal. The latest OfficeTalk column, by guest columnist and MVP Ron de Bruin shows Filtering by the Active Cell's Value, Font Color, or Fill Color in Excel 2007.
Open XML is a hot topic. We did publish MVP Stephanie Krieger's article: Creating Document Themes Using the Office Open XML Formats. Frank Rice also describes how to create a simple search and replace utility for Word 2007 Open XML Format Documents.
I think one of the coolest new things is the AddinSpy tool, posted to Code Gallery (also by Andrew Whitechapel). Using the AddinSpy, you can discover all registered Microsoft Office add-ins on a computer. Read more here (and download the tool): http://msdn.microsoft.com/en-us/library/cc984533.aspx.
Performance optimization is always top on the minds of server admins. Here are some tips for all you Groove fans: Optimizing Groove Forms Tool Performance
We also posted updates to the following doc sets:
· PerformancePoint 2007 Monitoring Server SDK Documentation
· Microsoft Office Live Small Business Developer Guide
More information on SharePoint Products and Technologies continues to be in demand. Workflows is the feature this month with another article on workflows: Developing SharePoint Server 2007 Sequential and State Machine Workflows with Visual Studio 2008
I love the title of this article: Capitalizing On the Social Network Capabilities of SharePoint Server 2007 User Profiles. It just makes me want to read it.
A lot of people are big fans of "prescriptive guidance." I remember working on the first "prescriptive architecture guide" for SharePoint about five years ago. Setting up your CMS is particularly challenging, judging from some of the SharePoint discussion threads I see. Check this out for some help: Prescriptive Guidance for SharePoint Server 2007 Web Content Management Sites.
Continuing on the "prescriptive guidance" theme, we have the first article in what will be part of the Team Foundation Server Resource Center. This new resource center is rather exciting. It's goal is to provide the growing development community surrounding Office SharePoint Server 2007 and Windows SharePoint Services 3.0 custom applications with a prescriptive set of guidance about how to conduct SharePoint application development. Check back with the Resource Center regularly for the latest in the series.
Lastly, we have another article on search: Performing Incremental Crawling with the Business Data Catalog in SharePoint Server 2007. Incremental crawling is much less time-consuming than performing a full crawl so implementing it across your BDC would be a great way to immediately improve your search results.
Here are some great upcoming offerings including:
· Configuring and Deploying Anonymous SharePoint Publishing Sites
· Walkthrough: Master Page Page Layout in Windows SharePoint Services 3.0
· Configuring Security in Windows SharePoint Services 3.0
· Domain Isolation for Folder Home Page Customization in Outlook 2007
· Inserting Repeating Data Items into a Table in a Word 2007 Document
It's great to get back into the publishing groove. Most of us over here, in "Office and SharePoint land" have been working for months to also publish Interoperability content to go along our traditional developer offering. You can access that content on MSDN Online, at http://msdn.microsoft.com/en-us/library/cc216514.aspx. So now, we’re back to a full complement of technical articles, book excerpts, and API references. We have quite a mixed bag of content to present this week.
For Office client developers, we have quite a diverse set.This first one will be of interest to folks who are considering how they can integrate or migrate their existing (legacy) Access solutions with Access 2007: Developing Access 2007 Solutions with Native C or C++. This article provides a good overview of the options for choosing the most optimal native data access API .
And then, there are those who like to play with Excel. My father is a CEO for the Las Olas company in South Florida. He occasionally sends me these monster spreadsheets full of data liberally scattered with formulas (usually so I can troubleshoot it for him). I think his IT guy would appreciate this next pair of articles:
We also have an another SharePoint article, this one about developing workflows, a hot topic for those of us in content publishing: Developing Sequential Workflows for SharePoint Server 2007 Using Visual Studio 2008 by Joel Krist. We have some more workflow content coming out over the next month or so, a visual how-to as well as some other content, so check back if this is something you are hot to know more about.
Continuing in the SharePoint theme, we published two book excerpts from Microsoft Office SharePoint Server MVP Andrew Connell's excellent "Professional SharePoint 2007 Web Content Management Development: Building Publishing Sites with Office SharePoint Server 2007". Chatper 14: Authoring Experience Extensibility and Chapter 20: Incorporating ASP.NET 2.0 Applications. You can get the book in its entirity from Wrox.
We published a book chapter for Excel geeks as well, Building Custom Solutions from Beginning Excel Services. You can get the book in its entirity from Wrox.
On the lighter side - for our holiday gift this year, our group all got 80 GB Zunes from Microsoft. This has done a lot for sucking many of us into the wonders of MP3 players. When I brought mine home, my husband promptly ripped all 653 albums we owned. We hooked it up to our stereo receiver and did away with our cassette player, our VCR, and our DVD player. I've inherited the daunting task of keeping our genre categories clean and editing/creating playlists. Apparently Frank Rice, a teammate of mine, found an excuse to play with his Zune during work hours by writing a couple of columns about using Excel to manage his Zune playlists:
Coming up in the next few weeks we have content by Microsoft Office MVP Stephanie Krieger (Using Document Themes with Office Open XML Formats) and a three-part article series by Stephen Peront about Building Server-Side Slide Decks Using Open XML.
As the managing editor for the Office Developer Center, I spend a lot of time trying to determine effective search optimization strategies to help our content get discovered by search crawlers or robots. My focus is generally on the big Internet search engines, but I know that this can be even more critical in an enterprise environment where you want the vast knowledge stored "somewhere" to be available in under five minutes of searching. Nothing is more irritating than resorting to the native search on your local intranet, knowing the content you need is there (you saw it three months ago...where was it???)....and having it not show up in the results. So I take search personally. As a result, I'm glad to highlight two pieces of content that will help all you enterprise search folks create more relevant, custom search scopes for people in the enterprise like, well, me.
The SharePoint folks just published some content that I think will be of interest to those who want to delve into the mysterious world of enterprise search crawler. First up is an article by the prolific, Joel Krist from Akona, called Creating an Enterprise Search Crawl Log Viewer for SharePoint Server 2007. In this article, Joel discusses using the UI to view crawl details, including error messages. Then, he demonstrates how to access the same data programmatically. A code sample accompanies this article, which you can also download. The other article to talk about, also by Joel, is how to use Enterprise Search Property Filters in SharePoint Server 2007. This article talks about how to create targeted search scopes to access some of that obscure data that lives out in the enterprise "wilds" through things like managed properties, including custom metadata in doc libraries, and modified queries.
Enjoy - and please do add your comments to the articles. Your feedback helps us determine what other content we should present.