Posts publiceren naar Mastodon

This topic covers publishing posts from Discourse to Mastodon with the Discourse ActivityPub Plugin, and follows on from Setting up an ActivityPub Actor and Following an ActivityPub Actor. If you’re not sure what this means, head on over to the Discourse ActivityPub Plugin topic first.

Instructions

To publish to Mastodon:

  1. Set up an actor for the Category or Tag you want to publish content to Mastodon.
  2. Copy the “handle” of the Actor.
  3. Look up the handle on Mastodon and follow it.

[note] markup

You can select part of your post to be published via ActivityPub by wrapping text in [note][/note]. This gives you more control over what appears on microblogging services like Mastodon. For example, if your post looks like this in the composer:

We have some exciting news to share: [note]Everything Pets is launching a magazine![/note]

This will appear on Mastodon:

Everything Pets is launching a magazine!

4 likes

Hi, currently the posts by actors on Mastodon seem to miss a profile picture, which makes them look meh:

Is it possible to either use the avatar of the Discourse user posting, or at least the Discourse instance small logo?

2 likes

I tried this for the first time and didn’t work as expected:

  • Used on a tag.
  • Edit Actor > Post object type > Note

Is the note syntax supposed to be visible for readers in the Discourse post?

Then the full post was federated anyway, without the note syntax visible:

For what is worth it, first I published the Discourse post with the notes. Then, during the 5 minutes before it is federated, I removed the note tags because they were ugly and I was confused. Then I thought maybe they “disappear” after the post is federated and I added them again.

After seeing that the full post had been federated, I removed the note syntax from the Discourse post.

Did you forget to mention [/note] ?

An example would be :

[note]The Social Music Network is a community[/note] that encourages...

In this example, only the first seven words would be sent to Mastodon (and the Fediverse).

The tags do not need to be at the beginning of the post. If they are not present, then the first 500 characters will be used as an excerpt.

2 likes

Or the whole post if Activity pub note excerpt maxlength = 0

Now I’m not totally sure, but I have weak memory print where if that setting is zero then [note][/note] doesn’t do anything.

1 like

I’m slightly confused. Were the tags present when the post was first federated?

1 like

Thank you for your questions!

No, you can see it there in the screenshot I shared. Does it make a difference if both enclosures are in different paragraphs?

Ah, we do have this set to 0, but I didn’t understand from the description that notes won’t work if set to 0.

Yes the tag we use to federate topics was there from the beginning and remained untouched. It’s the note syntax that went forth and back.

I don’t know if that’s true. I just have such feeling. Try what happens?

Yes, sorry by “tags” I meant [note][/note]. I’m still a little unclear as to whether they were in the post at the time the post was federated. If you added them back in after federation they are not going to apply to content that is already federated.

1 like

Ok, yes, [note][/note] was in place when I posted the new topic on discourse and they were also in place after a few minutes when the topic was federated.

Maybe we can leave this here, and next time we federate a post I will be paying attention on every step, now that I know what tp expect and what might happen.

Sorry I’m still a little unclear. Apologies, maybe I’m just being a bit slow today! Did this series of events occur?

  1. You created a new post in Discourse with [note][/note] tags included.
  2. The post was scheduled to be published via ActivityPub in 5 minutes time.
  3. Prior to the scheduled publication you removed the [note][/note] tags
  4. The post was published via ActivityPub.
  5. After the post was published via ActivityPub you re-added the [note][/note] tags to the post.

Is that what happened?

@angus not quite. :slight_smile: I’d swear it went like this, but after so much discussion I’m starting to doubt.

  1. I created a new post in Discourse with [note][/note] tags included.
  2. The post was scheduled to be published via ActivityPub in 5 minutes time.
  3. Prior to the scheduled publication I removed the [note][/note] tags because I wasn’t expecting them to be visible in the post.
  4. But then I thought “whatever, maybe they disappear after the post is federated, somehow” and I put them back.
  5. The post was published via ActivityPub.

Ik heb actoren voor meerdere tags toegevoegd en vervolgens een bericht gemaakt met die tags. Ik verwachtte dat beide actoren naar activity pub zouden posten, maar slechts één deed dat.

Ik volg ze allebei op mijn hoofdaccount mastodon.social, maar ik zie maar één bericht in de logs. Is dit de bedoeling of wordt er maar één actor ondersteund?

Als je meerdere tags hebt die gekoppeld zijn aan een bericht, zal momenteel alleen de actor van de eerste vermelde tag het bericht publiceren. Ondersteuning toevoegen voor het publiceren van meerdere actoren van hetzelfde taxonomische type tegelijk is een goed Feature request (tag het activitypub).

Is er een manier om te bepalen welke categorieën of tags niet naar Mastodon worden gepubliceerd? Ik wil bepaalde interne discussieonderwerpen uitsluiten van plaatsing, maar aankondigingen en blogposts wel toestaan. Alvast bedankt!

Hoi @Kayaart, bedankt voor de vraag. Alleen de tags en categorieën die je expliciet hebt ingesteld als ActivityPub-actoren zullen inhoud publiceren naar de fediverse. Als je categorieën en tags hebt voor interne discussie, laat ze dan gewoon met rust (d.w.z. stel geen actor in).

Hartelijk dank voor de verduidelijking, dat is nu duidelijk!
Om het nog even te bevestigen: als ik bepaalde categorieën/tags zonder ActivityPub-actor laat staan, wordt er niets van hen naar Mastodon gepusht, toch?

Ja, dat klopt.

Op het tabblad Federation van de gebruikersprofielpagina is er een configuratie om Gekoppelde Actoren toe te voegen met een optie voor het type Discourse of Mastodon. Er staat:

Posts geassocieerd met een gekoppelde actor zullen worden toegeschreven aan uw account.

Hoe werkt dit? Als ik hier een Mastodon-account toevoeg, zullen mijn Mastodon-posts dan op Discourse verschijnen of andersom? Als het eerste, hoe worden tags en categorieën geselecteerd? Als ik een Discourse-account hier toevoeg, worden posts van de externe server toegevoegd aan degene waarvoor dit is geconfigureerd? Nogmaals, wat als de categorieën en tags niet consistent zijn?

Ik host zowel Discourse als Mastodon, en ik heb ook een account op dit Discourse-exemplaar. Ik stel me voor dat de beste configuratie voor mij zou zijn om een post op beide Discourse-exemplaren te laten verschijnen en één keer op Mastodon te delen. Hoe dit geconfigureerd zou worden, hangt af van het antwoord op de vorige vraag.

Wat betreft het reageren op posts op ActivityPub? Kan ik Mastodon gebruiken om te reageren op een post van een gekoppelde actor voor categorieën, tags en gebruikers?

Hey @ericomeehan,

Neither! This feature allows you to associate posts with your account if those posts are federated via the normal process, e.g. via categories or tag actors. To give an example:

  1. You have a category on your Discourse called “Announcements”, which you set up with full topic ActivityPub publishing.
  2. You have a user account on your Discourse, eric_discourse.
  3. You have a user account on your Mastodon, eric_mastodon.
  4. You follow “Announcements” with eric_mastodon.
  5. eric_discourse (i.e. you) creates a new topic in “Announcements”.
  6. Announcements federates the topic.
  7. You respond to that topic on Mastodon with eric_mastodon.
  8. Your response is processed by your Discourse Announcements category, appearing as a reply (post) in the topic.
  9. There is nothing to associate eric_mastodon with eric_discourse so the ActivityPub plugin creates a staged user for eric_mastodon’s reply post, eric_mastodon1 (the username is generated from the username of the Actor).
  10. The topic now looks like this:
  • First post from eric_discourse.
  • Reply (second) post from eric_mastodon1.

The feature you’re referring to allows you to prove that you are eric_mastodon1, so that you don’t have multiple user accounts on your Discourse. Once you complete the authorization process in that tab:

  • eric_mastodon1’s posts will be eric_discourse’s posts.
  • eric_mastodon1 will no longer exist.
  • Future activity from eric_mastodon will be associated with eric_discourse on your Discourse instance.
2 likes