How to deprecate one mod and redirect to another?
How to deprecate one mod and redirect to another?
There was that one mod that stopped working about two months ago, with the author going MIA. Yesterday I released another mod that fixed it (actually, my mod was a direct copy of the complete original content and some code changes/added graphics), with a disclaimer right in the description that I would deprecate it when the original mod gets updated. The original mod has been updated about an hour ago. Now I want to deprecate mine. How do I do that correctly?
I'm afraid that just marking the mod as deprecated won't be enough: "Marking a mod as deprecated will remove it from public listings" -- that's good, I guess, because people who haven't installed my mod won't see it (unless they search for the correct mod name). But what about those who did install it? Will they get notified that my mod is deprecated? Should I release another version with a dependency on the other mod and ask the original author to add a conflict against mine?
Strange things happen if both mods are installed. Look at these pictures:
My mod apparently overwrites the original's name if both mods are installed. Therefore I guess I should not only deprecate it, but have users remove it. Is there any recommended procedure to do that?
I'm afraid that just marking the mod as deprecated won't be enough: "Marking a mod as deprecated will remove it from public listings" -- that's good, I guess, because people who haven't installed my mod won't see it (unless they search for the correct mod name). But what about those who did install it? Will they get notified that my mod is deprecated? Should I release another version with a dependency on the other mod and ask the original author to add a conflict against mine?
Strange things happen if both mods are installed. Look at these pictures:
My mod apparently overwrites the original's name if both mods are installed. Therefore I guess I should not only deprecate it, but have users remove it. Is there any recommended procedure to do that?
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
-
- Smart Inserter
- Posts: 2622
- Joined: Tue Apr 25, 2017 2:01 pm
- Contact:
Re: How to deprecate one mod and redirect to another?
I would say in addition to the thoughts you already had with the dependency and conflicts, also change the description on you mod to say it’s depreciated, change the mod name (not file name) so it’s not the same as the other mod (maybe add DEPRECIATED to it), and maybe even empty out/delete all of the files within yours so they do nothing.
That’s probably what I would do, anyway.
That’s probably what I would do, anyway.
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
Re: How to deprecate one mod and redirect to another?
If I deprecate a mod, it won't be publicly listed any longer. But if I update my mod (with all files but info.json removed) and immediately deprecate it, will those people who have the old version installed even see the deprecated version? That's what bothers me -- kind of a hen-egg-problem.FuryoftheStars wrote: ↑Sun Aug 11, 2019 7:21 pmI would say in addition to the thoughts you already had with the dependency and conflicts, also change the description on you mod to say it’s depreciated, change the mod name (not file name) so it’s not the same as the other mod (maybe add DEPRECIATED to it), and maybe even empty out/delete all of the files within yours so they do nothing.
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
-
- Smart Inserter
- Posts: 2622
- Joined: Tue Apr 25, 2017 2:01 pm
- Contact:
Re: How to deprecate one mod and redirect to another?
I could be wrong, but I beleive depreciating just hides the listing in the in game mod manager for new downloads, but doesn’t prevent it from noticing an update for it.
But what you could do if in doubt is put the DEPRECIATED part into the mod name, but don’t actually check the depreciated option on the mod portal.
Edit: You could even go so far as to put “Realistic Ores Fix - DEPRECIATED (original updated)”
But what you could do if in doubt is put the DEPRECIATED part into the mod name, but don’t actually check the depreciated option on the mod portal.
Edit: You could even go so far as to put “Realistic Ores Fix - DEPRECIATED (original updated)”
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
Re: How to deprecate one mod and redirect to another?
OK, I'll try that …FuryoftheStars wrote: ↑Sun Aug 11, 2019 8:06 pmI could be wrong, but I beleive depreciating just hides the listing in the in game mod manager for new downloads, but doesn’t prevent it from noticing an update for it.
Yes, that seems to be a good compromise: Make it obvious that my mod is not needed any more and hit the "Deprecated" button a week later so people have a chance to see that they should switch back to the original.But what you could do if in doubt is put the DEPRECIATED part into the mod name, but don’t actually check the depreciated option on the mod portal.
Edit: You could even go so far as to put “Realistic Ores Fix - DEPRECIATED (original updated)”
Now there's only one thing I want to know: it's about the word in capitals.
"DEPRECIATED" or "DEPRECATED"? My dictionary lists both words. "Depreciated" seems to mean something has "lost value" or has been "devaluated", and it seems to me this would be used mostly in economics/finances. "Deprecated" I would interpret as "made obsolete" or "outdated", which seems more appropriate in an IT context. Any opinion on that by a native speaker? (I don't know whether English is your first language, Fury, so please excuse me if you really are a native speaker yourself!)
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
-
- Smart Inserter
- Posts: 2622
- Joined: Tue Apr 25, 2017 2:01 pm
- Contact:
Re: How to deprecate one mod and redirect to another?
Haha, I am a native speaker, but I’m typing on a phone and my fingers are a little big for the keys, so....
I would think the one with an “i” in it, but check see which form the mod portal uses.
I would think the one with an “i” in it, but check see which form the mod portal uses.
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
Re: How to deprecate one mod and redirect to another?
Well, you can never be sure on the forum where people come from, and then there are also native speakers of US, British, Australian … English, which complicates things even more.
Anyway, it really says "Deprecated" on the mod portal. But has that been put up by a native speaker of English (there's at least one on the team now)?
Oh, and thanks for your help! It was much appreciated.
Anyway, it really says "Deprecated" on the mod portal. But has that been put up by a native speaker of English (there's at least one on the team now)?
Oh, and thanks for your help! It was much appreciated.
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
Re: How to deprecate one mod and redirect to another?
Found this following the link:
So the text on the mod portal is correct. Thanks for clearing that up!Usage notes
This verb form is often used mistakenly for deprecated.
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
Re: How to deprecate one mod and redirect to another?
Seems like this would work in info.json:
Code: Select all
{
"name": "RealisticOresFix",
[...]
"dependencies": ["RealisticOres", "! RealisticOresFix"],
[...]
}
So I can directly depend on the other mod and add a conflict against my own. This way, the other mod wouldn't need to add a conflict, and if people see that my mod is highlighted in red they will notice that my mod should be removed:
This seems to be necessary as the last version (with "DEPRECATED" in the mod name, with an appeal to remove my mod and reinstall the original in the description, and with all content removed) has been downloaded six times already:
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
Re: How to deprecate one mod and redirect to another?
If people enter the ingame mod update tab and just click on "update selected", that leads to downloading available updates for all installed mods. In general, players do not review the preselected mods before updating as updating 'em all is exactly what they want most of the time.
The self-incompatibility in info.json looks like a really good idea. That way there is no chance the mod gets used after the update and it should lead players to look at its description.
Re: How to deprecate one mod and redirect to another?
Makes sense, I didn't think of that because I've made it a habit to look at what will change ever since an update to one mod broke my game. Also, the list of mods I have to update at the same time usually isn't too long, so I can handle it.Oktokolo wrote: ↑Mon Aug 12, 2019 3:27 pmIf people enter the ingame mod update tab and just click on "update selected", that leads to downloading available updates for all installed mods. In general, players do not review the preselected mods before updating as updating 'em all is exactly what they want most of the time.
Yes, and it is so obvious! I wonder why I didn't think of this solution right from the start …The self-incompatibility in info.json looks like a really good idea.
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
Re: How to deprecate one mod and redirect to another?
Updating deprecated mods to be incompatible with the successor seems like the least terrible option we currently have.
Ideally we should be able to link deprecated mods to alternative new ones with the game asking the player if they want to continue using the deprecated version or switch to the new one.
Another thing we can already do is make deprecated mods print a warning about being deprecated in on_configuration_changed.
Ideally we should be able to link deprecated mods to alternative new ones with the game asking the player if they want to continue using the deprecated version or switch to the new one.
Another thing we can already do is make deprecated mods print a warning about being deprecated in on_configuration_changed.
My Mods: mods.factorio.com
Re: How to deprecate one mod and redirect to another?
Does that mean, mod X should have "dependencies": ["Y", "! Y"]? It does work, but it seems a bit confusing, could be unclear what mod is to be deprecated. Perhaps that's just my personal opinion because I'm still so enthusiastic about the self-conflict, though.
Generally speaking, yes. It's not really useful if both mods are almost duplicates and the one is only a one-time patch for a specific version of the other mod.Ideally we should be able to link deprecated mods to alternative new ones with the game asking the player if they want to continue using the deprecated version or switch to the new one.
How could I've forgotten that! I've used every means I could think of (mod title, mod description, dependencies, changelog) to make it clear that my mod should be replaced -- and there I could just have kindly reminded the users with a message on each tick!Another thing we can already do is make deprecated mods print a warning about being deprecated in on_configuration_changed.
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
Re: How to deprecate one mod and redirect to another?
I Was talking about your way of flagging the deprecated mod incompatible with the updated mod.
Sounds like a good way to get rid of your userbase.
My Mods: mods.factorio.com
Re: How to deprecate one mod and redirect to another?
Mod X should have "dependencies": ["Y", "! X"] making it incompatible with itself.
- 5thHorseman
- Smart Inserter
- Posts: 1193
- Joined: Fri Jun 10, 2016 11:21 pm
- Contact:
Re: How to deprecate one mod and redirect to another?
Goal achieved!
Re: How to deprecate one mod and redirect to another?
I still don't get it: Let's say the original mod is Y, my fix is X. X was necessary because Y was broken. Now X is obsolete because the author of the original mod returned and updated Y. So the updated Y is the successor of X, is that correct? My approach was to use these dependencies for X: ["Y", "! X"], so it is incompatible with itself, not with its successor. Incompatibility of X with the successor would be ["Y", "! Y"].
X must depend on Y, because I want to make it clear that people should return to the original mod. Technically, it really doesn't make a difference whether X conflicts with Y or with itself -- it won't be able to be loaded either way (tested that locally). However, ["Y", "! X"] seems to be more intuitive than ["Y", "! Y"] because the dependency is on the mod that should be installed and the conflict is on the mod that should be removed.
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
Re: How to deprecate one mod and redirect to another?
Next time. Perhaps. After that, I probably won't need to release mods again. Easy way to save some bandwidth …
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
Re: How to deprecate one mod and redirect to another?
I may have substituted you idea with what made more sense to me.Pi-C wrote: ↑Tue Aug 13, 2019 5:49 amI still don't get it: Let's say the original mod is Y, my fix is X. X was necessary because Y was broken. Now X is obsolete because the author of the original mod returned and updated Y. So the updated Y is the successor of X, is that correct? My approach was to use these dependencies for X: ["Y", "! X"], so it is incompatible with itself, not with its successor. Incompatibility of X with the successor would be ["Y", "! Y"].
X must depend on Y, because I want to make it clear that people should return to the original mod. Technically, it really doesn't make a difference whether X conflicts with Y or with itself -- it won't be able to be loaded either way (tested that locally). However, ["Y", "! X"] seems to be more intuitive than ["Y", "! Y"] because the dependency is on the mod that should be installed and the conflict is on the mod that should be removed.
For what you just described use dependency on a maximum version. Say original 0.1.1 made the fix obsolete then dependencies in the fix should simple be
Code: Select all
"dependencies": ["original < 0.1.1"]
My Mods: mods.factorio.com