Tuesday, 16 August 2016

SharePoint Online / Office 365 – opening and printing all the links to the InfoPath forms together from the result of Search Result web part.

Hi All,


In this article I will explain how to open all links to forms in  browser tabs and printing them together.

Background:
We have our search result web part and configured to show only the different different list items based on the query. For every list we have InfoPath form associated. Around 20-25 items are the result of search result web part. We have updated our display template to open every link in new tab in the same browser window.

Also customer want to take the print out of all these forms. So to take the printout they need to click each and every link from the search result. Then go to every tab and print the form.

So this is little bit tedious process. If there are 25 links shown in search result then they need to click 25 times for opening each link in new tab and then 25 more clicks to give the print command by going each and every form. This approach customer is not liking and they were asking to minimize the clicks required to print all the forms.

Customer Requirement:
Customer want to minimize the efforts required to print all the links (forms) shown in search result web part.

Our Approach/Solution:
I saw such kind of requirement first time, googled lot and lots of time put to thought how we can achieve this. So we broke this requirement in two sub requirements
1. Printing all the tabs together
2. Opening all the links in tabs

Printing all the tabs together:
After lot of googling I found one Add-on to FireFox browser which Prints all the tabs together.
Add-on name – Universal Print - https://addons.mozilla.org/en-US/firefox/addon/universal-print/ 

This is very good Add-on which provide features like 
1. Print current tab
2. Print All tabs
     3.Print selected tabs

These features are very useful and our half work is done. We have added this Add-on in FireFox browser. So after opening all the tabs we need to write click on any tabs and following options come as shown in following figure:
Fig1: Universal Print option

Only limitation to this approach is our customer need to use only FireFox browser. But since at customer side only 4-5 users who are taking print outs so its no problem to customer to use FireFox browser.

But this is the only half done. Customer still need to open 20-25 clicks to open all the links in tabs and then one more click for printing.

Opening all the links together/at a time in tabs:
But opening all the links on one click is not big job since we could have JavaScript which will open all the links in tabs. Following is the approach we used
1. Added content editor web part on Search result page
2. Write the JavaScript to open all the links from our search result web part in browser tabs

JavaScript snippet:
<script type="text/JavaScript"
function openlinks()
{
    
    var links = document.links;
    for(var i =0; i<links.length; i++) {
 //This condition is for opening only our links from the search result web part
        if(links[i].toString().indexOf('Source')>=0){
            window.open(links[i]);
        }
    }//for
}//function
</script><input type="button" onclick="openlinks();" value="OpenAllLinks"/>


Finally we manage to print all the links in two clicks :). 
 
Thanks!
 
Enjoy Reading!
 
As usual feel free for any query / suggestion / feedback.








No comments: