Edition Visualization Technology 2 - development
Latest commit 307d032 Jun 15, 2018

README.md

EVT 2.0 (evt-viewer)

Short instructions to install and configure the development framework for EVT 2.0 (evt-viewer).

Dev Environment Prerequisites

EVT has dependencies that require ruby, ruby-compass, bower, grunt, npm, git

Environment setup

Linux [apt baset distribution]

The following commands assume that you are runinng a distribution with the apt package manager.

  1. Update the package dataase (just to be sure that everything's ok)
sudo apt-get update
  1. Install GIT (to do only if you haven't already installed git)
sudo apt-get install git
  1. Install ruby
sudo apt-get install ruby-compass build-essential curl
sudo gem install compass
  1. Install Nodejs
curl -sL https://deb.nodesource.com/setup_5.x
sudo -E bash
sudo apt-get install -y nodejs
  1. Install grunt and bower globally (bower v. 1.8.0 is recommended)
sudo npm install -g bower
sudo npm install -g grunt-cli
  1. Clone the EVT repository
git clone https://github.com/evt-project/evt-viewer.git
cd evt-viewer
  1. Install dependencies
npm install [ignore any WARN message, they are harmless]
npm install bower
bower install [choose the angular.js version recommended for evt-viewer]

Windows

  1. Install GIT (to do only if you haven't already installed git)

Download and install from the (git web site)[https://git-scm.com]

  1. Install ruby

Install the latest Ruby version at (http://rubyinstaller.org/)[http://rubyinstaller.org/] IMPORTANT: in the installer window select the "Add Ruby executables" options Open a shell as administrator, then type:

gem install compass
gem install susy
  1. Install Nodejs

Install nodejs from https://nodejs.org/ or https://nodejs.org/en/download/package­manager

  1. Install grunt and bower globally (bower v. 1.8.0 is recommended)
npm install -g bower
npm install -g grunt-cli
  1. Clone the EVT repository
git clone https://github.com/evt-project/evt-viewer.git
cd evt-viewer
  1. Install dependencies
npm install [ignore any WARN message, they are harmless]
npm install bower
bower install [choose the angular.js version recommended for evt-viewer]

OS X

  1. Install Homebrew [to do only if you haven't already installed homebrew]

Follow installation instructions at https://brew.sh

  1. Install GIT (to do only if you haven't already installed git)
brew install git
  1. Install ruby
brew install ruby
sudo gem update --system
sudo gem install compass
  1. Install Nodejs
brew install node
  1. Install grunt and bower globally (bower v. 1.8.0 is recommended)
npm install -g bower
npm install -g grunt-cli
  1. Clone the EVT repository
git clone https://github.com/evt-project/evt-viewer.git
cd evt-viewer
  1. Install dependencies
npm install [ignore any WARN message, they are harmless]
npm install bower
bower install [choose the angular.js version recommended for evt-viewer]

Start EVT

Before starting EVT check if you have a data folder inside app where to put you XML file(s); otherwise create it. Then check if in the app/config/config.json the property dataUrl is pointing to your edition file. If you need, you can also change some of the other configuration parameters. If you need information about the configuration file, please check the README.md within the app folder, or use the beta EVT2-Config-Generator(http://evt.labcd.unipi.it/evt2-config/) to set your preferences and download a ready to use JSON file.

To start EVT use grunt

grunt dev

Generate EVT Development Documentation

grunt docs

This will create a devDocs folder. Open the index.html inside this folder in a browser that allows Cross origin requests (e.g. Firefox) and navigate the documentation.

Troubleshooting

IN CASE OF CSS COMPILATION ERRORS

sudo gem install rubygems-update
sudo update_rubygems
sudo apt-get install ruby-dev
sudo gem install compass susy

IN CASE OF VISUALIZATION PROBLEMS

grunt dev --force

EVERY TIME YOU INSTALL A NEW PACKAGE:

Stop grunt dev (CTRL+C) then:

bower install
grunt dev

EVERY TIME YOU CHECKOUT TO A DIFFERENT BRANCH:

Stop grunt dev (CTRL+C) then:

npm install
bower install
grunt dev

Build a new EVT release

grunt build

This will create a build folder containing the built package. Add a data folder with the XML files you need and open the index.html file to see your digital edition. NB: in this case, in order to make EVT work properly in a local environment, you need to use a browser that allows Cross origin requests (e.g. Firefox).

Branch description

master

This is the main branch.

develop

This is the main development branch.

critical-edition

Branch dedicated to the initial development of functionalities to support critical edition. This is a closed branch.

dipl-mobile

Branch dedicated to the development of support for mobile devices. This is an abandoned branch.

WIP FEATURE

feature/dipl-interp-edLevel

Branch dedicated to the development of functionalities to support diplomatic and interpretative edition levels.

feature/msDescription

Branch dedicated to the development of functionalities to support manuscript description access.

feature/place-names-map

Branch dedicated to the development of functionalities to support an interactive map of places appearing in Named Entities Places List.

feature/search

Branch dedicated to the development of an internal Search Engine.

feature/verses

Branch dedicated to the development of the support of prose/verse visualization.

feature/viewer-ITL

Branch dedicated to the development of a new Image Viewer and the support for Image Text Linking feature.

STANBY FEATURE

feature/3DHOP-support

Branch dedicated to the test the integration of the tool 3DHOP. This is a temporarily abandoned branch.

CLOSED FEATURE

feature/bibliography

Branch dedicated to the development of functionalities to support bibliography. This is a closed branch.

feature/critical-edition-2

Branch dedicated to the development of functionalities to support critical edition. This is a closed branch.

feature/documentation

Branch dedicated to the documentation management. This is a closed branch.

feature/localization

Branch dedicated to the development of UI localization. This is a closed branch.

feature/named-entities

Branch dedicated to the development of functionalities to support Named Entities. This is a closed branch.