I am trying to integrate a 3rd party web app with my customer portal. There are 5 tabs on my customer portal out of which 2 of them references visualforce pages and the remaining 3 should reference 3 different pages in the web app. The integration need to be done in such a way that when a user click on any one of the 3 tabs which references the web app it should take the user to the individual web app pages associated with the tab.
E.g. If we have tab1, tab2, tab3, tab4 and tab5, tab1 and tab3 will take you to the respective visualforce pages associated with the tab. tab2 should take you to tab2 page on the web app Similarly, tab4 and tab5 should take me to tab4 and tab5 page on the webapp.
It should be a seamless integration and the user should not be aware of the fact that he is accessing 2 different apps. Would really appreciate if anyone could suggest me the best way to implement this.
Attribution to: user7574
Possible Suggestion/Solution #1
So there are a couple of ways to do this:
Create 3 canvas apps in your org. Each of these apps would have a different Canvas URL which would point to the different pages in your web app. For instance, Canvas1 would have a URL of https://www.myapp.com/page1. Canvas2 would have a URL of https://www.myapp.com/page2. Canvas3 would have a URL of https://www.myapp.com/page3. You would then create 3 VF tabs, each one pointing to a different Canvas App (and also the different page):
<apex:page> //change the developer name to point to the app you want <apex:canvasApp developerName="Canvas1" /> </apex:page>
Create one app, but pass in different parameters to the 3rd party app. This would require that your 3rd party app breaks down the signed request, looks for the parameter, and then redirects to the proper web app page based on that parameter. For instance, CanvasApp would have a URL of https://www.myapp.com/pageredirector. The pageredirector looks at the "startPage" parameter sent in the signed request and redirects to that page. The VF page would then look like:
<apex:page> //change the parameters point to the web app page you want to direct to <apex:canvasApp developerName="CanvasApp" parameters"{startPage: page1}" /> </apex:page>
You would then create 3 VF pages and pass in the correct start page for each tab.
Hope this helps.
Attribution to: Jay Hurst
This content is remixed from stackoverflow or stackexchange. Please visit https://salesforce.stackexchange.com/questions/31060