Installation instructions to deploy Melete 2.9.1 for Sakai 2.9.1
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.1 source folder
sakai> svn co https://source.sakaiproject.org/contrib/etudes/etudes-util/tags/1.0.17/
etudes-util
sakai> svn co https://source.sakaiproject.org/contrib/etudes/melete/tags/2.9.1
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 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.2 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.17</etudes.util.version>
<melete.version>2.9.1</melete.version>
b. Dependencies: add to the <dependencyManagement><dependency> 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.1. 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.1" 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.3 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/melete291.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 and SimpleLTI (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.
Sometimes a vendor gives 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.
Configure below stated properties in Sakai.properties file to set
site-wide license. This is just an example here, your vendor will give you
the key/url and passwords.
basiclti.consumer_instance_guid=etudes.org
basiclti.consumer_instance_name=Etudes Inc
basiclti.consumer_instance_url=http://etudes.org
basiclti.consumer_instance_secret.mhhe.com=xxxxx
basiclti.consumer_instance_key.dr-chuck.com=lmsng.school.edu
basiclti.consumer_instance_secret.dr-chuck.com=secret
Properties for SimpleLTI lauch are:
simplelti.org_id=etudes.org
simplelti.org_secret.appspot.com=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/
or download it from here
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);
}