Problem
JSS currently creates WebIDs at the pod root:
https://example.com/alice/#me
- Profile document:
https://example.com/alice/ (index.html)
This causes issues with mashlib/solid-logic which expects the standard Solid convention:
https://example.com/alice/profile/card#me
- Profile document:
https://example.com/alice/profile/card
When users try to edit their profile in mashlib, it attempts to PATCH the container /alice/ instead of a proper document, resulting in 409 Conflict errors.
Proposed Solution
Change pod creation to use the standard /profile/card#me WebID structure:
- Create
/profile/ directory in pod structure
- Write profile document to
/profile/card instead of index.html
- Update WebID from
${podUri}#me to ${podUri}profile/card#me
Files to Change
src/handlers/container.js - WebID construction and createPodStructure()
src/idp/interactions.js - Registration WebID construction
src/webid/profile.js - May need updates for profileDoc parameter
Breaking Change
This will affect new pods only. Existing pods will retain their old WebID structure.
Future Enhancement
Consider making the WebID location configurable for flexibility.
Problem
JSS currently creates WebIDs at the pod root:
https://example.com/alice/#mehttps://example.com/alice/(index.html)This causes issues with mashlib/solid-logic which expects the standard Solid convention:
https://example.com/alice/profile/card#mehttps://example.com/alice/profile/cardWhen users try to edit their profile in mashlib, it attempts to PATCH the container
/alice/instead of a proper document, resulting in 409 Conflict errors.Proposed Solution
Change pod creation to use the standard
/profile/card#meWebID structure:/profile/directory in pod structure/profile/cardinstead ofindex.html${podUri}#meto${podUri}profile/card#meFiles to Change
src/handlers/container.js- WebID construction andcreatePodStructure()src/idp/interactions.js- Registration WebID constructionsrc/webid/profile.js- May need updates for profileDoc parameterBreaking Change
This will affect new pods only. Existing pods will retain their old WebID structure.
Future Enhancement
Consider making the WebID location configurable for flexibility.