Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Compliance assessment details reveal information about PIA, STRA and legal review status, among other things.

...

Users can contribute to the catalogue, by filling out a CHEFs form. The information from this form must be copied over manually to Airtable. Submission is 3 step process consisting of product information, subscriber information and compliance assessment:

...

Requirements

PIA, STRA and Risk Assessment System Integrations

...

To simplify data collection and to keep track of all of the applications, it would be desirable for the user to use the SaaS catalogue as the entry point to the procurement process. For example, if the software the user is interested in is not listed in the catalogue, they may submit a new application that will instantiate that application in the catalogue and will make them the first subscriber.

If, on the other hand, the application is already in the catalogue but the user’s ministry has not gone through procurement, then by applying through the catalogue their subscription will be added to the existing application listing.

Additionally, when users submit new subscription application, this should trigger the application in PIA/STRA/Legal Review systems as well.

Software licenses come in 3 varieties - corporate (government wide), enterprise (ministry-wide) and personal. Corporate agreements don’t require SaaS procurement process, enterprise agreements make software available for the whole ministry and need to be done only once, while personal agreements are done on the one-off basis.

...

Build Options

Backstage.io

...

ServiceNow is Application Platform as a Service (APaaS) that allows users to create IT process automation products. One of the features of the platform is the ability to create applications. The applications are written primarily with JavaScript and some version of a SQL database. Of note is that digital STRA is currently implemented using ServiceNow (Daniel Surdu).

Advantages

  • Integration with STRA process may be simplified due to the co-existence on the same platform

  • UI development may be simplified do the low-code approach to the application building

Disadvantages

  • Will require developers learning how to develop in the new environment

  • User interface will either be built into ServiceNow or will still have to be constructed separately using APIs

WordPress

Given that currently digital.gov.bc runs on WordPress, SaaS catalogue could be developed as a plugin. Gravity Forms may be leveraged for user input and new submissions mapped onto custom post types. Authentication may be accomplished with MiniOrange plugin to provide IDIR login protection. Once the custom post type is created, it exists in a draft state until an administrator verifies the information and publishes the post, causing to appear in the catalogue.

The front end can be accomplished using some JavaScript framework, such as React or Vue. Data can be consumed via a REST API endpoint exposed through the standard WordPress mechanic.

Advantages

  • No need to deploy and maintain a separate application.

  • Leverage plugins ecosystem to perform some of the functions.

Disadvantages

  • Application won’t be standalone and require WordPress to run

  • No choice for backend language - will have to be PHP

  • May not be appropriate for more complex future functionality (as entry point to the procurement process)

  • Building API-first may be awkward

Standalone

The application may be built from ground up using standard technologies such as Node.JS, React, and SQL database.

Advantages

  • Full flexibility in functionality of the app

Disadvantages

  • Takes the most work to develop

  • Need to maintain the application on OpenShift

Off the shelve

It may be worth exploring what type of off-the-shelf software is available that could support the business case. For instance, Service Now includes a SaaS license Management product.

Advantages

  • Requires least effort

Disadvantages

  • Likely won’t cover all use cases

  • Likely won’t integrate with external systems

  • Likely won’t provide APIs

Airtable API with custom frontend

Another possibility is to use the existing backend together with it’s administrative interface for managing the data and use Airtable API to build a new frontend with React or some other framework.

Advantages

  • Does not require build a new custom backend

  • Decouples front end into separate project - can connect it later to a different backend

Disadvantages

  • Requires continued Airtable subscription

  • Backend features might be restricted by the platform and cause issues with more advanced features, like API integrations with external services, such STRA management system

...

  • Decouple front end from the backend

  • Develop front end using react or similar framework

  • Try to avoid developing management interface from ground up, leverage existing packages, like nocodb or build an interface in Service Now.

  • Given that STRA, PIA, and legal review systems don’t yet exist or have APIs, it’s advisable to construct these parts of the SaaS catalogue as standalone virtual microservices that can later be swapped for actual APIs