Talk:CategoryRenameAuto-update

Bug
I noticed that this script adds the "Rename" button to every drop-down menu with the 'wikia-menu-button' class, including the Contribute menu. My suggestion would be to change $('.wikia-menu-button .WikiaMenuElement').append(... to $('#WikiaPageHeader > .wikia-menu-button .WikiaMenuElement').append(... so that it only targets the Edit menu.


 * REALLY late, but thank you! — Foodbandlt (talk) 06:39, December 22, 2014 (UTC)

Removal/Delete functionality?
What would be nice is if there was a way to *not* give a new name. Perhaps by leaving the New Category field blank, or however it can be coded, it would then *remove* the Old Category entry from pages, replacing it with nothing, and in effect simply removing Outdated/Unnecessary Cats. Combined with the "Delete old Cat" function, and it we'd have it all. --Love Robin (talk) 13:41, April 4, 2014 (UTC)


 * I love this suggestion! :) — Spike  Toronto  13:53, December 22, 2014 (UTC)


 * MassCategorization has the mode to remove categories. – Ozuzanna 14:04, December 22, 2014 (UTC)


 * Going to agree with Oz. I hate to say import two scripts, but this is a very specific script and others have already invented the wheel for what you described. — Foodbandlt (talk) 15:00, December 22, 2014 (UTC)


 * Hmmm … one more script to load … *groan* … my poor little iPad is going to up and die under the strain … :'( — Spike  Toronto  15:17, December 22, 2014 (UTC)
 * UPDATE: Well, I’ve given it a try and, unless I’m doing it incorrectly, MassCategorization for removing categories is not quite what Love Robin and I had in mind. In my attempt, I wanted to de-categorize all pages in a particular category. Then, when the category is resultantly empty, I would just delete the category page; or, better yet, the script would. However, the script requires that, in addition to selecting remove and inputting the category name to be removed, I have to input a list of every page populating that category. Why? The system already knows every page that populates that category. I understand that a blank line is the script’s clue that it has reached the end of the list and to stop running. So, something would need to be input into the list box, that we cannot just leave it empty. To that end, could we device some special “codeword” that we input instead of a list, a codeword that signals to the script that it is to perform the de-categorization on all the pages in the category? Thanks! — Spike  Toronto  15:23, December 23, 2014 (UTC)


 * Have you tried using the "Add category contents" button? Also I don't want it to auto remove categories after giving the category name for all of them, as the user may only want to remove a select few. – Ozuzanna 16:06, December 23, 2014 (UTC)


 * If the user only wanted to remove a select few, he’d list them. ;) Plus, that’s why I suggested some unique tag that, when placed in the list box, tells the script to act on all pages in the category. Thanks! :) — Spike  Toronto  22:09, December 23, 2014 (UTC) P.S. I haven’t tried the “Add category contents” button. I’ll do that now. I’m sure that’ll do the trick! Thanks! :) —  Spike  Toronto  22:09, December 23, 2014 (UTC)


 * That's a good idea, and I'll keep it in mind. – Ozuzanna 22:41, December 23, 2014 (UTC)

First, mea culpa: I didn’t really understand how the interface was supposed to work. It wasn’t very intuitive. However, since you explained the function of the “Add category contents” button, it’s become a lot clearer to me how this script is supposed to work and to be utilized by us. In short, Ozzie, it is awesome!! I have had a long-as-my-arm list of category namespace clean-ups since the dinosaurs roamed the earth. But, I prefer working on my iPad to using my laptop. So, I’d kept putting off, and putting off, using AWB to do those tasks. Well, the MassCategorization script lets me do them all with my little iPad. Thanks!! :) — Spike  Toronto  11:55, December 28, 2014 (UTC) P.S. I would suggest devising a small chart/table that distinguishes MassCategorization from CategoryRenameAuto-update. When to use which script is not immediately obvious or easily understood. Thanks! :) —  Spike  Toronto  11:55, December 28, 2014 (UTC)

P.P.S. Now that I understand the “Add category contents” button, it makes my tag/codeword suggestion earlier moot. Just toss that one in the bin! :$ — Spike  Toronto  11:57, December 28, 2014 (UTC)

Occasional error message
Every so often I get the error message: The page "PAGENAME" could not be created due to error code: "emptypage"

Any idea what this is?

The last one I got this was for w:c:braceface:Category:Villians which I want to rename to "Antagonists", and is misspelled anyway. --Love Robin (talk) 06:30, August 13, 2014 (UTC)


 * Again, really late, but I've fixed it. If a category page is empty it now adds a period as I don't know how to actually make an empty page (and it's not obvious). — Foodbandlt (talk) 06:40, December 22, 2014 (UTC)

Page Rename
will there be equivalent for page renames? ie change all links on "what links here" Reasno 杰诺斯·史林特 04:03, August 26, 2014 (UTC)


 * I'll make it conditionally update links as well at some point. I didn't get to it tonight. — Foodbandlt (talk) 06:41, December 22, 2014 (UTC)


 * I think I misunderstood you, actually. PageRenameAuto-update might be what you're looking for. — Foodbandlt (talk) 19:28, December 22, 2014 (UTC)

User group restrictons
Would it be possible to restrict this script to sysops-only? Perhaps as a variable preceding the import statement in Common.js. Thanks! :) — Spike  Toronto  05:56, November 18, 2014 (UTC)


 * I would disagree with that notion on the Dev Wiki script because I know some wikis who use the script and are not sysop. I would suggest adding that yourself to your own version of the script somewhere. – Ozuzanna 19:06, November 18, 2014 (UTC)


 * One would have to know JS to do that… :( Would it be possible to alter the dev script so that, just above the import over at another wiki, there could be some parameter setting/value that limits the user groups for which the script operates? It could default to autoconfirmed if no parameter is supplied at the importing wiki. Thanks! — Spike  Toronto  02:58, November 26, 2014 (UTC)


 * Instead of altering the script, you could add a conditional in your import, like so:


 * --  sqm talk 14:03, 11.26.2014
 * [edit]&rarr; Or, add the import to mediaWiki:group-sysop.js. --  sqm talk 14:07, 11.26.2014


 * That’s perfect! I’ll give that a try. Thanks! :) — Spike  Toronto  08:08, December 2, 2014 (UTC)


 * It just occurred to me, though, that that will not prevent someone from adding CategoryRenameAuto-update to their personal JS and running it. Will it? — Spike  Toronto  08:18, December 2, 2014 (UTC)


 * No, it won't. There are ways to prevent it on a per wiki basis, but there are way to get around it just with minimal js knowledge.
 * For example, the author of this could add a check for a global config that disables the import for non-sysops. But the user could just unset that config before importing it. Another option would be to add the restriction to the code, but then I could just copy the code to another location and remove that restriction.
 * Perhaps a lot of users lack the knowledge to do wither of those examples, but if I can think of ways around it I'm sure someone else can.


 * Anyone whose javascript knowledge is at that level is not someone one has to worry about messing things up inadvertently. ;) — Spike  Toronto  06:35, December 15, 2014 (UTC)

Error code
I tested the CategoryRenameAuto-update script on Test 12 Wiki and received the following error message for some, but not all, of the pages that were re-categorised:


 * The page at test-12.wikia.com says:

The page " " could not be submitted because of error code:"internal_api_error_DBQueryError". Please update the link(s) on that page manually.

Could someone please explain why these errors occurred and if they're significant? -- LegendFPS  (Talk) •  (Contribs) 06:28, December 2, 2014 (UTC)


 * That's likely a error in wikia's config or code, it's not a standard api error code afaik. I'd suggest trying again in a couple of days to see if it's fixed.


 * Ok, I'll do that. Thanks. -- LegendFPS  (Talk) •  (Contribs) 06:46, December 3, 2014 (UTC)


 * It worked fine on the second attempt. -- LêgêndFPŠ  (Talk)  (Edits)  03:06, December 9, 2014 (UTC)

Non-English languages
The script doesn't seem to work on non-English wikias. Could someone please try and fix this ? Thank you in advance. —Hulothe 16:26, December 21, 2014 (UTC)


 * I'll try to get this done today. I might need help with translation for some things though if you're willing to help. — Foodbandlt (talk) 19:01, December 21, 2014 (UTC)


 * Thank you. I'm willing to help with translations. —Hulothe 21:51, December 21, 2014 (UTC)


 * Multilingual support update is now up, it just needs translations. Sorry this took so long. There was a lot more text than I originally thought there was. — Foodbandlt (talk) 06:42, December 22, 2014 (UTC)


 * I added fr, it works great ! Thank you very much. I will add some other languages if I'm able to. —Hulothe 10:26, December 22, 2014 (UTC)


 * I thought that, in order to not have the script become too long, we make separate versions per language, like
 * /code.js
 * /fr/code.js
 * /pl/code.js
 * /de/code.js
 * etc.
 * Or, does that not apply in this case. (confused) :) — Spike  Toronto  15:22, December 22, 2014 (UTC)


 * I actually don't know, this is the first script that I've ever included multiple language support on. A couple that I looked at didn't split it up but mentioned it. I'll look around, thanks Spike! — Foodbandlt (talk) 15:33, December 22, 2014 (UTC)


 * You’re welcome! :) — Spike  Toronto  15:57, December 22, 2014 (UTC)

All right, the languages have been split to separate pages and only the one that's needed is loaded. You might find it to take about a half-second longer to load as a result. — Foodbandlt (talk) 18:42, December 24, 2014 (UTC)


 * That’s brilliant Foodie. Thanks! :) — Spike  Toronto  11:44, December 28, 2014 (UTC)

Why piping?!
Why is it “piping” the categories it changes on the changed categories’ constituent pages? For example, see http://sp.wikia.com/?diff=1658655

This raises serious issues:
 * 1) The righthand-side of the pipe in a category is used to specify sort order.

  means that on the “Characters with antlers” page, it files not by “cindy …”, but by “characters …”
 * 1) * Thus, the “Cindy Lou Who” page (see example) categorized as
 * 1) * “cindy” and “characters” are alphabetically close, but suppose that the page being categorized thusly were instead called “Thomas the Tank Engine”

Thanks. — Spike  Toronto  13:06, December 22, 2014 (UTC)
 * 1) ** the page would slot in under the C’s — as in “characters” — instead or under the T’s — as in “Thomas”.
 * 2) * It’s really up to each wiki’s categorization policy to determine the sort order of its articles.
 * 3) It is counterintuitive to use a pipe to continue to show the category on the page as it was — in this case, the incorrect "characters with a antlers” — especially since “as it was” was wrong and renamed for that reason. &larr; (It doesn't really do this anyway: it's all about sort order right of the pipe. :P)
 * 4) Compounding this issue, editors at our wiki have begin copying the method — unnecessarily piping categories — yet having zero understanding of the consequences of piping them. Moreover, the two sides of the pipe often bear no resemblance to each other, or any relation to the page on which it is placed! For example, " " on a page about Friday the 13th! You can imagine the chaos this is creating.


 * Ahh, you're right. I hadn't considered it because MLP Wiki doesn't generally ever use pipes in categories other than when Wikia bugs pop up. Would you suggest that I remove the pipe and text after it, then? Or be able to specify what should come after the pipe? — Foodbandlt (talk) 14:00, December 22, 2014 (UTC)


 * @Foodie: It should just replace the category, no pipe. So, in the example above," "would just become" "without the extra a. This is essentially how one would do it if one were doing it manually. (By the way, on one wiki, we use sort order a lot, most often in the form" "to ensure that the category pages list the entries correctly. Anyway, thanks for fixing this! :) — Spike  Toronto  15:14, December 22, 2014 (UTC)

It’s official ==> I’m an idiot. :$ — Spike  Toronto  15:53, December 22, 2014 (UTC)

Links to category on page
(See EDIT 2 too) I found something thats prevents the script from working as it should: if a link to the category being renamed is already present on the page, then the script will only change this one instead of the actual category. An example here. What it should have done corresponds to the next change that I've made manually. Could you please try and find a solution to this problem? Thank you again for your great work. —Hulothe 22:58, December 22, 2014 (UTC)

EDIT : if, by the way, it could replace (optionally, by checking a checkbox) all the links to this category on any page just like does FileUsageAuto-update for images, it'd be great, too :-)

EDIT 2 : It seems that the error mentionned above doesn't affect only links to the category, but every single word that is the same as the category name (not incuding ). You can see an example here.


 * Hah, that's odd. It looks like when I copied the page processing function from FileUsageAuto-update I omitted the multiple replacements part.  I'll work on including that.  As for the wrong word replacement, holy crap.  It looks like I missed a part of the regex when I adapted it as well.  I guess I can blame that on half-spirited coding in the beginning when I was porting it to work with categories.  I'll fix that asap.  Thanks for the reports to make the script better! — Foodbandlt (talk) 00:02, December 23, 2014 (UTC)


 * Okay, I've fixed what you described here (hopefully). I'm not as familiar with category use cases as I am with image use cases.  If you find a use case that it missed if you wouldn't mind leaving a link here so I can update the regex I would appreciate it.  Working on link updating now.  Thanks! — Foodbandlt (talk) 02:40, December 23, 2014 (UTC)


 * All right, it's done and uploaded. There are two new messages to translate if you wouldn't mind (marked with // NEEDS TRANSLATION under fr).  One unfortunate part about these being categories and not images is that when a category name is used without it's surrounding brackets, like in a template parameter, there's no easy way to tell the difference between regular words and a category name.  Generally those are edge cases as from what I've seen people call that bad practice, but regardless it still happens.  I've removed that part of the regex so that it doesn't touch anything that's not inside of double brackets for now until we find more (obvious) use cases.  Thanks for all of your help and feedback! — Foodbandlt (talk) 05:15, December 23, 2014 (UTC)

Error
Currently this script is giving me an error and breaking my JS - the console reads "ReferenceError: LIR is not defined". – Ozuzanna 13:53, December 28, 2014 (UTC)
 * And this is why copy-pasting is dangerous. Lol.  Thanks Oz! — Foodbandlt (talk) 15:43, December 28, 2014 (UTC)

Suggestion : default summary
Hi :) I've been using the script a lot and I think that it could be improved by allowing the use of a custom default edit summary.

By the way, Happy New Year! —Hulothe 22:16, January 1, 2015 (UTC)

''PS : I'm very often (each time tbh) getting this error from the API : "internal_api_error_DBQueryError". It's very weird, the category on page does actually change but the pages for which I get this error stays in the old one. When mae=ke a manual change to categories on the page, it fixes the "bug".''


 * All right, I've sent an S:C to Wikia about the API error for clarification. About the edit summary, are you talking about the "Updating Category:Blah -> Category:Blahh (automatic) summary when editing a page?  Would you prefer to use the same reason that you input on the rename page?  Or would you rather have a default specified before you import the script?  If you want to specify a new default in a variable before the script, would being able to use the old and new category name be useful?  — Foodbandlt (talk) 23:40, January 2, 2015 (UTC)


 * Wikia responded saying that they need more information about the error (which I honestly didn't know that there was). I've updated the script to include the error information in the message if you wouldn't mind copy-pasting the entire error message next time you come across it.  It should be in the form of "Error code; error info".  I'll send it to Wikia once I have that.  Thanks!  — Foodbandlt (talk) 19:51, January 5, 2015 (UTC)


 * Sorry for the late reply. What I mean is the #wpReason textarea, to be defined in a variable before the script. "Updating Category:Blah -> Category:Blahh (automatic)" summary for pages edits is fine. Maybe it would be useful to use this as a default summary for #wpReason, but sill make it customizable. Ok for the error, I hope someone will be able to fix that! —Hulothe 07:11, January 7, 2015 (UTC)

Alternative to Delete
It's not always the case that a bot is also an admin, which can mean old categories left undeleted. How about an option so that rather than deleting a category page or leaving it alone, its contents are replaced with or something similar so it can be swept up later?JoshuaJSlone (talk) 14:16, January 21, 2015 (UTC)
 * Done. I've added the option to define what to replace the page contents with, rather than hard-coding it in. Let me know if you have any other suggestions or issues, thanks! — Foodbandlt (talk) 16:12, January 21, 2015 (UTC)