solid-react-sdk icon indicating copy to clipboard operation
solid-react-sdk copied to clipboard

User Profile

Open justinwb opened this issue 6 years ago • 2 comments

Nearly all applications will need to allow users to manage a their profile data. We will provide componentry to facilitate this. It will also be a practical reference for working with forms to read and write linked data.

justinwb avatar Feb 22 '19 02:02 justinwb

This functionality is actually done. All of the code is written, and the functionality works quite well. However, in testing a release candidate, we uncovered some blocker issues in dependent libraries and the server itself that keep us from being able to safely write data to the pod. Efforts are well under way to resolve these:

Concurrency issue in solid/node-solid-server. These two approaches are being evaluated against one another:

  • Approach A / Resolve through file based locking: solid/node-solid-server#1106
  • Approach B / Resolve through synchronous patch: solid/node-solid-server#1105

Caching issue when doing updates via LDFlex:

  • Cache Invalidation: RubenVerborgh/LDflex-Comunica#10

Inconsistency in SPARQL UPDATE behavior between specification and solid implementation:

  • https://github.com/solid/query-ldflex/issues/18

justinwb avatar Feb 22 '19 16:02 justinwb

Implementing the User Profile using the original method:

  • Allowed evaluation of different approaches;
  • Implemented the workflow for reading and writing linked data; and
  • Identified several server issues that have since been fixed.

However, the implementation also illustrated the lack of flexibility in the approach, with the need to write custom code for each edit field. To overcome this limitation, the User Profile was re-implemented to use a generic Form Builder component that can render a form based on a defined User Profile shape. This provides multiple benefits:

  • As the User Profile shape is updated, the Form is automatically re-rendered to display the last fields.
  • The User Profile form is now compatible with the profile displayed in the Solid Data Browser.
  • Illustrates how to implement custom forms based on shapes.

For more details of the Shape-based Form component, refer to Issue #26 .

brownhoward avatar May 29 '19 17:05 brownhoward