#social 2017-11-05

2017-11-05 UTC
#
xmpp-social
[Takyoji] for clarification: does each activity have to have a distinct URL, even if it's the same action on the same object (such as if something was updated a 2nd time, with different content)?
#
cwebber2
Takyoji: if you're performing a different action on an object, you reuse the id on the object
#
cwebber2
so for example
#
cwebber2
{"id": "https://foo.example/a-create-123", "type": "Create", "object": {"id": "https://foo.example/a-note-456", "type": "Note", "content": "Yay"}}
#
cwebber2
you can then do
#
cwebber2
{"id": "https://foo.example/a-like-789", "type": "Like", "object": {"id": "https://foo.example/a-note-456", "type": "Note", "content": "Yay"}}
#
cwebber2
or even just
#
cwebber2
{"id": "https://foo.example/a-like-789", "type": "Like", "object": "https://foo.example/a-note-456"}
#
xmpp-social
[Takyoji] I meant in terms of the activity's ID, rather than the object
#
cwebber2
Takyoji: each activity that's doing something different should have a different id, if I understand what you're asking
#
xmpp-social
[Takyoji] That is what I'm asking, yes, and I figured that's probably the best way to semantically implement it correctly, since AS is about the activities rather than just the resulting content
xmpp-social, Chocobozzz, timbl and rowan joined the channel
#
cwebber2
First (partial) implementation report up, for Pubstrate. It has incomplete coverage, as the note on the bottom says, since I've been focused on the test suite and spec. Full coverage coming over the next few weeks. https://activitypub.rocks/implementation-report/
#
cwebber2
the first block of tests it passes fully are actually the automatic tests, not the manual question-style tests
#
cwebber2
I was so focused on making sure *those* passed... ;)
#
csarven
cwebber2: Is there an outbox that client implementations can test against?
#
cwebber2
csarven: I could put up a pubstrate instance you could test against
#
cwebber2
csarven: you can also get an account on puckipedia's server probably
#
cwebber2
brb hitting the shower
#
csarven
Long shower.
#
csarven
So, I think outbox might work out fairly quick in dokieli.
#
csarven
Similar to how a profile's pim:storage URL is used for annotations.
#
csarven
probably just need to check for as:outbox in WebID profile description and let the interface do the same. I presume that profiles/actors with as:outbox probably don't have pim:storage as well, or vice-versa, so the UI and the communication probably only needs to happen at one of those places, as opposed to both - doesn't change much either way.
#
csarven
If I understand correclty, that's more like (or could become) "single non-Activity Object" (re: Client: Basic submission at ap rocks)
#
cwebber2
csarven: hm I need to apply some brain energy to reply to that... will do so at the airport
#
cwebber2
puckipedia: added Kroeg's implementation report to https://activitypub.rocks/implementation-report/ ... bengo's is next
#
cwebber2
you'll see there are a couple marked "missing"... I actually didn't get those from you in the implementation report you sent because they weren't part of the implementation report questions at the time you filled it in... oops! if you could respond yes/no on them I'll add it.
#
cwebber2
puckipedia: also I think you may have a client now? so maybe I should update for that.
#
csarven
cwebber2: No bother. Just htinking out loud.
#
csarven
It is most of the way there I think. Might need to make sure that it does POST (as opposed to PUT)
#
csarven
if you get a chance to have a look at that JSON-LD and let me know if tha twould or not qualify as a payload, that's be great.
#
csarven
It uses the AS2 vocab
#
rhiaro
No @graph in AS2
#
csarven
I think distiller is throwing that in.
#
csarven
RDFa->JSON-LD shouldn't create a @graph AFAIK
#
rhiaro
my jsonld lib did
#
rhiaro
I had to make a frame for AS2
#
rhiaro
aka an ugly hack by hand before I realised my lib actually does framing too
#
csarven
What's triggering @graph?
#
rhiaro
more than one object usually
#
rhiaro
I didn't look further than that yet
#
rhiaro
yeah you have a ton of objects in there
#
csarven
You mean subject?
#
csarven
like RDF subject?
#
rhiaro
I meant object in the non-RDF way
#
rhiaro
RDF subject yeah
#
rhiaro
JSON object, RDF subject
#
rhiaro
Everything is clear here, all under control
#
csarven
That makes sense.
#
rhiaro
I wrote an extension to my lib for AS2 that looks through an @graph if it comes out of the jsonld serializer, and loops through nesting all the things that don't have the same @id as the @graph
#
csarven
If there is no connection from an object's "object" to another object's "subject", I suppose the @graph is needed. Otherwise, I'm guessing nesting could take care of that
#
rhiaro
you can include multiple subjects if they're nested
#
rhiaro
but msot of yours don't have additional properties anyway so you shouldn't need to
#
rhiaro
right
#
rhiaro
also something is up with the context parsing, because @id, @type and @language should be aliased to id, type and language
#
csarven
So, in dokieli the payload is originally in RDFa and depending on whatever the server wants, it'll reserialize for it. That means that I can't just reserialize and get away?
#
rhiaro
correct
#
rhiaro
probably simplest solution in dokieli is if you're sending to an AP inbox, drop everything that's not the core object first
#
csarven
maybe i can write a function that randomly chops off statements.. :P
#
rhiaro
randomly is good too
#
rhiaro
I don't even see AP in your contexts..
#
csarven
Isn't context AS?
#
rhiaro
"@context": {
#
rhiaro
"dc": "http://purl.org/dc/terms/",
#
rhiaro
"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
#
rhiaro
"oa": "http://www.w3.org/ns/oa#",
#
rhiaro
"schema": "http://schema.org/",
#
Loqi
[Robert Sanderson] Web Annotation Ontology
#
rhiaro
"xsd": "http://www.w3.org/2001/XMLSchema#"
#
rhiaro
there's no AP in there at all
#
rhiaro
AS2 sorry
#
csarven
Oh.. hmm I thought AS was in there.. maybe only in notificatoins
#
rhiaro
so in answer to your original question... no.
#
csarven
wll pooptypoop
#
rhiaro
A for effort, F- for implementation
#
rhiaro
please try harder
#
csarven
I suppose it can do something like what you are saying.
#
csarven
When is this due again?
#
rhiaro
last tuesday
#
csarven
Thanks. May I speak to your supervisor?
#
rhiaro
I am the supervisor
#
csarven
Shareholders, please.
timbl joined the channel