Why Smart Clients? was posted yesterday and provides a nice perspective of the benefits of having such a smart client like InfoPath.
InfoPath has a really powerful feature to allow users to create their own custom controls for InfoPath forms using Microsoft's ActiveX technology. One requirement that is essential for controls to work as expected in InfoPath is that the controls must fire OnPropertyChange Notifications so that InfoPath knows to grab the information and copy it into the XML DOM. The unfortunate thing is that there are some already built controls which don't fire OnPropertyChange Notifications but they would be incredibly useful in an InfoPath form.
Here's what to do if you want to use these types of controls. InfoPath will grab the value before you save, so if you don't need other parts of the form to interact with the data from the ActiveX control, then you don't really need to do anything. Your data from the ActiveX control will always get saved.
If you do need to pull data from the ActiveX control before it is saved (maybe for example on a OnAfterChange or a button click), you should call XDocument.ForceUpdate(); before grabbing the value. This will cause InfoPath to query the ActiveX control for the value and place it into the XML DOM so then your business logic will be able to get the correct value.
Our friends from the Internet Explorer team are celebrating a major milestone - the release of Internet Explorer 7. You all know about the great features it brings to browser users (security, performance, ease of use); you may have seen them first-hand by trying out their Release Candidates.
You may be wondering - how does this affect InfoPath? From the first look, there shouldn't be much connection, but there is.
InfoPath ‘s editing surface is built on top of Internet Explorer. This means that most things that you see when you fill out an InfoPath form are, really, just clever HTML elements. Internet Explorer 7 brings improved implementations - thus, InfoPath users will benefit from the IE7 install, too.
This list is relevant for InfoPath 2007. InfoPath Forms Services will benefit just like any other web app.
Bottom line: if your organization uses InfoPath, the returns on deployment of Internet Explorer 7 will be even greater! IE7 will be distributed as a public update; if you can't wait (and I personally couldn't - I downloaded the final release of IE7 the minute I found out it was available), get it here.
Alex WeinsteinProgram Manager
If you haven’t already, you may want to sign up for tomorrow’s WebCast - User Roles in InfoPath 2003 – that will be presented by Josh Bertsch, a Software Test Engineer on the InfoPath team. In this talk, you will learn about the support for user roles that was added in SP1. To register, please visit the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259537&Culture=en-US.
Here is more information about tomorrow’s WebCast:
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.
David Fries recently posted several interesting topics specific to InfoPath:
David also has an InfoPath Specific RSS category feed.
I want to personally thank those of you who attended yesterday’s WebCast: Building Advanced Dynamic Solutions in InfoPath 2003 which was presented by Jun Jin. I hope you enjoyed the talk as much as I did 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/eventdetail.aspx?EventID=1032259111&Culture=en-US. (You will have to register before you can view the recorded WebCast.)
Please join us next Tuesday, October 26 from 11am – 12:30am PST for the next presentation in the InfoPath WebCast series: Business Logic in InfoPath 2003 which will be presented by Yuet (Emily) Ching and Prachi Bora. You can register for this talk by clicking on the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259112&Culture=en-US. I hope you will join us.
Here is more information about the talk:
MSDN Webcast: Business Logic in InfoPath 2003—Level 300
Start Time: Tuesday, October 26, 2004 11:00 AM (GMT-08:00) Pacific Time (US & Canada) End Time: Tuesday, October 26, 2004 12:30 PM (GMT-08:00) Pacific Time (US & Canada)
Event Description: Learn how to create a simple schema validation and custom data validation using pattern-matching and creating script-based validation using the OnValidate event. See how to use formulas to calculate totals and construct an e-mail address. And how to use conditional formatting to call attention to a text box value and use rules to display a message box and to set the value for another field.
Presenters: Yuet (Emily) Ching and Prachi Bora, Software Test Engineer, Microsoft Corp.
Yuet (Emily) Ching has been a Software Test Engineer with the Microsoft® Office InfoPath™ team since SP1. Emily owned several SP1 features such as Rules, Pattern, Conditional Formatting, Conditional Disabling and Data Formatting. Prachi Bora has been a Software Test Engineer with the InfoPath team since Sep 2003 (SP1). She tested the Object model for SP1.
The built-in support InfoPath offers for rules can be used to generate a relatively large and powerful set of conditions that trigger a rule action. There are some scenarios though were the default options available through the condition builder may not be sufficient. One of them is firing a rule when certain control has been deleted.
The above limitation can be worked around by writing form code. However in some cases it may be possible to achieve this scenario only by using the declarative logic InfoPath provides through rules. The pre-condition for this is to have a document schema that allows for some extra helper nodes.
The workaround uses two extra fields for each control on which we want to have a rule triggered on delete. The fields are simply counters of the old/new number of controls. One of them is bound through an XPath to the current number of the controls (i.e. repeating table rows) we are interesting in. For example, in the attached sample I want to know when a row in a repeating table has been deleted. The XPath expression is simply a count like:
The second field will keep track of the existing (“old”) number of the controls. We need to set a default value on it corresponding to the number of controls existing when the form is opened. There are two rules applied to the first field to keep the values in sync:
The first one is used to perform the main action and it fires when the “new” counter is less than the old. The second rule updates the value of the old counter.
Using the above procedure looks a little bit hacky but it works well for InfoPath 2003/2007. Note that the approach will work for browser-enabled forms also. The sample form template is attached; download XSN to your desktop, then right-click it and select "Open in Design Mode".
Silviu IfrimSoftware Design Engineer
In the feedback to "The InfoPath 2003 SP1 Preview", Laurent Kempé writes "I downloaded since a while, really cool, except that I can't attach the debugger."
Here's a work around to consider:
One of the common problems that prevents the debugger to attach is the existence of a .NET Framework newer than 1.1, for example the Whidbey Preview. InfoPath host will use the latest runtime but VS.NET 2003 can’t debug on it. One workaround against this problem is to enforce loading version 1.1 of the CLR runtime. This can be done by creating an InfoPath.exe.config file in the setup directory and specifying there the supported runtime version, something like:
<supportedRuntime version=”v1.1.4322” />
I want to thank all of you who have attended one or more of the talks in the InfoPath Webcast series which started this month and goes until the middle of December. Now, I am happy to announce that those of you who have attended previous Webcasts and filled out a survey and those of you who attend the upcoming Webcasts will be eligible to win a copy of Halo 2. (Microsoft Employess are not Eligible.) Each time you attend a talk and fill out a survey, you are entered into the drawing. So, attend as many of the Webcasts are you can.
The full contest rules will be available on http://office.microsoft.com/infopath in the next few days.
Also, please don’t miss tomorrow’s Webcast: Business Logic in InfoPath 2003 starting at 11:00 am PST.
Here is more information about tomorrow’s Webcast.
Start Time: Tuesday, October 26, 2004 11:00 AM (GMT-08:00) Pacific Time (US & Canada)
End Time: Tuesday, October 26, 2004 12:30 PM (GMT-08:00) Pacific Time (US & Canada)
Learn how to create a simple schema validation and custom data validation using pattern-matching and creating script-based validation using the OnValidate event. See how to use formulas to calculate totals and construct an e-mail address. And how to use conditional formatting to call attention to a text box value and use rules to display a message box and to set the value for another field.
I want to personally thank those of you who attended yesterday’s WebCast: Using Managed Code and Visual Studio to Build Solutions which was presented by Willson Raj David. 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/WebCastEventDetails.aspx?culture=en-US&EventID=1032259540&CountryCode=US. (You will have to register before you can view the recorded WebCast.)
Please join us next Monday, November 8 from 11am – 12:30am PST for the next presentation in the InfoPath WebCast series: “InfoPath in End-to-End Enterprise Solutions: Integrating InfoPath with Siebel and SAP” which will be presented by Hagen Green. You can register for this talk by clicking on the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259542&Culture=en-US. I hope you will join us.
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.
Microsoft Learning and Roger Jennings have a new book out through Microsoft Press - Introducing Microsoft® Office InfoPath™ 2003. This book covers InfoPath from top to bottom including the SP-1 feature enhancements and developing InfoPath solutions using managed code.
From the book's description:"Learn how to integrate forms with other Microsoft products such as Microsoft SQL Server and Access databases, Windows SharePoint Services, and XML Web services. This book also provides an overview of the technologies used to build an InfoPath forms solution using Visual Basic .NET managed code and the InfoPath Document Object Model (DOM)."You can find a little more information, including how to order, at http://www.microsoft.com/mspress/books/6511.asp.
Now that you have had time to download the SharePoint 2010 and Office 2010 Beta releases, we want to see some of the great solutions that you are working on. To encourage you and foster some good-natured competition, we're opening up the contest that we started with the Technical Preview to all users of SharePoint 2010 and InfoPath 2010.
What is the InfoPath team looking for?
We want to see great examples of real-world solutions created using InfoPath and SharePoint 2010. If you have a solution you're building to solve a business problem for yourself or a customer, and you're using SharePoint 2010 with InfoPath forms, we want to see it! We'll use the videos you produce to understand what sort of solutions our customers create, to showcase best practices in our blog or at events, and to give you the recognition you deserve. You could be an InfoPath star!
Don't stop with the InfoPath form - we're looking for great examples of integration. For example:
How do I win the Xbox?
Contest is limited to eligible individuals as defined in the official contest rules (link below), and additional limitations may apply. All submissions will be reviewed by the InfoPath team, and prizes will be awarded in several categories, including best overall solution, best video, and best bug.
Please note that only legal residents of the US and Canada are eligible for prizes. However, we're eager to see videos from everyone, and we will showcase the best videos we receive, regardless of whether you are awarded a prize.
Click here to read the Official Contest Rules.
I hope you will join us for the next WebCast in the InfoPath series - Building Advanced Dynamic Solutions in InfoPath 2003. This talk will be presented by Jun Jin, a developer in the InfoPath group, tomorrow starting at 9am PST. If you haven’t already, you can register here: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259110&Culture=en-US.
MSDN Webcast: Building Advanced Dynamic Solutions in InfoPath 2003—Level 200
Presenter: Jun Jin, Software Design Engineer, Microsoft Corp.Jun Jin is a Software Design Engineer in the Microsoft® Office InfoPath™ team. He has been with the InfoPath team since version 1 working mainly on controls in the Designer.
When it comes to InfoPath, will you squeak by with a passing grade or graduate at the very top of your class? Take a short quiz on Office Online and find out exactly where you stand.
If that was too simple, here's the next question for you InfoPath whizzes out there: What questions would you ask to find out if someone knows InfoPath inside and out?
This week, Channel 9 launched two new training courses for SharePoint 2010 and Office 2010 created by developers for developers. You’ll find extensive instructor recordings from top MVPs on how to develop against both SharePoint and office 2010.
InfoPath is featured in:
I want to start by apologizing to all of you who tried to connect to yesterday’s WebCast. We had some network issues that were preventing most people from connecting. However, the WebCast was recorded and is available on-demand via the following URL: http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032259112&Culture=en-US
If you weren’t able to view it yesterday, I hope you will take the time to view the recording. The talk was very interesting and informative.
I also hope you will join us next Tuesday, November 2nd for the next presentation in the InfoPath Webcast series “Using Managed Code and Visual Studio to Build Solutions” which will be presented by Willson Raj David, a developer on the InfoPath team. I think we have all the kinks worked out so there shouldn’t be any problems connecting to the Live Meeting. Also, remember that attendees who are not Microsoft employees who view the entire Webcast and fill out a survey at the end will be entered into a drawing for Halo 2. (The contest is open to US residents only. Full contest rules will be posted shortly.)
You can register for next week’s talk through the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259539&Culture=en-US
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 DescriptionLearn 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.
Thank you,Scott Roberts
A few customers have run into an unspecified error when attempting to add service pack features to an RTM form template when using the InfoPath SP1 Preview Release design mode. For anyone who has created a form template outside of InfoPath or added/changed the schemas for a form template by hand this might be an interesting read.
There is a section in the XSF called the documentSchemas section that is used to define all the namespaces and their corresponding XSD schema for the form template. Here is the documentSchemas element InfoPath creates for a form template that uses two namespaces “http://root” and “http://imported”, each with its own schema:
<xsf:documentSchemas> <xsf:documentSchema rootSchema="yes" location="http://root root.xsd"></xsf:documentSchema> <xsf:documentSchema location="http://imported imported.xsd"></xsf:documentSchema></xsf:documentSchemas>
Note that in this case, the root element of the form template comes from root.xsd and its documentSchema entry has an attribute “rootSchema” with a value of “yes”. The documentSchemas section should contain an entry for every namespace that is used in the main data source for the form template; herein lays the problem. The InfoPath team has seen a number of form templates where schemas were added outside of InfoPath but the documentSchemas section was not updated accordingly. Depending on whether you are the glass half empty or half full type of person, the RTM version of InfoPath didn’t mind this but the SP1 Preview Release does.
That should suffice to explain the issue; where does that leave you?
With all that said there is some pretty good news – with the SP1 Preview Release you can now provide an updated schema to InfoPath and we will update the form template accordingly. This will be the topic of another blog entry soon!
Another note from Scott Roberts:
I want to personally thank those of you who attended Tuesday’s WebCast: User Roles in InfoPath 2003. 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/eventdetail.aspx?EventID=1032259537&Culture=en-US. (You will have to register before you can view the recorded WebCast.)
Please join us next Tuesday, October 19 from 9am – 10:30am PST for the next presentation in the InfoPath WebCast series: Building Advanced Dynamic Solutions in InfoPath 2003 which will be presented by Jun Jin. You can register for this talk by clicking on the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259110&Culture=en-US. I hope you will join us.
Presenter: Jun Jin, Software Design Engineer, Microsoft Corp.
Jun Jin is a Software Design Engineer in the Microsoft® Office InfoPath™ team. He has been with the InfoPath team since version 1 working mainly on controls in the Designer.
Here's a form sample for the article Code sample to change depth of recurring fields that let's you play with the promotion / demotion:
(This requires InfoPath 2003 SP1 ; to try the form, you'll need to open it in the designer and either republish it or just run Preview.)
The InfoPath Solution Video Contest is over! We assembled the team last Friday, and screened the final submissions, debated, re-watched, debated, re-screened again, and finally voted to determine the winners.
Before we announce the winners, let’s review the contestants. At final count at the close of the contest (midnight on March 1st ), we had received three submissions:
Author: Clayton Cobb
Company: Planet Technologies
Clay’s solution allows members of his “company” (including his 3 year old son!) to submit a request for time off. Employee information, including vacation balances, are stored in a SQL server database, which is modelled in Business Connectivity Services and exposed on SharePoint as an External List. Clay used an InfoPath Form Library form, which queries data from the external list using a SharePoint List data connection. A SharePoint workflow routes approval and other notifications via e-mail, and then updates the External list with a new vacation balance once the request is approved.
Click the image to view Clay’s submission
Author: Eric Raarup
Elle is a knowledge management solution which uses a cool Silverlight interface to knit together a complex solution involving projects in Dynamics CRM and employees in Dynamics GP, exposed in SharePoint using Business Connectivity Services, with InfoPath forms for data input.
Click to view the Inetium submission:
Author: Estyn Edwards
Company: Iomer Internet Solutions
Estyn’s submission is a prototype created for a client of the Edmonton-based Iomer solutions. The grant proposal system features a multi-view InfoPath form, and a Word document which uses content controls to populate a custom XML document in an OpenXML file. The Word document allows users to author large amounts of rich content, including ad-hoc commenting and change tracking. At the end of the process, custom code in SharePoint shreds the XML out of the Word document and injects the content into the InfoPath form for final verification and printing.
Click below to view Estyn’s submission:
After several viewings and a lively discussion, 17 InfoPath team members voted on the three submissions to determine the final prizes. There were passionate proponents of each of the submitted videos. When the votes were tallied up, the standings were as follows:
Eric Raarup of Inetium takes the top prize and walks away with the Xbox 360 Elite! The slick presentation of the video, the impressive solution to the knowledge-mining problem, and the clean integration of a bewildering array of Microsoft technologies makes Inetium the clear winner here.
Clayton Cobb of Planet Technologies takes this prize for his clever integration of external lists with SharePoint workflow and InfoPath forms. Because Clay was the runner-up in two categories, he takes his choice of either an InfoPath-branded North Face jacket, or a Zune HD.
Estyn Edwards takes this prize for his attractive InfoPath forms and the innovative use of Word to enable collaborative authoring of a large volume of rich text. Estyn will have second choice of either the InfoPath-branded North Face jacket or the Zune HD.
Thanks to our three participants, and congratulations!
For those of you who did not submit a video for the contest, we’re still interested in seeing the great solutions you build using InfoPath and SharePoint 2010. Post your videos on any public video hosting site, and send a pointer to the e-mail address listed in the official contest rules. The best videos will be showcased in this blog.
Program Manager Lead
Since we posted the information about the Office 2010 technical beta a couple of weeks ago, and our "Win an XBox" contest, we've had quite a few folks sign up for the program. Welcome to all the new folks in the technical beta! There are still slots available for folks interested in InfoPath, and we'll continue to take nominations until we're full.
Please note that the Technical Beta is different from the Technical Preview program. Individuals and companies who are accepted into the Technical Beta sign a non-disclosure agreement and get access to both Office 2010 and SharePoint 2010.
The InfoPath 2010 Technical Beta Solution Contest is open only to members of the Technical Beta. In order for you to come into the program by being sponsored by the InfoPath team, you must indicate on your nomination form that you are primarily interested in InfoPath. Also, you must include a valid e-mail address so that we can contact you to invite you into the program.
Here are the official eligibility rules for the contest:
This is a skill-based Contest. The object of this Contest is to create a video demo of an application built by the entrant using Microsoft InfoPath 2010 and Microsoft SharePoint Server 2010. For purposes of this Contest, each video demo you create and submit in the Contest will be called an “entry.” All eligible entries received will be judged using the criteria described below to determine the winners of the prizes described below.
WHAT ARE THE START AND END DATES?
This Contest starts at 12:01 a.m. Pacific Time (PT) on 8/1/2009, and ends at 11:59 p.m. PT on 10/15/2009 (“Entry Period”).
CAN I ENTER?
You are eligible to enter this Contest if you meet the following requirements at time of entry:
· You are actively enrolled in the Office 2010 Technical Beta program with a valid program ID and are a legal resident of the 50 United States and District of Columbia, or Canada; and
o If you are 18 of age or older, but are considered a minor in your place of residence, you should ask your parent’s or legal guardian’s permission prior to submitting an entry into this Contest; and
· You are NOT an immediate family (parent, sibling, spouse, child) or household member of a Microsoft employee, an employee of a Microsoft subsidiary, or a person involved in any part of the administration and execution of this Contest.
This Contest is void outside the geographic area described above and wherever else prohibited by law.
The full rules of the competition, including instructions on how to submit your video demo, are posted on the official forums that are accessible to members of the Technical Beta.
The link to nominate yourself for the program is here: http://connect.microsoft.com/InvitationUse.aspx?ProgramID=3343&SiteID=160&InvitationID=Beta-PRJM-HVCM
I'm really looking forward to seeing the great solutions you come up with using the great new features in InfoPath 2010 and SharePoint 2010. Thanks for your continued support!
Lead Program Manager, Microsoft InfoPath
I found two more cool InfoPath resources.
Shoutout to Christopher White, who has a couple code-intensive InfoPath-SharePoint articles in his blog. Particularly interesting:
1) Walkthrough on setting up a pretty complex workflow using InfoPath and Office Server 2007.
2) Post on manipulating file attachments in С#.
Kudos to S.Y.M. Wong-A-Ton, who wrote a number of walkthroughs, mainly for the InfoPath client. Highlight: article on using custom XSLT with secondary data sources.
Shoutout to InfoPathDev.com - several of our product team alums are hosting an excellent resource for the InfoPath developer community. Lots of great content there: sample form templates, very lively forums, and walkthroughs. My personal favorites:
1) Localizing form templates. Very clever method, using secondary data connections to store localizations in XML files. I still refer to it as "the Shiraz Cupala method". Note that this method works even better with InfoPath 2007, as button labels can now be dynamic (can come from a data source).
2) Super-FAQ: auto-generating sequential row numbers.
3) Interop between rules and code: article on xdextension. Note that this trick is not supported in browser-enabled form templates.