Table of Contents

#SFW

Q: What is SFW ?

A: Semantic Form Workspace (SFW) - is an experimental platform developed as part of the Semantic Types project, to apply the patterns described here, seeking to understand and learn - if possible - about how to simplify some of the ways in which you describe, interact with, and organize your information in a digital system.

Accessing SFW

System Entities

Namespaces

All data resides in namespaces. Namespaces can specify other namespaces they depend on, and will be visible to read entites from, but not modify.

Out of the box there are a few important namespaces to know of:

Any authorized namespaces can be added as dependency to a namespace.

Tenants

All customers receive a Tenant account. Any Tenant administrator can create Tenant accounts underneath, Users, Namespaces, and Extensions, and can also authorize other Users to do so (Standard tier and up). The Authorization only applies to namespaces and entities the User assigning the rights has the rights to assign access to.

The Tenant model is hierarchical, starting from the top Tenant - SemanticTypes and customers can further sublet to their own tenants, acting as SaaS providers.

Subscription Tier Can Create Tenants Can Create Users Can Create Namespaces Can Create Extensions Can Use Extensions
Free No No Yes* No No
Basic No No Yes No Yes
Standard Yes Yes Yes No Yes
Pro Yes Yes Yes No Yes
Partner Yes Yes Yes Yes Yes
Enterprise Yes Yes Yes Yes Yes

Master List

The master lists of tenants is in each tenant's Master List namespace.

Each tenant in the master list has a list of sub-tenants containing:

Each tenant has its default namespace storing the system entities it needs:

Applications

Applications in SFW are a collection of pages, supporting the page rendering process, users taking actions and navigating between pages.

Pages

Pages in SFW simply host components, both high level(pattern driven) and custom components.

UX Patterns

UX Patterns define 4 core components each driven by a clear pattern.

Entity View

Presenting a list of fields from an entity for viewing, creating and editing. (custom actions ?)

Entities List

Presenting a list of entities for viewing, creating new entities, and editing existing entities. The list can be searched, filtered, sorted and should support pagination.

Entities Aggregate

Presenting a list of measurement fields aggregated across multiple entities for vieweing. Aggregation logic can be selected from a list (extensibility?!) The list can be searched, filtered, sorted and should support pagination. This can be used to support reports and dashboard elements.

Custom View

Built through code.

Composite View

Presenting multiple patterns on the screen, and allowing them to communicate.

UI Templates

Presenting and managing the layouts where components are placed.

Custom Logic

Allowing for custom logic to support validation, presentation, transformation, and flow decisions.

Conditions

Allowing through criteria to decide on validation, presentation and flow decisions.

Mappings

Allowing through criteria to map exising data to create new data.

Computed entities

Allowing through an expression to compute new data from exising data.

Flows

Automate tasks and processes. Each step in a process happens in the right order, involves the right people or systems, as it moves from start to finish.

Data access

APIs

Batch APIs

Import

Events

Audit

I18n