Delighted to announce my project Nitro Porter, the only multi-platform community migration tool, was awarded a grant through the Open Social Fund established by @nlnet
-
Delighted to announce my project Nitro Porter, the only multi-platform community migration tool, was awarded a grant through the Open Social Fund established by @nlnet
Since last autumn, I've explored a proof-of-concept for adding Discord as a "source" for migrations, the first time it's supported non-database exports.
This funding will greatly expedite development & release of that feature, as well as adding new open source "targets" for migrations, starting with @nodebb.
More news soon!
-
Delighted to announce my project Nitro Porter, the only multi-platform community migration tool, was awarded a grant through the Open Social Fund established by @nlnet
Since last autumn, I've explored a proof-of-concept for adding Discord as a "source" for migrations, the first time it's supported non-database exports.
This funding will greatly expedite development & release of that feature, as well as adding new open source "targets" for migrations, starting with @nodebb.
More news soon!
-
@luceos Thanks! Discourse is in scope for the grant as a new Target platform, but my lowest-priority goal.
Typically I add platforms as a Source first because it's easier, but I was trying to prioritize some high-visibility items I'd be unlikely to do this year otherwise and are harder to sponsor as 1-offs due to scope. Source = $, Target = $$$
If I modify the scope later because an existing goal isn't panning out, that's high on my list to get in there. It's inevitable, it's just timing.
-
-
@smallcircles If you wanted to do that today, I suggest migrating to a platform with read-only mode. Usually it's for upgrades, but you could just leave it 'on' forever.
I could see a static HTML export one day, but it's a bigger lift because there's no framework for presentation logic today. Then, of course, folks would have feelings about theming.

If I did, I'd perhaps pair it with a scraping feature so it's not as irreversible & "orphaned" as a feature.
Interesting idea!
-
N nodebb@fosstodon.org shared this topic
-
Delighted to announce my project Nitro Porter, the only multi-platform community migration tool, was awarded a grant through the Open Social Fund established by @nlnet
Since last autumn, I've explored a proof-of-concept for adding Discord as a "source" for migrations, the first time it's supported non-database exports.
This funding will greatly expedite development & release of that feature, as well as adding new open source "targets" for migrations, starting with @nodebb.
More news soon!
-
@benpate Sure: https://github.com/prosembler/nitro-porter
My biggest wish for any project is to build in their own tools for recalculating derived data βΒ post counts, point totals, last post in a topic, etc.
Most apps assume you've never used any other platform or that their calculated data could be wrong. It's a huge time sink to "fix" data handling for them in an export.
To add support to Nitro Porter directly, there's a guide in the docs: https://nitroporter.org/develop.html
-
@benpate Sure: https://github.com/prosembler/nitro-porter
My biggest wish for any project is to build in their own tools for recalculating derived data βΒ post counts, point totals, last post in a topic, etc.
Most apps assume you've never used any other platform or that their calculated data could be wrong. It's a huge time sink to "fix" data handling for them in an export.
To add support to Nitro Porter directly, there's a guide in the docs: https://nitroporter.org/develop.html
@benpate I need to update that guide for the upcoming 5.0 release (likely in July) because I've improved abstraction so much in the last 6 months it's made many things much easier to follow & debug.
Backwards compatibility requirements make big changes like that very iterative but I finally got there.

If someone wants to add support in the meantime, I'm always happy to chat and answer questions.
-
@benpate I need to update that guide for the upcoming 5.0 release (likely in July) because I've improved abstraction so much in the last 6 months it's made many things much easier to follow & debug.
Backwards compatibility requirements make big changes like that very iterative but I finally got there.

If someone wants to add support in the meantime, I'm always happy to chat and answer questions.
@linc This is fantastic, and more than enough for me to get my head around the basic ideas. Thank you!
I'll try to get up to speed on what you've been doing, and then see how it might fit with my own work. Would you say this could work for "non-forum" software, too, such as a regular Mastodon server?
-
@linc This is fantastic, and more than enough for me to get my head around the basic ideas. Thank you!
I'll try to get up to speed on what you've been doing, and then see how it might fit with my own work. Would you say this could work for "non-forum" software, too, such as a regular Mastodon server?
@benpate "Non-forum" yes, but not really Masto. The fediverse/AP is organized around *individual* data sovereignty, which is great, but is solving portability at scale using a universally-recognized *identity*. You can move YOUR account, but not everyone else's, because context is global.
Nitro Porter is trying to solve *collective* data sovereignty βΒ as a group, what do we want to do with our shared data β which doesn't make sense outside *private* context.
I am not sure Mastodon translates.
-
@benpate "Non-forum" yes, but not really Masto. The fediverse/AP is organized around *individual* data sovereignty, which is great, but is solving portability at scale using a universally-recognized *identity*. You can move YOUR account, but not everyone else's, because context is global.
Nitro Porter is trying to solve *collective* data sovereignty βΒ as a group, what do we want to do with our shared data β which doesn't make sense outside *private* context.
I am not sure Mastodon translates.
@linc This makes sense

... though I still wish all of this were easier to interconnect.
-
@benpate "Non-forum" yes, but not really Masto. The fediverse/AP is organized around *individual* data sovereignty, which is great, but is solving portability at scale using a universally-recognized *identity*. You can move YOUR account, but not everyone else's, because context is global.
Nitro Porter is trying to solve *collective* data sovereignty βΒ as a group, what do we want to do with our shared data β which doesn't make sense outside *private* context.
I am not sure Mastodon translates.
@benpate My big asterisk is that a private non-federated Masto server translates for sure, that just begs the question why they were using Masto in the first place.

-
@linc This makes sense

... though I still wish all of this were easier to interconnect.
@benpate One of the reasons we're supporting NodeBB is their adoption of ActivityPub, and @julian is leading efforts around forum-based AP implementations if you want to follow it.
I think interconnectedness is a double-edge sword, so my own work in the community space right now is focused on private community organizing with only very selective feed-based connections.
-
@benpate One of the reasons we're supporting NodeBB is their adoption of ActivityPub, and @julian is leading efforts around forum-based AP implementations if you want to follow it.
I think interconnectedness is a double-edge sword, so my own work in the community space right now is focused on private community organizing with only very selective feed-based connections.
When we found out what @linc@phpc.social we immediately reached out and hoped to get something worked out. This was a couple years back, around the time I started looking into AP.
Each forum company treats their migration scripts as proprietary product, because it literally gives end users the means to migrate away to competitors. It also means they're usually janky as hell and each company has to come up with their own bespoke migration logic.
My end goal with NodeBB wasn't to destroy my competition (although that'd be a nice side effect), it was to improve the forum UX and encourage adoption of forums as a whole. Up until the 2010s, forums were unequivocally dying as a form of communication. It was an existential rationale!
So Lincoln's work only helps further that goal.
We've been trying to find paying clients to help fund Linc's work (to build out the NodeBB target), but those customers are very far and few between. That's why there hasn't been movement until @nlnet@social.nlnet.nl came in with the Open Social Fund.
-
puts bizdev hat back on
Yeeeesss @linc@phpc.social, please add Discourse as a migration source

-
@julian @luceos A little birdie told me long ago they'd made an internal process or tool for importing the CSV-like format the original Vanilla Porter output so they could import from the same competitors as us without sharing anything back. So. I have feelings about it.
Not least because that behavior is why there are proprietary packages for Porter locked away inside Higher Logic to this day. I made a list to reimplement one day, but what a waste.Also why the license is AGPLv3, now.
