Can't use data browser

Solid 5.5.2

I’m experiencing errors when trying to use the data browser.
Logged in and on web page https://rogerfgay.solid.hll.nu:7443/ (same results as when I use the inrupt server)
after clicking on WebId after login.

Clicked plus and d and get
Error: Can’t find a preference file pointer in profile https://rogerfgay.solid.hll.nu:7443/profile/card

Clicking the edit your profile tab only gives me instructions, not a way to edit my profile

Clicking on the directory icon next to the home icon gives:

TypeError: Cannot read property ‘uri’ of null
undefined
TypeError: Cannot read property ‘uri’ of null undefined
at noHiddenFiles (https://rogerfgay.solid.hll.nu:7443/mashlib.js:53134:44) undefined
at Array.filter () undefined
at refresh (https://rogerfgay.solid.hll.nu:7443/mashlib.js:53160:57) undefined
at Object.render (https://rogerfgay.solid.hll.nu:7443/mashlib.js:53178:7) undefined
at renderPane (https://rogerfgay.solid.hll.nu:7443/mashlib.js:164226:56) undefined
at HTMLImageElement. (https://rogerfgay.solid.hll.nu:7443/mashlib.js:164258:37)

Your profile seems to be brokem somehow. https://rogerfgay.solid.hll.nu:7443/profile/card/ is a Container, not a profile document as it should be

Your pod looks very weird. Can you tell more.
/ separator is %converted
Is it a pod on windows ?

Your profile seems to be brokem somehow. https://rogerfgay.solid.hll.nu:7443/profile/card/ is a Container, not a profile document as it should be

Where / how would I fix that? I have been fooling with various settings, but repeated with a fresh new pod account. Same issues.

Your pod looks very weird. Can you tell more.
/ separator is %converted
Is it a pod on windows ?

Yes, Windows. The info I’m getting on the server side however, for authentication and permissions looks pretty good, ending with:
Permissions on https://rogerfgay.solid.hll.nu:7443/profile/card/ for (none): read write append control +0ms
solid:ACL Permissions on https://rogerfgay.solid.hll.nu:7443/profile/card/ for public: read write append control +0ms
solid:get /profile/card/ on rogerfgay.solid.hll.nu +3m
solid:handlers GET – Reading directory +3m
solid:handlers Files in directory: .acl,prefs.ttl,privateTypeIndex.ttl,privateTypeIndex.ttl.acl,publicTypeIndex.ttl,publicTypeIndex.ttl +2ms

I’m a bit of a newbie, so you may need to direct me to specific files. I’ve seen the conversion in profile/card$.ttl … Here’s what I have for a fresh new pod account. I’ve just deleted newlines in lines for pim:preferenceFile, solid:privateTypeIndex, and solid:publicTypeIndex. I’ve had problems with new lines before, especially in acls for acl:mode

@prefix : <#>.
@prefix solid: http://www.w3.org/ns/solid/terms#.
@prefix foaf: http://xmlns.com/foaf/0.1/.
@prefix pim: http://www.w3.org/ns/pim/space#.
@prefix schema: http://schema.org/.
@prefix ldp: http://www.w3.org/ns/ldp#.
@prefix c: https://fake1.solid.hll.nu:7443/profile/card#.
@prefix n: http://www.w3.org/2006/vcard/ns#.
@prefix inbox: https://fake1.solid.hll.nu:7443%2Fprofile%2Fcard//inbox/.
@prefix n0: https://fake1.solid.hll.nu:7443%2Fprofile%2Fcard//.

c:me
a schema:Person, foaf:Person;
n:fn “fake”;
n:organization-name “self”;
n:role “owner”;
ldp:inbox inbox:;
pim:preferencesFile https://fake1.solid.hll.nu:7443%2Fprofile%2Fcard//settings/prefs.ttl;
pim:storage n0:;
solid:account n0:;
solid:privateTypeIndex https://fake1.solid.hll.nu:7443%2Fprofile%2Fcard//settings/privateTypeIndex.ttl;
solid:publicTypeIndex https://fake1.solid.hll.nu:7443%2Fprofile%2Fcard//settings/publicTypeIndex.ttl;
foaf:name “fake”.
<> a foaf:PersonalProfileDocument; foaf:maker c:me; foaf:primaryTopic c:me.

What do you mean by

fooling with various settings

?

Are you running your own Pod server? What settings did you change?

Did you create a card folder next to card$.ttl?

Yes. I am and I guess I did. Since that makes things squirrelly, I’ve registered for a new pod. I’ll be referring to fake1.solid.hll.nu now – a clean start. Same problems.

BTW: I’ve also opened a separate question on getting the data browser on Inrupt to work.

If you get the same errors in a new Pod, I guess there is a problem with your server configuration then. Which settings did you apply / change?

The .acl in solid.hll.nu looks like this:

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

<#public>
    a acl:Authorization;
    acl:agentClass foaf:Agent;  # everyone
    acl:accessTo </>;
    acl:default </common/>;
    acl:mode acl:Read.

# The owner has full access to every resource in their pod.
# Other agents have no access rights,
# unless specifically authorized in other .acl resources.
<#owner>
    a acl:Authorization;
    acl:agent <https://rogerfgay.solid.hll.nu:7443/profile/card#me>;
    # Optional owner email, to be used for account recovery:
    acl:agent <mailto:rogerfgay@yahoo.com>;
    # Set the access to the root storage folder itself
    acl:accessTo <https://solid.hll.nu:7443/>;
    # All resources will inherit this authorization, by default
    acl:default <https://solid.hll.nu:7443/>;
    # The owner has all of the access modes allowed
    acl:mode acl:Read, acl:Write, acl:Control.```

The .acl in solid.hll.nu/.well-known looks like this:

# Server operators will be able to override it as they wish
# Public-readable

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

<#public>
    a acl:Authorization;

    acl:agentClass foaf:Agent;  # everyone

    acl:accessTo </.well-known/>;

    acl:mode acl:Read.

# The owner has full access to every resource in their pod.
# Other agents have no access rights,
# unless specifically authorized in other .acl resources.
<#owner>
    a acl:Authorization;
    acl:agent <https://rogerfgay.solid.hll.nu:7443/profile/card#me>;
    # Optional owner email, to be used for account recovery:
    acl:agent <mailto:rogerfgay@yahoo.com>;
    # Set the access to the root storage folder itself
    acl:accessTo <https://rogerfgay.solid.hll.nu:7443/.well-known/>;
    # All resources will inherit this authorization, by default
    acl:default <https://rogerfgay.solid.hll.nu:7443/>;
    # The owner has all of the access modes allowed
    acl:mode acl:Read, acl:Write, acl:Control.```

Can you please surround your code with three backticks `````` to make it better readable?

Thanks. I tried the blockquote option but it obviously didn’t work so well.

The ACL looks fine I think. But again: what did you change in the server settings? What does your config.json look like? Are you running multi or single user mode?

I’m surprised to hear that there are single and multi player modes.
Let me know what other settings that could be of interest.
Here’s the config:

{
  "root": "C:\\programs\\solid\\data",
  "port": "7443",
  "serverUri": "https://solid.hll.nu:7443",
  "webid": true,
  "auth": "oidc",
  "configPath": "./config",
  "configFile": "./config.json",
  "dbPath": "./.db",
  "sslKey": "c:/certs_solid/privkey.pem",
  "sslCert": "c:/certs_solid/fullchain.pem",
  "multiuser": true,
  "enforceToc": false,
  "disablePasswordChecks": true,
  "supportEmail": "rogerfgay@yahoo.com",
  "server": {
    "name": "solid.hll.nu",
    "description": "HLL Solid Server (Roger F. Gay)",
    "logo": ""
  }
}```

All your URL’s above are malformed :

https://fake1.solid.hll.nu:7443%2Fprofile%2Fcard//settings/publicTypeIndex.ttl
should be
https://fake1.solid.hll.nu:7443/settings/publicTypeIndex.ttl

It look like in Windows host is defined as : https://fake1.solid.hll.nu:7443%2Fprofile%2Fcard/
I suppose the problem arises when the server build a new pod and tries to find the host out of a webId containing windows \. You should look in lib/models/
It may be that the functions there do not use the functions defined in resourceMapper.js. In that case Windows file format \ is not natively supported as per your modifications.

It will be easier this follow this discussion by opening an issue in node-solid-server. Please refer to Windows in the title.

nota : I can try to build a pod server on windows.
Do you do it on your computer or on a server ?
How do you do it ?
I was unable to run the tests on windows.

I’m running on a Windows 10 laptop.
(Tried WSL2 initially but that didn’t seem ready for the real world.)
normal node install using the Windows installer
npm install -g solid-server
Go into lib/resource-mapper.js and change line 33 (_rootPath) to fix Windows backslash problem:
this._rootPath = this._removeTrailingSlash(rootPath).replace(/\/g, ‘/’)
Description in PR 1499:
create init file in subdirectory of your choice and solid start

I’ve noticed the malformed urls and tried fixing them. Didn’t seem to matter.
I’ll look into /lib/models/ … and post issue on node-solid-server
If it’s purely a Windows problem, I’m not sure it will get fixed.
I’ve had the PR above up for weeks and it hasn’t been merged because the problem isn’t repeatable on Linux.

I think your problem is a pure windows one.

As for your PR# 1499 this is not exactly what I understood. My interpretation is that the PR should pass the tests on Windows with Travis and not break anything else.

Anyhow for the time being there is more to do to have a running NSS on windows.

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

<>
    a foaf:PersonalProfileDocument ;
    foaf:maker <https://toad3.solid.hll.nu:7443/profile/card#me> ;
    foaf:primaryTopic <https://toad3.solid.hll.nu:7443/profile/card#me> .

<https://toad3.solid.hll.nu:7443/profile/card#me>
    a foaf:Person ;
    a schema:Person ;

    foaf:name "Roger F. Gay" ;

    solid:account </> ;  # link to the account uri
    pim:storage </> ;    # root storage

    ldp:inbox </inbox/> ;

    pim:preferencesFile </settings/prefs.ttl> ;  # private settings/preferences
    solid:publicTypeIndex </settings/publicTypeIndex.ttl> ;
    solid:privateTypeIndex </settings/privateTypeIndex.ttl> .

The only changes I’ve made have been insertion of log statements to see that the uri:look like as they’re being processed. I’ll try removing them one by one to see if I can get the problem back.

OK – have repeated. I was able to add a trusted app using the data browser.
Anything that changes the card$.ttl file.
Do you know which part of the system handles that?