This project is generated with yo angular generator version 0.11.1.
Run mvn clean install
for deb build, grunt
for build and grunt serve
for preview.
You may need to set up your local environment for grunt, bower and compass to get grunt serve
to work - from your application root, run the following as needed:
Run npm install grunt -g
to make the local application aware of your grunt installation.ß
Run npm update
to ensure grunt dependencies are up to date.
Run bower install
to catch all build dependencies.
Run gem update --system
to ensure all Ruby gems are up to date.
Run gem install compass
to install the Compass SASS compiler.
The template application is based on a 'Folder per Feature' formula. Each significant component within the application should have it's own folder within the 'components' section. This folder should contain a html template, javascript file (containing it's module definition, controller, config and any feature specific factories or services), and the feature's Karma unit test (via Jasmine. File name should be appended with .spec.js).
Any modules, services, directives, filters etc should be included within the /shared directory. Here they will be picked up automatically by the compiler.
In order to obtain api-endpoint information within the local environment and avoid CORS errors when accessing SNOWOWL and IMS endpoints a configuration similar to the following (very basic) should be used:
user 'details here';
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
server {
listen 8080;
server_name localhost;
location / {
root /FileLocation/authoring-ui/dist;
}
location /config {
alias /FileLocation/authoring-ui;
}
location /snowowl {
proxy_pass https://www.example.com/snowowl;
}
location /auth {
proxy_pass https://www.example.com/api/account;
}
}
server {
listen 8081;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:9000;
}
location /config {
proxy_pass https://www.example.com/config;
}
location /snowowl/ihtsdo-sca {
proxy_pass https://www.example.com/snowowl/ihtsdo-sca;
}
location /snowowl {
proxy_pass https://www.example.com/snowowl;
}
location /authoring-services {
proxy_pass https://www.example.com/authoring-services;
}
location /template-service {
proxy_pass https://www.example.com/template-service;
}
location /spellcheck-service {
proxy_pass https://www.example.com/spellcheck-service;
}
location /auth {
proxy_pass https://www.example.com/api/account;
proxy_set_header Accept "application/json";
}
location /traceability-service {
proxy_pass https://www.example.com/traceability-service;
}
}
}
In order to access these location after running nginx you should use the URL 'local.ihtsdotools.org:8080' (for a local approximation of the site at it will be deployed, updates rely on running 'grunt'), or 'local.ihtsdotools.org:8081' (for local development, all requests except those needing specific handling will be proxied to the livereload server).
These urls are used so that the browser picks up the authentication cookies used by IMS correctly. Using localhost instead will leave the developer unable to log in.