From 23ab2580f2b5299504afa05a255d47d61e43d684 Mon Sep 17 00:00:00 2001 From: Allan Bowe <> Date: Wed, 15 Jul 2020 12:33:21 +0200 Subject: [PATCH] docs: deploy info --- docs/dci-backend.md | 37 ------------------------------------- docs/dci-deploysas9.md | 33 +++++++++++++++++++++++++++++++++ docs/dci-frontend.md | 4 ++-- docs/dci-requirements.md | 10 +++++++--- docs/index.md | 10 ---------- docs/licences.md | 23 ++++++++++++++++------- mkdocs.yml | 3 +-- 7 files changed, 59 insertions(+), 61 deletions(-) delete mode 100644 docs/dci-backend.md create mode 100644 docs/dci-deploysas9.md diff --git a/docs/dci-backend.md b/docs/dci-backend.md deleted file mode 100644 index b3e01c1..0000000 --- a/docs/dci-backend.md +++ /dev/null @@ -1,37 +0,0 @@ -#Data Controller for SAS® - Backend Deployment - -## Overview -The backend for Data Controller consists of a set of Stored Processes, a macro library, and a database. The database can be SAS Base library if desired, however this can cause contention (eg table locks) if end users are able to connect to the datasets directly, eg via Enterprise Guide or Base SAS. - -## Regular Deployment - -1 - Import `/sas/import.spk` using SAS Management Console. Make a note of the root location in which this was deployed - as this will be added to the `metadataRoot` value in the `sasjsConfig.json` file in the [frontend](dci-frontend.md#details) deployment. - -2 - Create a physical staging directory. This folder will contain the logs and CSV files generated by Users. The SAS Spawned Server account (eg `sassrv`) will need write access to this location. - -3 - Register a library in metadata for the control database. The libref should be `DATACTRL`. If this is not possible, then an alternative libref can be used, simply specify it in the configuration component. - -4 - Update the configuration component (imported in the SPK) with the following attributes: - -* `dc_staging_area` - location of staging directory as per step 2 -* `dc_admin_group` - enter the name of a metadata group (eg SASAdministrators) that should be given unrestricted access to the tool -* `dc_libref` - if you were unable to use the `DATACTRL` libref in step 3, then use the updated libref here - -5 - Deploy the physical tables and register them in metadata. For this, simply compile and run the `mpe_build()` macro using an account with appropriate priviliges. - -!!! note - Make sure the SAS Spawned Server account (eg `sassrv`) can access these tables! - - -The next step is to deploy the [frontend](dci-frontend.md). - -## EUC Deployment - -Optionally, a shared network drive can be configured to enable EUCs to temporarily stage CSVs for upload into the Data Controller review process. -For security, it is recommended to set permissions so that end users can write, but not read or modify. The SAS Spawned Server account (eg `sassrv`) will need read and modify access - as it will remove the files once they are loaded into the secure staging area. - -## Deployment Diagram - -An overview of how the components fit together is available below: - -![deploymentdiagram](img/dci_deploymentdiagram.png) diff --git a/docs/dci-deploysas9.md b/docs/dci-deploysas9.md new file mode 100644 index 0000000..48692c6 --- /dev/null +++ b/docs/dci-deploysas9.md @@ -0,0 +1,33 @@ +# SAS 9 Deployment + +## Overview +Data Controller consists of a frontend app, a set of Stored Processes and a database library. The library can be a SAS Base engine if desired, however this can cause contention (eg table locks) if end users are able to connect to the datasets directly, eg via Enterprise Guide or Base SAS. +A database that supports concurrent access is recommended. + +## Backend + +1 - Import `/sas/import.spk` using SAS Management Console. Make a note of the root location in which this was deployed - as this will be added to the `appLoc` value in the `index.html` file in the [frontend](#frontend) deployment. + +2 - Create a physical staging directory. This folder will contain the logs and CSV files generated by Users. The SAS Spawned Server account (eg `sassrv`) will need write access to this location. + +3 - Update the library to point to a schema in your preferred database + +4 - Deploy the physical tables and register them in metadata. For this, simply compile and run the `mpe_build()` macro using an account with appropriate privileges. + +!!! note + Make sure the SAS Spawned Server account (eg `sassrv`) can access these tables! + +## Frontend +The Data Controller front end comes pre-built, and ready to deploy to the root of the SAS Web Server (mid-tier), typically `!SASCONFIG/LevX/Web/WebServer/htdocs` in SAS 9. + +Deploy as follows: + +1 - Unzip dcfrontend.zip and upload the entire `datacontroller` directory to the static content server. + +2 - Open the `index.html` file and update the `appLoc` value to the location of the Stored Process deployed earlier. + +It should now be possible to use the application - simply navigate to `YOURSASWEBLOC.domain/yourRoot/datacontroller` and sign in! + + + + diff --git a/docs/dci-frontend.md b/docs/dci-frontend.md index 8042469..96a1231 100644 --- a/docs/dci-frontend.md +++ b/docs/dci-frontend.md @@ -1,13 +1,13 @@ # Data Controller for SAS® - Frontend Deployment ## Overview -The Data Controller front end comes pre-built, and ready to deploy to the root of the SAS Web Server (mid-tier), typically `htdocs`. +The Data Controller front end comes pre-built, and ready to deploy to the root of the SAS Web Server (mid-tier), typically `htdocs` in SAS 9 or `/var/www/html` on SAS Viya. ## Instructions 1 - Unzip dcfrontend.zip and upload the entire `datacontroller` directory to the static content server. -2 - Open the `sasjs.config` file and update the `metadataRoot` value to the location of the Stored Processes as per [backend](dci-backend.md) deployment. Remember to include the trailing slash (`/`). +2 - Open the `index.html` file and update the `appLoc` value to the location of the web services (STPs or JES) as per [backend](dci-backend.md) deployment. Remember to include the trailing slash (`/`). It should now be possible to use the application - simply navigate to `YO URSASWEBLOC.domain/yourRoot/datacontroller` and sign in! diff --git a/docs/dci-requirements.md b/docs/dci-requirements.md index 1b2d138..230bdc9 100644 --- a/docs/dci-requirements.md +++ b/docs/dci-requirements.md @@ -1,14 +1,18 @@ # Data Controller for SAS® - System Requirements ## Overview -The Data Controller is a SAS Stored Process Web Application, deployed into an existing SAS platform, and as such has no special requirements beyond what is typically available in a SAS Foundation environment. +The Data Controller is a SAS Web Application, deployed into an existing SAS platform, and as such has no special requirements beyond what is typically available in a SAS Foundation or Viya environment. -## Backend +## SAS 9 +### Backend A SAS Foundation deployment of at least 9.4M3 must be available. Earlier versions of SAS can be supported, on request. A SAS Stored Process Server must be configured, running under a system account. -## Mid-Tier +### Mid-Tier A web server with `/SASLogon` and the SAS SPWA must be available to end users +## SAS Viya +A minimum of Viya 3.5 is recommended to make use of the ability to run a shared compute instance. + ## Frontend All major browsers supported, including IE11 (earlier versions of IE may not work properly). For IE, note that [compatibility view](dci-troubleshooting#Internet Explorer - blank screen) must be disabled. \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index a111f61..a79f14e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -6,16 +6,6 @@ The Data Controller for SAS® enables users to self serve their data changes, an -## Documents - -The following information is available on this site: - -- [Overview](dc-overview.md) -- [User Guide](dc-userguide.md) -- [Config - Adding Tables](dcc-tables.md) -- [Config - Security](dcc-security.md) -- [Installation](dci-backend.md) - ## Online resources The following resources contain additional information on the Data Controller: diff --git a/docs/licences.md b/docs/licences.md index ff3baa5..0a2e0db 100644 --- a/docs/licences.md +++ b/docs/licences.md @@ -53,6 +53,12 @@ Data Controller source licences are extracted automatically from our repo using │ ├─ publisher: angular │ ├─ path: /Users/allan/git/dcfrontend/node_modules/@angular/router │ └─ licenseFile: node_modules/@angular/router/README.md +├─ @auth0/angular-jwt@4.1.2 +│ ├─ licenses: MIT +│ ├─ repository: https://github.com/auth0/angular2-jwt +│ ├─ publisher: Sam Bellen +│ ├─ path: /Users/allan/git/dcfrontend/node_modules/@auth0/angular-jwt +│ └─ licenseFile: node_modules/@auth0/angular-jwt/LICENSE ├─ @clr/angular@2.4.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/vmware/clarity @@ -122,11 +128,6 @@ Data Controller source licences are extracted automatically from our repo using │ ├─ repository: https://github.com/DefinitelyTyped/DefinitelyTyped │ ├─ path: /Users/allan/git/dcfrontend/node_modules/@types/d3-zoom │ └─ licenseFile: node_modules/@types/d3-zoom/LICENSE -├─ @types/isomorphic-fetch@0.0.35 -│ ├─ licenses: MIT -│ ├─ repository: https://github.com/DefinitelyTyped/DefinitelyTyped -│ ├─ path: /Users/allan/git/dcfrontend/node_modules/@types/isomorphic-fetch -│ └─ licenseFile: node_modules/@types/isomorphic-fetch/LICENSE ├─ @types/pikaday@1.7.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -1442,6 +1443,14 @@ Data Controller source licences are extracted automatically from our repo using │ ├─ url: http://debuggable.com/ │ ├─ path: /Users/allan/git/dcfrontend/node_modules/form-data │ └─ licenseFile: node_modules/form-data/License +├─ form-data@3.0.0 +│ ├─ licenses: MIT +│ ├─ repository: https://github.com/form-data/form-data +│ ├─ publisher: Felix Geisendörfer +│ ├─ email: felix@debuggable.com +│ ├─ url: http://debuggable.com/ +│ ├─ path: /Users/allan/git/dcfrontend/node_modules/sasjs/node_modules/form-data +│ └─ licenseFile: node_modules/sasjs/node_modules/form-data/License ├─ frac@1.1.2 │ ├─ licenses: Apache-2.0 │ ├─ repository: https://github.com/SheetJS/frac @@ -3073,7 +3082,7 @@ Data Controller source licences are extracted automatically from our repo using │ ├─ url: https://github.com/ChALkeR │ ├─ path: /Users/allan/git/dcfrontend/node_modules/safer-buffer │ └─ licenseFile: node_modules/safer-buffer/LICENSE -├─ sasjs@2.3.0 +├─ sasjs@2.20.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/macropeople/sasjs │ ├─ publisher: Allan Bowe @@ -3711,7 +3720,7 @@ Data Controller source licences are extracted automatically from our repo using │ ├─ publisher: Tobias Koppers @sokra │ ├─ path: /Users/allan/git/dcfrontend/node_modules/webpack │ └─ licenseFile: node_modules/webpack/LICENSE -├─ whatwg-fetch@3.0.0 +├─ whatwg-fetch@3.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/github/fetch │ ├─ path: /Users/allan/git/dcfrontend/node_modules/whatwg-fetch diff --git a/mkdocs.yml b/mkdocs.yml index b05e252..b9c1cbf 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -19,8 +19,7 @@ pages: - Validations: dcc-validations.md - Installation: - System Requirements: dci-requirements.md - - Backend: dci-backend.md - - Frontend: dci-frontend.md + - SAS 9 Deploy: dci-deploysas9.md - Troubleshooting: dci-troubleshooting.md - Dedicated STP: dci-stpinstance.md - Evaluation (Demo) Version: