Release per April 5, 2022: InPlace v0.15.0

InPlace Version v0.15.0 delivers the following milestones in the project Practical Tools to Build the Context Web as supported by NLnet:

This milestone is about describing a screen for a particular user in a context, in a model. In essence, a screen a is series of tabs where each tab is composed of widgets that can be arranged in rows and columns. Currently we have just two widgets: the form (for a functional role) and the table (for a relational or multi-role. Here is an example:

    user Tester filledBy sys:PerspectivesSystem$User
      indexed com:Tester
      perspective on TestRole
        props (Text, Bool, ADateTime, ANumber) verbs (Consult, SetPropertyValue)
        only (Remove, Create)
      perspective on TestTable
        defaults
      screen "Test screen"
        tab "Test"
          row
            column
              form TestRole
                props (Text, WeekDay) verbs (Consult)
                only (Create)
              table "MyTable" TestTable
                view Limited verbs (Consult)
                only (Remove)

Screens are generated client side from a datastructure that results from parsing source texts like the one above. When no screen has been modelled, the PDR generates a default screen layout consisting of a single widget on its own tab for each role that the user has a perspective on in the context.

The compiler checks the following constraints concerning a screen specification:

The verb- and property specification of a screen may only serve to further restrict the possibilities given by the perspective a user has on the role that underlies the widet.

There are now three sources of screens:

Major changes

Minor changes

Documentation

Updated documents: