From beedae89a3914b12b4e9bacfb2e54709cd6bd2b0 Mon Sep 17 00:00:00 2001 From: Allan Bowe <> Date: Fri, 19 Apr 2019 12:59:57 +0200 Subject: [PATCH] docs: evaluation & emails docs --- docs/dci-evaluation.md | 24 +++++++++++++++++------- docs/emails.md | 31 +++++++++++++++++++++++++++++++ docs/img/mpe_alertconfig.png | Bin 0 -> 17924 bytes mkdocs.yml | 1 + 4 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 docs/emails.md create mode 100644 docs/img/mpe_alertconfig.png diff --git a/docs/dci-evaluation.md b/docs/dci-evaluation.md index 4a4c3b1..0ff41ee 100644 --- a/docs/dci-evaluation.md +++ b/docs/dci-evaluation.md @@ -3,19 +3,29 @@ ## Overview A free version of Data Controller is available for evaluation purposes. Compiled into a single SPK, it is very easy to install and configure. However it should not be used in production environments for all the reasons mentioned in the [caveats](#caveats) section. -## Deployment +## Installation -Step 1 is to import the SPK to the desired location in the metadata tree. During the import, be sure to change the location of the library (BASE engine) to a directory folder which the Stored Process system account (sassrv) has write access to. +### Deployment -Step 2 is to navigate to the [YOURHOST]/SASStoredProcess web application and 'list available stored processes'. Make sure you use the same user as before, or at least a user that has WRITE METADATA permissions on the imported Data Controller folder. Find the location where the app was imported, open the Admin subfolder, right click the 'makedata' service and open in a new window. This service will ensure logs are directed to a subfolder of the library location, and will create the necessary configuration tables in that library. +Simply import the SPK to the desired location in the metadata tree. During the import (step 5 of the wizard), be sure to change the location of the library (BASE engine) to a directory folder which the Stored Process system account (sassrv) has write access to. Also, make sure that your user account has WRITE METADATA (WM) on the imported Data Controller DATA folder, and that anyone who will use the app has READ. -## Configuration +### Configuration + +Firstly, if your SAS user acocunt is **not** in the 'SASAdministrators' group then you may need to update the settings to give your user the ability to view all tables. Using SAS Management Console, open the `makeData` stored process in the Admin folder, and change the DC_ADMIN_GROUP macro variable to a group of your choosing. + +!!! warning + Every member of the group you provide above will have UNRESTRICTED access to the tool! + + +Navigate to the [YOURHOST]/SASStoredProcess web application and 'list available stored processes'. Find the location where the app was imported, open the Admin subfolder and run the 'makedata' stored process. This service will ensure logs are directed to a subfolder of the library location, and will create the necessary configuration tables in that library. + +!!! note + A quick way to update the admin group is to simply add `&admin=YOURGROUPNAME` to the url when running the `makeData` stored process. -If your user is not in the 'Administrators' group then you may need to update the settings to give your user the ability to view all tables. Within the root of the application there is a 'dc_admin_group' property, add an appropriate metadata group here to give full access to the tool. ## Usage -Simply navigate to the imported location, right click on the 'clickme' stored process, and open in new window! +Simply navigate to the imported location from the Stored Process Web App, right click on the 'clickme' stored process, and open in new window! ## Caveats @@ -26,7 +36,7 @@ The demo version is optimised for rapid install, however it should not be consid 2) Direct URLs are not functional -3) Requires BASE engine for config tables, with risk of file locks +3) Requires BASE engine for config tables, with high risk of table locks 4) Not licenced for commercial use, and not supported diff --git a/docs/emails.md b/docs/emails.md new file mode 100644 index 0000000..e0fc633 --- /dev/null +++ b/docs/emails.md @@ -0,0 +1,31 @@ +# Data Controller for SASĀ® - Emails + +## Overview +Data Controller enables email alerts for users when tables are: + +* SUBMITTED - a proposed change has been submitted. +* APPROVED - the proposed change was approved and applied. +* REJECTED - the proposed change was rejected. + +Emails are sent after any post edit / post approve hooks. They can be sent when specific tables are updated, or when any tables in a particular library are updated, or for all changes to all tables. See configuration section below. + +Email addresses are looked for first in `DCXXXXXX.MPE_EMAILS`. If they are not found there, then a metadata search is made (the first email found in metadata for that user is used). + +## Setup +As not every site has emails configured, this feature is switched OFF by default. +To switch it on, navigate to `DCXXXXXX.MPE_CONFIG` and set the value for `DC_EMAIL_ALERTS` to be `YES` (uppercase). + +![alerttable](img/mpe_alertconfig.png) + +!!! tip + If your Stored Process session does not have the email options configured, then the appropriate options statement must be invoked. These options may need to be done at startup, or in the configuration file. See [documentation](https://documentation.sas.com/?cdcId=pgmsascdc&cdcVersion=9.4_3.4&docsetId=lrcon&docsetTarget=n05iwqtqxzvtvun1eyw11nrd9i9r.htm&locale=en) + +## Configuration +The `DCXXXXXX.MPE_ALERTS` table must be updated with the following attributes: + +* ALERT_EVENT - either `*ALL*`, `SUBMITTED`, `APPROVED` or `REJECTED` +* ALERT_LIB - either `*ALL*` or the libref to be alerted on +* ALERT_DS - either `*ALL*` or the dataset name to be alerted on +* ALERT_USER - the metadata name (not displayname) of the user to be alerted + +If your site does not put emails in metadata, then the user emails must instead be entered in `DCXXXXXX.MPE_EMAILS`. \ No newline at end of file diff --git a/docs/img/mpe_alertconfig.png b/docs/img/mpe_alertconfig.png new file mode 100644 index 0000000000000000000000000000000000000000..01c907b0493e1952742b0834402d37a54dd1866f GIT binary patch literal 17924 zcmbrkWmp_b*Dj2^6Wk#{kip$8xVvj`cXt9ISP1U!?(XhxgF|q4hi|g?^U8P5&okEy z-BhotTB~|#-4(7VFM*7Jj{pV+hAbs1rVIuKQ4hMefP(@31=BMr0s}*$vJ@3nloAys zRdlj9v$Qb<1CtC-NP^W=8Nm)XNc{ZybG^_PWfA+_TiOosQq>-DNeFn#kdSO+2^=h4 zL|R(S88vk1C5U0;zDoL_4#7`KN{a(Q$O)WMV0v#G-kZEW&KFs%=9B5p=WE+2V5Q79 zv0n((AW0>X8KaSr4drF!jefU+!F=EfL0Z&tW5oK)%0dOO_lMP9`r zWQ|II1I>vROj?ygCmlTCCq081I5p(6k`~O0{xB9C8K>y|_T`H1a28q2#ZGE~>9BXt;@6uLN{O`MzaG+mmeZR(jx+yaKnYh{HZ4Wm-jDwD z`p7h(X+s+Zh>?SJqEcXCHs+FNVEm#Pi=*C;Nrf~JlMsFlX&iRy{-f3;^t8rI->q2I z9->7~8I6;#k&%Rf<7+1u+TKt&mXlC*~~K6+cYH%9??JE}r&*K4RD& z5ZtgK!8VUNv?P>-DFAf7Q2ZW+I%mW3mFkgazgcFrFxP%VV>ISST#@?0I|q_A#FzjL z!DT{6_car)O8ff|>JXG(ie6U{>g{_r;n>Hp;S^E~mtI`a&{~-n0p2wTFV`MO2m3>k z=Rv$?;_AMPZQ1u`#`INatF9O|p5IqZ+9*%tt8q%T94j$4cP3D@9JCA+`ri_sJF$N@ z&x)5~an0VC5C?89#2{X53u+t7R0l6}pMG`&w;sd?!{m)-H?CM#!iy=78oF*^=F=(X z%cMV)xSaDj&EYmxi(6h=epvP=K8Ad1$9t+xqGZxwQ=uQ;I$(X1LmwQlZ*9i}^N1HR9poe;I2V@41QYUqkTZYAXLv~fBeXq`9Dqh3 zVrWAHgD&pn{ECCy+cAb<_6JTk5a$xI$B^#_%oQn~?047wK37_pxgMKpuus9t)fnZ_ zScZtpC~m>NTVNJo6I-9T5E%m99EjGwTNeOJgiNFH?a?Qr2QQThfc#np!Fl3+*A^}7P&;+Pa>L>Iu=n9)``IL$1Q19tiqR2WhJ?J zum+)_-1A~V{OG|vm1!h4RDc*x&e+VI1y(Cgg@i(G()5W1^)tj-*au4jGmKf}iqW|y zDRxwW;ZZVfT10~3o+g%h1bYv)FV;!FS4|8TdeN@z8cO976Ce1&mgl3c51xMD#o)=+ z+@snn*+!T@atVAMeut;@ zYxSG<%k}f@z#GHXL@XXYjVWd#VYhP8}S~}RHopj z`~`_lp-wT^;#yiOVk@GaLA64jo!4G_Z=(kZB((ndR*JU8f%7A(G_KsPICoHY9Cyf3 z;&s_iGs+fE^?UVJKpG$<5EiR-6c;NILBljtxG#sTQdl*{ zvis851^Ri2g=H(}1=@w^;&s&%jiNH%Vu`YYVn&tCJU`*L6d0*K5em)VvKmQ~wn3UG z1|D(F0@zvZ+wZqTx2(5za=C>CR5Gk8b*j!;W@%bZ+Z719-X+8IcZMm>hi zwRm*6u(+JKS@p>EZw;P6nFi~IDvPcqyn@}LzB!tilDU@38>yrcg7UP2Ht8nehfd;3 z^E^&r`_>J!4py&@JT?i>sGUe!JXgbcB45=_aY1$e#CNwh^*29A(O^Z$*dCZ*6_}1t zBvHXW**^BrAtdj}LvaCdh&*=jp{PvOhUE8gn|-f+OS7z+PRHb$d5<*5w5x#d0;wRW zSgDK=UzMLFZI-P^_;c8E0<08ul65O)>}KxcBm3w3J~yuW2jiPMn%bYW=o>AnJ
  • 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 Q4y!YGy85}Sb4q9e088$Bga7~l literal 0 HcmV?d00001 diff --git a/mkdocs.yml b/mkdocs.yml index 2cfeb52..3ddf395 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -10,6 +10,7 @@ pages: - Security: dcc-security.md - Selectboxes: dcc-selectbox.md - Dates / Datetimes: dcc-dates.md + - Emails: emails.md - Installing Data Controller: - System Requirements: dci-requirements.md - Backend: dci-backend.md