Timea
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # W3C Solid Community Group: WebID Profile * Date: 2022-03-15T17:00:00Z * Call: https://meet.jit.si/solid-profile * Chat: https://gitter.im/solid/profile-spec * Repository: https://github.com/solid/webid-profile ## Present * Virginia Balseiro (VB) * Jeff Zucker (JZ) * Timea Turdean (TT) * Sarven (SC) * Tim (TBL) * Henry Story (HS) --- ## Announcements ### Meeting Recordings and Transcripts * No audio or video recording, or automated transcripts without consent. Meetings are transcribed and made public. If consent is withheld by anyone, recording/retention must not occur. * Join queue to talk. ### Participation and Code of Conduct * [Solid Code of Conduct](https://github.com/solid/process/blob/main/code-of-conduct.md), [Positive Work Environment at W3C: Code of Ethics and Professional Conduct](https://www.w3.org/Consortium/cepc/) * Operating principle for effective participation is to allow access across disabilities, across country borders, and across time. Feedback on tooling and meeting timing is welcome. * If this is your first time, welcome! please introduce yourself. ### Scribes * Sarven --- ## Topics ### Background & discussion with Henry on WebID URL: https://webid.info/ WebID specifications: https://www.w3.org/2005/Incubator/webid/spec/ * HS: There is a figure with Tim.. typing authentication and access control. Tim was viewing WebID as being the keychain type of thing where these things come together. Well, you have WebID and ties to OpenID * TBL: only the public part * HS: We used to have the WebID tied to public key. There was a protocol that went with it. That's still valid as pepople are still using TLS but now people are moving to security vocabulary from JSON-LD folks. There is lots of things you can put with this WebID. You need to link to things tha ??? I'm keen on using keys. There are also questions about FOAF profiles and how people link to it. People also used VCARD around 2015. * TBL: What we are tryin gto do is to standardise that.. some shapes of hte VCARD. Pronouns, languages and so on. * HS: Is there a document you've been working on? * JZ: We have notes: https://github.com/solid/webid-profile * JZ: So far we've been dealing with discovery, how you get the various documents. We haven't quite tackled what's in the documents. Some servers.. WebID document.. some documents are not directly editable and points to other documents that can be edited. We're trying to determine how widely that's used. * HS: Makes sense that some profiles and descriptions to be private - some flexibility * TBL: I'd say another way: you can have a public profile - typically - and they might also have private profiles e.g., whistlel blowing or part of their 'normal' social activities, like randomly generated WebIDs. Avatars use in chats.. they don't have to be real. If you don't have a name or a picture then you / softare can't function well. * HS: There is the user profile - that should be more or less standard and interoperable. Then there is the protocol part that I've alway sbeen interested in. If you want to be able to authenticated, you need a link to your WebID and public key. Slowly as these things become standard, you can manage them. * TBL: We have a working system, they can log-in, and other people can find useful information e.g., language speak, and so it should be immediately useful. show a QR code to the hostess at a restaurant. They can just look at that without having to get a Solid account. * HS: Sounds good. Good to separate from the WebID spec itself. It would make it impossible to finsih the WebID spec. If you have that elsewhere then we can move those decisions. * TBL: The WebID spec should be the minimum. Anything to do with trusted log on things. Do you need to have a name? * HS: It would be personal. WebID spec doesn't mention any of that. If yo uhave some authentication relations then you can explain the relationship. Perhaps that element should be in the spec. * TBL: I think it should be in the spec too. * TBL: Solid WebID profile spec. That's what everyone can get. It can require the function for authentication but not the person's name. * HS: (perhaps for Sarven) the webID spec should authentication protocols that can be tied ot WebID e.g., oidcIssuer. And TLS is going out a little but we might want to list some of these general concepts when the specs reach maturity and they can evolve over time. * TBL: Our priroity to document existing practice. Log in with OIDC not TLS. Can we point to the WebID spec and how that connects to the Profile spec? * HS: Sounds like the WebID spec should point to the WebID Profile spec about that. All of that might be quite obvious to us but not everyone. Then paranoid crypto people don't like linking keys to profiles.. * TBL: In the Solid system, eg., SolidOS, we have things where you put information that are public and private, type indexes with standard format, associated with a project. So there is a standard way of saying where I have an address book. * HS: That sounds very useful. * TBL: The WebID and the WebID Profile spec are different but all the systems we are using is the same. so, the WebID spec is important but they also want to make sure that it is out there and it is defined in test cases and stuff. * HS: That's a good plan to have these two movements. The WebID spec is nearly - it is just a definition of a URL pointing at an agent. This is actually philosophical logic. Got some improvements based on that. I think most important is done by people working with code/apps so we won't have discussions on doing it in 5 million different ways. * TBL: People have been involved in the project - we decided to move from FOAF to VCARD, it was kind of a decision at MIT.. import/export VCARD stuff. It was important for the growing curve. And the groups of people you know in the VCARD. * TBL: What we want to do in write the spec in one way - arbitrary decisions. Normally pulling other htings so we get the functionality ... show it is useful. Have analogy of going to a restaurant or chat... * HS: You speak of FOAF. That is most important part of 'social'. Link to friends, and have a network effect. I've been looking at access control. Of course it gets big. Say you have a rule that says all my friend's of friends can get access. That would mean if someone logged in, they would have to - the guard would have to check many profiles. User agent can pass a little proof. * TBL: Do you have proof carrying authentication? We did cwm proofs. We had a paper. It is good because the guard has a rule that can either be a foaf or a coupon from x, or big list of reasons why people are allowed in. The user has the trouble of findin that. The user program finds you as a foaf, then that's good. Here are two documents you need to show tha tyou are a foaf, and then if you find these docs, take them to the server and it can rapidly check. * HS: Cuts the search space by thousands.. * TBL: More scalable. * TBL: This is all rocket science.. meanwhile we are just doing the Solid Profile. What has to be in the WebID profile and how does that link to sameAs WebID. * HS: Is there something I can do? Will help Sarven to write WebID spec. We are here to understand the aims of everybody. * JZ: The doc you and SC are working on what must be said.. and our task is to what can be linked to that document. There are certain relationships, type indexes, seealsos, the app can know what to follow. It doesn' thave to follow forever. The more you can specify what has to do in that WebID doc, then we can say what can go in the other document. * TBL: Why would the WebID spec use .. if the WebID spec is about the authn space, why would it use a particular vocab? * SC: We have foaf:Agent and VCARD. We need to iron it out and specify it further. * HS: we also used foaf:agent in the WAC spec * TBL :Why do you have to tell .. foaf:Agent? * HS: WebID is a URL that refers to a foaf:Agent. * TBL: I want to question every triple you put in there. * HS: We don't specify the subclass as long as foaf:Agent. * SC: we do not know if foaf:agent was a hard requirement. WebID 1.0 should maybe not say anything about description of profile, it is only used in authentication (TLS) * HS: The URL refers to the document and has to the person in the document. What's missing is a standard decsription. Perhaps what you want to do is a standard description. * JZ: accountName was proposed but we thought nick could work. something that can be shown as what you are logging in/out. Sort of like a name without giving away. * TBL: Is the idea that it should be nicks? * JZ: They were proposing user@domain and use the short form. You can't really tell who the user is from the WebID. This would be the name for the IdP. Not sure if it is necessary. * TBL: Everything needed for authentication should go in it. * SC: I think from the WebID spec it should stay agnostic unless required. Required from a downstream spec -> solid is usying this authentication so it must exist (solid:oidcIssuer) * HS: it could have a non-normative section but particularly common in RFC. * JZ: Not necessary for computers but for the user - politeness. Not really at the same level as a solid:oidcIssuer * HS: Perhaps put your ties to your WebID into your app. There might be need a keychain type of thing. If I have 2-3 WebIDs, and want my user interface to show me a fish on one, and another logo on the other. If I want to associate them.. * TBL: I have me with Solid purplel background on one and my other one ... to tell where I'm logged in from. * HS: Nick is a useful relation. * TBL: Maybe schema.org too. * TBL: There is some form.. where if you are an agent, a VCARD Org or bot.. if Org, then you have an address book different sets of contacts. Solid project for example with different groups controlling them. Members of the group have different pods to do different things. Admins changes all the groups for example. You can construct things like we do on github or slack. using organisations / sub orgs, groups and different roles. That would allow us to implement different things. Facebook groups / google circles etc.. The interest thing: Github has organisations. We can make it general, so Solid Project would have SolidOS, whereas in github, then everyone is on the same level of org. It is quite exciting to use Solid to run the Solid project. * HS: Solid is the future. Got some more funding to do more work on this stuff. Things are looking better. Trying to finish my Web server so I can use it myself with apps. For example, Henry Story says: https://github.com/co-operating-systems/Reactive-SoLiD/blob/work/src/main/scala/run/cosy/http/auth/Auth.md how to pass a foaf based authentication. Have to see how that fits with the work that was mentioned, PCA (proof carrying authentication). WebID CG is interested in JSON-LD. * TBL: Most of our stuff is in Turtle. * JZ: Software agent had to be JSON-LD but haven't heard that profile for a person or a org has to be JSON-LD. * HS: Was it for Solid OIDC to identify a client, and to appeal to JSON people, so JSON-LD. I'm fine just don't want it to be every single format. * JZ: My understanding is that.. we are not touching software agents, we are only focused on people. * TBL: Was discussing wiht Sarven. If it is on a pod, to a certain extent, if it can be read-write, so profile has to be on a Solid pod so it need to support Patch as well. Need to do content negotiation. The compromise we came to was that give me either Turtle or JSON-LD. Both communities can use it. When you get a patch, then must be able to change it and write it back.. what's behind it: turtle or database or whatever we don't mind. we just want the functionality. if you don't provide to accept patches, then ... I can imagine WebID can end up where JSON-LD is provided where it just has your username.. the pointer to your solid profile on a pod. Potentially more than one pod. We have pointers between pods. The software can pull in different information from different pods. * JZ: Document is on different servers for where one of them is writable. It is not necessarily on a pod. * TBL: some gov can issue the id. * TBL: henry, Working with Aaron? * HS: I haven't too closely. Find Solid OIDC too inefficient. For me, Solid should be more efficient. Find foaf networks interesting. When I look at Solid OIDC, I see too many redirects.. but lots of stuff out there is using it. * TBL: do the standard but also do the http signature.. or whatever sort of fast public/private key.. at a research level. in order to play.. is to have a level of in the code where you can switch between.. * HS: perhaps I should use existing code and hack into my system. * TBL: Just port it over? * HS: Possible. ScalaJS.. I should move that on my priority list. That'd be important to get that done. I can help.. I got more stability but haven't yet signed contract and things.. Trying to get my server and replace it with the one I've written. Then poeple can say what they'd like. * TBL: run it with the test suite.. * HS: I have to run it again. * TBL: solid OIDC is not expertise.. * HS: All code I'm using can be used by JS frameworks.. because Scala compiles to both.. but that's not the topic of this conversation. Havne't been introduced to Virginia and Timea. * TT: I work at Inrupt and got introduced to Inrupt. I work with Virginia, and got introduced to WebID Profile spec working with Jeff. * VB: I'm a software engineer at Inrupt. Found out about Solid when I joined. * JZ: Any questions for Henry? * TT: Find your points of views interesting - since I'm also new to the ecosystem I'm learning. I now learn about trusted graphs. * TBL: Watch out for category theory? :P * TT: Mostly in Java in the past 10 years. Coming from SW, RDF4J. About two years ago I tried ScalaJS.. interesting but it didn't stick. Now I do NodeJS. * VB: Mostly JavaScript. Mostly frontend. * HS: React mostly? * VB: yes. * HS: It was exciting but haven't used it beyond initial apps.. fetching/displaying foaf network in HTML. Interesting. * TT: Community is broader than the ones you usually see. * HS: If you want to really dive into.. a phD report, how webID ties to geopolitics and speech act. still a lot of work to do get a PhD out of it.. I wouldn't look at it that way. That's why TBL called the Web philosophical engineering.

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully