Discussing onboarding for developers

[2019-09-22 20:08:40+0000] Rigel Kent:

Note that the report itself cannot be updated anymore, since https://test.activitypub.rocks is down (and has been for almost a year). It cannot be used for checking compatibility automatically anymore - one has to resort to manual checking against the grid of requirements. Putting it back online would be a good improvement.

It needs to be submitted via GitHub anyway. https://github.com/w3c/activitypub/issues/307 Not really sure where it goes though.

Then there is https://git.feneas.org/feneas/federation/testsuite - it’s far from testing the spec, but it lays down the basis for compatibility testing.

I like your idea of adding fields to pubstrate (the soft behind https://test.activitypub.rocks) - now if there was a formal way of specifying the added fields to the protocol, that would be nice to generate the code required to check it. Maybe something like https://github.com/gobengo/activitystreams2-spec-scraped?

No idea on this one, specially as I haven’t used either of the software that you mentionned.

Agreed. Simple tools, but we should showcase some examples.

I guess this could call for a (joined?) blog post or something to be put into a wiki.

@lanodan Could you expand on that with an example? Is there an issue on the NodeInfo tracker with that suggestion?

As far as I know, there is not ticket to add that in nodeinfo.

For example right now the nodeinfo of my own instance (with metadata collapsed because it’s implementation-defined and useless here) looks like this:

{
  "metadata": {…},
  "openRegistrations": false,
  "protocols": [
    "activitypub",
    "ostatus"
  ],
  "services": {
    "inbound": [],
    "outbound": []
  },
  "software": {
    "name": "pleroma",
    "repository": "https://hacktivis.me/git/pleroma",
    "version": "1.0.0-5137-g1cdf3cee-dev-lanodan2"
  },
  "usage": {
    "localPosts": 36190,
    "users": {
      "total": 20
    }
  },
  "version": "2.1"
}

So basically we know that the instance federates via ActivityPub and OStatus(which can be forgotten as a piece of the past) and there is some information about where to find the repository (here, my own as I have modifications).

What I think can be added could be something like this to be added into the root and so with a metadata field for the extra stuff, or directly into the root’s "metadata" field but it would mean loosely parseable, why not either way.

{
  "activitypub": {
    "activity": ["Accept", "Announce", "Block", "Create", "Delete", "Flag", …], // https://www.w3.org/TR/activitystreams-vocabulary/#activity-types
    "actor": ["Person", "Application", "Service"], // https://www.w3.org/TR/activitystreams-vocabulary/#actor-types
    "object": ["Note", "Document", "Video", "Image", "Page", "Article", …], // https://www.w3.org/TR/activitystreams-vocabulary/#object-types
    "metadata": {
      // Here goes non-standard ActivityPub
      "http-signature-required-headers": ["date", …],
      "webfinger": "optionnal"
    }
  }
}
1 Like