Skip to content
Sharon Stratsianis edited this page Oct 1, 2021 · 15 revisions

Tips for developers

This is intended to give some help when developing SolidOs.

What is a store?

A store is created by rdflib library (see introduction). Synonyms are "kb" (knowledge base), LiveStore A store relates to a javascript object meant to manipulate RDF in memory. Basically it is an object organized to allow parsing through quads. A quad is a triple with a source document.

Is a store a cache system ?

yes mostly if called through solid-logic

How to clean a document from a store

rdflib tips

  • webOperations : performs all HTTP fetch functions
  • fetcher.load : insert a web document to the store if not existing already
  • updater.update : update store data and write them back to the web

How to run SolidOs on Apple M1 chip 16.09.21

  • currently SolidOS needs node 12.19.1 and node 13.14.0 and node 12.7.0 but M1 chip cannot install node < v14

Solution:

  • on MacOs terminal one can switch the architecture used to build code, you need to switch to -x86_64 with the command: $env /usr/bin/arch -x86_64 /bin/zsh —-login
  • to check if it worked check with arch command in the terminal, the result should show i386
  • afterwards you can proceed to install other node versions: nvm install 12.19.1 and nvm install 13.14.0 and nvm install 12.7.0
  • it can be that mashlib does not build because of errors like ERROR in ./src/styles/index.scss (./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/styles/index.scss) Module Error (from ./node_modules/sass-loader/dist/cjs.js): Node Sass does not yet support your current environment: OS X Unsupported architecture (arm64) with Node.js 12.x For more information on which environments are supported please see: https://github.com/sass/node-sass/releases/tag/v6.0.1 In this case you need to run node itself in the right architecture with the command node -p process.arch -> has to display x64. Then you can go ahead and build mashlib again npm run build

References:

Unauthorised error when you click LogIn

If you get this error perhaps you have previously had a solidos running locally and in that case you need to delete your cache from localhost.

When you go to localhost:8443 in your browser you see .acl errors

In this case it could be that something didn't build properly. If you are running npm run watch look closely at your errors. Otherwise you can also go through all the repos solid-ui, solid-panes, mashlib installing and building verifying that it is successful.

When building mashlib you receive a node sass binding type error.

There were breaking changes to sass on node 13+. Currently you need to be on node version 12 in order to build mashlib, otherwise you are very likely to see these errors.

Clone this wiki locally