We are trying to integrate PPM Center (oracle DB) into SharePoint. We are looking for ways to accomplish this. What we want is for snippets of data / webparts to be selectable by the SharePint (SP) user to put on their SP page. What is the best way to do this? Maybe building WebParts, or using WSRP (Web Services for Remote Portlets), or other ways?
Has anybody tried this before? Any tips or lessons learned would be very helpful. We are on PPM 7.5 SP 5.
Hello Kevin, WSRP will be the easiest way. You need to "publish" the required portlets in PPM (portlet definition config) and then access them from this WSRP Webpart component in Sharepoint. I guess this really just makes sense if you are using SSO for both systems. It works the other way too of course. This type of integration has one disadvantage: the parts of the page (Sharepoint and PPM) will not have the same look&file, but if users can live with that... We have been testing WSRP with PPM 7.5.2 and I am using it right now in 8.0.1
Using Share Point Web Parts, we are able to see the list of WSRP PPM porlets in SP.
Once I hit apply, I get a message:
"The portlet server returned an error. It may not be configured correctly. The details of the error message have been added to the SharePoint log file on the SharePoint server. Please contact your SharePoint administrator to correct this problem."
I looked at the log file and this is the message: Policy has denied access. This may be related to the consumer's registration
"Runtime Error in method WSRPMarkupProxy.RenderPortlet of type System.Web.Services.Protocols.SoapException.The exception was System.Web.Services.Protocols.SoapException: Policy has denied access. This may be related to the consumer's registration. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object parameters) at Microsoft.SharePoint.Portal.WebControls.WSRPWebService.WSRP_v1_Markup_Binding_SOAP.getMarkup(getMarkup getMarkup1) at Microsoft.SharePoint.Portal.WebControls.WSRPMarkupProxy.DoGetMarkUp(Dictionary`2 parameters) at Microsoft.SharePoint.Portal.WebControls.WSRPMarkupPro..."
Just wanted to know if you encountered anything like this while you were testing this integration.
Thanks, but I have read that post. I have read almost every post I could find related to this. I have been trying to get this to work for about 3 weeks. I have configured that config file, and am able to access the available portlets from the producer specified. I just get an access denied error. Sascha, I saw you mentioned that you have gotten this to work. Is there anything else at all that you can think of that I may need to do? After 3 weeks of searching, I think you may be the only person I have seen that has actually got this to work.
Sorry Dan, I cannot really help with sharepoint. We have used WSRP before and I know it should work with sharepoint too, but to date we have not done a PPM-Sharepoint-WSRP connection. Seems to be a not-so-robust implementation of WSRP on the sharepoint-side. Maybe you will need an alternative like exposing a database view from the PPM database and have some kind of web part access it from sharepoint. Or pull data from PPM's web services. For our immediate purpose having an iFrame display data from PPM on a sharepoint page was enough. We just need to create a portlet in PPM and have it on dashboard page that take that pages URL and append "&IS_WINDOID=Y" to save some space in that web part.
Yea that would work fine, except we don't have SSO implemented for PPM. I have been using the web services (WSDLs) to pull in data using SOAP requests, but my company wants to be able to use the WSRP portlets. One thing I noticed was that I didn't really see any way to search through requests using the WSDLs. The getRequests function only pulls in information if you specify the request numbers. It would be more useful if you could pull in a list of requests assigned to a specific user.
Hi, yes, if I remember correctly that is a required parameter for that web service. From a functional point of view I did pretty much the same you are trying to achive with the Site-Viewer-Webpart. On my default dashboard I have a simple custom list portlet that displays change requests assigned to me. The data source is straight forward:
SELECT request_id RID, ... FROM kcrt_requests_v WHERE request_type_id = 33333 AND STATUS_CODE = 'IN_PROGRESS' AND assigned_to_user_id = [SYS.USER_ID] order by PRIORITY_MEANING
In SharePoint I added that webpart and used this URL as source: http://yourhost/itg/dashboard/app/portal/PortletInner.jsp?portletId=106758165 Which eliminates PPM's header and navigation parts. You still see that a different stylesheet is used, so it's not perfect but close enough.
As I said earlier, this does not make much sense without some kind of SSO.