nodeSolidServer / nodeSolidServer/node-solid-server

Validation and filter feature

Open
#907 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

discussion priority-high revisit
Dominant language
JavaScript
Stars
1.8k
Forks
308
PR merge metrics
No merged PRs in 30d

Description

There have been a number of issues reported (linked in #882) where it seems that user's data files have been corrupted. Some of these things should be fixed on the frontend, so that it makes sure invalid data is not sent. However, the backend should also check, e.g. by doing a RDF validation as suggested in #882, but we could also imagine SHACL validation, etc. If Inrupt becomes a large POD provider, it may also come with legal requirements.

Also, validation may not only be a boolean accept or error, but possibly also filtering to accept valid parts. For v.next, we need to have an architectural element that does this, but we may need to address parts of this problem already for 5.0.0.

Consider this a super-issue for discussing what should be in 5.0.0, and if we should try to make that reusable in v.next. Also, we may discuss if we do not attempt to solve it on the backend and refer to frontends to do it.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the reports linked in #882 and the discussion about RDF and SHACL validation. Clarify whether validation belongs in the frontend, backend, or both, and define the scope for 5.0.0 versus v.next. Done means an agreed reusable architecture and clear requirements for rejecting or filtering invalid data.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
backend, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.