Table of Contents
Illinois Open Educational Resources (IOER)
The IOER (http://www.ilsharedlearning.org) is for sharing, creating, and curating learning resources.
This project was developed using Microsoft Visual Studio (2012+), C#, ASP.Net, and Sql server 2012. The community edition of Visual Studio (https://www.visualstudio.com/en-us/news/vs2013-community-vs.aspx) can be used effectively for development. The site includes learning resource metadata and paradata imported from the national Learning Registry (LR) (http://learningregistry.org) and tools to publish resource data to the LR.
Get more information about developer documentation http://ioer.ilsharedlearning.org/developers.
Key Features
- Consume from and publish to the LR.
- Search for resources using ElasticSearch (https://www.elastic.co/) (version 1.7.2) based index.
- Search filters, including a learning standards browser (e.g. Common Core, NGSS) using Achievement Standards Network (ASN) http://www.achievementstandards.org/
- Resources can be aligned to the Common Core, NGSS, Illinois K-12 standards, Illinois Adult Education Standards, and a variety of national standards.
- Open Libraries with collections to share and curate resources.
- Create Learning Lists for structuring resources ranging from small sets of learning activities to an entire curriculum.
- Follow Libraries and Learning Lists.
- Widgets (http://ioer.ilsharedlearning.org/widgets/) for seamless access to Libraries, Learning, search and more on external websites.
Instructions for Setting up IOER
These are instructions for getting the RUSSEL, DECALS, and Competency System installed and running on a VMware VM running Ubuntu Linux version 14.04.3. These instructions can also be used to setup the system software on a server running Ubuntu Linux version 14.04.3.
Code projects in this Github repository required to build DECALS:
Prerequisites:
- Microsoft Visual Studio 2012 or higher (community edition is fine)
- Microsoft Sql Sever 2012+ (express edition is fine)
- A web server running Internet Information Server (IIS)
- Windows 7+
- ElasticIndex (complete package is included)
- Java 8+ for use with Elastic
Development Environment
- Windows PC, Windows 7+
- RAM: 8GB
- 50gb free space
Install Visual Studio and Sql Server
Install Eclipse Development Environment
Download and install Eclipse Kepler v4.3 for Java EE Developers 64-bit on VM
Install GWT Eclipse Plugin
Install Java 7:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java7-set-default
Install Java JDK:
sudo apt-get install default-jdk
Install Apache Ant/Git:
sudo apt-get install ant git
Install Apache Tomcat 7:
sudo apt-get install tomcat7
Install Apache Solr DBs:
Download Solr
Untar file:
tar -zxvf solr-4.10.0.tgz
Copy contents of folder /solr-4.10.0/example/lib/ext/ to /usr/share/tomcat7/lib/
cp -r ~/solr-4.10.0/example/lib/ext/*.jar /usr/share/tomcat7/lib/
Edit file "tomcat-users.xml" in directory /var/lib/tomcat7/conf/ and setup these users:
<tomcat-users>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="manager,manager-gui, admin, admin-gui"/>
</tomcat-users>
Setup Apache Solr DB for DECALS DB:
Copy contents of folder /solr-4.10.0/example/solr/ to /var/lib/tomcat7/darSolr
sudo mkdir /var/lib/tomcat7/darSolr/
cp -r ~/solr-4.x.x/example/solr/ /var/lib/tomcat7/darSolr/
Copy /solr-4.10.0/dist/solr-4.10.0.war to /var/lib/tomcat7/darSolr/darSolr.war
cp ~/solr-4.10.0/dist/solr-4.10.0.war /var/lib/tomcat7/darSolr/darSolr.war
set permissions on darSolr folder:
sudo chmod -R 755 /var/lib/tomcat7/darSolr/
Create file "darSolr.xml" in directory /var/lib/tomcat7/conf/Catalina/localhost/ with the following contents:
cd /var/lib/tomcat7/conf/Catalina/localhost/
sudo vim darSolr.xml
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/var/lib/tomcat7/darSolr/darSolr.war" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/var/lib/tomcat7/darSolr" override="true" />
</Context>
Setup Apache Solr DB for LR Registry DB:
Copy contents of folder /solr-4.10.0/example/solr/ to /var/lib/tomcat7/registrySolr
sudo mkdir /var/lib/tomcat7/registrySolr/
cp -r ~/solr-4.x.x/example/solr/ /var/lib/tomcat7/registrySolr/
Copy /solr-4.10.0/dist/solr-4.10.0.war to /var/lib/tomcat7/registrySolr/registrySolr.war
cp ~/solr-4.10.0/dist/solr-4.10.0.war /var/lib/tomcat7/registrySolr/registrySolr.war
set permissions on registrySolr folder:
sudo chmod -R 755 /var/lib/tomcat7/registrySolr/
Create file "registrySolr.xml" in directory /var/lib/tomcat7/conf/Catalina/localhost/ with the following contents:
cd /var/lib/tomcat7/conf/Catalina/localhost/
sudo vim registrySolr.xml
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/var/lib/tomcat7/registrySolr/registrySolr.war" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/var/lib/tomcat7/registrySolr" override="true" />
</Context>
Download the source code from this repository:
Create a “Source/” directory to hold the master repositories from Github and create a “Development/” directory to build the code.
sudo mkdir Source
sudo mkdir Development
To download the repositories from Github:
cd Source
sudo git clone <DECALS Github repo URL>
Once the files have finished downloading copy them over to your Development/ folder:
sudo cp -R * ~/Development/
Setting up and building the decals-ui source project
Setting up the decals-ui and EwGWTLib projects
Run the Eclipse IDE
Once Eclipse has finished loading,
- go to File->Import
- From the Import dialog, select General->Existing Projects into Workspace and click Next>
- Browse to ~/Development/decals-ui/ and click Finish
This should place the project decals-ui in the Project Explorer.
Next, from the Import dialog,
- select General->Existing Projects into Workspace and click Next>
- Browse to ~/Development/EwGWTLib/ and click Finish
This should place the project EwGWTLib in the Project Explorer.
- Right-click on the decals-ui project and select properties
- From the properties dialog select Java Build Path.
- Under the Libraries tab, make sure the GWT SDK is set. If not, click edit and select Use specific SDK: GWT 2.6.0 or higher.
- Right-click on the EwGWTLib project and select properties
- From the properties dialog select Java Build Path.
- Under the Libraries tab, make sure the GWT SDK is set. If not, click edit and select Use specific SDK: GWT 2.6.0 or higher.
-
If the GWT SDK library is not in the list, make sure that the following jar files point to plugins\com.google.gwt.eclipse.sdkbundle_2.6.0\gwt-2.6.0:
⋅⋅* gwt-dev.jar
⋅⋅* gwt-user.jar
⋅⋅* validation-api-1.0.0.GA.jar
⋅⋅* validation-api-1.0.0.GA-sources.jar
To build the decals-ui project:
- Right-click on the decals-ui project and select Google->GWT Compile
- From the dialog choose the output style of choice and click compile.
Building the LEVR components (levr.war file)
Some changes need to be made in the original build.xml files:
- in build.xml for eduworks-common, change "eduworks-common-usage" on top line to "eduworks-common-jar"
- in build.xml for levr-core change "levr-core-dist" on top line to "levr-core-jar"
The projects: eduworks-common, levr-core and levr-base must be built in the following order:
1. eduworks-common
2. levr-core
3. levr-base
To build each project, from the Linux commandline run:
cd ~Development/LEVR/eduworks-common/
sudo ant
cd ~Development/LEVR/levr-core/
sudo ant
cd ~Development/LEVR/levr-base/
sudo ant
Once each project has been built, copy the file, levr.war, from the Development/LEVR/levr-base/dist folder to /var/lib/tomcat7/webapps/ directory
sudo cp levr.war /var/lib/tomcat7/webapps/
NOTE: After the initial LEVR build and before copying any newly built levr.war file over, it is a good idea to stop the tomcat7 service and remove the old levr.war file and associated levr directory from the /var/lib/tomcat7/webapps/ directory:
sudo service tomcat7 stop (wait to start service again once all projects are setup and configured – see below)
cd /var/lib/tomcat7/webapps/
sudo rm –R lev*
Installing LEVR scripts
Create a directory, etc/ under /var/lib/tomcat7/:
sudo mkdir etc/
Copy *.rs2 script files from ~/Source/scripts/base-v2/, ~/Source/scripts/base/, ~/Source/scripts/competency/, and ~/Source/scripts/decals/ to /var/lib/tomcat7/etc directory:
cd ~/Source/scripts/base-v2/
sudo cp * /var/lib/tomcat7/etc/
cd ~/Source/scripts/base/
sudo cp * /var/lib/tomcat7/etc/
cd ~/Source/scripts/competency/
sudo cp * /var/lib/tomcat7/etc/
cd ~/Source/scripts/decals/
sudo cp * /var/lib/tomcat7/etc/
make the owner of etc/ and all sub files and folders tomcat7:
sudo chown –R tomcat7:root etc/
Creating a location for the database files
Create a directory, db/ under /var/lib/tomcat7/:
sudo mkdir db/
make the owner of db/ and all sub files and folders tomcat7:
sudo chown –R tomcat7:root db/
Install and configure the decals-ui project
Create a decals/ directory under webapps/ROOT/:
sudo mkdir /var/lib/tomcat7/webapps/ROOT/decals/
Copy the contents of the ~/Development/decals-ui/war/ to /var/lib/tomcat7/webapps/ROOT/decals/:
cd ~/Development/decals-ui/war/
sudo cp –R * /var/lib/tomcat7/webapps/ROOT/decals/
Open decals/js/installation.settings for edit:
cd /var/lib/tomcat7/webapps/ROOT/decals/js/
sudo vim installation.settings
File contents should be:
site.name="DECALS"
root.url="http://<server url>"
esb.url="http://<server url>/levr/api/custom/"
alfresco.url="N/A"
site.url="http://<server url>/decals/"
help.url="N/A"
feedback.email="N/A"
competency.url="http://<server url>/competency/"
int.search.thumbnail.root="http://<server url>/thumb/thumbnails/"
save the file.
Open /var/lib/tomcat7/etc/decals.competency.config.rs2 for edit:
The following lines should be edited for your local server environment:
line 12:
defaultURIPrefix = #string(str="http://<server uri>/competency/");
line 13:
comment out this line by adding //
line 36:
defaultDirectory = #add(b="etc/competency/");
line 45:
structureDirectory = #add(b="etc/structure-files/");
line 54:
backupRestoreKeyPath = #string(str="etc/competency.backupRestore.key/");
line 55:
comment out this line by adding //
save the file.
Open /var/lib/tomcat7/etc/decals.config.rs2 for edit:
The following lines should be edited for your local server environment:
line 4:
initialAdminPassword = #add(a="<whatever you want as password>");
line 9:
fileDownloadUrlPrefix = #string(str="http://<server uri>/levr/api/custom/decalsFileDownload?fileId=");
line 14/15:
lrSearchApiKey = #string(str="<insert key here>");
comment out this line by adding //
line 17/18:
mashapeKey= #string(str="<insert key here>");
comment out this line by adding //
line 23/24:
darSolrUrl = #string(str="http://<server uri>/darSolr/");
registrySolrUrl = #string(str="http://<server uri>/registrySolr/");
line 30:
fileDownloadUrlPrefix = #string(str="http://service.metaglance.com/metadataLite/russel/generate");
line 72:
defaultDirectory = #string(str="./db/");
line 79:
rootDbDirectory = #string(str="db/");
save the file.
Installing the competency-ui source
Create a competency directory under webapps/ROOT/:
sudo mkdir /var/lib/tomcat7/webapps/ROOT/competency/
Copy the competency-ui files into the new directory:
cd ~/Source/competency-ui/
sudo cp –R * /var/lib/tomcat7/webapps/ROOT/competency/
Move the WEB-INF directory up a level to ROOT/:
cd /var/lib/tomcat7/webapps/ROOT/competency/
sudo mv WEB-INF ../
Open /var/lib/tomcat7/webapps/ROOT/competency/index.html for edit:
The following lines should be edited for your local server environment:
line 9:
change <base href="/"> to <base href="/competency/">
#### <a name="3_16_2"></a>Open /var/lib/tomcat7/webapps/ROOT/competency/js/definitions.js for edit:
The following lines should be edited for your local server environment:
line 4:
change: value('apiURL', 'http://localhost:9722/api/custom/competency/')
to: value('apiURL', 'http://:/levr/api/custom/competency/')
### <a name="3_17"></a>Final Steps
Make sure the following files, directories and subdirectories are set to ownership tomcat7:root:
+ /var/lib/tomcat7/etc/
+ /var/lib/tomcat7/db/
+ /var/lib/tomcat7/darSolr/
+ /var/lib/tomcat7/registrySolr/
+ /var/lib/tomcat7/webapps/levr.war
+ /var/lib/tomcat7/webapps/ROOT/decals/
+ /var/lib/tomcat7/webapps/ROOT/competency/
sudo chown -R tomcat7:root
To start the tomcat7 service:
sudo service tomcat7 start
Navigate to http://<server url>/decals/ to visit DECALS website
Navigate to http://<server url>/darSolr/ to check darSolr DB stats
Navigate to http://<server url>/registrySolr/ to check registrySolr DB stats