# Discourse Retort

**URL:** https://meta.discourse.org/t/discourse-retort/35903
**Category:** Plugin
**Tags:** end-of-life
**Created:** [November 22, 2015, 11:53am UTC](https://meta.discourse.org/t/discourse-retort/35903 "2015-11-22T11:53:58Z")
**Posts on this page:** 1
**Showing post:** 469

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [October 27, 2022, 12:16pm UTC](https://meta.discourse.org/t/discourse-retort/35903/469 "2022-10-27T12:16:30Z")

</div>

Hey guys, as discussed in the topic above I’ve already written a migration feature of Retort to Reactions, including an admin UI.

> [@Discourse Retort](https://meta.discourse.org/t/retort-a-reaction-style-plugin-for-discourse/35903/435):
>
> I’ve written a migration script and created an admin UI to migrate retorts to reactions. It’s on this [branch](https://github.com/gdpelican/retort/tree/add_migration_to_discourse_reactions). The UI looks like this I need some advice to finish it off. It’s possible that a user could have both liked and “retorted” on a post. In the migration, I’m going to preference retorts over likes in this scenario. However the ReactionManager.toggle! access protections do not allow this. Would it be possible to add a “force” option for migrations…

For it to be production ready the maintainers of Reactions will need to make a slight change to improve the abstraction of the code in the Reactions plugin.

> [@Discourse Retort](https://meta.discourse.org/t/retort-a-reaction-style-plugin-for-discourse/35903/443):
>
> Yup, I could do that. It would be a bit of a hack though wink I’m not sure I could assume that workaround would remain viable over time. It’s also a bit risky. For example, if I just run that code the user’s post\_undo\_action\_window\_mins site setting would remained changed. You could change it back at the end of the migration, but doing setting changes like this on the fly to get around a guardian is not ideal. Ideally what I’m after here is a slight change to the ReactionManager interface to…

Supporting a production level migration between two plugins like this requires significant quality assurance otherwise issues like this can easily occur.

> [@Plugin causing errors during rebuild](https://meta.discourse.org/t/plugin-causing-errors-during-rebuild/241110/28):
>
> What is happening here is this Some people have a very old version of the question answer plugin with my personal github username in the repository URL in their app.yml file. I transferred the QnA plugin to paviliondev years ago. Github redirects repository URLs when they’re transferred, so the old urls with my personal username in it kept working. More years later Pavilion transferred the Question Answer Plugin to Discourse. Discourse initially kept the name discourse-question-answer. …

---

_[View the full topic](https://meta.discourse.org/t/discourse-retort/35903)._
