Login         
Home
Hosting Services
Training
Faculty Support
Student Help
Software Development
Our Team
News and Events
Acknowledgements

 

 

 

 

 

Melete Install Guide

Up | Install Guide | Upgrade Guide | Permissions | Common Problems


Installation instructions to deploy Melete 2.9.5 for Sakai 2.9.3

Melete is a lesson builder tool for Sakai (A.K.A. Modules). To work with Melete source, you need the same development environment as Sakai, essentially Java 1.6 and Maven 2.

Melete supports MySql4.1 and MySQL 5.0.xx, Oracle and HSQLDB.

1. Get the Source
2. Configure Melete
3. Configure Commercial Sferyx Editor (Optional)
4. Internationalize Messages (Optional)
5. Modify Sakai Distribution, Compile and Deploy
6. Prepare your Database
7. LTI Configuration (Optional)
8. Update Sakai Roles
9. Melete Portal Icon
10. Questions?


1. Get the Source

Download the etudes-util (dependency of Melete) and Melete software from SVN into your Sakai 2.9.3 source folder

sakai> svn co https://source.sakaiproject.org/contrib/etudes/etudes-util/tags/1.0.22/ etudes-util

sakai> svn co https://source.sakaiproject.org/contrib/etudes/melete/tags/2.9.5 melete


2. Configure Melete

2.1 Packagingdir settings

The dependency files for the IMS-SCORM export process are in the /var/melete/packagefiles directory in the Melete source code.

a. Copy the /var directory and its contents into a directory. Make sure the owner and group of the directory is same as tomcat user.

b. Configure melete.packagingDir setting in Sakai.properties

Eg. If you are on unix/linux, and your packaging directory path is /var/melete/packagefiles, specify in sakai.properties.

melete.packagingDir =/var/melete/packagefiles

2.2 Max Upload size for IMS import file

By setting this Sakai property, system administrators can set a different file upload limit for Melete IMS CP import than the upload max limit for content files. If this property is not set, then Melete assumes the max value as 50MB.

content.upload.ceiling=50

2.3 Print Material Default Setting (Optional)

By setting this Sakai property, system administrators can set the default preference for Melete Print. Instructors can change this setting for their site in Melete Preferences.

melete.print=true

This is an optional setting. If not set, then Melete assumes default as "true".



3. Configure Commercial Sferyx Editor (Optional)

3.1 Sferyx Source

Purchase a license and binary source for Sferyx 10.2 or higher (http://www.sferyx.com)
Download sferyx from https://source.sakaiproject.org/contrib/etudes/sferyx/trunk and place it under sakai source directory.
Place the purchased applet jar file under /src/webapp/sferyx.
Compile and deploy sferyx webapp using maven.

3.2 Default Melete Editor

This is done by specifying the following property. For example, if the default Melete editor is Sferyx,

melete.wysiwyg.editor=Sferyx Editor

If this property is NOT set, the code uses the editor specified by the wysiwyg.editor property.

3.3 Set Available Melete Editors

You can set more than one editor in Melete (Sferyx and CK Editor, for now). Users can select their default editor for authoring under Melete's Preferences.

List the editor choices for users in sakai.properties as specified below. For example, if the user has two choices, Sferyx and CK Editor, the settings will be as follows:

melete.wysiwyg.editor.count=2
melete.wysiwyg.editor1=Sferyx Editor
melete.wysiwyg.editor2=CK Editor

NOTE: Make sure that the names have proper spaces as this is used to display the labels of the available editors on the Preferences page.


4. Internationalize Messages (Optional)

If you want to run Melete in a different language than English, you need to update messages.properties of your language under melete-app/src/bundle and under melete-impl/src/bundle.


5. Modify Sakai Distribution, Compile and Deploy

5.1 Code Change for Oracle Users ONLY

The Melete code uses the "straight_join" keyword for query optimization with a Mysql join. Oracle does not support this keyword. Please remove this keyword from melete/melete-impl/src/java/org/etudes/component/app/melete/ModuleDB.java.

5.2 Update the Sakai base pom.xml
Add lines to the Sakai root pom.xml build profile section that you are using (the default is the "full" profile). These instruct Maven to include the Melete sources in the build. <module>etudes-util</module> <module>melete</module> Without this, full builds of the source will skip Melete.

5.3 Update the Sakai master pom.xml

Add lines to the Sakai master/pom.xml properties and dependency management section for the Etudes artifacts.

a. Properties: add to the <properties> section:

<etudes.util.version>1.0.22</etudes.util.version>

<melete.version>2.9.5</melete.version>

b. Dependencies: add to the <dependencyManagement><dependencies> section:

<dependency>
<groupId>org.etudes</groupId>
<artifactId>etudes-util-api</artifactId>
<version>${etudes.util.version}</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.etudes</groupId>
<artifactId>etudes-util-util</artifactId>
<version>${etudes.util.version}</version>
</dependency>

<dependency>
<groupId>org.etudes</groupId>
<artifactId>etudes-melete-api</artifactId>
<version>${melete.version}</version>
<scope>provided</scope>
</dependency>

Note: This version is configured to build with Sakai 2.9.3. If you are using another 2.7.x version, or a 2.8.x version, you need to make a few changes.

The "2.9.3" version number is in a few files, used as the version number for the Sakai base pom. You need to edit these files to change this to match the version of Sakai you are using:

etudes-util/pom.xml
melete/pom.xml

5.4 Run maven commands

Build your sakai including etudes-util and Melete. When you use maven to build sakai, it will include the sources needed for Melete.


6. Prepare your database

Melete works with HSQLDB, Oracle or Mysql Database. It has been tested on Mysql4 and Mysql 5, but it has been deployed successfully with Oracle at many universities.
Melete shares the same database as Sakai's and adds a few tables to the database.
Set up the Melete tables

You can either run the sql script manually; it is provided under /components/src/sql/mysql/melete295.sql

OR

Turn on auto.ddl and when tomcat starts, hibernate will generate the Melete tables on its own by reading xml files.

NOTE: With Auto.ddl on, check these secondary indices.

Index has been created for user_id column of melete_user_preference and course_id column of melete_course_module table.
Remove any duplicate indices. Index on module_id column of melete_course_module and melete_module_shdates table. section_id column of melete_section_resource table.


7. LTI Configuration (Optional)

Melete can link to Publisher's content using BasicLTI (IMS Basic Learning Tools Interoperability standard).BasicLTI allows the launching and sharing of information with an externally hosted tool using standard protocols, signed securely using the OAuth (www.oauth.net) security mechanism.

To use this feature, enable "Show Link to Publisher's Content option" under Melete preferences.
Configure Sakai.properties to set BasicLTI.

basiclti.consumer_instance_guid=your institution domain name

If you want to set a site-wide license to some content i.e a single secret/password that is used to sign all of the requests coming from a LMS system. Here is an example to configure it.

basiclti.consumer_instance_key.<Provider domain name> =lmsng.school.edu
basiclti.consumer_instance_secret.<Provider domain name>=secret

For detailed specifications, you can consult this document.
https://source.sakaiproject.org/svn/basiclti/trunk/basiclti-docs/resources/docs/sakai_basiclti_portlet.doc


8. Update Sakai Roles

Update Sakai Roles (under realms) to include Melete permissions to your roles. If you are upgrading Melete in your Sakai instance, no roles changes are needed.

Log on as Sakai admin.
Check appropriate Melete permissions under the roles in !site.template.course.

Check melete.author for instructor, teaching assistant types of roles (maintain) to which you want to give 'authoring / manage' rights.


Check melete.student for student types of custom roles that you have (access) to which you want to give 'viewing' rights.

If you have project sites and related roles in !site.template.project, appropriate permissions (melete.student or melete.author) need to be checked as defined above, based on what rights you want to give to the roles.

CAUTION:

a. IF YOU FAIL TO CHECK THE MELETE.STUDENT AND MELETE.AUTHOR PERMISSIONS FOR YOUR ROLES, MELETE WILL NOT WORK PROPERLY.

b. IF YOU ADD MELETE TO _EXISTING SITES_, USERS WILL NOT HAVE THE MELETE PERMISSIONS THAT YOU CHECKED. YOU WILL NEED TO USE !SITE.HELPER OR OTHER SCRIPT TO PROPAGATE THE MELETE PERMISSION TO EXISTING SITES.


9. Melete Portal Icon

If you are using sakai's default cascading style sheet create the icons folder under tomcat/webapps/library/skin/default/

and copy the image modules-menu.png from melete-app/src/webapp/melete/images to

tomcat/webapps/library/skin/default/icons.

Add the below line to tomcat/webapps/library/skin/default/portal.css

.icon-sakai-melete
{
background-image: url(icons/modules-menu.png);
}


10. Questions?

Contact sakai-dev@collab.sakaiproject.org or dev@etudes.org


Up | Install Guide | Upgrade Guide | Permissions | Common Problems

Back to top

Copyright 2008-2014 Etudes, Inc. | Privacy Policy | Contact Us