# Overview

# Description

SmartSLA adds the ability for clients to create support tickets / issues concerning supported software under a scope of a contract and interact with experts and admins.

it consists of:

  • frontend app built using VueJS.
  • OpenPaaS component as backend, built using nodeJS.

# Supported Browsers

SmartSLA uses vue CLI version 3 ,you don't have to add polyfills to support Internet EXplorer 11 and Safari 9/10 . It's automatically generated for you

Browsers Supported
Chrome
Firefox
Safari 10+
Edge
IE11
IE9/IE10 X

# Installation

here are the steps required to install SmartSLA after you have installed OpenPaas

# 1. install the backend component

$ESN_PATH is your openpaas installation path $SMARTSLA_PATH is your SmartSLA installation path

  • clone and install the project
git clone https://ci.linagora.com/linagora/lgs/smartsla/smartsla-backend.git
cd smartsla-backend
npm i
export SMARTSLA_PATH=$(pwd)
1
2
3
4
  • link the module to OpenPaas
cd $ESN_PATH/modules
ln -s $SMARTSLA_PATH smartsla-backend
1
2
  • add it to the modules list
vi $ESN_PATH/config/default.json
1

add smartsla-backend to the modules array

...
"modules": [
...,
"smartsla-backend"
],
...
1
2
3
4
5
6
  • run or restart OpenPaas

# 2. install the frontend app

  • clone and install the project
git clone https://ci.linagora.com/linagora/lgs/smartsla/smartsla-frontend.git
cd smartsla-frontend
npm i
1
2
3
  • run the development server
npm run serve
1

assuming OpenPaas is already running, the SmartSLA should be running on http://localhost:8081

  • build the project for production
npm run build
1

the built project is located in dist folder and can be deployed in any web server ( ie nginx )

# configuration

# 1. frontend app

edit the public/env/openpaas.js file:

  • VUE_APP_OPENPAAS_URL your openpaas instance url where the SmartSLA backend component is installed.
  • SSP_URL your SSP url to be used to reset user passwords.
  • LIMESURVEY_URL your limesurvey instance url.
  • SUPPORT_ACCOUNT customize your SmartSLA information

# 2. backend app

  • Set the limesurvey API in the configuration: http://limesurvey.smartsla.local is our limesurvey instance url
export $ESN_URL="http://localhost:8080/"
export $ESN_ADMIN="[email protected]"
export $ESN_PASS="secret"
curl -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' $ESN_URL -u "$ESN_ADMIN:$ESN_PASS"  -d '[
  {
    "name": "smartsla-backend",
    "configurations": [
      {
        "name": "limesurvey",
        "value": {
          "surveyId": 491487,
          "apiUrl": "http://limesurvey.smartsla.local/index.php/admin/remotecontrol/",
          "username": "admin",
          "password": "password",
          "limesurveyUrl": 'http://limesurvey.smartsla.local/'
        }
      }
    ]
  }
]'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 3. limesurvey

  • After installing and running limesurvey and postgresql, you can start using limesurvey home page.

  • Otherwise You can follow the installation procedure for limesurvey 2.0 (opens new window).

    1. Click Next until you reach the Database configuration screen

    insert the following in the fields:

    Database type `PostgreSQL`
    Database location `pgsql`
    Database user `postgres`
    Database password `limesurvey`
    Database name `limesurvey`
    Table prefix `lime_`
    
    1
    2
    3
    4
    5
    6
    1. Activate the /admin/remotecontrol API:
    1. Import the survey:
    1. Initialize the survey participants, a table for our survey will be created in the database:
    • Click on survey participants and after that click on Initialise participant table
    1. Activate the survey:
    • Click on activate this survey
    • Select params fields
    • Click on Save & activate survey

# 4. using SmartSLA

  • the admininstration page is available at http://localhost:8081/administration, you can use your openpaas admin credentials to login:
email: [email protected]
password: secret
1
2

# Tutorial video

SmartSLA guides

# Playlist SmartSLA - EN (opens new window)

# before starting

# Creating a Software, Client and Contract

  1. Select Softwarecreate new software
    • Click on the '+' icon
    • Fill in the field Name
    • Hit Create
  2. Select Clientscreate new client
    • Click on the '+' icon
    • Fill in the field Name
    • Hit Create
  3. Select Contractscreate new contracts
    • Click on the '+' icon
    • Fill the field Name
    • In Client choose the client we created before
    • Fill in thefields Timezone, Business hours, Start date and End date
    • Hit Create
  4. In Contract detail page, fill in Supported software
    • Click on the '' icon and on the '+ ADD' button
    • Fill in the fields Software, Start date, Critical, Version and OS
    • Hit Create
  5. Go back ← to the Contract detail page, fill each Contractual commitments
    • Click on the '' icon and on the '+ ADD' button
    • Fill in the fields Request type, Severity, Ossa identifier and Treatment time range of Business hours
    • Hit Create

# Creating Users

  • Select Userscreate new user
  • Click on the '+' icon
  • Choose the Type
  • In the Search users field, find an LDAP user.
  • Choose the Role
  • If Beneficiary type is selected →, you need also to select Client and Contracts
  • Hit Create

# creating an issue

  1. go to the home page (opens new window)
  2. Select New issue in the menu
    • Fill in the Title field
    • Select the Contract
    • Fill in the Type, Software, Severity and *Description fields
    • Hit Submit

# user types and roles

there are two types of users in SmartSLA:

  • the Beneficiary is a customer linked to a client and can create, see and respond to tickets
  • the Expert is part of the team handling the issues

User roles is explained in the following table :

TYPE Beneficiary Expert Admin OP
ROLE Viewer Beneficiary Expert Manager Administrator Platform Admin
TICKETS List / Get Only those linked to its contracts
Create
Update X X
Comment
Comment private X
Archive X X X X
USERS /TEAMS /CLIENTS List / Get Only those linked to its contracts Only those linked to its contracts
Create X X
Update X X
Delete X X
SOFTWARE List / Get Only those linked to its contracts Only those linked to its contracts
Create X X
Update X X
Delete X X
CONTRACTS List / Get Only his contracts Only his contracts X
Create X X X
Update X X X
Delete X X X
Profile Get own profile