Shoutout to Kristof De Causemaeker - his blog has interesting articles on both InfoPath and SharePoint; couple particularly cool posts:
1) Great walkthrough on template parts, new InfoPath 2007 feature that allows you to modularize components of your form templates.
2) Cool trick on how to make picture buttons in InfoPath 2003 and 2007. It won't work in browser forms, but it can make your smart client forms prettier.
Alex WeinsteinProgram Manager
Last week, we posted an article on techniques around debugging browser forms. We received a few questions around the recommended way to find the right w3wp.exe process to attach to - this article aims to help. Non-production Server (where you can do anything without users complaining about service availability)
It is good idea to use Visual Studio to debug W3WP.exe. It is easier than using WinDbg but way more heavy weight to install. In any case make sure you have proper symbols servers configured properly or have PDB files for your code handy.
Options for production servers apply to non-production servers, too, but not vice versa :-).Production Server
You are likely will be limited to grabbing stack trace/full memory dump at the moment of exception using WinDbg. You still need process ID; here are 2 way to get it without hurting the server.
1) Use %windir%\system32\iisapp.vbs to get process IDs of W3WP processes. Note that it might be not trivial to figure out what W3WP to attach to if AppPool is configured as Web Garden or non-default option (new App Pool with port as part of app pool name) was chosen when Web Application was created.
2) Look into WSS logs (...\web server extensions\12\logs\) for recent entry related to W3WP. Even better, just look for failure trace in the log file and second column is process ID to debug. Note that it could be good idea to bump logging level to Verbose to some or all categories related for Forms Server on "Central Administration" -> "Operations" -> "Diagnostic Logging" page.
Alexei LevenkovSoftware Design Engineer
Have you ever wanted to do more with content types in SharePoint, but weren't quite sure how? There's a new book by David Gerhardt and Kevin Martin which goes deep on the subject, including a chapter on creating Document Information Panels using InfoPath.
Check it out!
I want to personally thank those of you who attended yesterday’s WebCast: InfoPath in End-to-End Enterprise Solutions: Integrating InfoPath with Siebel and SAP which was presented by Hagen Green. I hope you enjoyed the talk as much as I did and were able to learn something new. Also, I hope you filled out a survey at the end of the talk so you are entered in the Halo 2 contest. (Please visit the following URL to view the contest rules: http://msdn.microsoft.com/office/understanding/infopath/multimedia/halo/default.aspx.)
If you were unable to attend the talk, don’t worry. It was recorded and is available via the following URL: http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032259542&Culture=en-US. (You will have to register before you can view the recorded WebCast.)
Please join us next Monday, November 15 from 11am – 12:30am PST for the next presentation in the InfoPath WebCast series: “Digital Signatures in InfoPath 2003” which will be presented by Mihaela Cristina Cris, a Software Test Engineer on the InfoPath team. You can register for this talk by clicking on the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259544&Culture=en-US. I hope you will join us.
Here is more information about the talk:
MSDN Webcast: Digital Signatures in InfoPath 2003—Level 300
Start Time: Monday, November 15, 2004 11:00 AM (GMT-08:00) Pacific Time (US & Canada)
End Time: Monday, November 15, 2004 12:30 PM (GMT-08:00) Pacific Time (US & Canada)
Microsoft® Office InfoPath™ 2003 SP1 implements digital signatures to secure data in InfoPath forms and to ensure the integrity, authenticity and support for non-repudiation related to data in XML forms. InfoPath digital signatures target data in InfoPath XML form files and can then design and create digital signatures for the entire form or for parts of the form, following the W3C XML Digital Signatures Standard specifications. All these features will be explained in detail during this webcast presentation, along with the InfoPath Object Model for digital signatures. The last part of the presentation will show users how to build a sample form that enables digital signatures and displays existing signatures in a dedicated task pane.
Presenter: Mihaela Cristina Cris, Software Test Engineer, Microsoft Corp.
Mihaela Cristina Cris is a Software Test Engineer in the Microsoft® Office InfoPath™ group working with digital signatures in both RTM and SP1 versions of the product.
I hope you will join us for the next presentation in the InfoPath WebCast series - InfoPath in End-to-End Enterprise Solutions: Integrating InfoPath with Siebel and SAP. This talk will be presented by Hagen Green, a tester in the InfoPath group, Monday starting at 11am PST. If you haven’t already, you can register here: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259542&Culture=en-US.
Also, remember that those of you who view the talk and fill out a survey will be entered into a drawing for a copy of Halo2. (Please visit the following URL to view the contest rules: http://msdn.microsoft.com/office/understanding/infopath/multimedia/halo/default.aspx.)
MSDN Webcast: InfoPath in End-to-End Enterprise Solutions: Integrating InfoPath with Siebel and SAP—Level 300
Start Time: Monday, November 08, 2004 11:00 AM (GMT-08:00) Pacific Time (US & Canada) End Time: Monday, November 08, 2004 12:30 PM (GMT-08:00) Pacific Time (US & Canada)
Event Description Integrate CRM software, such as SAP and Siebel, with Microsoft® Office InfoPath™. In this presentation you will learn how to leverage the flexibility of XML Web services to create a seamless data flow between disparate systems. InfoPath provides for a rich data entry and viewing point while isolating the exposure of sensitive back-end data.
Presenter: Hagen Green, Software Test Engineer, Microsoft Corp.
Hagen Green is a Software Test Engineer for the Microsoft® Office InfoPath™ team. Hagen contributed to the InfoPath Designer platform, Web services, and ADO.NET support features.
Here's a quick note from Scott Roberts, a developer on the InfoPath team who presented the WebCast:
I want to personally thank those of you who attended yesterday’s WebCast: Best Practices for Designing InfoPath Forms. I hope you enjoyed the talk and were able to learn something new. If you were unable to attend the talk, don’t worry. It was recorded and is available via the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259532&Culture=en-US. (You will have to register before you can view the recorded WebCast.)
Also, please join us next Tuesday, October 9 from 9am – 10:30am PST for the next presentation in the InfoPath WebCast series: User Roles in InfoPath 2003. You can register for this talk by clicking on the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259537&Culture=en-US. I hope you will join us.
MSDN Webcast: User Roles in InfoPath 2003—Level 200
Would you like to see just how easy Microsoft® Office InfoPath™ is to use? Join this webcast to discover how to create a view and user roles for a form, set up rules based on the roles, and preview a form with specific user roles. You will also learn how to switch views based on user roles.
Josh Bertsch, Software Test Engineer, Microsoft Corp.
Josh Bertsch has been a Software Test Engineer with the Microsoft® Office InfoPath™ team for nearly 3 years. Josh owned several of the newly included features for the SP1 release, such as Calculations and Roles, among others.
We're getting reports from some users who are having problems installing the InfoPath SDK. The problem appears to be caused by intermittent network traffic issues causing downloads to fail part-way through. You'll end up with a file that appeared to download but is missing some or most of the data. Restarting the download sometimes accesses the incomplete cached version, which doesn't improve the situation.
The file size of InfoPathSDK.msi downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyId=351F0616-93AA-4FE8-9238-D702F1BFBAB4&displaylang=en should be 4.34 MB (4,552,192 bytes). If you end up with a smaller file it's been truncated due to network problems, and the install will fail. Clear your browser cache (in IE: Tools | Internet Options, Delete Files...) and try the download again.
The Microsoft Office InfoPath 2003 Software Development Kit (SDK) contains sample forms, tools, macros, code libraries, and documentation to assist with InfoPath form development in both InfoPath 2003 and InfoPath 2003 SP1.
Here’s what’s new in the updated SDK
Download the SDK today! Go to http://www.microsoft.com/office/infopath and look in the Downloads section at the bottom of the page.
As many of you may know, the SharePoint Conference 2009 is taking place this week in Las Vegas, Nevada and it's been a particularly exciting week for the InfoPath product team. Over the past 3 years of product development, we have made huge investments in integrating with the SharePoint platform. Finally, this week, we got the opportunity to unveil the fruits of these investments to the world, and so far, the reception has been tremendously positive! (Check out what people are saying about InfoPath 2010 on Twitter.)
SPC is taking place at the Mandalay Bay Hotel:
(from left: Umut Alev - development lead, Peter Allenspach - group program manager, Rick Severson - test lead):
InfoPath 2010 is well represented at this year's conference with a total of 5 sessions. The 1st session took place on Monday and was presented by Peter Allenspach and Bojana Duke from the InfoPath program management team.
The InfoPath session drew big crowds:
The session opened with an introduction to InfoPath 2010, followed by 3 feature demos which illustrated just how easy InfoPath 2010 makes it for Information Workers to create their own solutions without reliance on IT departments. Some highlights below -
InfoPath 2010 Overview:
Demo 1: Customizing a SharePoint list form
In this demo, Peter and Bojana walked through a real Microsoft internal College Recruiting scenario. Employees use SharePoint lists to sign up for recruiting trips. Bojana wowed the audience by taking the Recruitment Trip list form and customizing it in InfoPath in under a minute!
Peter and Bojana then went on to show how this form could be further enhanced and customized. Our new out of the box rules were used to add data validation and to conditionally show or hide sections in the form. A data connection to the Colleges list was added to pull details about the colleges into the recruiting trip sign-up form. The form layout was customized using our new pre-built layout tables and themes. They then showed how in a single click, the form could be published to SharePoint. Not only that, but they then showed how the list, including the customized form could be taken offline in SharePoint Workspace.
Last but not least, they opened the form in Firefox showing that you can use your browser of choice to fill out your forms.
Offline Form in SharePoint Workspace:
Demo 2: Creating Mashups using the InfoPath Form Web PartThe 2nd demo took the Recruiting scenario to the next level. In this demo, Bojana created a simple portal page with 2 Web Parts, the Recruiting trip list and the new InfoPath Form Web Part. In only a few clicks, she connected the 2 Web Parts. Now when she selected an item in the recruitment list, the details for that trip were displayed in an InfoPath form.
They concluded the 2nd demo by showing that both SharePoint solutions and InfoPath forms are truly portable and reusable. The site was saved as a template (WSP) and a new site was created from this template. The SharePoint list, portal page and InfoPath form were fully functional on this new site.
Demo 3: Office Business Applications: Procurement scenarioIn this final demo, Peter and Bojana showed the audience how InfoPath helps IT departments develop full Office Business Applications on the SharePoint platform. They used a procurement scenario to demo these capabilities. In this scenario, an employee submits a request to purchase a new laptop computer. The solution used an InfoPath form that connects to a vendor database, that brings in details about the goods you can purchase.
This type of application can be built in SharePoint Designer, using web part pages to create the user experience. The data can be stored in form libraries, SharePoint lists, and external systems using Business Connectivity Services. If InfoPath rules don’t do the job of defining the desired form behavior sandboxed or full trust code can be added to the forms. SharePoint workflows can be used to send e-mail notifications and track status. And once you’re all done, you can package your application so it can be tested and eventually deployed to the production servers.
Procurement Portal Page:
This first session set the stage for the remaining InfoPath sessions of the week:
Stay tuned for more updates from Las Vegas!
When writing script in the Microsoft Script Editor (MSE), you can quickly locate help on the InfoPath Object Model by positioning the cursor on a keyword (object, method, property) and hitting F1. This can save browsing through help.
(We weren't able to hook up IntelliSense in MSE, so knowing this F1 trick is a big help when doing VBScript or JScript development with InfoPath. If you download the InfoPath 2003 Service Pack 1 (SP1) Preview and try out the InfoPath 2003 Toolkit for Visual Studio .NET you'll find full IntelliSense integration when writing managed code for InfoPath projects.)
Keep hearing the buzz around Microsoft Office InfoPath 2003 and want to learn more? Excited about the feature enhancements in InfoPath 2003 SP1 and want to really understand how to use them in your applications? Want to learn cool tips and tricks on how to make your applications stand out? Want to learn how the InfoPath product team, product developers and testers use InfoPath and want to hear their recommendations on make use of the cool new features? Want 100% developer content without any marketing hype? If this resonates with you, you will not want to miss the ten part MSDN web-cast series starting in October and lasting through December 2004. In addition to showcasing best practices, each web-cast is designed to highlight the InfoPath 2003 SP1 feature enhancements. Topics covered will include using Visual Studio .NET and managed code to create InfoPath applications, using custom controls in InfoPath applications, managing users and roles in workflow, using script-less calculations, adding security features in your applications through digital signatures and much more. The web-cast series also offers you the opportunity to interact directly with the product team. For hard core technical content, that you cannot find elsewhere, this is a not to be missed series.
The following is the schedule of presentations starting in October:
Best Practices for Designing InfoPath Forms
Tuesday, October 05, 2004
9:00 AM-10:30 AM
User Roles in InfoPath 2003
Tuesday, October 12, 2004
Building Advanced Dynamic Solutions in InfoPath 2003
Tuesday, October 19, 2004
Business Logic in InfoPath 2003
Yuet (Emily) Ching and Prachi Bora
Tuesday, October 26, 2004
11:00 AM-12:30 PM
Using Managed Code and Visual Studio to Build Solutions
Willson Raj David
Tuesday, November 02, 2004
1:00 PM-2:00 PM
InfoPath in End-to-End Enterprise Solutions: Integrating InfoPath with Siebel and SAP
Monday, November 08, 2004
Digital Signatures in InfoPath 2003
Mihaela Cristina Cris
Monday, November 15, 2004
Creating Custom Controls for InfoPath SP-1
Monday, November 29, 2004
Programming Workflow into InfoPath Solutions: Using InfoPath with BizTalk Server 2004 and Human Workflow Services
Monday, December 06, 2004
Database Connectivity in InfoPath Through ADO.NET DataSet Support
Tuesday, December 14, 2004
All times are Pacific Daylight Time (UTC–07:00) until Oct 31, and Pacific Standard Time (UTC–08:00) on and after Oct 31st.
For details, and to sign up to participate in this series, please click on one of the hyperlinks above.
A new article is up on MSDN about working with XML schemas in InfoPath. Although InfoPath 2003 has great support for the W3C XML Schema ("XSD") specification - and even better support with higher performance in SP1 - there are a few constructs that require a little hand-holding. The article also explains in great detail the differences between InfoPath 2003 and InfoPath 2003 SP1 handling of schemas, and some schema constructs that have special meaning to InfoPath.
Summary: Microsoft Office InfoPath 2003 allows you to create XML form solutions by loading an externally authored XML Schema (XSD) definition file into the InfoPath design environment. Learn how to take advantage of InfoPath support for using externally authored XSD files to create custom form templates, and find out how to troubleshoot common problems.
ContentsIntroductionUnsupported XSD ConstructsXSD Constructs with Reduced FunctionalityXSD Constructs with Special Meaning in InfoPathDebugging Common XSD ErrorsHow to Edit or Author an XSD for InfoPathConclusion
And here's the link:
Improved InfoPath Form Look and Feel
Apples to: Microsoft Office InfoPath 2003 and Microsoft Office InfoPath 2003 SP1
Looking for simple ways to jazz up your form layout?
Using tables, inline images, background colors, and conditional visibility, I created a pretty simple look and feel that groups parts of the UI together that goes a little beyond just borders.
I started by drawing a rounded rectangle in mspaint, then I cut it into smaller images and added it to a table. For the vertical part which grows, I didn’t use an image, I instead colored the background the same as the image. Otherwise I couldn’t get it to grow when nested repeating elements would resize. I removed all borders, padding, and other spacing to get everything to fit together.
For the repeating section, I used conditional visibility on section with two separate images. I had to use the following expression to get count and position for repeating sections:
// count //position
count(../../my:SummaryItem) != count(../preceding-sibling::node()[local-name() = "SummaryItem"]) + 1
In InfoPath 2003, forms were equipped to merge in a simple manner: repeating sections and tables would merge to form one, as would the contents of lists or rich text controls. The remainder of the form was not merged. This functionality proved useful for many scenarios, but there was much more that could be done. Unfortunately, the only way to do it was to write your own merge XSL. So, in InfoPath 2007, we’ve enabled options that allow you to customize a form’s merging behavior.
Merge settings are now available in most fields’ and controls’ Properties dialogs. For fields, you’ll find Merge Settings under the Rules and Merge tab. For controls, under the Advanced tab. The available options will differ based on the settings that are available for each type of field. Here’s an example of options available for repeating fields and groups:
Notice that you can select the order of the merged items as well as whether to combine entries based on a matching value.
Merge settings for rich text fields vary somewhat from the repeating group ones shown above:
One of the most useful options is being able to prefix each merged item with some value. For example, if you’re merging status reports from different members of your team, you may want to prefix each entry with the name of the person submitting the report. This’ll ensure that you can keep track of who said what. You can even add fancy formatting for your visual pleasure.
Changes to the OM
In the new InfoPath OM, you will see some changes with regards to merging: there is now only one merge event, called – surprise, surprise – Merge. In InfoPath 2003, there were two events: OnMergeRequest and OnAfterImport. The new Merge event has taken the place of the old OnMergeRequest event. We have chosen to deprecate OnAfterImport because there’s no real need for it: InfoPath code executes sequentially, so any code that would have been included in the OnAfterImport event can be placed directly after the XmlForm.Merge() call that actually performs the merge.
Using InfoPath 2007 to set merging on your InfoPath 2003 forms
Because InfoPath strives to achieve backwards compatibility, any form template you design in the InfoPath 2007 designer can be saved as an InfoPath 2003 form template. This will allow users that don’t have the newer version of InfoPath to fill out your form.
Even though the ability to specify how your form will merge is a new feature in InfoPath 2007, InfoPath 2003 already had the infrastructure in place to make it work. In fact, if you knew how to write the appropriate XSL stylesheet, you could have created all the specific merge functionality that is now permitted through the UI.
So, bottom line, all the fancy merging work that you do while designing your form in InfoPath 2007 will be respected when you save your form template as InfoPath 2003 and have users with InfoPath 2003 fill it out.
- BojanaProgram Manager
Andrew Ma, a tester on the InfoPath team, has created a Visual Basic 6.0 version of the InfoPath Hands-On Lab for creating custom controls. You can find it here on Andrew's blog:
The SP1 release of InfoPath 2003 supports recursive controls such as Repeating Recursive Section and Optional Recursive Section. Based on the schema of the solution, these controls are automatically suggested when dragging nodes from the Data Source task pane. This article talks about different types of recursion that are supported within InfoPath.
This is the case when the node is recurring directly under itself. For example, if you are creating an organization chart, you might have a schema that has the following structure:
Every employee has EmployeeData associated with him and can have 0 or more employees working for him. Note that the * stands for repeating 0 or more times. If you select the top level Employee node in the Data Source task pane, InfoPath would suggest a Repeating Recursive Section in this case with the recursive instance showing up directly under its parent.
This is the case when the node is recurring as a child of another node within itself. For the above organization chart, you may choose to abstract the fact that Employee is a manager or not by introducing an Optional node Manager. In this case the structure is as follows:
In this case, when you drag top level Employee node, InfoPath will create a Repeating Recursive Section that has the recursive instance within an Optional Section that corresponds to Manager node.
This is the case when the node is recurring under as one of the choices under itself. Again taking the above organization chart example, we may choose to not include EmployeeData for managers since it is covered under ManagerData. So now we could have the following structure:
Now we have an employee who can either be a manager or not. In this case, when you drag top level Employee node, InfoPath will create a Repeating Recursive Section that has the recursive instance within a Choice Section.
In summary, you have seen how InfoPath supports various types of recursion in its SP1 release. These three examples were just to illustrate the broad categories of recursion but you can go beyond these and try various other combinations based on your needs.
With InfoPath 2003 SP1, there is a new schema for the form definition (.xsf) file, to match the features added to InfoPath.
There will be a documented roll-out of this schema, along with other InfoPath technical information, when the SP1 is officially released, but for those wanting to get a hold of the raw XSD file now, you can download the following:
Disclaimer: as this schema is the InfoPath 2003 SP1 Preview schema, it is not guaranteed to be final, and might change between now and the official release of InfoPath 2003 SP1.
Today sees the launch of “InfoPath Cool Forms”. In this series, we will feature cool forms that showcase a form design practice or interesting scenario.
This week’s cool form is the “Ask Kanesha” request form. This is a neat little form that we use on the InfoPath team to submit requests to our Group Business Administrator, Kanesha.
Kanesha was being flooded with requests from team members and tracking all these requests was becoming a challenge. To help manage the requests, we created an ‘Ask Kanesha’ InfoPath browser form that submitted all requests to a SharePoint list. Team members use this form to submit requests. A simple workflow fires alerting Kanesha to the new request. Certain requests such as those for small hardware can be completed in minutes. The dropdowns in the form automatically filter to guide us to the right hardware. Other custom requests may take longer and can be managed by Kanesha online. The form saves us time and helps Kanesha keep track of all the requests that come her way.
If you have a “cool” form that you would like to share with us, please send an e-mail with the following details to email@example.com -
The most popular submissions will be featured on our blog in future posts.
Check out other Cool Forms! here.
I hope you will join us for the next presentation in the InfoPath WebCast series - Using Managed Code and Visual Studio to Build Solutions. This talk will be presented by Willson Raj David, a developer in the InfoPath group, tomorrow starting at 1pm PST. If you haven’t already, you can register here: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259539&Culture=en-US.
Also, remember that those of you who view the talk and fill out a survey will be entered into a drawing for a copy of Halo2. (The Halo2 promotion is for US Residents only. Microsoft employees are not eligible.)
MSDN Webcast: Using Managed Code and Visual Studio to Build Solutions—Level 300
Start Time: Tuesday, November 02, 2004 1:00 PM (GMT-08:00) Pacific Time (US & Canada) End Time: Tuesday, November 02, 2004 2:30 PM (GMT-08:00) Pacific Time (US & Canada)
Event Description Learn where Microsoft® Office InfoPath™ fits into the Microsoft® Office family. Find out about the Object Model and business logic programmability features in the product as well as the Microsoft® Visual Studio® Toolkit and managed code support that is available in InfoPath.
Presenter: Willson Raj David, Software Design Engineer, Microsoft Corp.
Willson Raj David is a developer in the Microsoft® Office InfoPath™ product division and has been with the product team for at least four years. He primarily worked on the Designer controls and other features. Willson’s core expertise is Microsoft® C++® and COM and he also has extensive knowledge in many Web technologies.
Welcome to the InfoPath team blog here at http://blogs.msdn.com/infopath/ !
The InfoPath Team is looking forward to posting a variety of topics for our InfoPath users, including:
We're super-excited about InfoPath and look forward to helping our customers realize the most they can out of our new Office System 2003 application.
Please leave some feedback if there are areas you'd like to see us cover (and please remember the community support via the microsoft.public.infopath newsgroup!).
Are you ready to take the next step, and make the move from writing tools that use InfoPath, to writing InfoPath itself? We currently have open positions in Development, and Test.
To search for positions on the InfoPath team, have a look at these positions on the Microsoft careers site: http://members.microsoft.com/careers/search/results.aspx?FromCP=Y&JobCategoryCodeID=&JobLocationCodeID=&JobProductCodeID=10212&JobTitleCodeID=&Divisions=&TargetLevels=&Keywords=&JobCode=&ManagerAlias=&Interval=10
Software Development Engineer
Software Development Engineer in Test
Are you passionate about XML and related technologies? Do you want to help millions of users migrate from paper forms to electronic forms? Started in Office 2003, InfoPath provided the ability to easily design and fill out electronic forms. InfoPath enables information workers to hook up their forms to various XML data providers like databases, SharePoint Team Services, and web services. In our latest version, we expanded our product to integrate with other Office 2007 applications, such as Word, Excel, and Outlook. This is just the start for InfoPath and you can be part of the force to change how people fill out forms in the future!In the next release of InfoPath, we are committed to improve the user experience. We will add many new feature sets and move to a new rendering framework. We’re looking for a strong SDET who is passionate about shipping highest quality product and has shipping experience in at least 1 complete product cycle. Ideal candidate would be technical, self-motivated, and customer focused. You can work directly with developers and program managers under minimal supervision. You have excellent communication skills and able to work with test counterparts across Office. The job involves owning and testing features end-to-end, providing feedbacks to product design, creating test design spec and test cases, writing automation, analyzing and troubleshooting manual and automated test cases. The position requires a Bachelors degree in Computer Science or equivalent experience. Familiarity with XML, .NET technologies, C#, C/C++, VBscript/Jscript is a plus.