DFDP: A Declarative Form Description Pipeline for Decentralizing Web Forms

Ieben Smessaert, Patrick Hochstenbach, Ben De Meester, Ruben Taelman, Ruben Verborgh

SDS 2024, 26 May 2024

DFDP: A Declarative Form Description Pipeline for Decentralizing Web Forms

Ghent University – imec – IDLab, Belgium

Forms are used everywhere on the Web

Running example

Forms are used for medical data entry

Running example: Health Data Space

Hospital display environment

Kiosk

Home display environment

Doctor's computer

Phone display environment

Patient's smartphone

Each environment displays the form differently

Different forms require custom implementation per environment for each form

Hospital display environment

With big buttons

Home display environment

Quick data entry

Phone display environment

Extensive descriptions

Can we make forms reusable and workflow independent?

Poor reusability and workflow dependent illustration

Data is tightly coupled to the application

Data is tightly coupled to the application illustration

Declarative Form Description

The display part semantically describes the form

Same form description can be rendered in any environment

Form renderer

FormRenderer

Using HTML in the browser

Form CLI

FormCli

Text-based via the command-line

Schema alignment translates the form description into an ontology

Schema alignment visualisation

Describing actions through footprints

{
  ex:Form pol:event pol:Submit.
} => {
  ex:HttpPolicy pol:policy [
    a fno:Execution;
    fno:executes http:Request;
    http:methodName "POST";
    http:requestURI <https://httpbin.org/post>
    http:headers (
      [
        http:fieldName "Content-Type";
        http:fieldValue "application/ld+json"
      ]
    )
  ] .
} .
        

Footprints complete the fully declarative form

Footprints visualisation

Running example: Health Data Space

Declarative form description improves reusability

Declarative form description improves interoperability illustration

Viewing environments are now workflow independent

Workflow independent illustration

Footprints decouple data from application

Footprints decouple data from application illustration

Conclusion

https://w3id.org/DFDP