ShareSci: A Research Paper Networking Site

Size: px
Start display at page:

Download "ShareSci: A Research Paper Networking Site"

Transcription

1 ShareSci: A Research Paper Networking Site Mike D'Arcy Status Report - April 25, 2017 Utkarsh Patel Introduction We proposed ShareSci, a research paper library site where users can find, discuss, and contribute scholarly articles. Our primary goal is to improve on existing sites like ResearchGate by putting a greater focus on content than on users, and streamlining the process of finding and interacting with the uploaded articles and data. In this document, we will report the end-of-semester status of the project, and provide detailed documentation on how to replicate the site on a different server. Site Status In our proposal, we stated the core features that we wanted to implement this semester, which form the basis for a functioning site. These can be broadly divided into the user account system and the article management system. For user accounts, we had aimed to create a system in which users could log in with their username and password, and could manage all of their account information such as changing their password, , name, institution, or personal biography. For articles, we had aimed to find a method for obtaining existing article metadata in bulk, allowing users to upload their own articles, allowing users to view/download articles, and performing a keyword search on our article database. We are pleased to report that all of these features have been completed. Tools and Setup We used a variant of a MEAN stack for our site. NodeJS Express was used for the webserver, MongoDB for the article database, and AngularJS for the frontend. PostgreSQL was used for our user database, as we deemed ACID compliance more important for this type of data than the horizontal scalability and flexible schema offered by MongoDB. The site runs on an Ubuntu server, although it should be capable of running on any Linux based server. Beyond this core framework, we also used Git for version control and deployment. We will now describe the setup 1 procedures for each tool individually, along with the main references we consulted to use them. Note that the setup of the base OS is beyond the scope of this document, but there is effectively no deviation from the official Ubuntu installation instructions found at: 1 Only the major references are listed in this section. For a complete list, see the References section at the end of the report.

2 Git Primary references: We created a repository on GitHub to act as the central repository for our project. To enable deployment to our production server, we created a webhook on GitHub that automatically sends a JSON request to our server whenever a commit is pushed to the repository. We created a script on the server that listens for this request, and then automatically pulls the latest stable server code from the master branch and starts the site server. The instructions for setting up a GitHub webhook can be found in the second reference listed above, and the script we used to receive the webhook events is available in our source code repository: NodeJS (v4.2.6) Primary references: Setting up NodeJS consisted primarily of using package managers. We first installed NodeJS and NPM with the command: sudo apt install nodejs npm. We then installed the necessary community-developed NodeJS modules. We specify these in a package.json file in our repository (to ensure consistent versioning and for convenient installation), which can be found in our source code repository. With this file, we can simply run npm install to update all of our dependencies. One caveat due to the way AngularJS is set up is that there are actually two package.json files; one in the root of our repository, and one under the clients/ directory. The npm install command must be run from both locations to install the necessary modules for both Angular 2 and the core server. MongoDB (v2.6.10) Primary reference: There was very little setup here. Just run: sudo apt install mongodb. Our data collection procedure will be described separately. After collecting data, we enabled full text search of articles by indexing our article collection: db.papers.createindex({"$**": "text"). PostgreSQL (v9.5.6) Primary reference: Again, setup was simple: sudo apt install postgresql. Then we ran psql to create a new user for our database: CREATE ROLE sharesci WITH LOGIN ENCRYPTED PASSWORD 'sharesci';. Create the database: CREATE DATABASE sharesci;. Finally: GRANT ALL ON DATABASE sharesci TO sharesci;. The database can now be used with the connection string: postgres://sharesci:sharesci@localhost/sharesci. The creation of our schema and stored

3 procedures was automated, and can be found in our source code under scripts/pg_db_schema_setup.sql. The schema can be generated by running psql < scripts/pg_db_schema_setup.sql. Angular 2 Primary reference: Setting up Angular for local development is relatively complex procedure. The standard procedure is explained in detail at After following the standard setup of Angular 2, we installed community developed node components for Angular. The list of all required components can be found in clients/npm-shrinkwrap.json from our source repository. Hosting Our site is currently hosted on a DigitalOcean cloud server (1 CPU, 1 GB RAM, 20 GB disk). There isn't much else to say about the hosting, but we explain some of our domain security in the HTTPS section below. HTTPS Primary reference: Our site uses HTTPS to ensure the security of our users, which requires obtaining a pair of public and private keys for use by the SSL/TLS protocol. The public key must be digitally signed by a trusted certificate authority (CA) to verify the authenticity of the site. We purchased a domain (sharesci.org) from Google Domains and obtained our certificates from Let's Encrypt. This consisted of simply following the instructions from their website, and the procedure may vary for different platforms so we will not reprint it here. The most vital note in this process is that the private key should be kept absolutely secret to ensure security. Only highly trusted administrator accounts should have permissions to read it. CAs will usually not provide certificates for connecting to the site via IP address, so if the server is run without owning a domain name the administrator should generate their own keys and self-sign them. This is inconvenient for the end user because most browsers will automatically block access to sites using self-signed certificates and require the user to manually override the authenticity check. Because we got certificates from a CA, we will omit instructions for self-signing, but interested readers may find the following link helpful:

4 Final Setup After all of the above tools have been installed and configured, the server can be started by changing to the root of the source tree and running sudo nodejs server.js (sudo is needed to allow the server to bind to ports 80 and 443, as well as access the TLS certificates). It is likely desirable to seed the article database as part of the setup process, for which we point readers to the Data Collection section. Server Side Implementation Code Structure To manage the complexity of our site, we have attempted to maintain a modular code structure. In the root of our source tree, we have several directories, each containing a different part of the site's functions. The clients/ directory holds all the files for Angular 2 and the client-side components of the site. The controllers/ directory contains the code for all of our REST API endpoints. The routes/ directory is responsible solely for assigning each incoming request to an appropriate controller. The util/ directory contains code that is used by multiple separate components. The scripts/ directory contains miscellaneous script files that are not directly included in the core site, but are useful for administration (these include the arxiv harvesting script and the script triggered by the Github webhook). Finally, the uploads/ directory is simply an empty directory to be used by the server for storing uploaded PDFs and other large data items. User Accounts Our REST API contains endpoints for several account-related features, including account creation, login, logout, profile updating and changing password. Account creation and profile updates are simply wrappers around the database, so there would be little merit to explaining them here over simply reading the relevant source code. Logins are session-based, and we manage sessions using the express-session module for NodeJS. We securely store the users' passwords in the database, using bcrypt for salting and hashing. Logging in consists of sending credentials to the server, which then returns a session cookie. Logging out simply deletes the session on the server side. One technicality that arises from the session-based login scheme is that a few of our REST API endpoints are not actually RESTful. Requests such as changing a user's password require being logged in, which means these requests are not entirely stateless. This has no significant consequences at this stage of development, but in the future we may consider using token-based authentication to create a truly stateless and RESTful API.

5 Article Searching We use the built-in text indexing and searching features in MongoDB to enable searching for articles. An unfortunate drawback is that MongoDB allows only one text index per collection, so there is no way to make the search granular to the level of separating title, author, or full-text searches. However, using the built-in algorithm allowed us to develop the site much more quickly and resulted in a more robust and powerful algorithm than we likely could have developed in just a few weeks. Improving upon this search algorithm is a potential topic of future research. When a request is sent to the search endpoint of the API, the backend code feeds the query to MongoDB, which searches based on all textual fields in each document. This most notably includes title, author, abstract, and full text. It then sorts based on the relevance score for each result. We included parameters to the API for controlling the number of results returned, so the client could request only the 10 most relevant results, for example. This is very important for improving load times, as there are often over 100,000 results for a query. Article Uploading Article uploads are handled in part by the Multer middleware for NodeJS/Express. File uploads in POST requests require using the multipart/form-data encoding, as opposed to the default urlencoded encoding. Multer parses this encoding and stores the uploaded file in our uploads/ directory. Then, we insert the filename of the upload along with the metadata into MongoDB. We additionally store the original filename and the MIME type of the data (which are typically given in the file upload request). Storing these allows us to maintain the user's original filename and filetype, while allowing Multer to assign a unique filename to each upload. We want users to be able to find their articles, so after a PDF is uploaded, we use the pdftotextjs NodeJS module to extract text from the PDF. This module is simply a wrapper around the pdftotext application for Linux. It currently supports embedded text only (no OCR), but we believe it is very feasible to add OCR capabilities in the future. The extracted text is stored in MongoDB, so that it will be indexed and enable searching for the uploaded article. Article Downloading This is relatively simple. Given an article ID, we can find the filename in the database and serve it to the client. The main point of note is that we must adjust the Content-Type response header to indicate the original type of the file, and the Content-Disposition response header with the filename= parameter specified to indicate the original filename for download.

6 Client Side Implementation Code Structure Primary Reference: We are following the recommended angular 2 styleguide to structure our client side code. We are also following the standard naming conventions specified in the angular 2 style guide to name all the client side files. Due to the small size of our application, all the components of angular application are currently under one root module. As our application grows we will refactor our code and separate each feature in a different angular module. Components Our application is a single page application. All the views are part of a single HTML page, and the view is dynamically updated as user interacts with the application. The application has total of seven views and each view is controlled by a separate component and styled by a separate stylesheet. All the components are listed below. 1. Home 2. Login 3. Account 4. Search-Results 5. Article 6. Upload 7.Create-Account Besides the seven main component listed above, we also have a navbar component which is used by all the main components. Services The client communicates with the server through angular services. All the components consume these services to send and receive data from server. Currently, client has total of four services that communicates with server. The Authentication Service is used to login and logout user. The article service is used to get the metadata and the pdf of article by posting the artcle_id to the article API. The search_result service is used to get the list of articles from server based on the user search query. The account service is used to get the user account information such as name, username, institution etc. and to modify these information. Besides these four main services, we also developed an internal service to share data between components. This internal service does not communicate with server and is solely used to exchange data between different components. Entities The server API sends the data to client in a specific format. The structure of all the server side entities is also defined on client side using typescript interfaces. Having a common definition of entities on both server side and client side makes it easier to transform a json object sent by server

7 into a typescript interface, and also reduces the possibility of error. The client has currently three entities defined: Article, User and Search-Results. Data Collection Primary reference: For our testing, we collected metadata for 800,000 papers from the arxiv article database using the Open Archive Initiative's Protocol for Metadata Harvesting (OAI-PMH). These papers were inserted into our MongoDB instance. OAI-PMH is an open protocol designed to facilitate metadata exchange in a more efficient way than web scraping, to save resources for both servers and harvesters. The data returned by requests to an OAI-PMH API is in XML format, which means we had to convert it to JSON for use with MongoDB. We used the cheerio module to do some preliminary XPath selection and pruning of the responses, which were returned in batches of 1000 papers (the protocol specifies "resumption tokens" so large result sets can be downloaded in batches). This module allowed us to select the relevant sections article metadata from the result set and prepare them for conversion to JSON. We then used xml2js to convert the data to JSON and inserted it into the database. Lastly, because we were harvesting such an extreme amount of data, we wanted to avoid putting too much of a load on the arxiv server, so we limited our requests to once per 30 seconds. In this way, we were able to get metadata for all the papers since 2010 by allowing the script to run overnight. We might have obtained more, but decided not to because we were using a low-powered server. The full harvesting script can be found in our source code under scripts/harvest_arxiv.js. Conclusion We have created ShareSci, a content-focused research paper sharing site. While there are numerous paths for future improvement, including (but not limited to) the higher-tier features listed in our original proposal, we have made significant progress as we developed the site throughout the semester. In this report, we have documented the tools used, setup procedures, and the high-level design and implementation strategies we used in building the site. For readers interested in the precise details of the implementation, we recommend taking a look at our source code repository on 2 Github : 2 Note that we do not include the source code in the print submission, as it is more than 100 pages in length. In our electronic submission, we will include a PDF compilation of the source code.

8 References Naturally, it would not be feasible to provide links to every single source viewed during the development of this site, but here we do provide links to sources and documentation which were actively consulted in the design and implementation. File structure and routing pattern partially inspired by: pg-promise NodeJS module documentation: PostgreSQL documentation: MongoDB NodeJS module documentation: ResearchGate had an important role in some design decisions: Angular 2 documentation: NodeJS Express reference: Sessions for Express: Cheerio documentation: Xml2js documentation: Bcrypt NodeJS documentation: Multer documentation: Body-parser for Express: Let's Encrypt Getting Started: OAI-PMH specification: arxiv OAI-PMH interface: Postman (for API testing): Force HTTPS: NodeJS documentation: Promises in JavaScript: mise Best practices and tool selection: Angular 2 Pagination:

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26 ./server.js Page 1 const express = require('express'), express_session = require('express session'), https = require('https'), http = require('http'), fs = require('fs'), rootrouter = require('./routes/index'); const app = express(); var https_ok = true; var https_options = {; try { var https_options = { key: fs.readfilesync('/etc/letsencrypt/live/sharesci.org/privkey.pem'), cert: fs.readfilesync('/etc/letsencrypt/live/sharesci.org/cert.pem') ; catch (err) { https_ok = false; if (err.errno === 13 && err.syscall === 'open') { console.error('access permissions denied to SSL certificate files.' + ' HTTPS will not be available. Try running as root.'); else { console.error(err); app.use('/', (req, res, next) => { if(!req.secure && https_ok) { return res.redirect([' req.get('host'), req.url].join('')); next(); ); app.use(express_session({ secret: require('crypto').randombytes(64).tostring('base64'), resave: false, saveuninitialized: false, httponly: true, secure: true, ephemeral: true, cookie: { maxage: 16*60*60*1000 )); app.use('/', rootrouter); app.use('/', express.static( dirname + '/client')); http.createserver(app).listen(80); if (https_ok) { https.createserver(https_options, app).listen(443);

27 ./README.md Page 1 # ShareSci ShareSci is a research publication publication and discussion website, currently being developed as a school project by Mike D'Arcy and Utkarsh Patel. We aim to make it easier for researchers to find papers related to their field of study, to discuss the contributions and flaws of studies, and to publish their own studies (even negative results).

28 ./controllers/account.js Page 1 const pgdb = require('../util/sharesci pg db'), bcrypt = require('bcrypt'), validator = require('../util/account_info_validation'); function index(req, res) { // TODO: change the redirect based on whether the user is logged in res.redirect('/login'); function createaction(req, res) { var responseobj = { errno: 0, errstr: "" ; function oninsertcomplete(data){ responseobj.errno = 0; responseobj.errstr = ""; res.json(responseobj); res.end(); e function oninsertfailed(err) { if (err.code === '23505') { // Violated 'UNIQUE' constraint, so username was already in us responseobj.errno = 8; responseobj.errstr = "Account already exists"; res.json(responseobj); else { console.error(err); responseobj.errno = 1; responseobj.errstr = "Unknown error"; res.json(responseobj); res.end(); valuespromise = new Promise((resolve, reject) => {values_from_request(req, res olve, reject);); valuespromise.then((values)=>{ return new Promise((resolve, reject)=>{insertvalues(values, resolve, r eject);); ).then(oninsertcomplete).catch(oninsertfailed); valuespromise.catch((err) => { responseobj.errno = err.errno; responseobj.errstr = err.errstr; res.json(responseobj); res.end(); ); function insertvalues(values, resolve, reject) { const query = 'INSERT INTO account (username, passhash, firstname, lastname, s elf_bio, institution) VALUES (${username, ${passhash, ${firstname, ${lastname, ${s elf_bio, ${institution);'; pgdb.any(query, values).then((data) => { resolve(data); ).catch((err) => { reject(err); );

29 ./controllers/account.js Page 2 // Sets up values for insertion into the database // and validates them. Calls `resolve` with a JSON // object containing the values on success, calls // `reject` with a JSON object containing error info // on failure. function values_from_request(req, resolve, reject) { if(!req.body.password) { reject({errno: 6, errstr: 'Missing password'); return; var passsalt = bcrypt.gensaltsync(10); var passhash = bcrypt.hashsync(req.body.password, passsalt); var values = { 'username': req.body.username, 'passhash': passhash, 'firstname': req.body.firstname, 'lastname': req.body.lastname, 'self_bio': req.body.self_bio, 'institution': req.body.institution ; for (key in values) { if(typeof values[key] === 'undefined') { values[key] = null; // Validate values if (!validator.is_valid_username(values['username'])) { reject({errno: 2, errstr: 'Invalid username'); return; if (!validator.is_valid_password(req.body.password)) { reject({errno: 3, errstr: 'Invalid password'); return; if (!validator.is_valid_firstname(values['firstname'])) { reject({errno: 6, errstr: 'Invalid firstname'); return; if (!validator.is_valid_lastname(values['lastname'])) { reject({errno: 6, errstr: 'Invalid lastname'); return; if (!validator.is_valid_institution(values['institution'])) { reject({errno: 6, errstr: 'Invalid institution'); return; if (!validator.is_valid_self_bio(values['self_bio'])) { reject({errno: 6, errstr: 'Invalid self biography'); return; resolve(values); module.exports = { index: index, createaction: createaction ;

30 ./controllers/login.js Page 1 const pgdb = require('../util/sharesci pg db'), bcrypt = require('bcrypt'); function loginaction(req, res) { var responseobj = { errno: 0, errstr: "" ; if(req.session.user_id) { responseobj.errno = 4; responseobj.errstr = "Already logged in"; res.json(responseobj); res.end(); pgdb.func('get_user_passhash', [req.body.username]).then((data) => { if (bcrypt.comparesync(req.body.password, data[0]['passhash']) ) { req.session.user_id = req.body.username; responseobj.errno = 0; responseobj.errstr = ""; res.json(responseobj); else { responseobj.errno = 3; responseobj.errstr = "Incorrect password"; res.json(responseobj); res.end(); ).catch((err) => { if(err.received === 0) { console.log('invalid username \'' + req.body.username + '\' tried to log in.'); responseobj.errno = 2; responseobj.errstr = "Incorrect username"; else { console.error(err); responseobj.errno = 1; responseobj.errstr = "Unknown error"; res.json(responseobj); res.end(); ); function loginpage(req, res) { res.redirect('/'); res.end(); module.exports = { loginaction: loginaction, loginpage: loginpage ;

31 ./controllers/logout.js Page 1 function logoutaction(req, res) { delete req.session['user_id']; req.session.destroy(); if (req.body.successredirect) { res.redirect(req.body.successredirect); else { res.redirect('/'); module.exports = { logoutaction: logoutaction, ;

DreamFactory Security Guide

DreamFactory Security Guide DreamFactory Security Guide This white paper is designed to provide security information about DreamFactory. The sections below discuss the inherently secure characteristics of the platform and the explicit

More information

Cookies, sessions and authentication

Cookies, sessions and authentication Cookies, sessions and authentication TI1506: Web and Database Technology Claudia Hauff! Lecture 7 [Web], 2014/15 1 Course overview [Web] 1. http: the language of Web communication 2. Web (app) design &

More information

Back-end architecture

Back-end architecture Back-end architecture Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 2 January 2018 https://education.github.com/pack 1 2 Outline HTTP 1. HTTP and useful web tools 2. Designing APIs 3. Back-end services

More information

Certified Secure Web Application Secure Development Checklist

Certified Secure Web Application Secure Development Checklist www.certifiedsecure.com info@certifiedsecure.com Tel.: +31 (0)70 310 13 40 Loire 128-A 2491 AJ The Hague The Netherlands About Certified Secure Checklist Certified Secure exists to encourage and fulfill

More information

Overview of BC Learning Network SMS2 Introduction

Overview of BC Learning Network SMS2 Introduction Overview of BC Learning Network SMS2 Introduction This guide is designed to be a cumulative overview of the SMS2 web application. SMS2 is a student management system which integrates with Moodle, a learning

More information

Node.js. Node.js Overview. CS144: Web Applications

Node.js. Node.js Overview. CS144: Web Applications Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly

More information

Persistence. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Persistence. SWE 432, Fall 2017 Design and Implementation of Software for the Web Persistence SWE 432, Fall 2017 Design and Implementation of Software for the Web Today Demo: Promises and Timers What is state in a web application? How do we store it, and how do we choose where to store

More information

Bitnami MEAN for Huawei Enterprise Cloud

Bitnami MEAN for Huawei Enterprise Cloud Bitnami MEAN for Huawei Enterprise Cloud Description Bitnami MEAN Stack provides a complete development environment for mongodb and Node.js that can be deployed in one click. It includes the latest stable

More information

Full Stack boot camp

Full Stack boot camp Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building

More information

Guides SDL Server Documentation Document current as of 05/24/ :13 PM.

Guides SDL Server Documentation Document current as of 05/24/ :13 PM. Guides SDL Server Documentation Document current as of 05/24/2018 04:13 PM. Overview This document provides the information for creating and integrating the SmartDeviceLink (SDL) server component with

More information

This tutorial is meant for software developers who want to learn how to lose less time on API integrations!

This tutorial is meant for software developers who want to learn how to lose less time on API integrations! CloudRail About the Tutorial CloudRail is an API integration solution that speeds up the process of integrating third-party APIs into an application and maintaining them. It does so by providing libraries

More information

From the Beginning: Your First Node.js Web Service

From the Beginning: Your First Node.js Web Service From the Beginning: Your First Node.js Web Service P. Venkatramen Data Access Development Oracle Database 10 April 2018 Copyright 2017, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement

More information

IERG 4210 Tutorial 08

IERG 4210 Tutorial 08 IERG 4210 Tutorial 08 Securing web page (II): - In principle: Cookie related security issues - In practice: Point by point checklist for Phase 4A Shizhan Zhu Logistics Content for today: Provide sample

More information

Microservices with Node.js

Microservices with Node.js Microservices with Node.js Objectives In this module we will discuss: Core Node.js concepts Node Package Manager (NPM) The Express Node.js package The MEAN stack 1.1 What is Node.js? Node.js [ https://nodejs.org/

More information

What is Node.js? Tim Davis Director, The Turtle Partnership Ltd

What is Node.js? Tim Davis Director, The Turtle Partnership Ltd What is Node.js? Tim Davis Director, The Turtle Partnership Ltd About me Co-founder of The Turtle Partnership Working with Notes and Domino for over 20 years Working with JavaScript technologies and frameworks

More information

Alteryx Technical Overview

Alteryx Technical Overview Alteryx Technical Overview v 1.5, March 2017 2017 Alteryx, Inc. v1.5, March 2017 Page 1 Contents System Overview... 3 Alteryx Designer... 3 Alteryx Engine... 3 Alteryx Service... 5 Alteryx Scheduler...

More information

NETWRIX GROUP POLICY CHANGE REPORTER

NETWRIX GROUP POLICY CHANGE REPORTER NETWRIX GROUP POLICY CHANGE REPORTER ADMINISTRATOR S GUIDE Product Version: 7.2 November 2012. Legal Notice The information in this publication is furnished for information use only, and does not constitute

More information

IERG 4210 Tutorial 07. Securing web page (I): login page and admin user authentication Shizhan Zhu

IERG 4210 Tutorial 07. Securing web page (I): login page and admin user authentication Shizhan Zhu IERG 4210 Tutorial 07 Securing web page (I): login page and admin user authentication Shizhan Zhu Content for today Phase 4 preview From now please pay attention to the security issue of your website This

More information

Automation with Meraki Provisioning API

Automation with Meraki Provisioning API DEVNET-2120 Automation with Meraki Provisioning API Courtney M. Batiste, Solutions Architect- Cisco Meraki Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1.

More information

First Step Into Cloud

First Step Into Cloud First Step Into Cloud Aaron Bartell Director of IBM i Innovation Copyright 2015 Aaron Bartell albartell@krengeltech.com Solutions for the Modern IBM i Developer RPG, XML, & Web Services Featured Product:

More information

Pega Co-Browse. Installation Guide 7.4

Pega Co-Browse. Installation Guide 7.4 Pega Co-Browse Installation Guide 7.4 2018 Pegasystems Inc., Cambridge, MA All rights reserved. Trademarks For Pegasystems Inc. trademarks and registered trademarks, all rights reserved. All other trademarks

More information

LGTM Enterprise System Requirements. Release , August 2018

LGTM Enterprise System Requirements. Release , August 2018 Release 1.17.2, August 2018 Semmle Inc 180 Sansome St San Francisco, CA 94104 Copyright 2018, Semmle Ltd. All rights reserved. LGTM Enterprise release 1.17.2 Document published August 30, 2018 Contents

More information

DCLI User's Guide. Data Center Command-Line Interface

DCLI User's Guide. Data Center Command-Line Interface Data Center Command-Line Interface 2.10.2 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit

More information

ARCHITECTURE GUIDE. Campaign Manager 6.0

ARCHITECTURE GUIDE. Campaign Manager 6.0 ARCHITECTURE GUIDE Campaign Manager 6.0 VERSION CONTROL Version Date Author Changes 1.0 28 April 2017 D Cooper Release RELATED DOCUMENTS The related documents are located in the Alterian product help.

More information

Ansible Tower Quick Setup Guide

Ansible Tower Quick Setup Guide Ansible Tower Quick Setup Guide Release Ansible Tower 2.4.5 Red Hat, Inc. Jun 06, 2017 CONTENTS 1 Quick Start 2 2 Login as a Superuser 3 3 Import a License 4 4 Examine the Tower Dashboard 6 5 The Setup

More information

Developing ASP.NET MVC Web Applications (486)

Developing ASP.NET MVC Web Applications (486) Developing ASP.NET MVC Web Applications (486) Design the application architecture Plan the application layers Plan data access; plan for separation of concerns, appropriate use of models, views, controllers,

More information

TRAINING GUIDE. Lucity Web Services APIs

TRAINING GUIDE. Lucity Web Services APIs TRAINING GUIDE Lucity Web Services APIs Lucity Web Services APIs Lucity offers several web service APIs. This guide covers the Lucity Citizen Portal API as well as the. Contents How it Works... 2 Basics...

More information

Certified Secure Web Application Security Test Checklist

Certified Secure Web Application Security Test Checklist www.certifiedsecure.com info@certifiedsecure.com Tel.: +31 (0)70 310 13 40 Loire 128-A 2491 AJ The Hague The Netherlands Certified Secure Checklist About Certified Secure exists to encourage and fulfill

More information

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts MEAN Stack 1. Introduction 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts 3. Node Projects a. The Node Package Manager b. Creating a project c. The package.json

More information

VMware AirWatch Content Gateway for Linux. VMware Workspace ONE UEM 1811 Unified Access Gateway

VMware AirWatch Content Gateway for Linux. VMware Workspace ONE UEM 1811 Unified Access Gateway VMware AirWatch Content Gateway for Linux VMware Workspace ONE UEM 1811 Unified Access Gateway You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/

More information

CPM. Quick Start Guide V2.4.0

CPM. Quick Start Guide V2.4.0 CPM Quick Start Guide V2.4.0 1 Content 1 Introduction... 3 Launching the instance... 3 CloudFormation... 3 CPM Server Instance Connectivity... 3 2 CPM Server Instance Configuration... 4 CPM Server Configuration...

More information

TTerm Connect Installation Guide

TTerm Connect Installation Guide Host Connectivity. Any Host, Any Device. TTerm Connect Installation Guide What is TTerm Connect? TTerm Connect is Turbosoft s web based terminal emulator. Built on common web technologies such as HTML5,

More information

CS193X: Web Programming Fundamentals

CS193X: Web Programming Fundamentals CS193X: Web Programming Fundamentals Spring 2017 Victoria Kirst (vrk@stanford.edu) CS193X schedule Today - Middleware and Routes - Single-page web app - More MongoDB examples - Authentication - Victoria

More information

CPM Quick Start Guide V2.2.0

CPM Quick Start Guide V2.2.0 CPM Quick Start Guide V2.2.0 1 Content 1 Introduction... 3 1.1 Launching the instance... 3 1.2 CPM Server Instance Connectivity... 3 2 CPM Server Instance Configuration... 3 3 Creating a Simple Backup

More information

Guides SDL Server Documentation Document current as of 04/06/ :35 PM.

Guides SDL Server Documentation Document current as of 04/06/ :35 PM. Guides SDL Server Documentation Document current as of 04/06/2018 02:35 PM. Overview This document provides the information for creating and integrating the SmartDeviceLink (SDL) server component with

More information

Nasuni Data API Nasuni Corporation Boston, MA

Nasuni Data API Nasuni Corporation Boston, MA Nasuni Corporation Boston, MA Introduction The Nasuni API has been available in the Nasuni Filer since September 2012 (version 4.0.1) and is in use by hundreds of mobile clients worldwide. Previously,

More information

Upland Qvidian Proposal Automation Single Sign-on Administrator's Guide

Upland Qvidian Proposal Automation Single Sign-on Administrator's Guide Upland Qvidian Proposal Automation Single Sign-on Administrator's Guide Version 12.0-4/17/2018 Copyright Copyright 2018 Upland Qvidian. All rights reserved. Information in this document is subject to change

More information

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web Persistence & State SWE 432, Fall 2016 Design and Implementation of Software for the Web Today What s state for our web apps? How do we store it, where do we store it, and why there? For further reading:

More information

Libelium Cloud Hive. Technical Guide

Libelium Cloud Hive. Technical Guide Libelium Cloud Hive Technical Guide Index Document version: v7.0-12/2018 Libelium Comunicaciones Distribuidas S.L. INDEX 1. General and information... 4 1.1. Introduction...4 1.1.1. Overview...4 1.2. Data

More information

Early Data Analyzer Web User Guide

Early Data Analyzer Web User Guide Early Data Analyzer Web User Guide Early Data Analyzer, Version 1.4 About Early Data Analyzer Web Getting Started Installing Early Data Analyzer Web Opening a Case About the Case Dashboard Filtering Tagging

More information

(System) Integrity attacks System Abuse, Malicious File upload, SQL Injection

(System) Integrity attacks System Abuse, Malicious File upload, SQL Injection Pattern Recognition and Applications Lab (System) Integrity attacks System Abuse, Malicious File upload, SQL Injection Igino Corona igino.corona (at) diee.unica.it Computer Security April 9, 2018 Department

More information

maxecurity Product Suite

maxecurity Product Suite maxecurity Product Suite Domain Administrator s Manual Firmware v2.2 ii Table of Contents BASICS... 1 Understanding how maxecurity products work in your company... 1 Getting started as a Domain Administrator...

More information

About 1. Chapter 1: Getting started with odata 2. Remarks 2. Examples 2. Installation or Setup 2. Odata- The Best way to Rest 2

About 1. Chapter 1: Getting started with odata 2. Remarks 2. Examples 2. Installation or Setup 2. Odata- The Best way to Rest 2 odata #odata Table of Contents About 1 Chapter 1: Getting started with odata 2 Remarks 2 Examples 2 Installation or Setup 2 Odata- The Best way to Rest 2 Chapter 2: Azure AD authentication for Node.js

More information

MongoDB Web Architecture

MongoDB Web Architecture MongoDB Web Architecture MongoDB MongoDB is an open-source, NoSQL database that uses a JSON-like (BSON) document-oriented model. Data is stored in collections (rather than tables). - Uses dynamic schemas

More information

Topic 15: Authentication

Topic 15: Authentication Topic 15: Authentication CITS3403 Agile Web Development Getting MEAN with Mongo, Express, Angular and Node, Chapter 11 Semester 1, 2018 Secure web apps Security is a primary concern for anyone developing

More information

SAML-Based SSO Configuration

SAML-Based SSO Configuration Prerequisites, page 1 SAML SSO Configuration Task Flow, page 5 Reconfigure OpenAM SSO to SAML SSO Following an Upgrade, page 9 SAML SSO Deployment Interactions and Restrictions, page 9 Prerequisites NTP

More information

Nasuni Data API Nasuni Corporation Boston, MA

Nasuni Data API Nasuni Corporation Boston, MA Nasuni Corporation Boston, MA Introduction The Nasuni API has been available in the Nasuni Filer since September 2012 (version 4.0.1) and is in use by hundreds of mobile clients worldwide. Previously,

More information

AirBespoke Inventory Tracking System

AirBespoke Inventory Tracking System Colorado School of Mines Field Session AirBespoke Inventory Tracking System Client: Kylen McClintock Written by: Peter Palumbo, Kyle Thistlewood, Nhan Tran, Minh Vu June 22, 2016 Contents 1 Introduction

More information

Red Hat Quay 2.9 Deploy Red Hat Quay - Basic

Red Hat Quay 2.9 Deploy Red Hat Quay - Basic Red Hat Quay 2.9 Deploy Red Hat Quay - Basic Deploy Red Hat Quay Last Updated: 2018-09-14 Red Hat Quay 2.9 Deploy Red Hat Quay - Basic Deploy Red Hat Quay Legal Notice Copyright 2018 Red Hat, Inc. The

More information

ZipRecruiter Apply Webhook Documentation. ZR ATS Integration Team. Version 1.1,

ZipRecruiter Apply Webhook Documentation. ZR ATS Integration Team. Version 1.1, ZipRecruiter Apply Webhook Documentation ZR ATS Integration Team Version 1.1, 2017-10-12 Table of Contents Introduction................................................................................ 1

More information

DCLI User's Guide. Modified on 20 SEP 2018 Data Center Command-Line Interface

DCLI User's Guide. Modified on 20 SEP 2018 Data Center Command-Line Interface Modified on 20 SEP 2018 Data Center Command-Line Interface 2.10.0 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about

More information

DCLI User's Guide. Data Center Command-Line Interface 2.9.1

DCLI User's Guide. Data Center Command-Line Interface 2.9.1 Data Center Command-Line Interface 2.9.1 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit

More information

Single Sign-On for PCF. User's Guide

Single Sign-On for PCF. User's Guide Single Sign-On for PCF Version 1.2 User's Guide 2018 Pivotal Software, Inc. Table of Contents Table of Contents Single Sign-On Overview Installation Getting Started with Single Sign-On Manage Service Plans

More information

Tableau Server - 101

Tableau Server - 101 Tableau Server - 101 Prepared By: Ojoswi Basu Certified Tableau Consultant LinkedIn: https://ca.linkedin.com/in/ojoswibasu Introduction Tableau Software was founded on the idea that data analysis and subsequent

More information

Authentication and Authorization of End User in Microservice Architecture

Authentication and Authorization of End User in Microservice Architecture Journal of Physics: Conference Series PAPER OPEN ACCESS Authentication and Authorization of End User in Microservice Architecture To cite this article: Xiuyu He and Xudong Yang 2017 J. Phys.: Conf. Ser.

More information

Release notes for version 3.9.2

Release notes for version 3.9.2 Release notes for version 3.9.2 What s new Overview Here is what we were focused on while developing version 3.9.2, and a few announcements: Continuing improving ETL capabilities of EasyMorph by adding

More information

CLEO VLTrader Made Simple Guide

CLEO VLTrader Made Simple Guide CLEO VLTrader Made Simple Guide Table of Contents Quick Reference... 3 Miscellaneous Technical Notes... 3 CLEO VLTrader at a Glance... 3 Introduction... 5 Application Page Layout... 5 Preconfigured Hosts...

More information

EveBox Documentation. Release. Jason Ish

EveBox Documentation. Release. Jason Ish EveBox Documentation Release Jason Ish Jan 25, 2018 Contents: 1 Installation 1 2 Server 3 2.1 Running................................................. 3 2.2 Oneshot Mode..............................................

More information

Bitnami Node.js for Huawei Enterprise Cloud

Bitnami Node.js for Huawei Enterprise Cloud Bitnami Node.js for Huawei Enterprise Cloud Description Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. It uses an event-driven, non-blocking

More information

F5 BIG-IP Access Policy Manager: SAML IDP

F5 BIG-IP Access Policy Manager: SAML IDP Agility 2018 Hands-on Lab Guide F5 BIG-IP Access Policy Manager: SAML IDP F5 Networks, Inc. 2 Contents: 1 Welcome 5 2 Class 1: SAML Identity Provider (IdP) Lab 7 2.1 Lab Topology & Environments...................................

More information

Getting MEAN. with Mongo, Express, Angular, and Node SIMON HOLMES MANNING SHELTER ISLAND

Getting MEAN. with Mongo, Express, Angular, and Node SIMON HOLMES MANNING SHELTER ISLAND Getting MEAN with Mongo, Express, Angular, and Node SIMON HOLMES MANNING SHELTER ISLAND For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher

More information

SAML-Based SSO Configuration

SAML-Based SSO Configuration Prerequisites, page 1 SAML SSO Configuration Workflow, page 5 Reconfigure OpenAM SSO to SAML SSO After an Upgrade, page 9 Prerequisites NTP Setup In SAML SSO, Network Time Protocol (NTP) enables clock

More information

Full Stack Web Developer Nanodegree Syllabus

Full Stack Web Developer Nanodegree Syllabus Full Stack Web Developer Nanodegree Syllabus Build Complex Web Applications Before You Start Thank you for your interest in the Full Stack Web Developer Nanodegree! In order to succeed in this program,

More information

School of Computing Science Gitlab Platform - User Notes

School of Computing Science Gitlab Platform - User Notes School of Computing Science Gitlab Platform - User Notes Contents Using Git & Gitlab... 1 Introduction... 1 Access Methods... 2 Web Access... 2 Repository Access... 2 Creating a key pair... 2 Adding a

More information

Using the VMware vcenter Orchestrator Client. vrealize Orchestrator 5.5.1

Using the VMware vcenter Orchestrator Client. vrealize Orchestrator 5.5.1 Using the VMware vcenter Orchestrator Client vrealize Orchestrator 5.5.1 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments

More information

Scan Report Executive Summary. Part 2. Component Compliance Summary Component (IP Address, domain, etc.):

Scan Report Executive Summary. Part 2. Component Compliance Summary Component (IP Address, domain, etc.): Scan Report Executive Summary Part 1. Scan Information Scan Customer Company: Date scan was completed: Vin65 ASV Company: Comodo CA Limited 02/18/2018 Scan expiration date: 05/19/2018 Part 2. Component

More information

System and Software Architecture Description (SSAD)

System and Software Architecture Description (SSAD) System and Software Architecture Description (SSAD) Perfecto Coffee Xpress Consistent Perfection Team 5 Chloe Good Yekaterina Glazko Edwards Hays Yucheng Hsieh Atreya Lahiri Jaimin Patel Yun Shen Andrew

More information

NoSQL & Firebase. SWE 432, Fall Web Application Development

NoSQL & Firebase. SWE 432, Fall Web Application Development NoSQL & Firebase SWE 432, Fall 2018 Web Application Development Review: Nouns vs. Verbs URIs should hierarchically identify nouns describing resources that exist Verbs describing actions that can be taken

More information

RESTful API Design APIs your consumers will love

RESTful API Design APIs your consumers will love RESTful API Design APIs your consumers will love Matthias Biehl RESTful API Design Copyright 2016 by Matthias Biehl All rights reserved, including the right to reproduce this book or portions thereof in

More information

COMP 2406: Fundamentals of Web Applications. Fall 2013 Mid-Term Exam Solutions

COMP 2406: Fundamentals of Web Applications. Fall 2013 Mid-Term Exam Solutions COMP 2406: Fundamentals of Web Applications Fall 2013 Mid-Term Exam Solutions 1. ( false ) HTTP cookies are only sent to a web server when explicitly requested. 2. ( false ) Cookies are normally parsed

More information

VMware Identity Manager Administration

VMware Identity Manager Administration VMware Identity Manager Administration VMware Identity Manager 2.4 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new

More information

A Simple Course Management Website

A Simple Course Management Website A Simple Course Management Website A Senior Project Presented to The Faculty of the Computer Engineering Department California Polytechnic State University, San Luis Obispo In Partial Fulfillment Of the

More information

Attacks Against Websites 3 The OWASP Top 10. Tom Chothia Computer Security, Lecture 14

Attacks Against Websites 3 The OWASP Top 10. Tom Chothia Computer Security, Lecture 14 Attacks Against Websites 3 The OWASP Top 10 Tom Chothia Computer Security, Lecture 14 OWASP top 10. The Open Web Application Security Project Open public effort to improve web security: Many useful documents.

More information

Application Security Introduction. Tara Gu IBM Product Security Incident Response Team

Application Security Introduction. Tara Gu IBM Product Security Incident Response Team Application Security Introduction Tara Gu IBM Product Security Incident Response Team About Me - Tara Gu - tara.weiqing@gmail.com - Duke B.S.E Biomedical Engineering - Duke M.Eng Computer Engineering -

More information

Using the VMware vrealize Orchestrator Client

Using the VMware vrealize Orchestrator Client Using the VMware vrealize Orchestrator Client vrealize Orchestrator 7.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by

More information

Lab 2 Third Party API Integration, Cloud Deployment & Benchmarking

Lab 2 Third Party API Integration, Cloud Deployment & Benchmarking Lab 2 Third Party API Integration, Cloud Deployment & Benchmarking In lab 1, you have setup the web framework and the crawler. In this lab, you will complete the deployment flow for launching a web application

More information

WHITE PAPER. Authentication and Encryption Design

WHITE PAPER. Authentication and Encryption Design WHITE PAPER Authentication and Encryption Design Table of Contents Introduction Applications and Services Account Creation Two-step Verification Authentication Passphrase Management Email Message Encryption

More information

Developing Microsoft Azure Solutions (70-532) Syllabus

Developing Microsoft Azure Solutions (70-532) Syllabus Developing Microsoft Azure Solutions (70-532) Syllabus Cloud Computing Introduction What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages

More information

Reference Requirements for Records and Documents Management

Reference Requirements for Records and Documents Management Reference Requirements for Records and Documents Management Ricardo Jorge Seno Martins ricardosenomartins@gmail.com Instituto Superior Técnico, Lisboa, Portugal May 2015 Abstract When information systems

More information

Installing and Configuring VMware Identity Manager Connector (Windows) OCT 2018 VMware Identity Manager VMware Identity Manager 3.

Installing and Configuring VMware Identity Manager Connector (Windows) OCT 2018 VMware Identity Manager VMware Identity Manager 3. Installing and Configuring VMware Identity Manager Connector 2018.8.1.0 (Windows) OCT 2018 VMware Identity Manager VMware Identity Manager 3.3 You can find the most up-to-date technical documentation on

More information

NETWRIX ACTIVE DIRECTORY CHANGE REPORTER

NETWRIX ACTIVE DIRECTORY CHANGE REPORTER NETWRIX ACTIVE DIRECTORY CHANGE REPORTER ADMINISTRATOR S GUIDE Product Version: 7.2 January 2013. Legal Notice The information in this publication is furnished for information use only, and does not constitute

More information

Talend Component tgoogledrive

Talend Component tgoogledrive Talend Component tgoogledrive Purpose and procedure This component manages files on a Google Drive. The component provides these capabilities: 1. Providing only the client for other tgoogledrive components

More information

Bitnami OSQA for Huawei Enterprise Cloud

Bitnami OSQA for Huawei Enterprise Cloud Bitnami OSQA for Huawei Enterprise Cloud Description OSQA is a question and answer system that helps manage and grow online communities similar to Stack Overflow. First steps with the Bitnami OSQA Stack

More information

Release Notes. NetBrain Integrated Edition 7.0

Release Notes. NetBrain Integrated Edition 7.0 NetBrain Integrated Edition 7.0 Release Notes Version 7.0b1 Last Updated 2017-11-22 Copyright 2004-2017 NetBrain Technologies, Inc. All rights reserved. Contents 1. Highlights... 3 2. Feature Summary...

More information

Inland Revenue. Build Pack. Identity and Access Services. Date: 04/09/2017 Version: 1.5 IN CONFIDENCE

Inland Revenue. Build Pack. Identity and Access Services. Date: 04/09/2017 Version: 1.5 IN CONFIDENCE Inland Revenue Build Pack Identity and Access Services Date: 04/09/2017 Version: 1.5 IN CONFIDENCE About this Document This document is intended to provide Service Providers with the technical detail required

More information

User Manual. Admin Report Kit for IIS 7 (ARKIIS)

User Manual. Admin Report Kit for IIS 7 (ARKIIS) User Manual Admin Report Kit for IIS 7 (ARKIIS) Table of Contents 1 Admin Report Kit for IIS 7... 1 1.1 About ARKIIS... 1 1.2 Who can Use ARKIIS?... 1 1.3 System requirements... 2 1.4 Technical Support...

More information

PAS for OpenEdge Support for JWT and OAuth Samples -

PAS for OpenEdge Support for JWT and OAuth Samples - PAS for OpenEdge Support for JWT and OAuth 2.0 - Samples - Version 1.0 November 21, 2017 Copyright 2017 and/or its subsidiaries or affiliates. All Rights Reserved. 2 TABLE OF CONTENTS INTRODUCTION... 3

More information

Microsoft Unified Access Gateway 2010

Microsoft Unified Access Gateway 2010 RSA SecurID Ready Implementation Guide Partner Information Last Modified: March 26, 2013 Product Information Partner Name Web Site Product Name Version & Platform Product Description Microsoft www.microsoft.com

More information

Symantec Mobile Management for Configuration Manager 7.2 MR1 Release Notes

Symantec Mobile Management for Configuration Manager 7.2 MR1 Release Notes Symantec Mobile Management for Configuration Manager 7.2 MR1 Release Notes Symantec Mobile Management for Configuration Manager 7.2 MR1 Release Notes This document includes the following topics: About

More information

Vodafone Secure Device Manager Administration User Guide

Vodafone Secure Device Manager Administration User Guide Vodafone Secure Device Manager Administration User Guide Vodafone New Zealand Limited. Correct as of June 2017. Vodafone Ready Business Contents Introduction 3 Help 4 How to find help in the Vodafone Secure

More information

Smashing Node.JS: JavaScript Everywhere

Smashing Node.JS: JavaScript Everywhere Smashing Node.JS: JavaScript Everywhere Rauch, Guillermo ISBN-13: 9781119962595 Table of Contents PART I: GETTING STARTED: SETUP AND CONCEPTS 5 Chapter 1: The Setup 7 Installing on Windows 8 Installing

More information

Management Tools. Management Tools. About the Management GUI. About the CLI. This chapter contains the following sections:

Management Tools. Management Tools. About the Management GUI. About the CLI. This chapter contains the following sections: This chapter contains the following sections:, page 1 About the Management GUI, page 1 About the CLI, page 1 User Login Menu Options, page 2 Customizing the GUI and CLI Banners, page 3 REST API, page 3

More information

EveBox Documentation. Jason Ish

EveBox Documentation. Jason Ish Jason Ish May 29, 2018 Contents: 1 Installation 1 2 Server 3 2.1 Running................................................. 3 2.2 Oneshot Mode.............................................. 4 2.3 Authentication..............................................

More information

The Salesforce Migration Playbook

The Salesforce Migration Playbook The Salesforce Migration Playbook By Capstorm Table of Contents Salesforce Migration Overview...1 Step 1: Extract Data Into A Staging Environment...3 Step 2: Transform Data Into the Target Salesforce Schema...5

More information

IBM Endpoint Manager Version 9.0. Software Distribution User's Guide

IBM Endpoint Manager Version 9.0. Software Distribution User's Guide IBM Endpoint Manager Version 9.0 Software Distribution User's Guide IBM Endpoint Manager Version 9.0 Software Distribution User's Guide Note Before using this information and the product it supports,

More information

Ing. José A. Mejía Villar M.Sc. Computing Center of the Alfred Wegener Institute for Polar and Marine Research

Ing. José A. Mejía Villar M.Sc. Computing Center of the Alfred Wegener Institute for Polar and Marine Research Ing. José A. Mejía Villar M.Sc. jmejia@awi.de Computing Center of the Alfred Wegener Institute for Polar and Marine Research 29. November 2011 Contents 1. Fedora Commons Repository 2. Federico 3. Federico's

More information

Integration Service. Admin Console User Guide. On-Premises

Integration Service. Admin Console User Guide. On-Premises Kony MobileFabric TM Integration Service Admin Console User Guide On-Premises Release 7.3 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and

More information

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M COURSE OBJECTIVES Enable participants to develop a complete web application from the scratch that includes

More information

The Now Platform Reference Guide

The Now Platform Reference Guide The Now Platform Reference Guide A tour of key features and functionality START Introducing the Now Platform Digitize your business with intelligent apps The Now Platform is an application Platform-as-a-Service

More information

Zumobi Brand Integration(Zbi) Platform Architecture Whitepaper Table of Contents

Zumobi Brand Integration(Zbi) Platform Architecture Whitepaper Table of Contents Zumobi Brand Integration(Zbi) Platform Architecture Whitepaper Table of Contents Introduction... 2 High-Level Platform Architecture Diagram... 3 Zbi Production Environment... 4 Zbi Publishing Engine...

More information