Showing posts with label Sharepoint List. Show all posts
Showing posts with label Sharepoint List. Show all posts

Monday, March 23, 2015

Publishing Infopath Form to a new site/ Infopath change publish location

Hi Folks,

In this post we are going to Change the target site/ list url for publishing Infopath form

Problem Statement:
You have a Infopath form developed with a List template, present in a Sharepoint List of Development Environment. Now that you want to publish this form to Production environment but while publishing you will not be prompted to enter new URL in publishing wizard.
When you try to open the publishing Wizard from File Menu and then click on Publish you can see only the below two options.
·         Sharepoint List
·         Export Source Files
The "Sharepoint List" option remembers the Quick Publish Location and even has a Label stating: "The form will be published to: http://oldurl"
Clicking on the it, just does exactly the same as Quick Publish action i.e., quick publish without bringing up the wizard to choose the publish location.
Solution:
I found the best approach as below. It involves in updating the manifest files and view files. Below is the approach which does the trick.
1.       Infopath form (xsn) file is basically a cab file with bunch of related files in it.
2.       Rename xsn to cab extension
3.       Extract the cab file to a location
4.       Open the manifest.xsf file and replace the OLD URL with new URL.
5.       Update the new ListID and ContentTypeID in the Manifest.xsf(If you don’t do this, you will get List not found error).
6.       Open all the xsl files(views) present under extracted folder and perform the steps 4 and 5 if it has old URL and ListID/ContentType ID present.
7.       Save all the modified files and then right click on the manifest.xsf file and open click on design.

8.       This will open the Infopath form and Go to Publish. You will be able to see the updated New URL. Go ahead and Publish It and you are done.

Saturday, February 23, 2013

TreeView with the nodes as document library names using Sharepoint2010


In this post we are going to construct a TreeView with the nodes as sharepoint document library names using Sharepoint2010
Root Node will be the Site Url. 

Before we proceed with the code add a treeview with ID as myTreeView to your page. 
Below is the code snippet.

try
            {
                using (SPSite site = new SPSite("<<http://site Url>>"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPListCollection docLibraryColl = web.GetListsOfType(SPBaseType.DocumentLibrary);

                        List<string> docLibrariesList = new List<string>();
                        foreach (SPList list in docLibraryColl)
                        {
                            if (!list.Hidden)
//if you don’t want style library and Forms templates then use below condition instead of above
                            //if (!list.Hidden && list.title != "Style Library" && list.title != "Form Templates")
                            {
                                SPDocumentLibrary doclib = (SPDocumentLibrary)list;
                                string docLibTitle = doclib.Title;
                                int docsCount = doclib.ItemCount;
                                docLibrariesList.Add(docLibTitle);
                            }
                        }

                        TreeNode RootNode = new TreeNode();
                        //Here we are binding the root node as Site Url
   RootNode.Text = "<<http://site url>>";

                        foreach (string docLibrary in docLibrariesList)
                        {
                            TreeNode childNode = new TreeNode();
                            childNode.Text = docLibrary;
                            RootNode.ChildNodes.Add(childNode);
                        }
   // myTreeView is treeview controls ID present on the aspx page
                        myTreeView.Nodes.Add(RootNode);

                    }
                }
            }
            catch (Exception ex)
            {

            }


Hope this helps..

Popular Posts