- From: Bob Wyman <bob@wyman.us>
- Date: Sun, 12 Mar 2023 23:42:45 -0400
- To: public-swicg@w3.org
- Message-ID: <CAA1s49VSWLSMYJ9zn14VCkNBO_ESd3R_SmVGYBVN0vszDDYFhg@mail.gmail.com>
There are a great many "applications," both Social and otherwise, that could be entirely represented on the Web as mere Collections. (e.g. GPO's list of House Bills of the 118th Congress <https://www.govinfo.gov/bulkdata/json/BILLS/118/1/hr>.) However, while the Activity Streams Core defines a Collection, <https://www.w3.org/TR/activitystreams-core/#collections> it says nothing about the interface for performing even basic CRUD operations on those Collections. (e.g. CRUD = Create, Read, Update, Delete) To understand how to perform those operations, in a manner likely to be supported by others' existing code, I would need to read, and ignore, most of the ActivityPub specification. I'd end up with a system that used a little bit of ActivityPub stuff, but would probably fail any ActivityPub conformance test due to incompleteness. If I want to sign, or encrypt a Collection, or some or all of its elements, I get no guidance from any of the existing Activity* specifications. If I look around hard enough, I might stumble across the Verifiable Credential Data Integrity <https://w3c.github.io/vc-data-integrity/> and find in it some guidance on signing chunks of JSON-LD, but I'm not really sure if anyone else would be able to understand such signed JSON-LD. If I wanted to grant readers the right to use my list, make derivative works, etc. I might find W3C ODRL <https://www.w3.org/TR/odrl-model/>, and decide to use that as a Rights Expression Language, but once again, I wouldn't be sure if I was doing the right thing. On the other hand, I might find the Creative Commons API <http://api.creativecommons.org/docs/> and try to hack up something based on it, but it really seems more intended for embedding in HTML rather than in JSON. If items in my collection need to refer to each other, I might support that by hacking something up with ActivityPub's "inReplyTo," "mention," or "Link"... Or, I might decide to represent such inter-item references using the much more expressive W3C Annotations <https://www.w3.org/TR/annotation-model/> format. But, once again, I'd be wondering: "What does everyone else do? and, What would they want me to do?" What is the recommended way to make references which are intra-Collection, inter-Collection references, etc.? I'd have many more such questions... None of which are currently addressed in the Activity* specs, but could be.I'm left wondering: *What standard(s) should I implement in order to most usefully publish a public-domain, signed, collection of items that sometimes refer to each other? *Also, how can I spend more time coding and less time digging through discussion lists of standards groups? So, would it make sense to expand the documentation for Collections in the Activity Streams Core spec? Or, might it make sense to break out Collections into its own document including examples, discussions of how to incorporate other related W3C and IETF specifications, and even perhaps a conformance testing suite of its own? Your comments will be greatly appreciated. bob wyman
Received on Monday, 13 March 2023 03:43:10 UTC