14 Replies Latest reply on Aug 21, 2013 6:23 AM by Russell Christopher

    Sharepoint Embedding issue

    Sourabh Dasgupta

      I am trying to embed a Tableau server view in my SP site. I am following the instructions given at the following link:

      http://onlinehelp.tableausoftware.com/v7.0/server/en-us/embed_ex_trustedauth.htm

      The Tableau server is configured for local user authentication.

      I copied the "TableauEmbeddedView.dll" file and pasted in the bin folder and also added the relevant section in the web.config file.

      <SafeControl

             Assembly="TableauEmbeddedView, Version=7.0.4.0, Culture=neutral, PublicKeyToken=1fd2a444ebdf5701"

             Namespace="TableauEmbeddedView"

             TypeName="*"

             Safe="True"

             AllowRemoteDesigner="True"/>

       

      There is an instruction file at the Tableau server installation folder (where the dll file is saved), and I got the public key from there itself. I have also changed the trust level to FULL (<trust level="Full" originUrl="" />).

       

      When I access the _layouts/newdwp.aspx page, I don't see the entry for TableauEmbeddedView. What am I missing? 

        • 1. Re: Sharepoint Embedding issue
          Russell Christopher

          So, you replaced the value "1fd2a444ebdf5701" for the PublicKeyToken attribute with "your" public key which you found using sn.exe -T? I think that's what you're saying above, but I want to confirm.

           

          If you followed those steps and didn't make any typing or copy/paste errors, you should see the entry in the New Web Parts page.

           

          One other thing - did you grant permissions for the accounts that SharePoint leverage to actually read the DLL on your file system?

           

          You might want to begin by editing the security permissions of the file by right clicking on it and modifying the security permissions. Add 'Everyone' under "Group or user names:" and give 'Everyone' "Full Control" over the DLL.

           

          Also, bounce SharePoint with an IISReset.

          • 2. Re: Sharepoint Embedding issue
            Sourabh Dasgupta

            The public key token is correct and is obtain using the sn.exe. I have also given full access rights to "everyone" for the dll file but no luck. I will check after restarting the IIS. Can there be any other reason?

            • 3. Re: Sharepoint Embedding issue
              Russell Christopher

              Did you deploy the *.wsp file to SharePoint with stsadm or Powershell?

              • 4. Re: Sharepoint Embedding issue
                Sourabh Dasgupta

                I am not much familiar with SP. My technical team has created the SP site for me to test. The root folder is: 

                C:\inetpub\wwwroot\wss\VirtualDirectories\83. The Web config file is also in the same folder.

                I copied the tableau dll in this folder and also in the bin folder (C:\inetpub\wwwroot\wss\VirtualDirectories\83\bin).

                I gave full access rights to all users accessing these dlls.

                 

                The URL that I am accessing is:

                http://<SERVERNAME>:83/_layouts/newdwp.aspx

                 

                I have not done anything with the "TableauEmbeddedView.wsp file. Is this file also to be copied?

                • 5. Re: Sharepoint Embedding issue
                  Russell Christopher

                  Yes. You can think of the WSP (Solution Package)  file as a "deployment mechanism". It tells SharePoint about the feature/functionality you're trying to "inject" into SharePoint itself. Since you are doing a "manual" install (copying files vs. publishing from Visual Studio), you need to tell SharePoint about your new web part by also deploying this file. Without the WSP, SharePoint really doesn't know what to do with the DLL that you copied.

                   

                  Microsoft documents how to deploy these. Below you'll find a few links on same plus some shorthand directions I just typed up:

                   

                    http://technet.microsoft.com/en-us/library/cc262995.aspx

                    http://msdn.microsoft.com/en-us/library/ff648458.aspx

                   

                  Basic steps are as follows:

                   

                  1. Launch a command-prompt  with *Run as Administrator* permissions.

                   

                  2. Navigate to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN

                   

                  3. Run the following command:

                   

                    stsadm.exe -o addsolution -filename “C:\path\to\the\wsp\TableauEmbeddedView.wsp”

                   

                  4. Once the solution has been added ("Operation completeted sucessfully"), deploy it:

                   

                            stsadm -o deploysolution -name TableauEmbeddedView.wsp  -url http://YourSPSSite:83/ -local  -force  -allowgacdeployment

                   

                  (You know this next part....) After you have added and deployed the solution,

                   

                  4. Visit the following URL on your sharepoint server:

                   

                   

                       http://<your_sharepoint_server>/_layouts/newdwp.aspx

                   

                      And find the entry titled "TableauEmbeddedView.TableauEmbeddedView.TableauEmbeddedView",

                     select it and press the "Populate Gallery" button.

                  • 6. Re: Sharepoint Embedding issue
                    Sourabh Dasgupta

                    Hi Russel, I did not get time to check these options. I will do this sometime next week, and let you in case will have any issues. Thanks a lot for all the help.

                    • 7. Re: Sharepoint Embedding issue
                      Sourabh Dasgupta

                      Hello....finally I got some time to check the options suggested by you....I tried running the stsadm command to add the solution, but I am getting the error as “object reference not set to an instance of an object”. I have added myself to the WSS_WPG, WSS_ADMIN and WSS_RESTROCTED group. I also have full rights on the “TableauEmbeddedView.wsp” file. I am also running the command prompt as Administrator, but still I get the same error. Do you have any idea what can be the problem?

                      stsadm.exe -o addsolution -filename “C:\inetpub\wwwroot\wss\VirtualDirectories\83\TableauEmbeddedView.wsp”

                       

                      (I copied the solution file from the Tableau server machine, to the SP server machine - C:\inetpub\wwwroot\wss\VirtualDirectories\83)

                      • 8. Re: Sharepoint Embedding issue
                        Russell Christopher

                        Here are new/improved instructions that will be included in an upcoming release. Can you try these for me?

                        • 9. Re: Sharepoint Embedding issue
                          Steve Ware

                          followed the instructions included here (and in the server 8.0 folder). the solution deploys and activates with no issues. I can add the webpart to a page succesfully but when I 'edit web part' there is no section shown to modify the server and view name. it seems to be missing. I only get the 'appearance' 'layout' and 'advanced' sections.

                           

                          I have deactivated, retracted, redeployed, reactivated multiple times. no change. any help?

                          • 10. Re: Sharepoint Embedding issue
                            Russell Christopher

                            Steve - I've seen that before myself, and it generally means that the web part didn't actually get installed completely correctly. When I saw this behavior, it almost always had to do with the fact that SharePoint hadn't been correctly configured to "trust" the code in the web part...so the generic stuff shows up (it comes from SharePoint), but the "Tableau stuff" doesn't case that code isn't trusted.

                             

                            It might make sense to look in the web.config mentioned at the very start of this thread, and make sure YOU see something that looks like it, and that it matches the version of the code that you're deploying.

                            • 11. Re: Sharepoint Embedding issue
                              Steve Ware

                              Thanks Russell.

                               

                              Here is what I find in the web.config. It's not exactly what is stated in the first thread, but I'm not versed enough in the sharepoint assembly knowledge to discern if it's right or not. Is the "SafeAgainstScript=false" a problem?

                               

                              <SafeControl Assembly="TableauEmbeddedView, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d55392d06026a3e0" Namespace="TableauEmbeddedView.TableauEmbeddedView" TypeName="*" Safe="True" SafeAgainstScript="False" />

                               

                              The version 1.0.0.0 matches what I see in .dll properties. (I used the dll as found... did not compile myself)

                               

                              The .dll is in the GAC. I have also made it full trust, just trying to get it to work by brute force. No go.

                              • 12. Re: Sharepoint Embedding issue
                                Russell Christopher

                                If you’ve gotten the DLL in the GAC, then you should be good – already trusted.

                                 

                                In your shoes, I’d probably try to do (yet one more) uninstall / cleanup and then get back into web.config and make sure all traces of the webpart are gone. Also, remove the assembly from the GAC if you still see it there.

                                 

                                Try installing again, and see what happens? If not – Support ☺

                                • 13. Re: Sharepoint Embedding issue
                                  Sourabh Dasgupta

                                  Hi Russel, I have a query on the authentication mode. The SP and Tableau Server can both be configured for AD authentication. In that case do we not not have to install and deploy the WSP file? Is it only required when we have Local authentication in Tableau server? or is it a generic step that must be followed irrespective of any mode?

                                   

                                  Also is the Trusted Authentication going to work only when the AD mode of both SP and Tableau server are same? If the Tableau server is Local authentication, then changes in the web.config file (<trust level....) is what we need to do for Trusted Authentication?

                                  • 14. Re: Sharepoint Embedding issue
                                    Russell Christopher

                                    You got it. If both SharePoint and Tableau are running under AD mode, then it's much easier to leverage SharePoint's built -in Page Viewer control.

                                     

                                    Typically, our sample web part is only useful when Tableau is  running in Standard mode AND trusted tickets are in play as an SSO solution.