This is the Ayamel site developed by the ARCLITE Lab at Brigham Young University as part of the National Flagship Media Library effort.
Table of Contents
Clone the repository. This uses other external git repositories, so to acquire them, run the install script:
./install.sh
Create a database named ayamel
on your MySQL server. In conf/application.conf
you'll need to set the following parameters to match your configuration:
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost/ayamel?characterEncoding=UTF-8"
db.default.user=root
db.default.password=root
You need to specify the base URL and credentials to the Ayamel Resource Library API.
resourceLibrary.baseUrl="http://api.ayamel.org/api/v1/"
resourceLibrary.clientId=""
resourceLibrary.apiKey=""
Ayamel has the potential to support different methods of uploading files. You can specify which method you want to use. Currently the only support method is Amazon S3. To state which upload engine you want to use, specify:
uploadEngine="s3"
Depending on the upload engine you are using, you may need to specify settings needed for that engine. For Amazon S3, you need to specify the following ones:
amazon.accessKeyId="accessKeyId"
amazon.secretAccessKey="secretAccessKey"
amazon.bucket="bucketName"
Also, note that if you use S3 then you must set up your bucket with CORS support.
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
You can set default media settings, which include the maximum dimensions for an image and video thumbnail time. Right now, the video thumbnail time setting actually doesn't do anything.
media.image.maxWidth=1500
media.image.maxHeight=1500
media.video.thumbnailTime=10
The computer that is running Ayamel must also have ffmpeg installed and available. You must define the location of the software:
media.video.ffmpeg="/usr/bin/ffmpeg"
or
media.video.ffmpeg="c:\\Program Files\\ffmpeg\\bin\\ffmpeg.exe"
This uses PlayGraph. So you need to have both an authoring key and a playback key. Go to http://playgraph.byu.edu/ to create an account and keys. Then set the following configuration entries:
playgraph.host="http://playgraph.byu.edu/"
playgraph.author.key="author key goes here"
playgraph.author.secret="author secret goes here"
playgraph.player.key="player key goes here"
playgraph.player.secret="player secret goes here"
You will need to configure an email account with SMTP settings in order to send emails. The settings will vary based on your provider. For a Google account, it would be:
smtp.host="smtp.gmail.com"
smtp.port=465
smtp.name="Ayamel Admin"
smtp.address="[email protected]"
smtp.password="my_password"
Quizlet is used when exporting word lists. You will need to go to https://quizlet.com/api/2.0/docs/ and sign up for a developer key. Once that is done you can enter the information in the configuration file. This information will include the client ID, the secret key, and an auth value. The auth value is your client ID and key separated by a colon and base64-encoded. You can go to https://quizlet.com/api/2.0/docs/authorization_code_flow and under Step 2 it will say what yours is.
quizlet.clientId=""
quizlet.secretKey=""
quizlet.auth=""
From the project root directory, run it as a Play! application.
play run
Once it is running, go to http://localhost:9000
in your browser. You should see a page asking you if you want to apply the database evolutions. Click the button to do so. It should be working now.
From the project root directory, start the app with Play, specifying the port that you want and applying the database evolutions:
play "start -DapplyEvolutions.default=true 9000"
This would run the server on port 9000.
The wiki provides descriptions of the different parts of the code and how they work.
The most up-to-date version of the ScalaDoc is here. A list of routes can also be found here.