<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.infopathdev.com:443/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Browser Forms</title><link>https://www.infopathdev.com:443/forums/40.aspx</link><description>For browser form specific questions</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Re: Updating InfoPath template after forms exist</title><link>https://www.infopathdev.com:443/forums/thread/92613.aspx</link><pubDate>Sun, 01 Sep 2013 20:37:02 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:92613</guid><dc:creator>Patrick Halstead</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/92613.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=92613</wfw:commentRss><description>&lt;p&gt;There are lots of documents on the Microsoft site that show examples of OnVersionUpgrade event handlers. For example: &lt;a href="http://msdn.microsoft.com/en-us/library/office/bb229744(v=office.12).aspx"&gt;http://msdn.microsoft.com/en-us/library/office/bb229744(v=office.12).aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The 2003 SDK also has more examples of javascript (2003-2007-2010). JavaScript&amp;nbsp;is not compatible for browser forms, but you can easily convert the code to C# or VB.NET&amp;nbsp;for browser support.&lt;/p&gt;
&lt;p&gt;Keep in mind that your code will depends on your form&amp;#39;s source and target versions (data source)&amp;nbsp;and what changes were made. It also depends on which&amp;nbsp;version of InfoPath you are using (since 2003-2007-2010 all have different object models). &lt;/p&gt;
&lt;p&gt;In general, I do not recommend writing code to do OnVersionUpgrade. Why?&amp;nbsp; Because you have to keep track of all previous versions and the matrix explodes quickly creating a maintenance nightmare. &lt;/p&gt;
&lt;p&gt;What I do recommend is one of the following approaches:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Side-by-side&lt;/div&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;old versions open with old templates&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;
&lt;div&gt;On demand data migration&lt;/div&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;old version opens with old template, but with link to open&amp;nbsp;in new version&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;link passes input parameter to new template &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;new template uses XSLT transform to map old fields (this is more data-driven and easier to maintain than code)&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;
&lt;div&gt;Bulk migration&lt;/div&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;use an XSLT&amp;nbsp;tool (like Qdabra&amp;#39;s free DBXL Migration tool or Altova&amp;#39;s tools)&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;create an XSLT map for old data&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;run the tool on all old versions&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;
&lt;p&gt;During &lt;a title="Form Migration and Archiving - part 1" href="http://www.youtube.com/watch?v=Ehd5N2MA92M&amp;amp;list=PL581899A129522F53"&gt;Qdabra&amp;#39;s weekly webinar on 2013-08-23&lt;/a&gt;, Jennifer Lindsay discussed these techniques.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;</description></item><item><title>Re: Updating InfoPath template after forms exist</title><link>https://www.infopathdev.com:443/forums/thread/92612.aspx</link><pubDate>Sun, 01 Sep 2013 16:16:15 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:92612</guid><dc:creator>avs270</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/92612.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=92612</wfw:commentRss><description>Hi,

What would the code be if I wanted to programmatically update the form? Also do you know how long it takes InfoPath to clear their cache? So for example would it automatically update the version after a certain period of time?</description></item><item><title>Re: Updating InfoPath template after forms exist</title><link>https://www.infopathdev.com:443/forums/thread/48316.aspx</link><pubDate>Wed, 28 Oct 2009 15:56:37 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:48316</guid><dc:creator>Greg Collins</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/48316.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=48316</wfw:commentRss><description>&lt;p&gt;Thanks Karsten for supplying the links.&lt;/p&gt;</description></item><item><title>Re: Updating InfoPath template after forms exist</title><link>https://www.infopathdev.com:443/forums/thread/48197.aspx</link><pubDate>Sun, 25 Oct 2009 17:31:39 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:48197</guid><dc:creator>stombiztalker</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/48197.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=48197</wfw:commentRss><description>&lt;p&gt;Thanks! This should do what I need.&lt;/p&gt;</description></item><item><title>Re: Updating InfoPath template after forms exist</title><link>https://www.infopathdev.com:443/forums/thread/48190.aspx</link><pubDate>Sat, 24 Oct 2009 09:54:05 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:48190</guid><dc:creator>Karsten Brocksieper</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/48190.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=48190</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;as Greg already posted you can use custom code to handle the version upgrade of your forms. You can find more information regarding this event in the following MSDN article:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.infopath.formevents.versionupgrade.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.office.infopath.formevents.versionupgrade.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Below you will find a small code snippet:&lt;/p&gt;
&lt;p&gt;&lt;font face="courier new,courier"&gt;public void FormEvents_VersionUpgrade(object sender, VersionUpgradeEventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; string formVersion = e.DocumentVersion;&lt;br /&gt;&amp;nbsp; string templateVersion = e.FormTemplateVersion; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="courier new,courier"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="courier new,courier"&gt;&amp;nbsp; //comparison code here&lt;br /&gt;&amp;nbsp; //if versions are different then do something&lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Another option is to ensure that an InfoPath form created from an older version of the form template continue to load from the template version which they were created from, while any new form submitted to the library will always use the latest version of the form template.&lt;/p&gt;
&lt;p&gt;Here you can find an article which demonstrates this in a &amp;quot;step-for-step&amp;quot; description:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog-sharepoint.blogspot.com/2009/09/infopath-form-content-type-template.html"&gt;http://blog-sharepoint.blogspot.com/2009/09/infopath-form-content-type-template.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hope that helps...&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;</description></item><item><title>Re: Updating InfoPath template after forms exist</title><link>https://www.infopathdev.com:443/forums/thread/48141.aspx</link><pubDate>Thu, 22 Oct 2009 12:34:17 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:48141</guid><dc:creator>stombiztalker</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/48141.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=48141</wfw:commentRss><description>&lt;p&gt;Right now I have things set to automatically upgrade, however what I&amp;#39;m dealing with here are that the people using the forms library still want to be able to go back and see the old forms with it orginal data and fields. In my opinion, I have suggested that we move to a new forms library for the different version.&amp;nbsp; This same situation exists whether you are using doc libs with Word docs or ASP.Net forms, if you start changing the content types on those, its go to blow away any settings you had in the previous content types.&amp;nbsp; So this is really nothing new.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I tried to explain that if we are promoting columns out to the SharePoint forms library, and these columns represents fields that no longer exist in the new form, it&amp;#39;s not like they are going to just see an empty column in the forms library for the new form and filled columns for the old form, the column will be gone.&lt;/p&gt;
&lt;p&gt;How would you go about writing your own custom upgrade to handle something like this (if it even can be handled)?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;</description></item><item><title>Re: Updating InfoPath template after forms exist</title><link>https://www.infopathdev.com:443/forums/thread/48123.aspx</link><pubDate>Wed, 21 Oct 2009 21:48:21 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:48123</guid><dc:creator>Greg Collins</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/48123.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=48123</wfw:commentRss><description>&lt;p&gt;This all depends on the upgrade settings you have for the form. If you are using automatic upgrade, it will use an auto-generated XSLT to convert your old XML files to the new schema. This generally works well in most cases. However, if you are concerned of data loss, you can always write your own custom upgrade (a lot more complicated) or publish your new template to a new location, or a number of other things.&lt;/p&gt;</description></item><item><title>Updating InfoPath template after forms exist</title><link>https://www.infopathdev.com:443/forums/thread/48114.aspx</link><pubDate>Wed, 21 Oct 2009 18:07:29 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:48114</guid><dc:creator>stombiztalker</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/48114.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=48114</wfw:commentRss><description>&lt;p&gt;I have a MOSS forms library. I create an InfoPath form programmatically into the forms library and then when I click on it, it uses the template I&amp;#39;ve published to this forms library to open up the form.&lt;/p&gt;
&lt;p&gt;So, let&amp;#39;s say I have a couple of forms with data in them already in the forms library and I go and change my template, add some fields, remove some fields etc. I change my programmatic code to match, republish the template to the library and all that.&lt;/p&gt;
&lt;p&gt;What will happen when I open one of the older forms? Will it try to use the new template and then not show some of the fields? Will it show new fields?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;</description></item></channel></rss>