[Building Sakai] Sakai's External Integration

Raj Muthusamy rmuthusamy at accordent.com
Tue Jan 25 15:49:34 PST 2011


Thanks Chuck and Steve.

I went through the notes you have pointed out. Good resources.

The Basic LTI option is the right option.  However, it may not fit well for my requirement. Please correct me if I'm wrong. Using Basic LTI, I can register a URL (e.g. www.mywebsite.com\content.htm<http://www.mywebsite.com/content.htm>) and let it pass specific parameters to this external website. In my requirement, I do not have a constant URL. It varies with different content ID (e.g. www.mywebsite.com?contentid=1<http://www.mywebsite.com?contentid=1>) each time I post a URL. Please let me know if I can register a varying URL through  the Basic LTI tool provider. Also, I cannot pre-register these URLs. The URLs should be dynamically generated by the external web app and sent to the Sakai Courses by calling a Web Service method.

Later, when clicked, the URLs should pass user details to the external web app to make sure the request is coming from Sakai and the user is already logged into Sakai.

The external application that I'm working with is .NET based. If there are Web Services, I could call from the .NET application to add or remove the links to/from Sakai. I couldn't find existing web services that add or remove URLs to/from a specific course. Are you suggesting I should write a new Web Service following these examples?

If Basic LTI provider can support this varying URL requirement, I would like to go with that. Otherwise, please help me finding or writing the right Web Services to achieve this functionality.

Thanks,
Raj


From: sakai-dev-bounces at collab.sakaiproject.org [mailto:sakai-dev-bounces at collab.sakaiproject.org] On Behalf Of Steve Swinsburg
Sent: Monday, January 24, 2011 9:48 PM
To: Sakai-Dev Developers
Subject: Re: [Building Sakai] Sakai's External Integration

Hi Raj,

I echo Chuck's comments and would use Basic LTI for this. Whilst this can be done via web services, its no where near as elegant or portable. THat said however, if you only want a few pieces of information, the web service can give you what you are after.

Read over the doc that Chuck sent about the Basic LTI provider in Sakai.

For web services, you want to look at the webservices module in the Sakai source tree. Find a file called SakaiScript.jws and SakaiLogin.jws. They contain the methods you need to call.

Also, take a look here:
https://confluence.sakaiproject.org/display/WEBSVCS/How+to+use+the+Sakai+Web+Services

The awesome portlet that Chuck mentions is here:
https://wiki.jasig.org/display/PLT/Sakai+connector+portlet

This embeds entire tools from Sakai into an external system, in this case, uPortal.

cheers,
Steve

On 25/01/2011, at 4:19 PM, csev wrote:


Raj,

These services exist. Here is some sample code that might give you some patterns:

https://source.sakaiproject.org/contrib/portlets/trunk/sakai-dash/

https://source.sakaiproject.org/contrib/portlets/trunk/sakai-launch/

The code might be a little old.  Here is some more documentation you might find helpful:

https://source.sakaiproject.org/svn/reference/trunk/docs/architecture/sakai_charon.doc

You might also be interested in using Basic LTI to do this with a simple shared secret instead of web services, making sessions, etc - it is more secure and performs better and has much cleaner security.

https://source.sakaiproject.org/svn/basiclti/trunk/basiclti-docs/resources/docs/sakai_basiclti_provider.doc

And Steve Swinsberg is the master of using this - he has a uPortal portlet somewhere that does this retrieve/launch completely awesomely.   His stuff is much more modern than the portlets I wrote a whlie back.

Also Lance Speelmon has done a masterful job in using Basic LTI Provider in Sakai CLE to plug it into Sakai OAE.

Many choices :)

/Chuck

On Jan 24, 2011, at 6:20 PM, Raj Muthusamy wrote:


Dear Sakai Developers,

I'm new to Sakai and exploring various options. I have to integrate Sakai with an external web application. Here is what I'm trying to do.
-          Call Sakai's Web Services to pull list of available Courses and publish dynamic URLs (that will launch an external web app) into selected Courses.
-          When the URL is clicked, pass user name (encrypted) to the external app through QueryString.
-          Call another Web Services method on Sakai server to make sure the user's session is still valid to achieve SSO integration.

Please let me know if there are Web Services already available to perform these tasks above. Any examples and/or documentation would be greatly appreciated.

Thanks,
Raj


_______________________________________________
sakai-dev mailing list
sakai-dev at collab.sakaiproject.org<mailto:sakai-dev at collab.sakaiproject.org>
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org<mailto:sakai-dev-unsubscribe at collab.sakaiproject.org> with a subject of "unsubscribe"

_______________________________________________
sakai-dev mailing list
sakai-dev at collab.sakaiproject.org<mailto:sakai-dev at collab.sakaiproject.org>
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20110125/ff64bf53/attachment.html 


More information about the sakai-dev mailing list