I am new to Solid project, I have gone through the website Docs, I think I understand the basic concept of the project, here are my understandings, hope someone can correct me if I was wrong
- We can build our own Solid server (data pod) or use server provided by community or Inrupt. The server (data pod) is basically a web application where users can store the data and make any access control
- A Solid app is a web application that is able to talk to Solid server through Linked Data.
Btw, is there any video demo of working solid apps? I’ve tried some of them but most of them just didn’t work well. I feel quite confused about how I can actually interact the app with the server.
Thanks in advance.
Hi, welcome, you’ve got it right so far.
The web application that the server provides is called ‘Databrowser’ which the green [ + ] and toolset. In a folder that has no index.html then that’s what you’ll see. If there’s a index.html then it runs as an app.
So, for example if you drop an index.html onto the [ + ] of ‘public’ root folder you’ll lose access to the toolset and [ + ], so then you have to go to thru; profile -> card -> storage -> toolset.
If you install the server on localhost then i recommend to keep the default port (8443) cos it still uses the default port for login popup authentication (bug).
When you set up your own server (localhost or domain) you will need “multi-user” wildcard ssl (https) certificates cos the user accounts are all sub-domains.
If you have an online pod with working app folder and just copy that to a folder to localhost pod it won’t load cos each file in the folder needs a [filename].[ext].acl (Access Control List permissions) and a .acl for each folder. On top of this there are .ttl files (turtle triples lists) which describe the files in each folder, etc. (you can find these on the toolset to the left of the rainbow icon) The Databrowser doesn’t show these files from a folder listing (hidden), but when you upload files with the [ + ] or create folders, then the .acl and .ttl files are created automatically. (hence they are missing if you just copy an app via local filesystem)
A good way to get started learning is to install Jeff’s Solid IDE which will let you edit files more easily. (but remember the index.html replaces your toolset on public folder)
(i’ve made all the above mistakes myself, so getting a local pod running has been a learning experience) Hope it helps.
Basic ressources and beginners wiki
All of this is rather in beta state.
I’ve got a screencast for my app that is based on Solid: https://streamable.com/u5c4q. I also added some documentation to clarify the interaction between the app and Solid PODs: https://github.com/pheyvaer/solid-chess/blob/master/interaction-with-pods.md
Thank you all for the detailed explanation and resource, I will definitely look into them.
I sincerely appreciate your work and it looks so fun to me!
Hi @jupan, you are now an expert -)
Be aware there is an ongoing sprint https://github.com/orgs/solid/projects/1#card-14842941 on the release/v5.0.0 branch of https://github.com/solid/node-solid-server/network
hopefully activity will pick up, bugs get fixed and a reference implementation of node-solid-server emerges