<?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>General</title><link>https://www.infopathdev.com:443/forums/41.aspx</link><description>If you're not sure where to ask your question, ask it here. If necessary, our moderators will make sure it gets classified in the correct board.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Re: Infopath version control</title><link>https://www.infopathdev.com:443/forums/thread/32585.aspx</link><pubDate>Sat, 27 Sep 2008 01:08:20 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:32585</guid><dc:creator>infopathNewbie</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/32585.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=32585</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I used the method above &amp;quot;NewFromSolutionWithData&amp;quot;, but the added nodes/controls on the new template weren&amp;#39;t added to the new form.&amp;nbsp; I am missing somthing?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;</description></item><item><title>Re: Infopath version control</title><link>https://www.infopathdev.com:443/forums/thread/26212.aspx</link><pubDate>Tue, 05 Feb 2008 17:24:14 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:26212</guid><dc:creator>Patrick Halstead</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/26212.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=26212</wfw:commentRss><description>&lt;p&gt;Hi Seamus,&lt;/p&gt;
&lt;p&gt;Sounds good! Please let me know if you&amp;#39;d like a demo in the next two weeks. I will be on my sabbatical from 2/21 through 4/21. In my absence, please contact Clay for assistance. &lt;/p&gt;
&lt;p&gt;Best,&lt;/p&gt;</description></item><item><title>Re: Infopath version control</title><link>https://www.infopathdev.com:443/forums/thread/26211.aspx</link><pubDate>Tue, 05 Feb 2008 16:44:18 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:26211</guid><dc:creator>Seamus</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/26211.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=26211</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Thanks.&lt;/p&gt;&lt;p&gt;For the time being, we are going to use the &amp;quot;more production support&amp;quot; option. However, we&amp;#39;ll want to revisit the SQL component you are describing in the future.&lt;/p&gt;&lt;p&gt;Seamus&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Infopath version control</title><link>https://www.infopathdev.com:443/forums/thread/26060.aspx</link><pubDate>Wed, 30 Jan 2008 09:32:40 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:26060</guid><dc:creator>Patrick Halstead</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/26060.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=26060</wfw:commentRss><description>&lt;p&gt;Hi Seamus,&lt;/p&gt;
&lt;p&gt;My second suggestion of using SQL doesn&amp;#39;t have the limitations you mention. Let me know if you want a demo. We have this working today.&lt;/p&gt;
&lt;p&gt;The problem with rewriting the upgrade process is that it would probably not be generic. Automatic upgrade is really hard to get right. &lt;/p&gt;
&lt;p&gt;Best!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Infopath version control</title><link>https://www.infopathdev.com:443/forums/thread/26017.aspx</link><pubDate>Tue, 29 Jan 2008 14:23:38 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:26017</guid><dc:creator>Seamus</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/26017.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=26017</wfw:commentRss><description>&lt;p&gt;This works really well assuming 2 things.&lt;/p&gt;&lt;p&gt;1. We only ever add nodes to a form and never remove. Because I am just going to grab the root node and move the whole lot across as I don&amp;#39;t want to write new code for each template change. (if we remove, we just remove from the view, not the xml)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2.&amp;nbsp; We have a mechanism for polling the share directory for the newest file. (Not very elegant, and easy for a non technical form admin to stuff up)&lt;/p&gt;&lt;p&gt;Neither of these issues are all that bad, and we can build some further functions to make it more seemless. But I do feel like I am missing out, especially on the first point, when I have a normal template and remove a node, infopath happily opens the old document sans the removed node... like magic :) Perhaps I need to bite the bullet and rewrite the infopath upgrade process..&lt;/p&gt;&lt;p&gt;&amp;nbsp;Seamus&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Infopath version control</title><link>https://www.infopathdev.com:443/forums/thread/25973.aspx</link><pubDate>Sun, 27 Jan 2008 22:19:44 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:25973</guid><dc:creator>Patrick Halstead</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/25973.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=25973</wfw:commentRss><description>&lt;p&gt;Hi Seamus and welcome!&lt;/p&gt;
&lt;p&gt;I like Adam&amp;#39;s idea. I wouldn&amp;#39;t do the hide/show on the control, though. Rather, I&amp;#39;d create a separate view for each version and add an Open rule to switch the the correct view based on the version in the form. You will need to save the version in the form&amp;#39;s XML so that subsequent saves don&amp;#39;t auto upgrade the view (unless they click the button to do it). The big drawback of this approach is that it only works for view changes (but that&amp;#39;s probably all you need based on your post). If you need to upgrade the schema, this could work, but InfoPath always wants to update the schema to the latest version and you couldn&amp;#39;t prevent that. If you are only adding nodes, however, that&amp;#39;s not a big deal. If you need to change or delete nodes, then it wouldn&amp;#39;t work.&amp;nbsp;With many versions you could end up with a complex&amp;nbsp;XSN, but I definitely recommend this approach overall since it is quite simple. &lt;/p&gt;
&lt;p&gt;Another technique would to store each XSN as a separate version. If you are using just a Web server and have published the XSNs to a folder, you could do this but it would require that V1 knows of the existence of V2 (so that the &amp;quot;Upgrade&amp;quot; button knows which URL to add to the XML). Assuming the schema was upgradable (only additions are automatically supported) you just add some code opens using the new instance. There is a NewFromSolutionWithData method that you can use:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;var objXMLNode = XDocument.DOM.selectSingleNode(&amp;quot;/employees/employee&amp;quot;);&lt;br /&gt;var objXDoc = Application.XDocuments.&lt;b class="bterm"&gt;NewFromSolutionWithData&lt;/b&gt;(objXMLNode, &amp;quot;C:\\Employee.xsn&amp;quot;);&lt;/p&gt;
&lt;p&gt;Note: you&amp;#39;ll need to change the location (C:\\Employee.xsn) to be the new XSN on your share. Add a rule to close the existing after you call the code above. You&amp;#39;ll probably want to mark it obsolete somehow or have the new form overwrite it - for that, you&amp;#39;ll need to also pass the filename in the XML and set it in the new form (use OnLoad event).&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;For forms where the schema nodes either changed or were deleted, you can add some upgrade logic before the code above to to change the XML before opening with the new form. &lt;/p&gt;
&lt;p&gt;If your form&amp;#39;s schema didn&amp;#39;t change, the upgrade should be quite simple - just call NewFromSolutionWithData and close the old form.&lt;/p&gt;
&lt;p&gt;If you are using SharePoint and one form library for all of your forms, you can&amp;#39;t easily do the above because form library supports only one form template. You could create multiple form libraries, but that would become a UI mess and code mess. If you absolutely need to continue with your existing SharePoint form library, I recommend storing the forms in SQL and replacing your default view with a data view that&amp;nbsp;shows the forms&amp;nbsp;stored in SQL. You can use a Web Service to manage submitting and retrieving from the SQL DB.&amp;nbsp;This would allow support for multiple XSNs and it would be more performant than SharePoint for large form libraries. It would also allow you to do fine grained permissions and richer reporting. We provide a Web Service to assist so you don&amp;#39;t have to write it from scratch. This would allow you to use the same technique as described above on an existing SharePoint site.&lt;/p&gt;
&lt;p&gt;Hope this helps!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Infopath version control</title><link>https://www.infopathdev.com:443/forums/thread/25958.aspx</link><pubDate>Sat, 26 Jan 2008 19:09:44 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:25958</guid><dc:creator>adamrharding</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/25958.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=25958</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Hi&lt;/p&gt;&lt;p&gt;Welcome to the forums.&amp;nbsp; I have got around this problem several times by just hiding the control in your example for all forms where the control is blank and not if the control is entered.&amp;nbsp; That way you can still view the old forms in completeness but new forms will only have one box, job done.&lt;/p&gt;&lt;p&gt;I hope this helps.&lt;/p&gt;&lt;p&gt;Cheers&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Infopath version control</title><link>https://www.infopathdev.com:443/forums/thread/25952.aspx</link><pubDate>Fri, 25 Jan 2008 23:05:38 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:25952</guid><dc:creator>Seamus</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/25952.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=25952</wfw:commentRss><description>It is brilliant that Infopath automatically upgrades the form for you when you open it. Very often, though, this is not desired to be automatic. In an audited environment you want to keep a historical record of the form that was completed and approved. Using an example that perhaps everyone will understand, say a purchase order request once needed to be approved by two people, but now it needs to only be approved by one, so we change the template to reflect this. This doesn&amp;#39;t change the fact that it is important to know the two people that approved all the old purchase orders. So ms. user is happily using the new template for current orders.. and now she wants to open one of the old orders to see what happened.

What I want to know, is if anyone knows the easiest way to open an old form using the old version of the form template file and offer the user the option to upgrade the form to the newest version of the template. So that when the old infopathform.xml file is opened it looks the same as the day it was created. BUT if the user choses to upgrade it, it looks like today&amp;#39;s latest template.

I am assuming that it will be a programatic solution. I am currently thinking of investigating the sharepoint version control mechanism. Because the other option of having separate templates for each template version is not very elegant. ie polling a network directory for a template name that is newer than the one you are opening, eg when you open an old form from template_ver_1.xsn it polls the directory to see if there is a template_ver_2.xsn, and if there is, then trigger method xyz. Worst of all this means additional code to ensure that the users are saving the templates with the right name and in the right place, and now I have built a document management solution. If it is not a simple programming job, it ends up being just as efficient using Word templates with data islands for all your forms, which works really well if you are into lots of coding. :)

Thanks

Seamus</description></item></channel></rss>