Installing the LSS-UDSL Visual Editor

Cardoso et al. developed this web app in Ruby, using the Ruby on Rails framework – so if you don’t have Ruby installed in your computer, you need to install it. Follow this link for all the information on how to install Ruby on your platform.

This application is versioned in Git, so if you don’t have Git installed, you should also install it. Follow this link for all the information on how to install Git on your platform.

If you want to run this application on your computer and not on a production server, you also need to install the database SQLite, to store the information even when you exit the editor. Follow this link for the installation instructions. If you are configuring a production environment, then you should install PostgreSQL instead.

The first step to set up this app on your computer is to clone the Git repository. To do so, type the following in your terminal:

git clone git@github.com:rplopes/lss-usdl_editor.git

This will copy all the necessary files to the directory lss-usdl_editor. To go to that directory:

cd lss-usdl_editor

Now you need to install the required dependencies. If you don’t have the Bundler gem installed:

gem install bundler

Now to install all other required gems:

bundle install

In order to save data we need to have a database and the right schema. We use the SQLite database because it is great for lightweight usage. If you are setting up a production environment, then the database is PostgreSQL. The required commands to generate the database and schema are:

rake db:create
rake db:migrate

Initially, I received an error message – no Javascript runtime – solution:

If you have CentOS 6.x, and have enabled the EPEL repository, you can use yum to install node/npm:

sudo yum install npm

After the installation is complete, check to make sure node is setup properly:

$ node -v
# Returns v0.10.36

Set up the database again:

rake db:create
rake db:migrate

This process creates these tables:

  • users
  • service_systems
  • goals
  • process_entities
  • business_entities
  • roles
  • resources
  • locations
  • interactions
  • interactions_roles
  • goals_interactions
  • interactions_locations
  • interactions_processes
  • interactions_receives_resources

Now everything is set. To start the application:

cd lss-usdl_editor
rails server

Output:

=> Booting Thin
=> Rails 3.2.12 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
>> Thin web server (v1.5.1 codename Straight Razor)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop

Useful links

  • Linked Service Systems for USDL: Open source repository of the LSS-USDL model.
  • USDL Incubator Group: LSS-USDL is part of the research for service systems by the USDL research group.
  • Linked USDL: Similar project, focusing on service descriptions for customers. The third use case found in LSS-USDL’s repository shows a service system modeled both in LSS-USDL and Linked USDL.
  • Linked USDL core: Repository for the core module of Linked USDL. The other modules may be found under the same Github profile.
  • Semantic Web: Technologies such as RDF are a core component of LSS-USDL.

Installing Rails

On CentOS, the default version of Ruby installed is 1.8.7. Some Ruby applications (like Rails) require Ruby version 1.9 and higher, so they cannot run properly on stock CentOS.

If you already installed ruby and ruby-devel packages with yum before, remove them first before upgrading Ruby.

sudo yum remove ruby ruby-devel

The Ruby Version Manager – RVM – is the simplest means of getting the latest Ruby interpreter (version 2.1.0) installed on a VPS running CentOS .

As the first step, we need some development tools – but even before that, I found I was missing an XML Parser – so let’s install that and then get the development tools:

perl -MCPAN -e 'install XML::Parser'
yum groupinstall -y development

To download and install RVM:

curl -L get.rvm.io | bash -s stable

To download and install RVM, run the following (the gpg2 command is to address an authentication failure in the curl):

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
curl -L get.rvm.io | bash -s stable

Next, create a system environment using RVM shell script:

source /etc/profile.d/rvm.sh

To install Ruby 2.1.0 from source using RVM:

rvm reload
rvm install 2.1.0 

To see all the installed Ruby versions, use the following command:

rvm list rubies

(Here, I only see Version 2.1.0, but the default 1.8.7 is still lurking ’cause when I try installing Rails using yum instead of RVM it fails! – So I install Rails using RVM – expecting that this will suffice to bypass the CentOS fail!)

Set this Ruby version as the default:

rvm use 2.1.0 --default

… and install Rails (takes a good while):

gem install rails

Learn more about using RVM.

Installing GIT

I ran into a problematic interaction between Cpanel and the installation of GIT – so we need to disable the excludes:

yum --disableexcludes=main install git

Also turns out that I hadn’t associated a public key with my github account, so go do that now.