Publish

Choose Background

Panel Delete
Your changes published Successfully

Sakai and Liferay Integration

How to integrate Sakai with Liferay using sakai connector portlet?

There are 4 steps involved in integrating Sakai with Liferay.

  1. Configure Basic LTI in Sakai

  2. Enable Sakai Webservices

  3. Configure Sakai connector portlet for Liferay & deploy in Liferay

  4. Access the sakai tool from liferay sakai connector portlet

1. Configure Basic LTI in Sakai

Add/Modify below things in sakai.properties file

# enable basic lti

basiclti.provider.enabled=true

#You need to provide the list of tools which can be accessed through the Basic LTI provider

basiclti.provider.allowedtools=sakai.resources:sakai.rwiki:sakai.profile2

#  you need to setup a key and secret. There is a special syntax for this, basiclti.provider.key.secret=secret. Here's an example:

basiclti.provider.my.school.edu.au.secret=abc123

basiclti.provider.highly.trusted.consumers=my.school.edu.au

You can setup multiples so that multiple consumers can connect to Sakai:

basiclti.provider.my.school.edu.au.secret=abc123

basiclti.provider.some.other.school.edu.au.secret=def456


 

Enable clean pass through of credentials to Basic LTI

There is one final addition to sakai.properties that completes the configuration. Ordinarily, Basic LTI will prefix the incoming userId and siteId, and create a new user account and site. This limits the level of integration possible as many users will have existing sites and content they want to reuse outside of Sakai. You need to set the following property to allow the userId and siteId to passthrough without this prefixing occurring:

basiclti.provider.highly.trusted.consumers=my.school.edu.au

The my.school.edu.au needs to match the key in the section above, and also in the next section. You can have multiples too:

basiclti.provider.highly.trusted.consumers=my.school.edu.au:some.other.school.edu.au


 

2. Enable Sakai Web services:

Add/Modify below things in sakai.properties file

webservices.allowlogin=true

webservices.allow = .*

 

Testing basic lti configuration in Sakai:

Restart Sakai and navigate to http://your.sakai.server/imsblti/provider/.

If you've set it up correctly, you should not get an error, but you will get a warning message:" Invalid value for Basic LTI Launch". This is good! If you get any other error, go back through the documentation and your settings. Also check catalina.out for any clues.

3. Configure Sakai connector portlet for Liferay & deploy in Liferay:

  1. Get the source code from https://github.com/Jasig/sakai-connector-portlet. It is provided for uportal. So can't be used directly.

  2. Convert the sakai connector portlet to liferay portlet. Because sakai connector portlet won't have liferay files like liferay-portlet.xml, liferay-display.xml, liferay-plugin-package.properties,

  3. Conversion steps followed by us:

  1. create a new portlet

  2. Change the portlet.xml similar to the existing portlet.xml (http://10.0.0.15/svn/branches/educationyug_1.1/Source-Code/plugins/portlets/latest-sakai-connector-portlet/docroot/WEB-INF/portlet.xml). You can see that portlet.xml contains key, secret, basicLTI URL of your sakai, sakai admin user id, sakai admin password, loginUrl-sakai web service for login, scriptUrl-sakai web service for getting the site, tools, jsp's, controller class)

  3. Copy all the jsp, java, xml files from sakai connector portlet to new portlet. you can cross verify with already existing portlet in our svn

  4. Please make sure that you copied all the files properly.

  1. Deploy the portlet

4. Access the sakai tool from liferay sakai connector portlet

  1. Add the portlet to a page

  2. Select the site and tool from UI

  3. You should be able to see the Tool

How we are using:

We are getting the values from V_DeploymentConfig Instead of configuring in portlet.xml, web.xml. We do this to avoid deployment time problems like not changing sakai URL’s, multiple times changing the sakai server ports.

Where this concept is implemented/used:

  1. We implemented it in our GCRSakaiconectorportlet.

  2. This portlet is used in gcr, college websites etc.

Advantages: We can integrate Sakai with Liferay which will enable us in combining two powerful platforms.

Pictorial Representation: not applicable.

Workflow: not applicable..

Reference URL for sample program:

  1. https://wiki.jasig.org/display/PLT/Basic+LTI+Portlet

  2. https://wiki.jasig.org/display/PLT/Sakai+connector+portlet

  3. https://wiki.jasig.org/display/PLT/Sakai+Connector+Portlet+-+Configuration+and+Installation

 

Note: Everybody should be able to integrate sakai and Liferay in their local systems.

0 Comments

left arrow
landscape

We are currently taking new projects! Let's make something beautiful together.

Publish

Choose Background

Panel Delete
Your changes published Successfully
@ITYUG-2019Privacy PolicyTerms & Condition
Publish

Choose Background

Panel Delete
Your changes published Successfully