cloud login
Girl computer small

Creating User-Friendly Web Applications With SAS Content

SAS is an advanced software that requires technical know-how. It is used by a wide variety of people, which is why its content and functionalities have to remain accessible to any user. Notilyze designed a versatile web app template that can be used to embed SAS content, essentially turning it into a simple, user-friendly web application that can be easily managed by anyone.

To create and test the web app, a small case study was conducted that consisted of a chatbot and two fictional elementary school reports containing students’ grades. The first report contained the grades of a student (for each student to access their own grades) and the second report contained the grades of all students from the same class (accessible to the teacher). In both cases, certain restrictions needed to be put in place to limit access to other students’ grades. The chatbot was used to insert the students’ grades into the dataset.

To embed the SAS content into the web app, the available SAS Software Development Kits (SDK) were used. These SDKs are collections of JavaScript functions that use the SAS APIs to get SAS content and data from the server and load it into HTML / CSS / JavaScript objects. Once the SDKs are loaded into the WebApp, SAS content can easily be embedded. For example, the following HTML code would embed a SAS Visual Analytics (VA) report:

  authenticationType="credentials"
  url="{PUBLIC_SAS_ENVIRONMENT_URL}"
  reportUri="/reports/reports/{PUBLIC_SAS_REPORT_ID}">

SAS SDKs will prompt your SAS credentials when loading the content from a SAS Server. Oftentimes, users do not have SAS credentials but use some type of external authentication to connect to the SAS server (e.g. Azure / OpenID Connect). To allow these users to access the web app, we used the SAS Authentication Library for browser. First, the web app checks whether the user has already been authenticated using SingleSignOn (SSO). When this is not the case, a popup will prompt the user to log in using the authentication method that is connected to the SAS Server. This works using either SAS credentials or external authentication.

Demo dashboard

To finalize the case study, two example dashboards and a chatbot were created. A screenshot of the student’s dashboard can be seen in the image above. Some settings on the SAS server itself needed to be changed in order to allow for the authentication of API calls such as cross-site cookies (CORS) and web security settings (CSRF). Finally, row level security was put in place to ensure that students could only access their own grades and not other students’, while teachers were able to access all grades from their designated classes.

The result of this project is a reusable and sturdy web app template that can be used to interact with SAS content. The required settings of the SAS server are well-documented to allow quick and efficient setup of future servers. This template is sure to jumpstart many of our upcoming projects!

// Contact

Notilyze B.V.
Stationsplein 45 A4.004
3013 AK Rotterdam
+31 10 798 62 95
info@notilyze.com

// Ask a question