v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "Dwarf Fortress Wiki talk:Versions"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
Line 300: Line 300:
 
:::: One should be careful with cv redirects. Most that were recently adjusted were unused plural forms (that should probably be deleted) but few like [[Crown]] needed that for backward compatibility. Removing the [https://dwarffortresswiki.org/index.php?title=Crown&type=revision&diff=279966&oldid=219482 cv part] means the the link on [[v0.31:Tilesets]] is now broken. --[[User:Jan|Jan]] ([[User talk:Jan|talk]]) 22:30, 26 December 2022 (UTC)
 
:::: One should be careful with cv redirects. Most that were recently adjusted were unused plural forms (that should probably be deleted) but few like [[Crown]] needed that for backward compatibility. Removing the [https://dwarffortresswiki.org/index.php?title=Crown&type=revision&diff=279966&oldid=219482 cv part] means the the link on [[v0.31:Tilesets]] is now broken. --[[User:Jan|Jan]] ([[User talk:Jan|talk]]) 22:30, 26 December 2022 (UTC)
 
:::::If [[v0.31:Tilesets]] is about v0.31, it should not be using "main:" in its links - ''all'' of those links are going to pages about v50, not v0.31, regardless of whether the target is a redirect or not. &mdash;[[User:Lethosor|<span style="color:#074">Lethosor</span>]] ([[User talk:Lethosor|<span style="color:#092">talk</span>]]) 23:37, 26 December 2022 (UTC)
 
:::::If [[v0.31:Tilesets]] is about v0.31, it should not be using "main:" in its links - ''all'' of those links are going to pages about v50, not v0.31, regardless of whether the target is a redirect or not. &mdash;[[User:Lethosor|<span style="color:#074">Lethosor</span>]] ([[User talk:Lethosor|<span style="color:#092">talk</span>]]) 23:37, 26 December 2022 (UTC)
 +
:::::: You right, I removed it. --[[User:Jan|Jan]] ([[User talk:Jan|talk]]) 17:55, 27 December 2022 (UTC)
  
 
Crown cv redir issue is now fixed, I believe. As goes with such cases where one can simply revert the troublesome edit, unless I've mistepped, myself? [[User:Silverwing235|Silverwing235]] ([[User talk:Silverwing235|talk]]) 23:52, 26 December 2022 (UTC)
 
Crown cv redir issue is now fixed, I believe. As goes with such cases where one can simply revert the troublesome edit, unless I've mistepped, myself? [[User:Silverwing235|Silverwing235]] ([[User talk:Silverwing235|talk]]) 23:52, 26 December 2022 (UTC)
 
:Both [https://dwarffortresswiki.org/index.php?title=Crown&diff=prev&oldid=280026] and [https://dwarffortresswiki.org/index.php?title=Crown&diff=prev&oldid=279966] should not have had any effect, because "cv" is an alias to the main namespace now, just like "main". Proof: [[Crown]], [[cv:Crown]], [[main:Crown]]. It's possible caching is coming into play here, although I purged the redirect cache after making that alias change earlier this month... &mdash;[[User:Lethosor|<span style="color:#074">Lethosor</span>]] ([[User talk:Lethosor|<span style="color:#092">talk</span>]]) 00:02, 27 December 2022 (UTC)
 
:Both [https://dwarffortresswiki.org/index.php?title=Crown&diff=prev&oldid=280026] and [https://dwarffortresswiki.org/index.php?title=Crown&diff=prev&oldid=279966] should not have had any effect, because "cv" is an alias to the main namespace now, just like "main". Proof: [[Crown]], [[cv:Crown]], [[main:Crown]]. It's possible caching is coming into play here, although I purged the redirect cache after making that alias change earlier this month... &mdash;[[User:Lethosor|<span style="color:#074">Lethosor</span>]] ([[User talk:Lethosor|<span style="color:#092">talk</span>]]) 00:02, 27 December 2022 (UTC)

Revision as of 17:55, 27 December 2022

Archive
Archives
  1. Page 1

Version 0.31.19 starts a new DF generation?

My reading of Toady's comments on the release of 0.31.19 is that it came out basically because he felt it would take too long to get DF all the way to 0.32. With the ore changes, the sitefinder changes, the addition of grazing and several different industries, there's a lot of changes between 31.18 and 31.19. So I'm thinking it might be a good idea to call it the first release of DF2011 - and what we refer to as "DF2010" would then become 0.31.18.

Thoughts? --DeMatt 07:06, 28 February 2011 (UTC)

Revisiting Redirects

I wasn't around when the redirect policy was created, and I'm having trouble understanding the rationale. The example claims that linking Main:Cheese to cv:Cheese maker is problematic...but mainspace only ever redirects to the current version. If the best target in the current version is cheese maker, why not link to it directly? (It's not, at least for Cheese, since DF2012:Cheese exists now.) The explanation seems to be claiming that 40d articles that link to Cheese will follow the Mainspace link--but that hasn't been the case for a long while now. Articles in 40d automatically link against other articles in 40d, so that version remains internally consistent no matter where mainspace links to in the current version. For a current example, what do we gain by linking Main:Mead to cv:Mead and linking DF2012:Mead to DF2012:Alcohol?

If this really is just an outdated procedure, I recommend we drop the mummery and allow mainspace to link to cv:(best target). Double redirects may work (sometimes, but Main:Mead demonstrates a common problem where automatic redirection fails), but if they are unnecessary I think they should be avoided, partly because of problems like Main:Mead and partly because of the effort required to protect double redirects from users who believe they are problematic.--Loci (talk) 20:16, 8 January 2014 (UTC)

I was just thinking that. I'm currently attempting to write a basic extension to eliminate the need for mainspace redirects entirely, although Mediawiki's class structure may make this more difficult than I had hoped (the only method I've found for resolving redirects takes the article text instead of a title, e.g. "#REDIRECT ..."). I do agree that the current situation with redirects isn't ideal, so I'm hoping this will work better (once I get it to work). --Lethosor (talk) 20:42, 8 January 2014 (UTC)

Okay, that wasn't quite as clear as I meant it to be. In general, I think this is a tricky situation. Mediawiki wasn't designed to have five content namespaces, and certainly not chains of redirects between them. The problem that was pointed out in the policy is the fact that with:

Main:Foo -> cv:Bar

pages in the cv: namespace can't use [[foo]], since the namespace links modification causes it to be treated as [[cv:foo]] instead, which doesn't exist. The current suggested solution is this:

Main:Foo -> cv:Foo -> cv:Bar

This fixes the problem of [[foo]] not working on cv pages, but creates issues with double redirects not always working. Another solution, which is more intuitive to new editors, is:

Main:Foo -> cv:Bar
cv:Foo -> cv:Bar

Both require creating two redirects. The first method has the advantage of ensuring that the cv redirect exists (otherwise, main:foo would be a redlink), while the second has the advantage of working more reliably in a couple cases.

What I'm trying to do is make main:Foo "jump" to cv:Foo when cv:foo exists, even if main:foo doesn't exist (basically it would treat all mainspace pages as redirects to cv pages, but only if the cv page exists and not the mainspace page). I had main:Bar jumping to cv:Bar fine, but if cv:Foo redirected to cv:Bar, accessing main:Foo would mysteriously stop at cv:Foo even if I increased the redirect limit. What I'm trying to do now is follow the redirects internally, without relying on Mediawiki to do it automatically - unfortunately, that has proved to be harder than I had hoped (and I sent my web server into an infinite loop while trying). I will try to work on this some more when I get a chance, although I'm not sure when that'll be yet :(. For now, feel free to fix broken double mainspace redirects as necessary, as long as redirects in the DF2012 namespace stay pointing to the right page (and new mainspace redirects get added in the DF2012 namespace too). --Lethosor (talk) 04:21, 9 January 2014 (UTC)

You're treating cv like a namespace--it's not. It is simply shorthand for "fill in the current version here". As I discovered a long time ago on a server not far away, linking from Main:Foo to cv:Foo tends to break redirection chains. If, instead of linking to cv:Foo, you link to DF2012:Foo, it might just work. It would, of course, be better if your patch could evaluate cv itself, but even if you have to hardcode the current version it's a single point of maintenance that requires update very infrequently. (For that matter, we could probably dispense with the cv hack entirely and just have a bot update mainspace links from DF2012 to DF201X when we switch to a new version.)--Loci (talk) 20:05, 9 January 2014 (UTC)
I know cv isn't a namespace - I was just trying to avoid future confusion when the DF2012 namespace changes. It's interesting that changing "cv" to "DF2012" fixes some broken redirects, although I've found that simply making an edit to a broken redirect can usually fix it as well. I've actually had the most problems with double redirects when the second one (in the DF2012 namespace) doesn't use the DF2012 prefix (e.g. main:Foo containing [[cv:Foo]] and DF2012:Foo containing [[Bar]]). I'd rather keep the cv alias even if it isn't necessary for mainspace redirects when I get the patch to work, since it makes it easier to refer to the current version of the page (for example, several MDF articles contain links to a vanilla page for things that don't change in the mod).
Also, using aliases like "cv" is supported by Mediawiki; in fact, several WMF wikis use them (for example, "WP:Redirects" on Wikipedia). It's quite likely that Mediawiki isn't processing double redirects using aliases correctly, though, since that's uncommon on most wikis. --Lethosor (talk) 21:35, 9 January 2014 (UTC)

In light of the lack of support for the current redirect policy, I propose we replace the current redirect section with:

Mainspace article pages should use the cv: alias when redirecting to a versioned page, which will automatically update the link when a new version is released. For example, page "Main:Foo" should redirect to page "cv:Bar" (where "Bar" is the page that best describes the topic Foo in the current version).
Pages in mainspace should only redirect to an older versioned page if that content no longer exists in the current version of the game (e.g. Cave river, Chunk). In these cases the cv: alias cannot be used.
Pages inside a versioned namespace should not use the cv: alias. Instead, they should redirect to the best page within that versioned namespace (e.g. DF2012:Dodging, v0.31:Drink).
Due to limitations of the wiki software, double redirects should be avoided if possible. When fixing double redirects in mainspace, please make sure to use the cv: alias as appropriate.

If no one objects, I will make this change in a few days.--Loci (talk) 20:21, 15 January 2014 (UTC)

Okay with me. It may be worth mentioning that double redirects only really need to be changed when they don't work (since changing a lot of redirects that work isn't necessary), but I think it's clearer and more relevant than the current policy. —Lethosor (talk) 00:26, 16 January 2014 (UTC)

Done.--Loci (talk) 20:55, 22 January 2014 (UTC)

I was finally able to get my extension to work after being motivated by one too many malfunctioning redirects. It now causes nonexistent pages in the main namespace to behave exactly like redirects to their DF2012 counterparts (when linked to, accessed directly, and transcluded). Double redirects also work (up to 100, in fact, although that was a temporary safety measure that I'll probably change). This means we'll be able to safely get rid of all mainspace redirects (redirects that redirect to something other than "cv" will still function if not deleted). —Lethosor (talk) 01:20, 14 March 2014 (UTC)

What about articles which don't exist in the current version but do exist in older versions? Will those still need mainspace redirects, or will your extension be able to automatically redirect them to v0.31/40d/23a? --Quietust (talk) 01:29, 14 March 2014 (UTC)
It ignores all mainspace pages that actually have content, including redirects, so pages like masons guild won't be affected (unless deleted). —Lethosor (talk) 01:47, 14 March 2014 (UTC)

Done and deployed. Cat is still treated as a redirect, even though I just deleted it (try clicking on the "redirected from" link). Pages that exist are ignored, so Masons guild and History of Dwarf Fortress still function normally (as a redirect to a 23a page and a non-redirect, respectively). —Lethosor (talk) 18:57, 14 April 2014 (UTC)

I'm sending around a bot right now to delete all redirects of the format "foo -> cv:foo" (a surprising number don't fit this format, so I'm leaving them alone for now). —Lethosor (talk) 20:43, 14 April 2014 (UTC)

I'm confused. Do we use double redirects or not? Is there a single place we define our linking policy (including redirects), and is it updated?
I had trouble linking to Consolidated_development in v0.34:Dragon. It kept pointing to v0.34:Consolidated_development, which does not exist. I ended up linking to Main:Consolidated_development to make it work. --Nahno (talk) 10:18, 1 July 2014 (UTC)
That's a separate problem altogether - links in the versioned namespaces (v0.34, v0.31, 40d, 23a) automatically link to pages within their namespace. I may be able to set up a fallback to mainspace once I'm able to deploy again, but for now the "main:" alias is the intended solution. —Lethosor (talk) 11:36, 1 July 2014 (UTC)

Google often directs people to the 0.31 page

I've noticed a couple of times that finding a wiki page from an external search will often drop me onto a page from an older version. Is it possible to mitigate this somehow for new players? I could imagine something like redirecting old:Bar -> cv:Bar unless the user has come from old:Foo; no idea if that would actually work though. PeridexisErrant (talk) 11:48, 4 May 2014 (UTC)

As a temporary solution, I could write a script that displays a banner of some kind if the user came from an external site. I'll ask Briess if he can do anything on the server level to increase the weighting of the current version's pages. (Obviously there are situations where people are looking for old pages, like 23a:dungeon master, so we don't want to disable indexing entirely on old pages.) —Lethosor (talk) 17:03, 4 May 2014 (UTC)

DF2014?

As Toady draws closer to a new release, it might be worthwhile to discuss the addition of a new version to the wiki. The upcoming release covers two years of changes and introduces a number of new plants, foods, drinks, multi-tile trees, climbing, jumping, etc., so it is likely to have significant changes from the current DF2012. To avoid having people start new pages (and lose all the effort spent refining the prior version's page), I think it would be best to have a bot automatically copy over the DF2012 pages as a starting point for DF2014. I would suggest that these copied pages include a noticebox template mentioning that the content may be outdated, so that we can easily track which pages have been reviewed. I think either the {{version check}} or {{old}} template would work. --Loci (talk) 19:43, 5 May 2014 (UTC)

This is what User:QuietBot did after the 0.34 release, so it's certainly possible to use the same script to migrate to DF2014. I would like a way of tagging migrated pages, since inaccuracies in some pages went unnoticed for months after they were migrated. Since {{old}} is already in use, {{version check}} may be a better solution (it can be reworded slightly, or we can make a separate template for DF2014 migration). —Lethosor (talk) 19:23, 1 June 2014 (UTC)
Made Template:DF2014 migrated as an example. Any thoughts? —Lethosor (talk) 19:32, 1 June 2014 (UTC)

Redirects inconsistency

Following a redirect is supposed to be exactly the same as going straight to the page it redirects to, but this actually isn't the case:

So if you search for "seed", the top result is the DF2014 version. But search for "seeds" and you get the redirect, which sends you to the outdated page instead. Hairy Dude (talk) 23:22, 22 February 2015 (UTC)

While I'm talking about redirects, it seems redirects to sections don't work: see DF2014:How do I manage my seeds and crops. I know MediaWiki is capable of this trick because Wikipedia does it. Hairy Dude (talk) 23:32, 22 February 2015 (UTC)

I have absolutely no idea why seeds redirects to a v0.34 page - it could be a Mediawiki bug. The section links issue is due to a known issue in the redirect extension we use, which has yet to be fixed. —Lethosor (talk) 00:01, 23 February 2015 (UTC)
It looks like deleting both Seeds and DF2014:Seeds fixed things (by allowing AutoRedirect to handle the redirects instead). Feel free to tag any others with {{bad redirect}}. —Lethosor (talk) 00:03, 23 February 2015 (UTC)
It gets stranger. Vial redirects explicitly to cv:Flask which displays (when you look at it with &redirect=no) as DF2014:Flask, but still goes to the v0.34 version. It seems redirects interpret the cv: pseudo-namespace (or whatever it's called) in an outdated way. Hairy Dude (talk) 18:08, 23 February 2015 (UTC)
I've added a note to this page about this issue. If it gets resolved, the note should be removed. Hairy Dude (talk) 21:04, 23 February 2015 (UTC)


Reorganizing versions

The internet deals with moved content... poorly. Google is still linking to v0.34 pages more than a year after the switch to "DF2014", and even the wiki software still has cached links pointing to the old version pages.

I propose reorganizing versions on the wiki to avoid moving content whenever possible. Instead of having a temporary "current version" namespace that changes occasionally, all the current information gets promoted to the Main namespace. When the next version split occurs, the Main articles as of a certain revision number can be copied to the newly-created permanent "old version" namespace, while all the current information remains in Main. This not only fixes the link rot issue, but it has a few other benefits as well: fewer administrative tasks, no lockdown (a historical version of the Main pages can be copied at any point, even if the Main articles are already modified for the new version), almost all the article history is maintained in the Main article (instead of being spread unevenly across multiple versions), no "temporary" namespaces are needed, fewer problematic long redirect chains, and hopefully less user confusion (since Main gets priority in search results, etc.).

As an example, today we would not have a DF2014 namespace (which is good because "temporary" namespaces historically disappear anyway). If you ran a search for seed you'd end up at Main:seed, which would have all the current information on seeds. The version box at the top of the page would still link to the older versions of the seed article. When a new version is released, an admin would choose a revision number and copy the Main:seed article as it exists at that revision number to v0.40:seed. That's it. One historical copy that needs little to no new editing, and zero redirections/moves.--Loci (talk) 19:02, 27 July 2015 (UTC)

Makes sense to me. It would involve a lot of work, though (e.g. fixing templates and categories to account for the current version being in mainspace), although that should be doable thanks to {{category}}, {{version switch}}, etc.. A bot could be set up to copy revisions from before a release date as well, which would be more difficult (and maybe slower) than a direct copy, but not severely. —Lethosor (talk) 17:24, 30 July 2015 (UTC)
Actually, there are a few issues with that, namely that there wouldn't be an easy way to distinguish between versioned and non-versioned mainspace pages. There are ways to resolve Google search priority (we can exclude pages from older versions from search engine results if there are newer versions of those pages available, for example). —Lethosor (talk) 19:47, 6 August 2015 (UTC)
There aren't very many non-versioned mainspace pages, and determining if a page is versioned is as simple as looking for the version template and/or categories added by the version template (e.g. copy this category instead of Main:*). The problem with "suggesting" newer pages to Google is that they obviously aren't crawling our wiki regularly (if they were, the fact that the mainspace redirects point to new pages would automatically be picked up). Even if your Google hints worked they wouldn't do anything for all the other broken links out on the 'net.--Loci (talk) 20:35, 6 August 2015 (UTC)
Google actually crawls the wiki constantly - we probably get crawl hits from google for a continuous block of 2-3 hours per day, each and every day. Why they are slow to update is beyond me though. I can't remember why we didn't do this initially, but there was a technical limitation involved if I remember correctly. --Briess (talk) 22:05, 6 August 2015 (UTC)
There are <meta> tags that can be used to hide pages from search results (for search engines that recognize them, that is). Searching for {{av}} or Category:Current might work, although we'd have to make sure all of the DF2014 pages include that (some pages don't, particularly some disambiguation pages, although all of them should). —Lethosor (talk) 22:53, 6 August 2015 (UTC)
Is there a particular reason main and current are separate to begin with?—CLA (talk) 00:17, 7 August 2015 (UTC)
It's mostly intended to distinguish between versioned and non-versioned pages and make version-related templates simpler to work with, since every versioned page has a namespace. I wasn't active here in 2010 when this system was created, so Briess and Emi would know more.
Another issue I just thought of with Loci's suggestion is categories - currently, categories like Category:Animals are used to organize the versioned sub-categories. Sure, we can change {{Category}} to categorize mainspace pages in Category:v0.40:Animals or Category:DF2014:Animals, but that would be less straightforward because there wouldn't be a namespace with that name (until pages are migrated when a newer major version is released). —Lethosor (talk) 13:05, 7 August 2015 (UTC)
Moving current pages to the main namespace sounds like a great idea. -Jecowa (talk) 20:47, 4 January 2018 (UTC)

Another thought: dealing with migrating redirects could be difficult with this proposal - specifically, determining which redirects should be migrated to a versioned namespace. Redirects can't contain {{av}}, at least not before #REDIRECT. I think it would be possible to copy pages in two stages, though - all non-redirects first, then all redirects whose targets were also copied. Thoughts? Anything I'm missing? —Lethosor (talk) 23:41, 27 June 2019 (UTC)

Some subpages (particularly /raw and /Edit notice) also deliberately lack {{av}}, although those shouldn't be too hard to handle. —Lethosor (talk) 00:35, 9 July 2019 (UTC)

Redirect pages (and all other edge cases I've looked at) can be included in categories (like Category:Current) to determine whether or not they should be copied into an archival version. But if the redirects are "properly qualified" then they can all be copied over blindly. Mainspace redirects pointing to versioned information should use a blank namespace (which will be automatically constrained to the archival namespace); mainspace redirects pointing to unversioned information should use an explicit "Main" (which will automatically link back to the unversioned page). Then, when [[Toady]] gets copied to [[v0.4x:Toady]] it will point back to [[Main:Toady One]]. Meanwhile, [[Beer]], copied to [[v0.4x:Beer]], will properly point to [[v0.4x:Alcohol]].--Loci (talk) 20:00, 14 July 2019 (UTC)
I think qualifying redirects is the best solution here - categorizing redirects manually is another possible source of errors, since categories (or a lack thereof) would only be visible on the redirect page itself, and Category:Current is a hidden category. Copying over mainspace redirects into versioned namespaces would also resolve some issues that have come up due to those not reliably existing currently. I should be able to set up a bot script to add "main:" to current mainspace redirects (and it shouldn't break anything, since those redirects go to other mainspace pages anyway). —Lethosor (talk) 21:57, 14 July 2019 (UTC)

(Note: I wrote all of this without noticing the previous discussion above.) I was wondering, when the wiki creates a new namespace for a major release again, if it is possible to not create a namespace for the next current version (e.g. "DF202x") and instead have the mainspace articles (which are currently redirects) become the new cv and move the content there. Therefore, cv:Cat would just be "Cat" (or Main:Cat).

Certain namespace-related templates like Template:Ns/0 would need to be changed, though nothing significant as far as I know. For most cases, any "DF2014" would be replaced with "Main" or even blank. There's also multiple extensions handling the current namespace system and they may need to be modified too, though I'm not sure if or how much. I'm guessing based on the discussions above that it will change stuff up.

My reason is the current namespace is increasingly becoming more anachronistic. "DF2014" could be misinterpreted as "this page is about the 2014 version of the game" or "this page was last updated in 2014", which I've seen a few people in forums mention. Granted that Template:Av is on the top of very article, I still think the namespace is inconsistent with the recentness of the article. But how is this related to what I'm asking for? Let's say we continue the current system: if we happen to do a new namespace change this year and create DF2020, the next major release (after graphics/UI) will be mythgen, which is estimated to take several years to develop (the Big Wait), and so the anachronism will start over again. The proposed way will prevent this from occurring for the next major release and every release thereafter.

I think the confusion with having a namespace that becomes old-fashioned overtime supersedes the confusion with not marking current versioned articles with a namespace. Most users just search "Cat" on the search bar and naturally expect to get information about the latest release of DF. So if users go a page that's just titled "Cat", they won't expect outdated info about cats from a previous release. That's how the current system works anyways. We'll be skipping the two-step process that we have now. It'll make several wiki tasks much simpler as well. Editors can create new articles for current versions without remembering to add a namespace. It'll fix any existing issues with (double) redirects; instead of Main:Kitten redirecting to cv:Kitten, which goes to DF2014:Kitten, which then redirects to DF2014:Cat, Main:Kitten would just redirect to Main:Cat. And the cv: alias will no longer be necessary since "cv:" = "Main:" and will be forever.

There's no need to differentiate the current version and previous versions with a namespace for the current version is what I'm saying. Articles of previous versions will retain their respective namespaces. Users will still type "40d:Cat" to go to the 40d version of the article, but if they want the current version, they'll just type "Cat" (like now). The mainspace containing the "live" version of an article is natural and would create no uncertainty when browsing the wiki. And it would simplify the wiki somewhat and future-proof this anachronism problem. As a bonus, this change will also prevent web search engines from showing previous version pages when typing "DF cat" or something. (This isn't happening right now as DF2014 has been the current namespace for ~6 years, but it'll happen again when everything moves to a new namespace.)

This is the gist of it, and I may have ignored most of the problems with this proposal. I have personally wished for the whole version namespacing be made less complicated and have been seeking for a solution, and I feel like this is the best way to go about in the future. – Doorkeeper 21:27, 14 August 2020 (UTC)

Whoops, looks like Loci already proposed this exact thing long ago. I definitely missed that discussion and should have checked first. My apologies. I'll move my text to that section and remove this one. – Doorkeeper 21:36, 14 August 2020 (UTC) Done. – Doorkeeper 21:40, 14 August 2020 (UTC)
The main issue I have with that is that putting pages about the current version in a namespace also differentiates between those pages and pages not about any version (for example, Toady One does not need a 40d or v0.34 page). Yes, we can use {{av}} to mark versioned pages, but people often forget to add that to new pages. The current system also allows determining whether a page is versioned or not from its title, which makes migrations a lot faster. Relying on {{av}} would require either reading the content of every page (which would slow scripts down significantly) or cross-checking with the list of all pages including the template (feasible, but a bit more complicated, and still susceptible to missing templates). I suppose that manually fixing and migrating pages missing {{av}} later wouldn't be too much work, though.
I am definitely in favor of changing "DF2014" (or a new namespace) to "Current", though. I was in favor of "DF2014" in 2014, but I don't think it makes sense anymore, and "Current" seemed to be a popular alternative in both the DF2012 and DF2014 discussions on the matter. —Lethosor (talk) 04:02, 16 August 2020 (UTC)

Weird redirect behaviour

Pump stack redirects to cv:Screw pump#Pump stack. If you look at the redirect itself it says it redirects to DF2014 namespace, which is correct. But if you actually follow the redirect, it goes to v0.34 namespace. Hairy Dude (talk) 16:10, 20 August 2018 (UTC)

Yeah, that's part of the issue described in the above section (the wiki caching part, not on Google's end.) —Lethosor (talk) 15:00, 21 August 2018 (UTC)

v50 organization

Some wiki admins have had a talk on Discord and decided that the most sustainable path forward is to put content for all future versions of DF in the main namespace. We will be working on a bot to do this in the next few days. Feel free to chime in with suggestions here. —Lethosor (talk) 22:56, 14 December 2022 (UTC)

Is it maybe possible to do backwards-namespacing? Like we have a "Main" namespace, which people are free to update, and whenever there's a new version of DF the "Main" namespace is copied into a namespace for the then old version, much like how you'd branch a stable branch from a development branch when working with a git-project? Therahedwig (talk) 23:13, 14 December 2022 (UTC)
Yeah, we could do that if we decide to. We were talking about doing that for v50, actually, and might still do something similar to preserve edit history if it doesn't end up being too hard to automate. Our hope is that we will not introduce new namespaces for v50 -> v5x, unless there is a serious breaking change (and hopefully there isn't one). But if we change our mind, one advantage of the type of migration you mentioned is that it can be done retroactively - we can copy historical revisions that were current at the time of the release, and would only lose some typo fixes made after the release that apply to earlier versions as well. —Lethosor (talk) 02:11, 15 December 2022 (UTC)

ETA is < 24 hours. Doing some final checks on a migration script. —Lethosor (talk) 07:08, 19 December 2022 (UTC)

We should really have a task list as there are many things that change and need updating. Including but not limited to:
  • Most templates that used the previous namespace convention broke, including nav templates.
  • Many game files changed locations and their pages need to be updated.
  • Raws need to be updated.
  • Various features added, changed, removed.
  • UI has been changed -- though I am more inclined to wait for classic release to avoid extra work --Jan (talk) 06:56, 20 December 2022 (UTC)

"Raws need to be updated." Including applying text wraparound where necessary, I suppose - more than a few of them have proven to be that special kind of...difficult to navigate otherwise, shall we say? Silverwing235 (talk) 12:52, 20 December 2022 (UTC)

There is already a task list in the section below that includes templates and raws, with an explanation. —Lethosor (talk) 16:25, 20 December 2022 (UTC)

v50 migration

The initial migration script is done. New content is in the main namespace, e.g. Cat. Old content is still at DF2014:Cat. History was migrated to the new (main namespace) articles.

I know several things are broken still. Please reply if you find any others:

  • Versioned templates haven't been migrated yet (e.g. {{vermin}} on Ant)
    • Fixed. Most were migrated by a bot.
  • Raws are missing on all pages that use them.
    • This also affects sidebars, such as on Cat and Microcline.
    • This will be addressed with an upgrade to the DFRawFunctions extension. This will take some time because the layout of the raws has changed significantly, so we cannot do a straightforward migration here.
  • Some pages where the DF2014 page was a redirect to a main namespace page that contained content were migrated incorrectly.
    • In this case, the main namespace page is usually a redirect to itself. This can be fixed by undoing LethosorBot's edit to the main namespace page, then copying the content to the DF2014 page.
    • Update: most seem to have been fixed manually - thanks! —Lethosor (talk) 19:41, 21 December 2022 (UTC)
  • Some main-namespace talk pages redirect to DF2014 talk pages. Some of these redirects work, and some (usually older ones) do not.
    • Fixed with a bot. Some redirects from talk pages to other deleted talk pages are now broken, e.g. Talk:Above_ground (exists) -> Talk:Tile attributes (redlink). I am leaving them like that because they redirect to where the talk page should be created, but I'm also fine with people deleting them if they really want to. —Lethosor (talk) 19:41, 21 December 2022 (UTC)
  • {{quality}} for new articles is disabled (see below)
  • Some links from DF2014 to Main weren't working: e.g. the version selector DF2014:Mason's workshop was linking to DF2014:Main:Mason's workshop instead of Main:Mason's workshop. I'm not sure exactly why, but I fixed it with a change to the NamespaceLinks extension. Let me know if you spot similar broken links. —Lethosor (talk) 23:19, 21 December 2022 (UTC)

Lethosor (talk) 04:54, 20 December 2022 (UTC)

The quality levels of the 50.03 pages seem to be missing. I'm not sure if that's covered under that first point. Trainzack (talk) 06:47, 20 December 2022 (UTC)
If the the Dwarf Fortress Wiki:Quality feature can be made to work with namespace scheme change, I suggest to automatically assign the lowest quality rating to all pages, alternately add the {{old}} to all pages. Otherwise there will be a lot of pages that will fall through the cracks. --Jan (talk) 09:12, 20 December 2022 (UTC)
I disabled {{quality}} in the main namespace because it would require some rework to make the rating script and the template work properly there. Feel free to take a stab at the template. I will see what can be done on the extension side. —Lethosor (talk) 21:14, 20 December 2022 (UTC)

It appears some pages are redirecting recursively and never resolving correctly, like the [table] and tileset repository 07:35, 20 December 2022 (UTC)

Indeed, these can be caught here: Special:DoubleRedirects --Jan (talk) 07:51, 20 December 2022 (UTC)

It might be useful to change the notice title to "release information for editors" --142.59.195.176 10:26, 20 December 2022 (UTC)

Can do. —Lethosor (talk) 16:27, 20 December 2022 (UTC)

Main talkpages seem to redirect to DF2014 talk. Not sure if it is intentional but I like it, though we should pay attention when creating new discussion relating to v50 ending up there.--Jan (talk) 14:18, 20 December 2022 (UTC)

That's unintentional. I specifically wrote the migration script to not move talk pages, but that has the side-effect of leaving any previously-created "Talk -> DF2014 talk" redirects intact. —Lethosor (talk) 16:27, 20 December 2022 (UTC)

Yo Lethosor, are we adding graphic sprites for the pages in some way? Or are we waiting for you to add some sort of new template or something? I'm sure you don't need me to tell you that the current templates don't allow that. Not sure if I'm allowed to change/create any templates either, as I don't want to break things for hundreds of pages. Edit: And IF the icons are allowed, should they be left alone, or 2×-3× sized like how the Minecraft wiki does it? --Zippy (talk) 14:29, 20 December 2022 (UTC)

Depends on which templates you mean. There are copyright concerns with uploading a premium sprite sheet, for instance. —Lethosor (talk) 16:27, 20 December 2022 (UTC)
I'm not talking about uploading an entire sprite sheet. I'm just talking about individual icons for each respective page. One image for cows, one for horses, one for werebeasts, etc. --Zippy (talk) 16:50, 20 December 2022 (UTC)
If we do that for every creature in the sprite sheet, that's not much different (in terms of copyright) from uploading the entire sprite sheet. —Lethosor (talk) 17:09, 20 December 2022 (UTC)
Is there someone we can talk to about that? We finally get this new game with graphics, and then we can't use the very graphics of the game? No matter what the rules are, I'd say that would be the stupidest thing ever. I know I'm infamous here when it comes to copyright and images and stuff, but about 80% of game wikis out there are completely unofficial, and use game file images like no one's business. I can't imagine anyone's door being knocked on if we used the game's sprites, but I won't add any here until we have a go-ahead. --Zippy (talk) 17:14, 20 December 2022 (UTC)
...I've made noise in Mayday's direction on this matter, at least (prob an incorrect maneuver, but).Silverwing235 (talk) 17:55, 20 December 2022 (UTC)
I hope some sort of arrangement can be made so we can use the new sprites with permission/limits, just as we are using the raw files. Otherwise we are all (devs and editors alike) shooting ourselves in the foot here.--Jan (talk) 21:07, 20 December 2022 (UTC)
I just thought of something. We're supposedly not allowed to upload entire sprite sheets, right? What if - for the time being - we just use a few of them for the purpose of testing out new infoboxes? --Zippy (talk) 21:46, 20 December 2022 (UTC)
I don't know. If someone could ask Kitfox and post the response here, that would be great. —Lethosor (talk) 21:47, 20 December 2022 (UTC)
I've reached out to Alexandra, but she hasn't answered yet. Until then I found these old approvals from the previous community manager, Feeona: (link1, link2). Waiting for a newer response until we begin mass uploads is probably the politer option, but like Zippy said, it is also standard for wikis to use game sprites with less approval. I second their idea of trying it out with a few images to test the infoboxes. On the extreme off-chance (and I do think it is) Kitfox protests we can always remove these few. --Voliol (talk) 22:19, 20 December 2022 (UTC)
And here is a third, more official statement: (link3). Perhaps that address of info@kitfoxgames.com is the better channel to ask for a confirmation, rather than Discord DMs, but I will be going to bed, so it is best if someone else does that. --Voliol (talk) 22:29, 20 December 2022 (UTC)
Thanks for tracking this down! Ok, sprites should be fine, but let's avoid uploading the entire premium tileset as a single image, for instance (as the forum thread says, "use common sense"). —Lethosor (talk) 00:21, 21 December 2022 (UTC)
Looks good, permission is always preferable over fairuse, I think it is a win win for all involved. I agree that we shouldn't upload entire sprite sheets (e.g. there is no reason to upload the windmill from every direction or whole construction phase for workshops) and that there are a lot of details that needs to be ironed out through testing. --Jan (talk) 05:07, 21 December 2022 (UTC)

Shifting temporarily to a new issue, is the documentation of Template:ArticleVersion outdated? It would seem so to me, since the current version no longer has its own namespace, with the templates needing updating being different ones. --Voliol (talk) 18:30, 20 December 2022 (UTC)

I think it is still accurate enough. We left open the possibility of making another namespace in the future, albeit with a different migration strategy - see above. —Lethosor (talk) 21:52, 20 December 2022 (UTC)
We have a green light on uploading all and any sprites. Their response to me can be seen here. I'm sure someone else confirmed it before me. --Zippy (talk) 19:00, 21 December 2022 (UTC)

Some Changes to infoboxes might be needed. Too bad User:Doorkeeper isn't around. He did a great work with navbox project--Jan (talk) 20:52, 21 December 2022 (UTC)

I just realized that raw files aren't stored as regular wiki pages but loaded via the DFRawFunctions extension (hence the need to update). Good news it's going to be handled in bulk, consistently and relatively easy to updated. Even better it's Lethosor problem ;) Also I just realized that all the "raw files" (txt files in the new vanilla folder) are released into the public domain. Both are probably not news to the vets but I'll leave it here for those who less up to date like myself. --Jan (talk) 07:35, 22 December 2022 (UTC)

I noticed that some templates aren't working properly in the new namespace, e.g. Basalt entry had its raw updated manually but the infobox fail to show any details. Cursory look suggest {{layerlookup/0}} need a minor tweak. This should do the work
Replace: {{layerlookup/aux|{{{{FULLPAGENAME}}/raw}}|uses={{{uses|}}}|wiki={{{wiki|}}}}}
With___: {{layerlookup/aux|{{:{{FULLPAGENAME}}/raw}}|uses={{{uses|}}}|wiki={{{wiki|}}}}}
Not sure what the plan and ETA with raws update so I didn't touch this high usage template for now. --Jan (talk) 08:11, 24 December 2022 (UTC)

v50 specific issues

Graphics

Follow up on the use of game sprites and the need to trying it out with a few images to test the infoboxes. First sprite File:Beds v50.png was uploaded and used on Bed entry. Any thoughts? --Jan (talk) 18:06, 21 December 2022 (UTC)

Seems like it should be rearranged to be horizontal. Also, has there been a serious discussion about copyright? Full screenshots are 100% fine, but you start going into a grey area when you upload pieces of a spritesheet. I'm of the opinion that it's all fine as long as it's inconvenient to reconstruct the full sheet from the individual images. Maybe a further restriction could be you shouldn't upload any of the art unless it's used in an infobox (maybe an exception for pieces of the UI). And one more restriction could be you shouldn't show everything, like in your bed example, maybe just the wooden bed is good enough, leave out the stone and metal, especially since those can only be made from strange moods. Brightgalrs (talk) 18:43, 21 December 2022 (UTC)
Actually, your bed image is kinda bad for showing off what a bed looks like because it doesn't show the pillow/blankets. That might point to cropped screenshots being the best path, although less convenient for the uploader, as you don't get details left out. Brightgalrs (talk) 18:46, 21 December 2022 (UTC)
I created a new license template Template:Copyright game, based it on the way the RimWorld wiki does things. Call it a prototype, but it's probably how your bed image should be labelled. Indeed, I added it to it already. Brightgalrs (talk)
I agree that the horizontal arrangement would suit better here and that we should strive to represent how things look in-game. Otherwise, I am not too concerned about people being able to reconstruct anything (lets just say that anyone interested in that can get the real thing from the game files), also it seem we have permission to use the sprits on top of fairuse. --Jan (talk) 19:55, 21 December 2022 (UTC)
Modifying the existing template to allow the inclusion of the new sprites is easy (Something like this?) The big question is the matter of consistency is there any exceptions that will break the format (size wise with variant bloat for example), the sprite naming format, etc --Jan (talk) 20:44, 21 December 2022 (UTC)
If we are going to show a variant for each material type, then maybe these should be added as separate images so we can add a tooltip for each image. --Jan (talk) 20:49, 21 December 2022 (UTC)
I've got another prototype going here and here: User:Brightgalrs/vector.css and User:Brightgalrs/Sandbox. (You'll need to add the css stuff to your own /vector.css). Basically it's a way to recolor images using css classes. No idea if there's a better way. Also, the real implementation would require a change to MediaWiki:Common.css. Brightgalrs (talk) 22:41, 21 December 2022 (UTC)
Should mention, there is a different way, just upload each image 16 times, one for each coloring. But maybe that's not very elegant. Brightgalrs (talk) 22:45, 21 December 2022 (UTC)
It should be noted that soon the classic edition will be released, hence one should plan to have both the Premium and classic alongside in that little space --Jan (talk) 03:14, 22 December 2022 (UTC)
I'm looking into a tab extension to potentially support this in infoboxes. Perhaps Extension:Tabs? I tried Extension:TabberNeue, but it displays a placeholder if JavaScript is disabled, which isn't great. —Lethosor (talk) 04:22, 22 December 2022 (UTC)
The Neue Tabber seem to works pretty much like the old one (which fandom still use) defaulting to showing the first tab only. Quick look suggest that neue work the same, plus the notice that 'Tabber requires Javascript to function' warning? if so, and if it is a bother, then you should be able to edit out the tabberneue-noscript string in code. --Jan (talk) 06:29, 22 December 2022 (UTC)
I much prefer your tabber solution, but if that fails we can also use the gallery slideshow mode. If so, beware it has no way to control image size so the images have to be maliciously uploaded using the exact same size. example:

--Jan (talk) 10:19, 22 December 2022 (UTC)

Bizarre palette-swapping idea/prototype

No idea if this is a good idea, since it takes a bit of time to set up, and there might be some performance issues... and maybe display issues?

But take a look at this:


It's way to swap palettes on an image, although the image itself is a table, with each cell representing a pixel. The template itself looks like this: {{User:Brightgalrs/Sandbox/PaletteSwitch|templatename=User:Brightgalrs/Sandbox/Rock|palette-name=saffron}} Input the pattern and desired palette name.

I've got a larger showcase here: User:Brightgalrs/Sandbox/PaletteSwapShowcase. Only did a rock pattern so far, but all palettes are implemented. The major use for this would be on each stone, metal, wood, etc. type's page. The palette could be read directly from the raws. Brightgalrs (talk) 03:22, 24 December 2022 (UTC)

From a technical perspective, my primary concern is indeed performance. Both on the server side and client side, a large number of tables that large (in terms of markup and cell count, that is) tend to be resource-intensive to generate and render. I saw your image-filtering experiments on User:Brightgalrs/vector.css, and while that strikes me as a newer and less-backwards-compatible approach, it would probably be more resource-friendly.
Is this color adjustment something the game is doing natively? i.e. does this accurately match what the game displays? I bet we could slap together an image-filtering extension (or find an existing one?) that can do this if needed. —Lethosor (talk) 03:49, 24 December 2022 (UTC)
Yeah that's what I suspected. The images the template creates are spot on, checked it against a screenshot I took of some mica rocks in-game. The css stuff is unfortunately totally incorrect, was cool to learn about it though, so not a complete waste of my time :p. The premium, in-game graphics are true sprites, basically patterns of indexed colors. Each of the in-game colors (which are significantly expanded over the 16 ascii colors, there's 116/117) there is a palette defined in "\Dwarf Fortress\data\vanilla\vanilla_descriptors_graphics\graphics\images\palettes.png". Each indexed color of the sprite is swapped for the corresponding color in the palette. Because of that, the css stuff doesn't work since it's doing the hue/saturation/brightness changes to the entire sprite.
I've looked into an existing mediawiki extension, couldn't find anything. One thing I did't really look at is some type of lua script/module that would basically emulate what the game is doing. So some function that takes in the base image as well as the desired palette, and based on that finds and replaces each color. No idea what mediawiki's capabilities are on that front. Brightgalrs (talk) 05:31, 24 December 2022 (UTC)
We do have Scribunto installed now, so it's totally possible to do something in Lua too - forgot about that. I can add you to the group that grants access to edit the Module namespace if you want to give that a shot. If we use an extension, we'd probably need a custom one, similar to DFDiagram (or perhaps DFDiagram could be extended - it's in dire need of a rewrite anyway). —Lethosor (talk) 05:43, 24 December 2022 (UTC)
I asked around on the mediawiki irc, I think scribunto/lua is a deadend, at least for taking an uploaded image and doing stuff to it with a lua script. However I did come up with this even more bizarre solution, using block elements. User:Brightgalrs/Sandbox/PaletteSwapShowcase2, maybe less resource intensive? Definitely displays a lot worse though, probably unusable.




















I dunno, maybe none of this is worth it and we should just write some external program to put all the images together offline, and then just mass upload. It wouldn't be that many... Brightgalrs (talk) 06:37, 24 December 2022 (UTC)

Hotkeys/Menu navigation

Most key bindings and menus have changed. Should the article reflect a) only the old version, b) only the GUI version or c) both? For example, bridges used to be built via b -> g, but now it's in Place strucutures b -> Constructions n -> Bridge b. What should be written in the article? Currently, it's b -> g. I think it should be only b), but I am not sure if there will be differences regarding hotkeys or menus between the premium version and the free version and then, c) would be the most appropriate option. --Prometherus (talk) 10:16, 22 December 2022 (UTC)

Not sure. I wish the classic release soon --Jan (talk) 16:45, 22 December 2022 (UTC)
Are you Toady's herald? Looks like it was just released! Brightgalrs (talk) 18:18, 22 December 2022 (UTC)
And our questions are answered, the old hotkeys seem to have been thrown out. Part of me is disappointed (useless muscle memory) but also relieved (unified UI for both versions is good in general and for the wiki). Brightgalrs (talk) 18:25, 22 December 2022 (UTC)
According to info, in a sort of 'demo version' at that. I'll wait a little while longer, for myself.Silverwing235 (talk) 18:22, 22 December 2022 (UTC)
It's unlikely that keybindings in it will change significantly. My vote is that we should include information for both premium and classic, everywhere. Hopefully the keybindings are not different between versions. —Lethosor (talk) 18:26, 22 December 2022 (UTC)
Shouldn't it be based on the 50 or what verion the article is written for? Dominick (TALK) 18:42, 22 December 2022 (UTC)
The keybindings seem to be consistent between versions, (haven't checked exhausitvely, but since the menu layout is the same I think it is a good assumption). Should also keep in mind/consider that not all actions have keybindings. An option would be write 'Click on the <Example Text> icon or press E' Koos (talk) 23:14, 23 December 2022 (UTC)

Removed features & concepts

Since they're removed concepts, I've set Room to be a redirect for DF2014:Room and created Template:Activity zones for the nav bar bedrooms, etc, and made the necessary changes to Bedroom for it. Is this the correct approach, before I go on much further? (also a note, if it is, then Template:v50_rooms probably needs to be deleted) I also imagine that considering the number of changes in the interface, that things like Adventure mode and related pages might best be truncated to "not in 50.03" and when it does make it across, being more deliberately brought over in pieces? HawkOwl (talk) 06:23, 23 December 2022 (UTC)

Usually it is marked with Template:Removed_feature. For example: Dipscript or Party. --Jan (talk) 07:45, 23 December 2022 (UTC)
Ah, that's fair. Should that be mentioned in Dwarf_Fortress_Wiki:Versions#Redirects? HawkOwl (talk) 10:03, 23 December 2022 (UTC)
I think the redirect policy mostly had in mind things that were removed a long time ago, like Tax collector and Economy (and the latter actually has a stub page as well). I guess we could clarify. —Lethosor (talk) 19:34, 23 December 2022 (UTC)
The "current" redirects also cause the version box to incorrectly show that the current version has a page - e.g. 23a:Cave_river shows a v50.04 version, but it's just a redirect back to that version. Similarly, what should happen to redirects like Clothes maker, where a concept has evolved? It currently goes to 23a:Clothes maker - that's correct if the user is trying to look up a very old concept, but if a new user is looking for "how to make clothes", they should be directed to Clothier. --Danny252 (talk) 12:16, 26 December 2022 (UTC)
One should be careful with cv redirects. Most that were recently adjusted were unused plural forms (that should probably be deleted) but few like Crown needed that for backward compatibility. Removing the cv part means the the link on v0.31:Tilesets is now broken. --Jan (talk) 22:30, 26 December 2022 (UTC)
If v0.31:Tilesets is about v0.31, it should not be using "main:" in its links - all of those links are going to pages about v50, not v0.31, regardless of whether the target is a redirect or not. —Lethosor (talk) 23:37, 26 December 2022 (UTC)
You right, I removed it. --Jan (talk) 17:55, 27 December 2022 (UTC)

Crown cv redir issue is now fixed, I believe. As goes with such cases where one can simply revert the troublesome edit, unless I've mistepped, myself? Silverwing235 (talk) 23:52, 26 December 2022 (UTC)

Both [1] and [2] should not have had any effect, because "cv" is an alias to the main namespace now, just like "main". Proof: Crown, cv:Crown, main:Crown. It's possible caching is coming into play here, although I purged the redirect cache after making that alias change earlier this month... —Lethosor (talk) 00:02, 27 December 2022 (UTC)