SolidLabResearch/Challenges

Form render application that can render an RDF-form + RDF data + store it in a pod of choice

phochste opened this issue · 4 comments

Pitch

Create a Form render application that can render an RDF form definition that is possible build with the Form builder tool as specified by #64.

In this app users can in a declarative way point to the RDF definition, RDF data and Solid storage location where data should be serialized.

The app provides a generic rendere of RDF forms. It can be used as a stand-alone app or can be the basis of an application to provide more domain specific layout features.

Use case

An end user has created in some way an RDF Form definition for a book review. The result of this process was https://github.com/phochste/solidui2rdfform/blob/main/data/rdfform/book_review.ttl

See #64 for a sample application that should do that in an intuitive way.

She wants to see a working RDF Form as a web application . "Working" means, it can actually be used to fill out the data fields and store the resulting RDF in a Solid pof location of choice.

  • She opens the Form renderer and passes the RDF-Form location
  • The application will render the form as HTML and she can fill out the fields
  • When she is happy with the results she clicks on the 'Save' button and the results will be saved as RDF in her pod

At a later point in time she decides that she wants to update an existing book review with fresh data:

  • She opens her Form renderer and passes the RDF-Form + RDF-Data locations
  • The application will render the form and prefills all the data fields from the RDF data
  • When she is happy with the results she clicks on the 'Save' button and the results will be saved in her pod

Desired solution

  • The application provides a way for a user to provide:
    • The URI of an RDF form definition
    • The URI of an RDF data resource
    • A recipe how to store the data on a Solid pod
  • The app renders the RDF form definition (e.g. as a HTML web form)
  • When an RDF data resource is provided, then the RDF form will be pre-filled with data
  • When the user submits the data, the app will use a recipe to store the resulting RDF data in a location of choice

Acceptance criteria

  • The application demonstrates how the RDF Form, RDF Data and RDF storage recipe can be provided in a declarative way as web resources
  • The application doesn't need any input from the input to provide a basic rendering of the form
  • The application implements the basic form elements as explained in #64

Pointers

Scenarios

@phochste Could you add a use case (or a set of use cases), so we can put bounds to this challenge?
Because forms can be very wide (think Doodle for instance with a calendar form component).
Basically, when I see a certain solution, I need to be able to make a yes/no decision based on the scope, and there should be no feature creep.

@RubenVerborgh ok added a use-case

You find the report for this challenge here.