Skip to content

migration to CSS #62

Closed
Closed

Description

@bourgeoa

CSS has a file-system mode that could allow migration/mapping at the filesystem level.

This is a work in progress, to summarize some of the questions raised by solidcommunity.net migration/mapping from NSS to CSS

file system mapping

  • resource mapping is using the same mapping convention : resource + contentType is mapped
    • to file if file mimeType = contentType
    • else to file$.ext with mimeType of ext = contentType
    • profile is stored in card$.ttl
    • .meta and .acl are turtle resources stored as files at the same relative location.
  • pod mapping
    • CSS a pod is allways stored in a folder named user
    • while NSS pod data is stored in a folder named subdomain

IdP

  • authentication have different entry points (login) :
    • CSS is using email as entryPoint versus WebId for NSS
    • NSS may have multiple pod's with the same email, not CSS
      solidcommunity.net on 20220603 has 59030 accounts but only 48445 emails
  • idp migration

WebId structure

WebId profile

CSS functionalities

  • CSS container as turtle do not display contentType by default
    • v4 has it by default
  • app authorisation
    • CSS do not use the trustedApp mechanism.
      • Note that this goes beyond the v0.9 spec; the mechanism is not secure and will not be supported in the default CSS configuration. However, no breakage occurs; the statements are simply ignored.
    • NSS uses trustedApp at the pod or ACL document level
  • notifications ?
    • CSS supports the unsecure Solid WebSockets API 0.1 in all versions up to and including v4.0.0, but the mechanism is scheduled to be removed from the default configuration in v5.0.0. (Note that this does conform to 0.9 since support is indicated as SHOULD, not MUST.) However, it will still be available as a custom module that can be plugged in, so keeping that functionality will not be an issue.
  • owner implementation ? to allow unlock ACL Control : yes it does

mashlib issues

  • mashlib can be linked to CSS has an external webApp
    and CSS v3.0.0 has a recipe using mashlib by default
  • extended profile is not available in CSS missing properties are :
    • space:storage
    • solid:account
    • preference files
  • CSS domain is allways seen as a podStorage : pim:Storage is available on container representation even with no profile

Activity

  1. elpoelma commented on Mar 22, 2022

    @elpoelma

    On the issues with mashlib

    • You can easily configure mashlib in order to generate new files for a pod on pod creation using handlebars templates. I have added handlebars files to my configuration: https://github.com/redpencilio/app-solid which are responsible for generating preference files. These are located in templates/pod. In order to use these templates, you can configure a TemplatedResourcesGenerator in the components.js config file to use the correct pod-templates folder.
  2. bourgeoa commented on May 30, 2022

    @bourgeoa
    MemberAuthor

    Top post edited with @RubenVerborgh responses

    One new question : does CSS implement : "owner implementation ? to allow unlock ACL Control"

  3. bourgeoa commented on May 30, 2022

    @bourgeoa
    MemberAuthor

    Thanks

  4. bourgeoa commented on Jun 4, 2022

    @bourgeoa
    MemberAuthor

    as of 20220603 there are 59030 accounts but only 48445 emails

    This covers 2 different situations : no email, or same email on multiple pods

    # find /mnt/v*/solid.community -maxdepth 1 -type d | wc -l
    # find /mnt/v*/.db/oidc/users/users-by-email | wc -l
    
  5. timea-solid commented on Jun 27, 2022

    @timea-solid
    Member

    The plan I was tracking on this topic is:

    • First experiments with mashlib on CSS (reporting bugs)

    • Prioritize and fix high prio problems of SolidOS(mashlib) to be able to move to CSS

    • SolidOS team concerns about CSS

      • Tim migrated and switched timbl.com to CSS
      • all SolidOS team has local CSS installations - gather valuable learning experience
      • collecting issues on multi-user setup
      • fix any big multi-user setup problems
      • git solidOS clone needs to automatically setup CSS instead of NSS for local dev
      • solidcommunity.net test environment setup for CSS
    • Working on checking/documenting Solid Apps working with CSS

      • Working with the latest DPoP
    • Migrate Pods

      • Existing Pods Data
        • added solid:oidcIssuer missing tripple to solidcommunnity.net and inrupt.net
        • collect info on pod users
        • collect potential issues
        • find solutions to issues
        • develope a migration script for data (with testing)
      • Existing Pods username/password
        • collect concerns about migration of login experience
        • solve/reconcile any login to CSS issues
      • migration plan approved by SolidOS team & Solid Team
        • prepare communication to community

    Ongoing:

    Done:

    All tickets are monitored here: SolidOS team tasks & Git issues (view)

    @timbl @justinwb @RubenVerborgh @bourgeoa @oolivo let's keep ourselves up to date with this ticket/comment. I will make sure to propagate this in SolidOS and Solid Team meetings to keep everyone (us and everyone else) informed.

  6. bourgeoa commented on Oct 11, 2022

    @bourgeoa
    MemberAuthor
  7. timbl commented on Nov 3, 2023

    @timbl
    Contributor

    Now we have https://github.com/RubenVerborgh/NSS2CSS -- thanks to @RubenVerborgh -- I have checked off the box above "develop a migration script for data". I had understood originally that CSS and NSS used different password hash algorithms, and so a conversion from one to the other was impossible. But now it seems that was not in fact the case, and the conversion script is possible. That is a major step

  8. timea-solid commented on Oct 14, 2025

    @timea-solid
    Member

    This task was concluded already. Can it be closed?

  9. moved this from In Progress to Done in SolidOS team tasks & Git issueson Oct 14, 2025
  10. jeswr commented on Oct 14, 2025

    @jeswr
    Member

    Closing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions