Skip to content

Setting up a ViSH instance: The application_config.yml file

Enrique Barra Arias edited this page Aug 22, 2017 · 30 revisions

The application_config.yml file allows to specify several settings for a ViSH application (or ViSH instance).
According to the installation instructions, this file should be placed in /config/application_config.yml.
This document explains the different options that can be specified in the application_config.yml file and how to fill it.

The file contains two main blocks of settings: "development" and "production".
The settings inside the development block will only be applied when the rails environment is development, while the production settings will be used when the rails environment is production.

In the following table, all the possible settings are described:

Key Description
name The name of the ViSH instance. The default value is 'ViSH'.
domain The domain of the ViSH application. It's used to build absolute paths. Example of possible values: localhost:3000, vishub.org, etc.
test_domain This value can be 'true' or 'false'. If true the ViSH application is considered to be for development purposes. Among other things, this value prevents the application to send mails to the users. For local or testing applications, it's strongly recommended to set this param to true.
code_domain If this var is specified, ViSH will provide the web applications uploaded by the users (Webapps, SCORM Packages, etc.) from the specified domain. This is done due to security reasons. If this var is not specified, web applications will be treated as the rest of resources. If the code_domain is set up, the 'code_path' option should be also specified. To configure ViSH to provide web applications from a different domain, additional configuration steps should be performed. This guide describes the process.
code_path This var should be specified only if code_domain is set up. It indicates the path of the folder where the web applications should be stored in the server.
mail Configuration of the mail sender in ViSH. Allows to set up ActionMailer. Default mail[type] is "SMTP", but "SENDMAIL" is also accepted. The different configuration options are described in the ActionMailer documentation.
mail[main_mail] The contact email address. Should be a valid email.
mail[no_reply_mail] The email address that will be displayed on the mails sent by the server on which a response is not expected.
languages Available languages in the platform. Possible options: ["en", "es", "de", "nl", "hu", "fr"]. The default language is "en" (English). This language should be always included.
register_policy Possible values: "REGISTER ONLY", "INVITATION_ONLY" and "HYBRID". REGISTER ONLY: users can register freely in the ViSH platform, invitations are disabled. INVITATION_ONLY: users cannot freely register in the ViSH platform, they can only register by invitation. HYBRID: users can register freely in the platform and also they can invite other users.
login_policy Possible values: "LOCAL" or "CAS" or "HYBRID". LOCAL: if users can only login with the VISH database. CAS: if users login with the CAS system. HYBRID: users in VISH can login both local or CAS, in this case in ViSH the link will point to login with local database but CAS will also be available, so you can have a Moodle instance. For CAS and HYBRID configs you will need extra configuration for CAS system in this same file
CAS CAS configuration params
CAS["cas_base_url"] "https://your_vish_instance.com/cas/cas"
CAS["cas_create_user"] false (creating users in CAS has not been tested)
CAS["cas_username_column"] "email"
CAS["cas_logout_url_param"] "destination"
CAS["cas_destination_url"] http://your_vish_instance.com
CAS["cas_destination_logout_param_name"] "service"
CAS["cas_enable_single_sign_out"] true if you want also single sign out
models Settings about the models (ViSH entities) that will be used in the application. Check each subkey for details.
models[available] An array with the name of the models that will be available in the application (eg: ["Excursion", "Resource", "Category", "Event", "Workshop", "Course"]). For instance, if 'Workshop' is not included in the array, the ViSH application will not provide Workshops. The different type of resources that will be available are specified in the models[resources] key. The model 'User' is always available.
models[resources] An array with the name of the resources that will be available in the application (eg: ["Document", "Webapp", "Scormfile", "Link", "Embed", "Writing"] ). If the "Resource" name is not included in models[available], no resource will be available regardless the ones specified on this key.
models[home] Determine the models that will be displayed on the home page.
models[catalogue] Determine the models that will be displayed on the catalogue. For instance, with a value of 'calogue: ["Excursion","Webapp"]', only excursions (interactive presentations) and web applications will be displayed on the catalogue.
services An array with the name of the services that will be available in the application (eg: ["ARS", "Catalogue", "ASearch", "MediaConversion"] ). The next subkeys describe each available service.
services["ARS"] Audience Response System. This service allows to launch quizzes (created with the ViSH Editor tool) and get instant feedback from the audience. The results are displayed using charts and graphs and can be stored in the ViSH.
services["Catalogue"] Enable the catalogue of resources.
services["ASearch"] Advanced Search. Allows to search for ViSH entities specifiying different options, criteria and filters. It also allows users to perform federated searches, in order to look for entities in other ViSH instances.
services ["MediaConversion"] The MediaConversion service allows to automatically convert multimedia files (audio and videos) to HTML5 compliant formats. This way, any multimedia file will be displayed directly on the web browser and in all devices. To use this service some additional installation steps are needed. This tutorial explains how to set up the service.
advanced_search Configuration of the Advanced Search service. This key is only used when "ASearch" is included in the services key.
advanced_search [instances] Specify the ViSH instances to look for with the federated search.
catalogue Configuration of the Catalogue service. This key is only used when "Catalogue" is included in the services key.
catalogue [mode] Specifies the criteria used by ViSH to include the resources in the catalogue. There are two possible values for this param: a) matchtag, that will include in the catalogue all the resources tagged with a catalogue tag, and b) matchany, that will include in the catalogue all the resources found when searching by the catalogue tags.
catalogue [qualityThreshold] Allows to specify the minimum quality that a resource should have to be included in the Catalogue. This value should be in a 0-10 scale.
catalogue [categories] Categories of the catalogue defined by a string array. For example, a value of ["education","technology"] would add these two categories to the catalogue.
catalogue [combined_categories] Allow to combine categories. For example, the following entry 'technology: ["computerScience"]', would incorporate the "computerScience" category to the "technology" category.
catalogue [extra_terms] Add extra terms (i.e tags) to a category of the catalogue. For example, the following entry 'education: ["learning","teaching"]', would add the terms "learning" and "teaching" to the category "education".
tagsSettings Customize the settings of the tags used in the platform.
tagsSettings[maxLength] Maximum length of a tag. Default value is 20.
tagsSettings[maxTags] Maximum tags that can be assigned to an entity. Default value is 8.
tagsSettings[triggerKeys] Array of keyboard keys that delimit the tags. Default value is ['enter', 'comma', 'tab', 'space']. For instance, if we want to enable tags with whitespaces, we can remove the 'space' value from the array.
moodle_url The url of the Moodle instance that you want to use for the "courses"
metrics ViSH uses various metrics for different purposes such as calculating popularity scores, calculating quality scores and sorting search results by relevance to the search query. Different parameters of these metrics can be customized in this key. Read the page How to customize the ViSH Metrics for details.

 

More settings related to specific services can be included in the application_config.yml file.
If these options are not indicated the ViSH application will operate without any troubles, but some services will not be available.
Some of this additional settings are described in this same page, while others are tackle in the page corresponding to the service to which they are related.

ViSH Services

  1. Uservoice
  2. Google Analytics
  3. Facebook
  4. Twitter
  5. Google Plus
  6. Automatic Language Detection
  7. YouTube
  8. SoundCloud
  9. Flickr
  10. Europeana
  11. LRE (Learning Resource Exchange)
  12. Learning Object Evaluation Platform
  13. How to set up the Tracking System

Configure the Uservoice tool (http://www.uservoice.com) to get feedback from the end users.

Key Description
uservoice[scriptURL] The URL of the uservoice javascript file. To obtain this URL you must create an account at http://www.uservoice.com. This URL should be like this "//widget.uservoice.com/uservoiceKey.js".

 

Activate Google Analytics on the ViSH instance.

Key Description
ganalytics[trackingID] Google Analytics Tracking Identifier. You should get this id from http://www.google.es/intl/es/analytics.

 

Enable sharing via Facebook.

Key Description
facebook[appID] Facebook application identifier. You should register you application at http://facebook.com.

 

Enable sharing via Twitter.

Key Description
twitter[enabled] This value should be true for enabling sharing via Twitter.

 

Enable sharing via Google Plus.

Key Description
gplus[enabled] This value should be true for enabling sharing via Google Plus.

 

ViSH can automatically detect resources language if the user don't specifies it. To do that, ViSH uses the service provided by http://detectlanguage.com. To enable this service, add the following param to the application_config.yml file.

Key Description
languageDetectionAPIKEY API Key from http://detectlanguage.com to allow automatic language detection.

 

Enable YouTube in the ViSH Editor authoring tool. This way, users will be able to search for videos in YouTube and add them to their interactive presentations (excursions). To enable this service, you should get an API key from https://developers.google.com/youtube/v3/getting-started and include the following param in the application_config.yml file.

Key Description
YouTubeAPIKEY API Key from https://developers.google.com/youtube/v3/getting-started.

 

Enable SoundCloud in the ViSH Editor authoring tool. This way, users will be able to search for resources in SoundCloud and add them to their interactive presentations (excursions). To enable this service, you should get an API key from https://developers.soundcloud.com and include the following param in the application_config.yml file.

Key Description
soundCloudAPIKEY API Key from https://developers.soundcloud.com.

 

Enable Flickr in the ViSH Editor authoring tool. This way, users will be able to search for images in the Flickr repository and add them to their interactive presentations (excursions). To enable this service, you should include the following param in the application_config.yml file.

Key Description
Flickr "true"

 

Enable Europeana in the ViSH Editor authoring tool. This way, users will be able to search for resources in the Europeana repository and add them to their interactive presentations (excursions). To enable this service, you should get an API key from http://labs.europeana.eu and include the following param in the application_config.yml file.

Key Description
EuropeanaAPIKEY API Key from http://labs.europeana.eu.

 

Enable LRE (Learning Resource Exchange) in the ViSH Editor authoring tool. This way, users will be able to search for resources in the LRE repository and add them to their interactive presentations (excursions). To enable this service, you should include the following param in the application_config.yml file.

Key Description
LRE "true"