Skip to content

Commit ac170ae

Browse files
committed
Add better documentation
Signed-off-by: David Weik <[email protected]>
1 parent 14fd7b0 commit ac170ae

22 files changed

+19138
-0
lines changed

package-lock.json

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

static/sas.png

7.28 KB
Loading

website/.gitignore

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Dependencies
2+
/node_modules
3+
4+
# Production
5+
/build
6+
7+
# Generated files
8+
.docusaurus
9+
.cache-loader
10+
11+
# Misc
12+
.DS_Store
13+
.env.local
14+
.env.development.local
15+
.env.test.local
16+
.env.production.local
17+
18+
npm-debug.log*
19+
yarn-debug.log*
20+
yarn-error.log*

website/README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Website
2+
3+
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.
4+
5+
### Installation
6+
7+
```
8+
$ yarn
9+
```
10+
11+
### Local Development
12+
13+
```
14+
$ yarn start
15+
```
16+
17+
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
18+
19+
### Build
20+
21+
```
22+
$ yarn build
23+
```
24+
25+
This command generates static content into the `build` directory and can be served using any static contents hosting service.
26+
27+
### Deployment
28+
29+
Using SSH:
30+
31+
```
32+
$ USE_SSH=true yarn deploy
33+
```
34+
35+
Not using SSH:
36+
37+
```
38+
$ GIT_USER=<Your GitHub username> yarn deploy
39+
```
40+
41+
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.

website/babel.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
presets: [require.resolve("@docusaurus/core/lib/babel/preset")],
3+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
sidebar_position: 7
3+
---
4+
5+
# Client Administrator
6+
7+
The Client Administrator object enables you to view, edit, create and delete REST applications registered with SAS Viya. Please note that for most of the utilities that this tool provides *SAS Administrator* group member ship is required.
8+
9+
In order to create a Client Administrator object you have to set the objects type to *clientAdministrator*, there are no additional attributes, but the width has to be 0 - example:
10+
```json
11+
{
12+
"name": "Display Name",
13+
"id": "Object ID",
14+
"width": 0,
15+
"objectBorder": false,
16+
"type": "clientAdministrator",
17+
}
18+
```
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
sidebar_position: 5
3+
---
4+
5+
# Interactive Content
6+
7+
The Interactive Content object enables you to embed interactive content from other websites. This object is primarily meant to include SAS Viya Job Execution Engine Jobs (SAS Jobs), SAS 9.4 Stored Processes (STP) and SAS 9.4 WRS Reports. But you can also include links to other web content here.
8+
9+
In order to create a interactive content object you have to set the objects type to *interactiveContent*, specify link, configure its exception behavior and indicate if it is SAS Viya content - example:
10+
```json
11+
{
12+
"name": "Display Name",
13+
"id": "Object ID",
14+
"width": 1,
15+
"objectBorder": false,
16+
"type": "interactiveContent",
17+
"link": "URL",
18+
"exception": {
19+
"isException": 0,
20+
"width": 0,
21+
"height": 0
22+
},
23+
"isViyaContent": true
24+
}
25+
```
26+
- **link**, contains the fully qualified URL (except if it is SAS Viya content, than only use the link relative link to the content) to the content which will be displayed here - the URL can be URL encoded, but it doesn't have to be - recommended is to not use the encoded URL. The link attribute is **required**.
27+
- **exception**, is used when you want to include a URL that throws a [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS) exception. Such an exception leads to the circumstance that the height and width of the content can not be determined dynamically and thus would default to rather small values. If CORS is not an issue this argument is completely optional - the default value for **isException** is 0, then it is assumed that CORS is not an issue and the width and height are determined based on the content, setting the value to 1 indicates that a CORS exception is expected and the values in the width and height are used as pixel values. The exception attribute is *optional* and should only be used if there is no way to resolve the CORS exception otherwise.
28+
**isViyaContent**, makes interactive content that you display using this object independent of your SAS Viya environment and rather enables you to tell the SAS Portal to use the SAS Viya host URL used by the Portal itself. If you specify a value of *true* then you will not need to specify the SAS Viya host it will be added for you, just start your link with a / and then relative to your SAS Viya host. If you specify *false* then you have to provide an absolute URL. The isViyaContent attribute is *required*.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
sidebar_position: 3
3+
---
4+
5+
# Link List
6+
7+
The link list object enables you to display an amount of links that are clickable and you can specify if the links should open in a new tab or if the page should be opened on the current page (back navigation is then handled through the browsers back functionality).
8+
9+
In order to create a link list object you have to set the objects type to *linkList*, specify the clickBehavior and specify the links - example:
10+
```json
11+
{
12+
"name": "Display Name",
13+
"id": "Object ID",
14+
"width": 1,
15+
"objectBorder": false,
16+
"type": "linkList",
17+
"clickBehavior": "tab",
18+
"links": [
19+
{
20+
"displayText": "Display text",
21+
"link": "https://sas.com"
22+
}
23+
]
24+
}
25+
```
26+
27+
- **clickBehavior**, specify how the user is navigated when clicking a link from the list. The acceptable values are *same* - to open links in the same browser window - and *tab* - to open up the links in a new browser tab. The clickBehavior attribute is *required*.
28+
- **links**, takes a list of objects. Each object has two attributes, *displayText* which is the text the user should see and *link* which is the actual URL that opens when clicked. The links attribute is *required*.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
sidebar_position: 6
3+
---
4+
5+
# MAS Module Scorer
6+
7+
The MAS Module Scorer enables you to quickly test and validate your published SAS Intelligent Decisioning decisions and SAS Model Manager models that have been published to MAS (SAS **M**icro **A**nalytic **S**ervice) - link to the (SAS documentation)[https://go.documentation.sas.com/doc/en/mascdc/default/masag/titlepage.htm].
8+
9+
In order to create a MAS Module Scorer object you have to set the objects type to *masScore*, there are no additional attributes, but the width has to be 0 - example:
10+
```json
11+
{
12+
"name": "Display Name",
13+
"id": "Object ID",
14+
"width": 0,
15+
"objectBorder": false,
16+
"type": "masScore",
17+
}
18+
```
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
# Introduction to Objects
6+
7+
Objects are the heart and sould of the SAS Portal. Each object type enables different interactions and offers different capabilities. Because of that each object type will have its own page that explains further the specific configuration options that are available for it.
8+
9+
This page explains the attributes that are shared by all object types, so that each object type page can focus only on the additional attributes.
10+
11+
While you can write this objects by hand, you can also use the Portal Builder object, which enables you to build this objects in a visual way directly from within the portal.
12+
13+
## Shared Attributes
14+
15+
Below we take at the shared attributes of all object types:
16+
```json
17+
{
18+
"name": "Display Name",
19+
"id": "Object ID",
20+
"width": 1,
21+
"height": "700vh",
22+
"objectBorder": false,
23+
"type": "objectType"
24+
}
25+
```
26+
27+
- **name**, specifies the name of the object in the UI and is always added as a heading in the object. The name attribute is *required*.
28+
- **id**, is a technical attribute that has to be unique within a page and can not contain blanks or special characters. The id attribute is *required*.
29+
- **width**, specifies how much of the n columns (specified in the general page definition) the object can take up in the UI. The minimum value is 0 and the maximum is 5. The width attribute is *required*. Here is a list of the value break downs:
30+
- **"auto"**, let object grow as big as needed by its content
31+
- **0**, make the object take up a whole row
32+
- **1**, make the object take up 75% of the row
33+
- **2**, make the object take up 66% of the row
34+
- **3**, make the object take up 50% of the row
35+
- **4**, make the object take up 33% of the row
36+
- **5**, make the object take up 25% of the row
37+
38+
- **height**, specifies the objects height, this will set the height for the whole row that this object is in. It is required to specify both the value and the unit of measurement - while any valid unit of measurement is acceptable, it is recommended to use vh as it is allows for the most consistent look across devices. Note that if your object is bigger then the allotted space then you will see an additional scrolling bar for that element. The height attribute is *optional*, if no provided the portal will try and figure out an appropriate height.
39+
- **objectBorder**, enables you to add an optional border around the object. The border color is set to be either the CSS variable value of *--bs-primary* or if that variable is not available it defaults to lightgray. The objectBorder attribute is *optional*, if set to true a border is added to the object.
40+
- **type**, specifies the type of the object within the UI - that means what content it can contain and display. Please refer to the corresponding page for each types special attributes. The type attribute is *required*.

0 commit comments

Comments
 (0)