There’s a few additional considerations here.
Attribute mapping
Discourse
Topic and post to Note
or Article
:
- title =
name
- cooked =
content
Mastodon
Status to Note
Status to Article
:
- text =
name
+ summary
+ link
Also:
-
Mastodon also uses summary
for Content Warnings (e.g. NSFW). This is currently being reviewed by the Mastodon team and is a subject of discussion of the W3C ActivityPub Trust and Safety taskforce.
-
The fediverse technical folks (incl Mastodon) are discussing adopting the concept of a Preview
which would be an object attached to the Article
(e.g. another Note
) for a more structured version of asummary
, however there is some debate about this.
Other platforms
Many follow the ActivityStreams spec.
Post to Note
or Article
:
Most do not have the concept of a “topic”, but if they do:
There is an additional consideration that within the “Threadiverse” (i.e. Discourse, NodeBB, Lemmy, Flarum etc) we’ve essentially settled on the idea that a Topic = Collection
, which also means that the topic title can be the name
of the Collection
.
What this means for us
@pmusaraj Personally, I think the upshot of the above context for the considerations you’ve raised are as follows
1. Implement a targeted use of summary
.
I think we should map Discourse topic excerpts
to the summary
of an Article
for the first post in a topic. Just Article
, not Note
, and only for the first post of the topic.
2. Derive topic titles from Collection
name first.
One of the wrinkles of navigating the above object mapping is that you need a consistent way of retaining topic titles between topic-centric platforms, for example when federating between Discourse instances. I think the better way to navigate that is to derive the topic title like so:
topic_title = collection.name || first_post.object.name
3. Encourage Article
for First Post Only.
The point of the “First Post Only” publication type is to facilitate use cases that focus on an “announcement” style publication mostly targeted at stream-based platforms like Mastodon. If we implemented 1
, this would mean that the first post would appear in Mastodon like this
#{topic title}\n\n#{topic excerpt}\n\n#{topic url}
The reason I haven’t touched summary
yet as Mastodon has also (in addition to its use in Article
) been using summary
for content warnings and spoilers, however this is:
- less relevant for
Article
as the summary
is effectively only used as a summary
. It is treated more as a content warning (spoiler) for Note
; AND
- is a treatment specific to Mastodon; AND
- is not the normative purpose of the
summary
property (i.e. in the W3C spec); AND
- this may change in Mastodon.
Note that I say “encourage” as I think making First Post Only always an Article
would preclude any use of [note][/note]
markup to identify which content in the first post to publish. You can currently use that markup to create your own custom summary. I’m not sure if that’s ever going to catch on as a use pattern, but I wouldn’t want to kill it entirely just yet.
4. Remove “Discuss on our Forum” link and setting
While this may have made sense early on, I think it’s:
- Specific to the First Post Only announcement style use case.
- Redundant to that use case if we adopt
3
.
- Duplicative of the object url which we always send and is used by platforms to link to the original content.