Intro

Introduction

This document provides an overview of Solid, a framework designed to enhance data management on the web. Solid introduces a method for users to store and control their data separately from the applications they use.

Overview of Solid

*Data Management with Solid*

Solid enables users to store their personal data in online data stores, known as Pods. These Pods are controlled entirely by the user, who can grant or revoke access to applications as desired. This separation of data from applications allows for greater user autonomy over their personal information.

*Solid’s Technical Approach*

The technical foundation of Solid is based on principles of Social Linked Data (SoLiD), facilitating the interconnectivity of data across different platforms and applications. The emphasis is on data portability and interoperability within a secure framework.

Concept of a Web Operating System

*Solid’s Role*

While Solid contributes to the broader idea of a web-based operating system by enabling the modular use of web applications, the focus remains on its function as a data management framework. The notion of a web operating system is a broader concept, one of many potential applications of the Solid protocol.

*Application Diversity and User Choice*

Solid encourages a diverse ecosystem of client-side applications. This variety provides users with the flexibility to choose applications based on their specific needs and preferences, without being limited by data storage constraints.

Security and Privacy in Solid

*Data Control and Privacy*

One of Solid’s key features is its emphasis on user-controlled data privacy. Users have the authority to manage who can access their data, enhancing privacy and data security on the web.

Solid in the Web Ecosystem

*Integration with the Web*

Solid is designed to function within the existing web ecosystem, complementing and enhancing current web standards. Its focus is on user data management rather than redefining the web infrastructure.

Conclusion

Solid represents a structured approach to data management on the web. It provides a framework for user-controlled data storage and application interoperability, contributing to the development of a more user-centric web experience.

© Melvin Carvalho 2023-11-23

: —- thumbsup —- :

2023-10-19 v7

v7.0.0
New features
The minimum supported Node version is now v18.
Account management and everything related to it have been drastically changed, see the usage documentation for an overview of the new features, and the architecture documentation for an overview of the new structure. On a default server, the entry point for everything related to accounts is http://localhost:3000/.account/. Creating an account now requires multiple steps, but allows you to have multiple pods or WebIDs for 1 account. The architecture has been updated to be more easily extensible.
Pod seeding has been updated to account for the new account management, with an updated CLI parameter –seedConfig, see the updated documentation for more details.
Migration was added to update account data automatically from previous versions. See below for more details.
Due to the changes in account management, setup has been removed completely. The *-no-setup.json configurations have been renamed to *-root.json to indicate their focus on the root container.
The StaticAssetHandler can now be used to link static pages to containers. This can be used to set a static page for the root container of a server. See the /config/app/init/static-root.json config for an example.
Data migration
Old internal data will need to be migrated. When starting the server for the first time after updating the version, this will happen automatically. A prompt will be shown to confirm. It is advised to first backup the internal data in case something goes wrong. When using the filesystem backend with default storage options, these can be found in the .internal folder.
Only account data will be migrated, other internal data such as OIDC sessions and notification subscriptions will be removed as how they are stored has changed as well. This means existing tokens and sessions will be invalidated and users will have to log in again. Notifications will have to be resubscribed to for the same reason.
This migration step is based on how storage is defined in the configurations provided in this repository. If you made drastic changes to how internal data is stored, you might need to have a look at the app/init/migration/v6.json configuration.
In case the prompt causes issues, it can be skipped automatically with the –confirmMigration CLI option.
Configuration changes
You might need to make changes to your v6 configuration if you use a custom config.
The @context needs to be updated to https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld.
The following changes pertain to the imports in the default configs:
There is a new identity/oidc import set that needs to be added to each config. Options are default.json and disabled.json.
There is a new static-root.json import option for app/init, setting a static page for the root container.
There is a new initialize-root-pod.json import option for app/init, initializing a pod in the root.
There are more identity/handler options to finetune account management availability.
There is a new set of imports storage/location to determine where the root storage of the server is located.
The app/setupand identity/registration imports have been removed.
There is a new ldp/handler/disabled.json import to disable the LDP API.
The following changes are relevant for v6 custom configs that replaced certain features.
All configurations that had a reference to setup have been updated.
/app/init/* imports have changed. Functionality remained the same though.
All imports that define storages have been updated with new storage classes.
/http/notifications/base/storage.json
/storage/keyvalue/storages/storages.json
All identifiers containing the string "WebHook" have been renamed to instead use "Webhook" to be consistent with the notification type.
/identity/* configurations have drastically changed due to the account management update.
/http/static/default.json has been updated to allow easier overriding of the static resources.
Interface changes
These changes are relevant if you wrote custom modules for the server that depend on existing interfaces.
The AppRunner functions to create and start the server now take a singular arguments object as input.
Most of the key/value related storages had their constructors changed to allow more values.
EncodingPathStorage has been removed and its functionality split up over Base64EncodingStorage and ContainerPathStorage. HashEncodingPathStorage has similarly been replaced by introducing HashEncodingStorage.
All classes with the name WebHook* have been renamed to Webhook* to be consistent with the corresponding notification type.
Most classes related to the IDP have been changed.
All classes related to setup have been removed.
The StaticAssetHandler has bene updated to support the new functionality.
SeededPodInitializer has been renamed to SeededAccountInitializer.
WebIdAdapterFactory has been renamed to ClientIdAdapterFactory.
view raw gistfile1.txt hosted with ❤ by GitHub

really good questions. I love it.

What is the USP of Solid. What does solid do that is not done elsewhere. I think it’s a much more valid question than a year ago. As someone that follows over 50 open source projects, Solid being one, there is tremendous innovation in this space.

What is Solid? Is it social linked data? Is it cloud storage? Is it an RDF API? Is it a Turtle Linked Data Solution? Is it a client side app ecosystem? Is it a read-write web solution? Is it a web operating system?

Perhaps a little of all, but the messaging is unclear from the WG charter and the specs.


@melvin

w the heck

Titannetwork
LinkedPro
StashDatLink
SlackSolidBridge
Martin
MastodonIntegration

Heute haben wir den Abschluss des Solid Hackathons erlebt. 6 ganz feine Teams haben neuartige Software präsentiert. Mehrere Stunden Livestreaming mit durchaus maximal 12 Viewern gingen technisch gesehen möglicherweise an die Grenzen, jedoch wurde sowohl eine Katze als auch die Türklingel erfolgreich toleriert ohne dass die Verbindung abriss. Fairerweise haben alle viel Arbeit investiert und ein Team wird einen abstrakten Preis erhalten. Eindrücklich waren alle sechs als Proof of Concept anzusehen.

Wir haben vielleicht 70.000, 80.000 Pods in den unendlichen Weiten des WorldWideWeb und ein jeder davon hat dieselben Rechte an den eigenen Daten, auch wenn vielleicht nur ein Bruchteil davon wirklich aktiv ist.

Lassen Sie mich noch einige Buzzwords aufzählen, die in der Grosshirnrinde (wenn es das gibt) hängengeblieben sind:

Activitypub, acls, podpro.dev, scalability, webfinger, office, cpu, netzwerk in der developer console, mastodon, fediverse, … etc.

Nun noch zwei Links (a href) zwischen denen man sich wahrscheinlich binär entscheiden muss.
https://vscode.dev/
https://code.visualstudio.com/docs/setup/linux

Eine Übung

  • Past
  • Status Quo
  • Goal

Zivildienst und Universität sind der Beginn meines cv-technischen Daseins. Reisen und Hedonismus sowie Substanzen führten dann in das Psychonautenleben, das seitever prägend auf mich eingewirkt hat. Einige Jahre UPS-Arbeit haben zum Juniordeveloper geführt. Wie jedoch definiert man sich als Psychonaut ?

Musterherstellung, Konfektion, Post, Druckaufträge und Betreutes Wohnen sind Bestandteile des “Heute”s.

Wir fügen ein Business Canvas an, das in verbleibenden (Monaten) bis zum angestrebten Beginn der Tätigkeit am 1.1.2025 noch weiter ausgefeilt werden muss. Es handelt sich lediglich um einen ersten Entwurf. Die Website https://meisdata.io ist online und dient als Landingpage. Der zugehörige Community Solid Server dient als MVP. Google Statistics sind eingerichtet. Anmerkung realitätsgetreu: am 4. des Monats sind die Vorräte aufgebraucht. Jedoch ist es nicht verboten, mit Unterkonten zu arbeiten. cc: I.K.
-…
Bild
-…

sample profile educational

@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix solid: <http://www.w3.org/ns/solid/terms#>.

<https://example.com/profile/card#me>
  a foaf:Person ;
  foaf:name "John Doe" ;
  foaf:givenName "John" ;
  foaf:familyName "Doe" ;
  foaf:email <mailto:john.doe@example.com> ;
  solid:publicTypeIndex <https://example.com/publicTypeIndex.ttl> ;
  solid:privateTypeIndex <https://example.com/privateTypeIndex.ttl> ;
  solid:storage <https://example.com/> .

Testbild


beigefügt sehen Sie meine Arbeit am MVP. Betrachten Sie folgendes Experiment:

Gmäeß eneir Sutide eneir elgnihcesn Uvinisterät, ist es nchit witihcg, in wlecehr Rneflogheie die Bstachuebn in eneim Wrot snid, das ezniige was wcthiig ist, ist, dsas der estre und der leztte Bstabchue an der ritihcegn Pstoiion snid. Der Rset knan ein ttoaelr Bsinöldn sien. Tedztorm knan man ihn onhe Pemoblre lseen. Das ist so, wiel wir nciht jeedn Bstachuebn enzelin leesn, snderon das Wrot als gseatems. Ehct ksras! Das ghet wicklirh! 😉

Dies nur zu unserem erstaunlichen Bewusstsein. Das ist natürlich ein alter Hut. Jedoch lernen wir lebenslang. Nicht ausschliesslich durch Try and Error, aber so fangen wir an. Bleiben Sie neugierig. Content-Strategie nur auf dieser Plattform. 5 Mal wöchentlich zwischen 01 und 02 UTC+2. Als Zielgruppe wende ich mich an den Privatanwender mit durchaus professionellem Interesse. Von Funneln verstehe ich nix. Je genauer wir die Zielgruppe definieren, je spezialisierter die Nische ist, je detaillierter wir auf alles (und ja, ich befürchte, auch den Markt) eingehen, je konsistenter unsere Positionierung ist, je glaubwürdiger wir uns verhalten, desto größer die Aussichten auf Erfolg. Bißchen Glück halt auch. Und ein Netzwerk.

Stay tuned.

some services

https://start.inrupt.com/profile
https://inrupt.net/
https://solidcommunity.net/
https://dev.inrupt.net/
https://solidweb.org/
https://solid.open.ac.uk/
https://solid.openlinksw.com:8444/
https://solid.openlinksw.com:8445/
https://trinpod.us/
https://trinpod.eu/
https://solidweb.me/somewhereelse/index.html
https://get.use.id/
https://solid.aifb.kit.edu/
https://igrant.io/datapod.html
https://solid.redpencil.io/
https://solidcommunity.net:8443/
https://teamid.live/

Let’s fix the web

Belgien im Allgemeinen, Flandern im Besonderen ist ein Epizentrum des Projekts “Solid”. Dort sollen 6 Millionen Pods an die Bürger ausgerollt werden. Ein Pod ist ein Personal Datastore, ein Stück des Webs, ein Datentopf, den man sich wie einen Ftp-Server vorstellen kann. Ein Pod kann jedoch weit mehr, als lediglich Daten zu hosten. Persönliche, Business-, Bank- oder gar Heizungsdaten werden bereitgestellt und sind semantisch verknüpft mit anderen Daten aus anderen Quellen, also verlinkt. Mehrere Anwendungen können auf dieselben Daten zugreifen, userzentriert sind alle Daten im ursprünglichen Sinne Eigentum des Besitzers. Metadaten sind ein wichtiger Bestandteil – Stichwort “see also” – und die Zeiten der Blogosphere sie leben hoch. Ein weiterer, wenn man so will ein siebter, Layer des Webs wird eingeführt, on top of everything that exists today. Die Identität des Users ist ein simpler URL, weltweit einmalig, und sie sichert den Zugang zum gesamten Ecosystem. Vergessen Sie 70 Logins bei 70 verschiedenen Onlineshops, Sie geben Ihre persönlichen Daten einmal ein und gewähren lediglich – wem auch immer, Personen, Organisationen oder Anwendungen – Zugang zu Ihrem Pod, den Sie jederzeit rückgängig machen können, also wieder entziehen. Verschiedene Apps konkurrieren miteinander und wenn App B ihren Job besser macht als App A, dann wechseln Sie lediglich die Rechte, die Sie gewähren. Bereits heute gibt es einige Handvoll Pod-Provider.

Erfunden hat’s, wie sollte es auch anders sein, Tim Berners-Lee auch genannt timbl und das ganze Projekt enstammt einem Forschungsprojekt am Massachuchetts Institute of Technology. Die Community ist global, kommt also aus allen Ecken des Planeten und arbeitet hart am Kernstück unter dem Dach des W3C, den Specifications. Terms, Ontologien, Vocabularies, Prozesse, Fehlermeldungen, Authentifikation und Autorisation sind erfunden worden und greifen bis ins letzte Detail ineinander. Im Wesentlichen gibt es bereits heute drei Versionen des Servers, die Produktionsreife erreicht haben, oder mindestens anstreben und die als Open Source jedermann zugängig sind. Der Quellcode ist in Javascript und Typescript geschrieben und wird in einem Github-Repository bereitgestellt. Stellen Sie sich vor, Sie brauchen nie wieder verschiedene Logins und Sie müssen nicht bei jeder neuen App wieder und wieder Ihre persönlichen Daten in ein Formular eintragen und sich dutzende (wenn nicht mehr) Passwörter merken. Manche nennen es Web 3.0. Mindestens auf der Transportschicht ist alles verschlüsselt. Die Blockchain brauchen Sie nicht dafür. Ein Haus hat verschiedene Zimmer mit verschiedenen Graden der Privatsphäre. Alice und Bob können kommunizieren, veröffentlichen, liken ohne dass Big Brother darin eingreifen kann. Denken Sie an die A.I. als Charlie. Das Web, wie es ursprünglich gedacht war, nimmt Formen an. Eine offizielle 1.0 gibt es noch nicht. Das ist jedoch lediglich eine Frage der Zeit. Sehen Sie sich um.

Spannende Zeiten.