InfoPath – Shorten url for browser based forms

In the world of InfoPath, you may have noticed the the url for an open form is crazy big!  I ran into a problem in the past when I ran out of space in the url.  Sometimes this happens if the form is nested a couple of levels down in a site.  Whenever you open a new form in the browser, your url will look like the following:

https://www.yoursite.com/depts/test/_layouts/15/FormServer.aspx?XsnLocation=
https://www.yoursite.com/depts/test/newhiresur/Forms/template.xsn&SaveLocation
=https%3A%2F%2Fwww%2Eyoursite%2Ecom%2Fdepts%2Ftest%2Fnewhiresur
&ClientInstalled=true&DefaultItemOpen=1&Source=https%3A%2F%2Fwww%2
Eyoursite%2Ecom%2Fdepts%2Ftest%2Fnewhiresur%2FForms%2FAll
Items%2Easpx

You can shorten the above by removing all of the items in bold.  It will look like this once you have finished:

https://www.yoursite.com/depts/test/_layouts/15/FormServer.aspx?XsnLocation=
/depts/test/newhiresur/Forms/template.xsn&SaveLocation=%2Fdepts%2Ftest%
2Fnewhiresur&ClientInstalled=true&DefaultItemOpen=1

As a best practice, I do this each time I have to setup a link to an InfoPath form.   This way, I keep my urls short and will not have any issues of running out of url space.

 

Stay Salty!

 

InfoPath form library tries adding new documents instead of opening form

Our current migration from MOSS to SP2013 has been interesting, needless to say.  Because I am an administrator I never see these little issues.  This is one of the latest fires I had to put out.  This popped up for different users whenever they would click on new document.   At first, I thought it was s permission issue, but that was not it.

ie8 and infopath

Turns out that this is an issue with Internet Explorer 8 (of course).  The new document +  calls a javascript function that ie8 cannot recognize.  Instead of opening the web based InfoPath form, it tries to add a document.  After testing on other systems using ie9 +, Firefox, and Chrome this is the only logical explanation.

To address this issue, I had to add a Page Viewer web part to a page and link to the opened view of the form.  Not the most elegant approach, but it works.

Stay Salty!

SharePoint 2013 site in Read only

Have you ever seen this pop up at the top of your screen in 2013?

readonly

This was just one more thing to pop up during our migration from MOSS 2007 to 2013.  Fortunately, this is not a big deal.  Here is a link to another post explaining how to clear this message and remove the locks on your site.

http://blogs.msdn.com/b/spses/archive/2013/05/16/sharepoint-2013-site-in-read-only-mode-after-an-interrupted-backup.aspx

Turns out that a backup process was kicked off this morning and was not complete when we rebooted the farm.  This left us with this nice little pink bar at the top of certain sites.  Phew!  Not a crisis, just too much migration action.

Stay Salty!

Highlight a list/library line item

I blogged on this a while back using a similar approach for MOSS 2007.  Here is a link to that post: http://saltypc.com/?p=99

Things have changed since then so here are the steps to set this up in 2013.

You will need to reference jquery for this to work.  I prefer to download the minified script and place it in a centralized location inside my farm.

  1. Add a script editor web part to the bottom of your page.
  2. Insert the following into your source:

Modify the Change Me to reflect the column name of your list/library.  You can also change the color to any web safe color of your choice.

To highlight mulitple column choices, simply copy the $Text line and past it below the copied line.

Example:

$Text = $(“td.ms-cellstyle.ms-vb2:contains(‘Column A)”); $Text.parent().css(“background-color”, “#FFFFFF”);

$Text = $(“td.ms-cellstyle.ms-vb2:contains(‘Column B)”); $Text.parent().css(“background-color”, “#000000”);

This comes in handy when you need to find a needle in a haystack.

 

Stay Salty!

Hiding the left nav or all navigation in SharePoint 2013

Sometimes, you will find the need to hide the left nav on a page in one of your sites.  You could always click the focus on content button, but then you have to unclick to reset for any other page you browse to.

Hiding the left nav took a little more work in MOSS 2007.  You would have to open SharePoint Designer and remove a couple of lines of code.  Well, not anymore!

To accomplish this, go to your page and edit it.  Add a Script Editor web part to any zone on your page.  Add the following script to the web part:

Click Ok, and you’re done!  Now, if you notice, the left margin properties are set to 0px.  You may want to increase to 5px or 10px so that your page is not eating the left hand side of your monitor 🙂

If you want to hide all navigation from your page, use this script instead:

Stay Salty!

InfoPath – Add Sequential Dates

In the past, I needed to add a date sequentially on insert of a repeating table.

I found a post by S.Y.M Wong-A-Ton that helped me achieve this.  Here is a link to that post: http://www.bizsupportonline.net/infopath2007/automatically-populate-repeating-table-infopath-sequential-dates.htm

If you are working on anything InfoPath, this site is a GREAT resource.  I highly suggest that you check it out.

I have included a sample form for you to download.  You can add this control to any of your existing forms.  Here are the steps for re-creating this from scratch

  1. Add a group
  2. Add a repeating group
  3. Add two fields:  date picker and text fieldField 1 (date picker control)
    Field 2 (text control)
  4. Right click on field2 and insert the following statement in the value box
    preceding-sibling::group2[1]/field1

Make sure to change the field names if different than the ones in your form.

Here is the form you can download by clicking.  AddSequentialDates

InfoPath 2007 – Contact Selector Shows Red X

On rare occasions, I have ran into this and I always seem to forget what to do then this happens.  It’s actually quite simple.  All that you need to do is run office diagnostics.  First things first, close InfoPath.  Then, follow the directions for your version of Windows.

Windows 7

  1. Windows
  2. Control Panel
  3. Programs and Features
  4. Find your Office installation and right click on it
  5. Click Change
  6. Click Repair

Windows XP

  1. Start
  2. Control Panel
  3. Add or Remove Programs
  4. Find your Office installation and right click on it
  5. Click Change
  6. Click Repair

Once the repair has completed, open InfoPath and check your form.  The contact selector should be working fine now.

 

InfoPath 2007 – Populating from data/dropdown info from SharePoint lists using XML form data

This article applies to InfoPath 2007 only as 2010 and 2013 no longer have this limitation.

At some point during your career, you will need to connect to a SharePoint list to retrieve information for a drop down list.  This process has changed since 2007 but I thought that I would go ahead and share this.  InfoPath 2007 only reads the data in the list on how it was entered in to SharePoint.  For example, if you uploaded a list of addresses in no particular order, this is the way that InfoPath reads it.  Now, what if you would like to see your selection sorted alphabetically?  You will first need to either modify your existing view of  the list you will be using as a data source or create a new view.

***Note: In order to see the entire list, the view must be changed to show more than the default 100 records

InfoPath will not recognize this view and you cannot sort lists when forms are browser based. As stated earlier, it only sees the original layout. In order for InfoPath to populate the drop down list with the correct format you will need to do the following:

  1. Double click the drop down list that you want to add the data connection to. This box will pop up. Follow the steps in the remaining screenshots to step 4. Then follow further directions.
  2. 1  
  3. 2  
  4. Go to the site that contains your list that you want to pull your data from.
    Example: http://yoursite.com/subsite/ and open the list
    Click “Settings” on the taskbar of the list then click “List Settings”
    Click on the view that you would like to use located at the bottom of the page
    When the page opens, highlight the entire address bar and press Ctrl+C
    Open a text editor (Notepad) and press Ctrl+V. Your address will look something like this:http://yoursite.com/subsite/_layouts/ViewEdit.aspx?list=%7B9C833605%2D8911%2D4B69%2D84AA%2D24DF8775735F%7D&View=%7B734A3221%2D4E03%2D4B10%2D9BE9%2D857775EBF802%7D&Source=%252Fdepartments%252Fhealth%252F%255Flayouts%252Flistedit%252Easpx%253FList%253D%25257B9C833605%25252D8911%25252D4B69%25252D84AA%25252

    D24DF8775735F%25257D

  5. You will need to modify this address to provide the form with the correct XML values. To do so, either type or copy/paste from this address the following.
    Make sure to replace yoursite.com/subsite with your own variables:http://yoursite.com/subsite/_vti_bin/owssvr.dll?Cmd=Display&List=%7B9C833605%2D8911%2D4B69%2D84AA%2D24DF8775735F%7D&View=%7B734A3221%2D4E03%2D4B10%2D9BE9%2D857775EBF802%7D&XMLDATA=TRUE
  6. The %, letter, number string represents the {GUID} for the page. The &XMLDATA=TRUE converts the page into an XML format that the InfoPath form can read. The &View and string represents the {GUID} for the “AllItems View”
  7. Once you have modified the url, copy and paste it into the next setup page. Close the text editor and do not save when it asks. Follow the steps in the remaining screenshots.
  8. 4  
  9. 5  
  10. 6  
  11. 7  
  12. 8  
  13. 9  
  14. Save the InfoPath form and publish it to the SharePoint site.  Next, login to SharePoint and go to the form that contains this data connection. Verify that the information is displayed in the correct order.

This little trick will save you all kinds of headaches if you rely on information supplied by your SharePoint lists.

Downloadable content for SharePoint 2013

Found a nice little page on TechNet that I though I would share in regards to content for SharePoint 2013.

Click here access this page.

InfoPath – Difference between days

I had a request for a form to count the number of days between two date pickers as one of it’s functions.  All that you need to make this happen is add two date picker controls and one text field to display the count.  I have included an InfoPath sample form that explains this in detail and should provide you with the knowledge to add something like this to one of your forms.

I originally found this form on the following site when I faced this issue: https://alecpojidaev.wordpress.com/2008/12/30/infopath-codeless-programming-walkthrough-2/

Alec Pojidaev has many great techniques for using no code solutions which I am a big fan of.  I suggest you check out his site to see all of the advanced features he has laid out.

Click the link below to download the zip file.

DifferenceBetween2Days