Skip to main content

Create WORKSHEETS App

WORKSHEETS Data Studio allows you to create a robust web applications with public or private access permissions, by using a robust low code data management approach

To reduce learning curve, we've built our RAD framework on a most popular frameworks/technologies, such as: HTML, Bootstrap, Python, SQL. If you are familiar with those technologies, then it should be easy for you to build WORKSHEETS Apps

Design UI with Dynamic Components markup​

Dynamic Components markup is based on ngx-dynamic-components and leverages a html-like mark-up syntax designed to build an extensive layouts of any complexities. Core benefits:

  • html-like syntax is most popular markup to build UI for web and mobile
  • Full support for Bootsrap - the most popular HTML/CSS library in the world
  • Wijmo - excel-like DataGrid and charting library. (Enterprise-license holders have to purchase their own license)
  • Use chrome Dev Tools to inspect and debug HTML composition

Build custom workflow and logic:​

You can use JSPython programming language with a number of open source Javascript libraries included:

  • dataPipe-js - dataPipe-js is a data processing and data analytics library for JavaScript. Inspired by LINQ (C#) and Pandas (Python) and others
  • sqlL-data-api-js - sql-data-api is a javascript client to safely and securely work with SQL Databases
  • RxJS - RxJS is a library for composing asynchronous and event-based programs by using observable sequences. It provides one core type, the Observable, satellite types (Observer, Schedulers, Subjects) and operators inspired by Array#extras (map, filter, reduce, every, etc) to allow handling asynchronous events as collections.
  • Axios - Axios is a simple promise based HTTP client for the browser and node.js. Axios provides a simple to use library in a small package with a very extensible interface.

App Building blocks (files)​

Main file types​

  • app.xml is a main file where WORKSHEETS App starts. It's a dynamic components markup with references to code-behind logic. App.xml file can contain <page-placeholder/> tag that will render pages inside.

  • *.page.component.xml is a dynamic markup file containing page layout and logic. Page can be rendered inside app's <page-placeholder/> or inside dialog

  • *.component.xml - user defined dynamic markup content which can be rendered inside an app or page

So, inside every app event handler, we have an app object available for usage. This is a main object to operate

  • showPage(pageName, pageParamsObject) - shows page inside a parent page-placeholder

  • showDialog(pageName, pageParamsObject) - shows page as a dialog

  • showErrorToast(errorMessage) - shows Error toast

  • showNotificationToast(message) - shows notification toast

  • currentUser - an object that represent currently logged in user. It is null if user unauthenticated

  • info - an object that contains essencial application information

  • currentPage - shows current page

  • queryParametersChanged$

  • currentPage$

  • currentUserChanged$

  • getQueryParameters(paramsObject) - get current URL's query parameters

  • setQueryParameters(paramsObject) - set URL's query parameters

WORKSHEETS sample spps​

Browse our sample app gallery here

Extention points​

WORKSHEETS App Runtime will be open sourced soon, but for now, only enterprise license holders can:

  • build your own Angular components and expose it to Dynamic Markup
  • provide custom styles (even completely replace bootstrap)
  • include any of existing Javascript libraries
  • provide your own authentication (AAD) etc.
  • Active Directory integration