Re: New ResourceMe Version

Am 07.01.2012 00:21, schrieb Kingsley Idehen:
> On 1/6/12 5:46 PM, bergi wrote:
>> Finally I have launched a new version of ResourceMe [1]. First you will
>> see an optical difference. The design is now based on Twitter Bootstrap.
>> But more important is what has changed internal and is visible to you,
>> if you login. Any user with a login (WebID, Google+, Facebook) can now
>> reply to my blog posts. This is implemented in a very generic way. The
>> TripleAccessControl ontology [2] is used to describe which user can
>> write new blog posts, which can reply to existing blog posts and which
>> can just read them. Smarty [3] is used to render the content. The
>> buttons to open the forms for creating new data are dynamically
>> enabled/disabled via JavaScript code. An Ajax interface is used to check
>> whether a user has access to write the triples for the post or not. With
>> little effort also other data can be handled.
>>
>>
>> Some thoughts/questions that came up during development:
>>
>> URI/URL for global existing things like anonymous agent:
>> I'm using a anonymous group for users without login and anybody for any
>> user with a login. Your are automatically member of one or the other
>> group. Which URI/URL should be used for cases like theses? Currently I'm
>> using http://localhost/agents#?.
>>
>> Login-button behavior:
>> In a later version the login dropdown button should try to used WebID to
>> login via Ajax. Only if there was a problem the dropdown menu should
>> appear.
>>
>> Session information:
>> I'm using now an Ajax interface to ask for the current session
>> informations (login). Can/should these informations be stored in the
>> HTML file as RDFa data? Which subject should be used? This would avoid
>> one round-trip.
>>
>> Semantic web applications in PHP and threads:
>> Multithreading is not a must for semantic web applications. More
>> important for a fast page load is JavaScript code that extends the page
>> with additional information via Ajax. For example the HTML code of my
>> blog posts first contains only the URL of the creator, later JavaScript
>> code replaces the URL with the nick. I'm using this especially for data
>> that must be fetched from another server. Later I read that even Google+
>> is doing this [4].
>>
>>
>> [1] https://resourceme.bergnet.org/
>> [2] http://ns.bergnet.org/tac/0.1/triple-access-control
>> [3] http://www.smarty.net/
>> [4] https://plus.google.com/115060278409766341143/posts/ViaVbBMpSVG
>>
>>
> Bergi,
> 
> My WebID fails re. your app. Same WebID verifies successfully using:
> 
> 1. https://foafssl.org/test/WebId
> 2. https://webid.turnguard.com:8443/WebIDTestServer
> 3. http://id.myopenlink.net/ods/webid_demo.html.
> 
> I am having similar problems with:
> 
> 1. http://data.fm -- this used to work in the early days of this effort
> 2. http://opentabs.data.fm .
> 
> I clicked on the debug link you offer so as to help you diagnose this
> problem.
> 
> Notes:
> 
> 1. my WebID will resolve to a graph with > 1 public key components
> associated with it
> 2. URI serving as WebID watermark in my x.509 cert. for this test:
> http://kingsley.idehen.net/dataspace/person/kidehen#this
> 3. Screenshot from your diagnostic service:
> http://twitpic.com/842v4k/full .
> 
> 
> Cert:
> 
> -----BEGIN CERTIFICATE-----
> MIIEPzCCAyegAwIBAgIBLTANBgkqhkiG9w0BAQUFADCBqzELMAkGA1UEBhMCVVMx
> FjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMxITAfBgNVBAoTGEtpbmdzbGV5IElkZWhl
> biBOZXR3b3JrIDEcMBoGA1UECxMTUGVyc29uYWwgRGF0YSBTcGFjZTEcMBoGA1UE
> AxMTS2luZ3NsZXkgVXlpIElkZWhlbjElMCMGCSqGSIb3DQEJARYWa2lkZWhlbkBv
> cGVubGlua3N3LmNvbTAeFw0xMjAxMDYyMTU4MDFaFw0xMzAxMDUyMTU4MDFaMIGA
> MScwJQYDVQQDEx5LaW5nc2xleSBVeWkgSWRlaGVuICguTkVUIE5ldykxCzAJBgNV
> BAYTAlVTMRwwGgYDVQQKExNQZXJzb25hbCBEYXRhIFNwYWNlMSowKAYJKoZIhvcN
> AQkBFhtraWRlaGVuQGtpbmdzbGV5LmlkZWhlbi5uZXQwggEiMA0GCSqGSIb3DQEB
> AQUAA4IBDwAwggEKAoIBAQDPkM4RERhuX1y0nU3biGDfH6hJeOuiO/X4xq77pnFW
> c0dyra8rU8o8GO9a8o5bbV83MLO8qmZ3PNErN9wG3RHacCNcDKAjJI0iZaPaLmqx
> 4+U4TQB7pTTSkyYc3+LChLuroJ3HKMt5qYzqw7cjIqSwW3hksuZGkQQ1KpMUVxKS
> hDexnAo7FjYnEV18A+W8L4x0d79SQfywl10oA6NRcNCpbjgKrIcnkNwQHzlJ3pUV
> KUog3+QWZ5AjtbgLYfOsS1QxavIutuEkupZ5MNYDKac/3whX2EfCcRL9ZSQ+dc2z
> cbV7jiReaNQ/oUQcyWWruQnpJ5CrLdwlDKOzxmY02Y17AgMBAAGjgZYwgZMwHQYD
> VR0OBBYEFBDDjArYZnZzozvajVQMCBZTCivoMEMGA1UdEQQ8MDqGOGh0dHA6Ly9r
> aW5nc2xleS5pZGVoZW4ubmV0L2RhdGFzcGFjZS9wZXJzb24va2lkZWhlbiN0aGlz
> MC0GCWCGSAGG+EIBDQQgFh5WaXJ0dW9zbyBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUw
> DQYJKoZIhvcNAQEFBQADggEBACz65okZNUzUn0l9ae3a72A42tmMODjD5Q1VBnrJ
> Zb5IRA+SLBRIrtX+Mo+i2151EA24V2i7CWFZm40bRzku93YQr+vJoCJos6MyGWi8
> cLbbThf6JCNIaQAYbY/hlEgKVIg4BjvH5dM5V2jYFnI3le4KUJmP3OrktV/FGEoo
> RkZIe2Sa6LLOewBUmmehDiGxv390hKyCzg/O3vYly3i4v6gj5TgJY0tWul0T+fw6
> NK1Cznfq+JAcmIWfSz3ox/nI/cgVsZPIlLsdVa6SQOlDb8kxg9QlyAu+ArlzJnuu
> kmbRaCXR9h3uflT146DlGieX2yA0EG9gMk79y7Hqqnu7VyE=
> -----END CERTIFICATE-----
> 
> 

On my local Windows machine it's working. So I dumped the response I got
from your server on my local machine and on the resourceme server. It's
different! Here a list of the differences I've found. First value is
from my local machine, second from the resourceme server:

- "Location" field of the redirect is different
Location: http://kingsley.idehen.net/dataspace/raw/person/kidehen/sioc.rdf
Location: http://kingsley.idehen.net/dataspace/raw/person/sioc.rdf

- "Content-Type" field of the second response is different
Content-Type: application/rdf+xml
Content-Type: application/rdf+xml; charset=UTF-8

- "Expires" field of the second response is missing once
Expires: Sat, 07 Jan 2012 00:10:45 GMT
missing

Do you have any idea why it's handled different? Do you check any header
field in the request?


Here the full header:

Local Windows machine:
'HTTP/1.1 303 See Other
Server: Virtuoso/06.03.3131 (Linux) x86_64-generic-linux-glibc25-64  VDB
Connection: close
Date: Sat, 07 Jan 2012 00:10:35 GMT
Accept-Ranges: bytes
TCN: choice
Vary: negotiate,accept
Content-Location: sioc.rdf
Content-Type: application/rdf+xml
Location: http://kingsley.idehen.net/dataspace/raw/person/kidehen/sioc.rdf
Content-Length: 0

''HTTP/1.1 200 OK
Server: Virtuoso/06.03.3131 (Linux) x86_64-generic-linux-glibc25-64  VDB
Connection: Keep-Alive
Date: Sat, 07 Jan 2012 00:10:36 GMT
Accept-Ranges: bytes
Link: <http://kingsley.idehen.net/dataspace/raw/person/kidehen>;
rel="http://xmlns.com/foaf/0.1/primaryTopic",
 <http://kingsley.idehen.net/dataspace/raw/person/kidehen>;
rev="describedby",
 <http://kingsley.idehen.net/dataspace/raw/person/kidehen/sioc.nt>;
rel="alternate";
 type="text/n3"; title="Structured Descriptor Document (N3/Turtle format)",
 <http://kingsley.idehen.net/dataspace/raw/person/kidehen/sioc.n3>;
rel="alternate";
 type="text/rdf+n3"; title="Structured Descriptor Document (N3/Turtle
format)",
 <http://kingsley.idehen.net/dataspace/raw/person/kidehen/sioc.json>;
rel="alternate";
 type="application/json"; title="Structured Descriptor Document
(RDF/JSON format)",
 <http://kingsley.idehen.net/dataspace/raw/person/kidehen/sioc.txt>;
rel="alternate";
 type="text/plain"; title="Structured Descriptor Document (N-Triples
format)",
 <http://kingsley.idehen.net/dataspace/raw/person/kidehen/sioc.turtle>;
rel="alternate";
 type="text/turtle"; title="Structured Descriptor Document (N3/Turtle
format)",
 <http://kingsley.idehen.net/dataspace/raw/person/kidehen/sioc.ttl>;
rel="alternate";
 type="text/rdf+ttl"; title="Structured Descriptor Document (N3/Turtle
format)",
 <http://kingsley.idehen.net/dataspace/raw/person/kidehen/sioc.jmd>;
rel="alternate";
 type="application/microdata+json"; title="Structured Descriptor
Document (Microdata+JSON format)",
 <http://kingsley.idehen.net/dataspace/raw/person/kidehen/sioc.jld>;
rel="alternate";
 type="application/ld+json"; title="Structured Descriptor Document
(JSON-LD format)"
Expires: Sat, 07 Jan 2012 00:10:45 GMT
ETag: "fca9cfcc2aa3de269494d67d5862f028"
Content-Type: application/rdf+xml
Content-Length: 25773



resourceme.bergnet.org:
'HTTP/1.1 303 See Other
Server: Virtuoso/06.03.3131 (Linux) x86_64-generic-linux-glibc25-64  VDB
Connection: close
Date: Sat, 07 Jan 2012 00:11:48 GMT
Accept-Ranges: bytes
TCN: choice
Vary: negotiate,accept
Content-Location: sioc.rdf
Content-Type: application/rdf+xml
Location: http://kingsley.idehen.net/dataspace/raw/person/sioc.rdf
Content-Length: 0

''HTTP/1.1 200 OK
Server: Virtuoso/06.03.3131 (Linux) x86_64-generic-linux-glibc25-64  VDB
Connection: Keep-Alive
Date: Sat, 07 Jan 2012 00:11:48 GMT
Accept-Ranges: bytes
Link: <http://kingsley.idehen.net/dataspace/raw/person>;
rel="http://xmlns.com/foaf/0.1/primaryTopic",
 <http://kingsley.idehen.net/dataspace/raw/person>; rev="describedby",
 <http://kingsley.idehen.net/dataspace/raw/person/sioc.nt>; rel="alternate";
 type="text/n3"; title="Structured Descriptor Document (N3/Turtle format)",
 <http://kingsley.idehen.net/dataspace/raw/person/sioc.n3>; rel="alternate";
 type="text/rdf+n3"; title="Structured Descriptor Document (N3/Turtle
format)",
 <http://kingsley.idehen.net/dataspace/raw/person/sioc.json>;
rel="alternate";
 type="application/json"; title="Structured Descriptor Document
(RDF/JSON format)",
 <http://kingsley.idehen.net/dataspace/raw/person/sioc.txt>;
rel="alternate";
 type="text/plain"; title="Structured Descriptor Document (N-Triples
format)",
 <http://kingsley.idehen.net/dataspace/raw/person/sioc.turtle>;
rel="alternate";
 type="text/turtle"; title="Structured Descriptor Document (N3/Turtle
format)",
 <http://kingsley.idehen.net/dataspace/raw/person/sioc.ttl>;
rel="alternate";
 type="text/rdf+ttl"; title="Structured Descriptor Document (N3/Turtle
format)",
 <http://kingsley.idehen.net/dataspace/raw/person/sioc.jmd>;
rel="alternate";
 type="application/microdata+json"; title="Structured Descriptor
Document (Microdata+JSON format)",
 <http://kingsley.idehen.net/dataspace/raw/person/sioc.jld>;
rel="alternate";
 type="application/ld+json"; title="Structured Descriptor Document
(JSON-LD format)"
Content-Type: application/rdf+xml; charset=UTF-8
ETag: "0e92626a05da047d9ee34a2deeb02c7f"
Content-Length: 485

Received on Saturday, 7 January 2012 00:46:54 UTC