Existem algumas considerações adicionais aqui.
Mapeamento de Atributos
Discourse
Tópico e postagem para Note ou Article:
- title =
name
- cooked =
content
Mastodon
Status para Note
Status para Article:
- text =
name + summary + link
Também:
-
Mastodon também usa summary para Avisos de Conteúdo (por exemplo, NSFW). Isso está atualmente sendo revisado pela equipe do Mastodon e é um assunto de discussão da força-tarefa de Confiança e Segurança do ActivityPub do W3C.
-
Os profissionais de tecnologia do fediverso (incluindo Mastodon) estão discutindo a adoção do conceito de Preview, que seria um objeto anexado ao Article (por exemplo, outro Note) para uma versão mais estruturada de um summary, no entanto, há algum debate sobre isso.
Outras plataformas
Muitas seguem a especificação ActivityStreams.
Postagem para Note ou Article:
A maioria não tem o conceito de um “tópico”, mas se tiverem:
Há uma consideração adicional de que, dentro do “Threadiverse” (ou seja, Discourse, NodeBB, Lemmy, Flarum etc.), essencialmente chegamos a um acordo de que um Tópico = Collection, o que também significa que o título do tópico pode ser o name da Collection.
O que isso significa para nós
@pmusaraj Pessoalmente, acho que o resultado do contexto acima para as considerações que você levantou são as seguintes:
1. Implementar um uso direcionado de summary.
Acho que devemos mapear os excerpts dos tópicos do Discourse para o summary de um Article para a primeira postagem em um tópico. Apenas Article, não Note, e apenas para a primeira postagem do tópico.
2. Derivar títulos de tópicos do nome da Collection primeiro.
Uma das complexidades de navegar no mapeamento de objetos acima é que você precisa de uma maneira consistente de reter os títulos dos tópicos entre plataformas centradas em tópicos, por exemplo, ao federar entre instâncias do Discourse. Acho que a melhor maneira de navegar nisso é derivar o título do tópico assim:
topic_title = collection.name || first_post.object.name
3. Incentivar Article apenas para a Primeira Postagem.
O ponto do tipo de publicação “Apenas Primeira Postagem” é facilitar casos de uso que se concentram em uma publicação do estilo “anúncio” direcionada principalmente a plataformas baseadas em stream como o Mastodon. Se implementássemos 1, isso significaria que a primeira postagem apareceria no Mastodon assim:
#{topic title}\n\n#{topic excerpt}\n\n#{topic url}
A razão pela qual ainda não toquei em summary é que o Mastodon também (além de seu uso em Article) tem usado summary para avisos de conteúdo e spoilers, no entanto, isso é:
- menos relevante para
Article, pois o summary é efetivamente usado apenas como um summary. É tratado mais como um aviso de conteúdo (spoiler) para Note; E
- é um tratamento específico para o Mastodon; E
- não é o propósito normativo da propriedade
summary (ou seja, na especificação W3C); E
- isso pode mudar no Mastodon.
Note que digo “incentivar”, pois acho que tornar “Apenas Primeira Postagem” sempre um Article impediria qualquer uso da marcação [note][/note] para identificar qual conteúdo na primeira postagem publicar. Atualmente, você pode usar essa marcação para criar seu próprio resumo personalizado. Não tenho certeza se esse padrão de uso algum dia se popularizará, mas não gostaria de eliminá-lo completamente ainda.
4. Remover o link e a configuração “Discutir em nosso Fórum”
Embora isso possa ter feito sentido no início, acho que é:
- Específico para o caso de uso de anúncio no estilo “Apenas Primeira Postagem”.
- Redundante para esse caso de uso se adotarmos
3.
- Duplicativo do URL do objeto, que sempre enviamos e é usado pelas plataformas para vincular ao conteúdo original.