Latest comment: 7 years ago2 comments2 people in discussion
I notice in this edit, that when you have duplicate category, if you use Cat-a-lot then both categories are renamed instead of delete duplicate category. --Smooth_O (talk) 12:49, 5 August 2012 (UTC)Reply
Just noticed this still happens; see the history of File:Bluebells - panoramio (3).jpg for example. For some reason a bot added the disambiguation cat Newark twice. When I moved the file with Cat-a-lot and then copied it to two other cats from the new location (all without actually seeing the wikitext, of course), all three lines got duplicated.—Odysseus1479 (talk) 20:47, 17 February 2018 (UTC)Reply
Latest comment: 13 years ago4 comments3 people in discussion
Cat-a-lot is great, but it would be greater if I could take the results of a query from Cat Scan for example, trim them down as necessary for my purposes, and use the flat file list as input to Cat-a-lot. Is it conceivable that you could add such a feature? In this case, the page that Cat-a-lot was running "on" would not be relevant; instead of selecting files on that page with a mouse, I would select "manual file list" within Cat-a-lot, and paste in my file list, in the format
Category:Charles Backofen
Category:Charles Codman
Category:Charles Osgood
Category:Edward Troye
Category:Erastus Salisbury Field
Category:Fitz Hugh Lane
Category:Francis William Edmonds
Category:Frederick R. Spencer
and then select the destination category with the current interface options. In the above example, I want to add "c:19th-century painters from the United States" without having to select each one from "c:Painters from the United States" (imagine that the list has 100 entries...). More specifically, I want to move them from the old category, which leads to a variation of this suggestion. Another way of looking at this is that I want to paste in a list of files/categories that are programatically selected from the current category page, instead of the user clicking on each one. Short version: I am suggesting one or both of the following features: "Paste a list of files/categories to be selected programatically from the current page" allowing for adding OR moving; and/or "Paste a list of files/categories to be added to any category" (so the page I'm currently on does not matter to Cat-a-lot). If I had to pick one, I would pick the programmatic selection from the current category, as it allows for moving. I just gave an example but I believe this feature has broad applicability. Thanks for taking the time to read this message. Boo-Boo Baroo (talk) 05:46, 10 December 2012 (UTC)Reply
That might be a useful cat-a-lot improvement, though as a current work around, if you have a list of files, you can paste them as a list of thumbnails on a sandbox page and use Help:VisualFileChange.js to make almost any change you are likely to want, including changing categories. Thanks --Fæ (talk) 06:29, 10 December 2012 (UTC)Reply
Thank you both for your replies. Rillke, I didn't see your reply there (about two weeks later) and thought my question was stale. Thanks for the info--I plan to try VisualFileChange for files--but there doesn't seem to be any solution for altering categories themselves (as you've noted). The main use I envision is dispersing categories that contain hundreds/thousands of other categories into more usable subsets (in the case of categories for people, by century, for example). Boo-Boo Baroo (talk) 19:24, 10 December 2012 (UTC)Reply
Latest comment: 12 years ago1 comment1 person in discussion
Hi, we use this great tool in fa.wiki according to Hebrew version, the only problem is when the category exists in /doc subpage it can not remove or edit or move that template's category! for example moving fa:رده:Language icon templates members. I tried to make a hack for it but doesn't work! would you please tell me where should i change? (fa:مدیاویکی:Gadget-Cat-a-lot.js) yours, Yamaha5 (talk) 10:37, 16 May 2013 (UTC)Reply
Latest comment: 12 years ago14 comments6 people in discussion
Is there any hope of seeing an upgrade soon that allows removing ALL categories from file(s) except a selected category? Maybe adding a small checkbox in the bottom right corner, that if checked, will do that. This would be extremely helpful in sorting large number of files that are excessively over-categorized but have their own specific category. --P199 (talk) 23:42, 11 October 2013 (UTC)Reply
I don't think that is a good idea. When using cat-a-lot in a category you see the files in that category, so you can see if they fit in the category or if they should be moved or copied to other categories. But you don't see which other categories the files are in, so you can't know if all those categories are wrong or not. /Ö16:13, 18 October 2013 (UTC)Reply
Often enough, this has to be done to all files in a certain category, then you know it, otherwise you could look.
In my opinion, it would be more (very!) helpful to be able to remove all files in the current category from a different category. For example, removing all files in the current category from the category one level higher is something that has to be done all the time (because people over-categorize that way). Also, in these cases, no file should be in the current and the superordinate category, so selection is easy and not a lot can be done wrong. — Julian H.✈ (talk/files)16:33, 18 October 2013 (UTC)Reply
I was thinking it would be more useful for search results. For example, I often categorise images of buildings, which might well be best placed in a category for that building and no other category (except hidden categories), but are often placed in categories of the city, the county, buildings in the city, and various other higher-level categories. I also agree with Julian H.'s suggested addition. HJ Mitchell | Penny for your thoughts? 16:35, 18 October 2013 (UTC)Reply
We do need better tools for removing things from parent categories, and it would be great if catalot did that. But I agree that we would have a problem if we automatically removed all other categories without looking at the categories and images involved. For example, if I create a category for the stained glass windows in a church and make that a subcategory of both the church and stained glass windows in that county, then when I move images from the church to the stained glass windows in that church it would save a bit of work if they also came out of the other parent category stained glass windows in that county. But if one or two of them are in a category works by Veronica Whall then it would be wrong to remove that category. To some that would look like vandalism. WereSpielChequers (talk) 11:48, 20 October 2013 (UTC)Reply
Of course, like all other tools, such a feature should be used carefully by trusted users. But the potential for mistakes already exists for Cat-a-lot in its current state, so this is not a reason not to implement it. In fact, we need more powerful tools to keep up with the flood of images being uploaded... --P 1 9 9✉00:08, 21 October 2013 (UTC)Reply
As you designed it can't be used carefully. If you don't make it automatic, perhaps listing the categories that would be removed then that could work. But automatically removing categories would mean undoing other people's categorisation work and slowing down the process of categorisation. We need better categorisation tools, automatically removing categories even if they are valid and useful would not be a better tool. Some of its edits would look like vandalism. WereSpielChequers (talk) 21:08, 23 October 2013 (UTC)Reply
We're open to suggestions. I offered one, thinking it might be the way to go, but if you don't think so, maybe you can suggest something else then... --P 1 9 9✉22:51, 23 October 2013 (UTC)Reply
OK, here are a few:
Currently we can only search by keywords. Please could we search by geocode and bring up fifty thumbnails closest to the geocode you specify and then just click on the ones you want to put them in a particular category using catalot. This would be even more useful if it included the option to exclude ones in the same category.
Sometimes I'm splitting a village category into two or three villages of the same name in different counties. This is a slow process that requires lots of individual map searches. It would be much better if I could in a slightly similar way to above, have a tool that showed all the items in a category as points on a map, and then be able to draw a line on the map and send all on one side off to foo, Lincolnshire and the rest to Foo, Suffolk. This would also be incredibly useful in processing the backlog of geograph images as we have many geocodes that contain parts of two villages
It would be good to be able to see a list of all the categories that the images in a category are in, and then be able to click individual categories and mark them remove or move to parent. So I do a lot of English church categories. If I move twenty images into a category "St Foo's church, Boston, Lincolnshire" it would be good if I could then see a list such as, Images in this category are in the following categories:
4 in Gothic churches in Lincolnshire [] move to parent, [] remove
6 in Boston, Lincolnshire [] move to parent, [] remove
1 Pipistrelle bats in England [] move to parent, [] remove
2 in Anglican churches in Lincolnshire [] move to parent, [] remove
1 in stained glass windows in Lincolnshire [] move to parent, [] remove
1 in brick churches in Lincolnshire [] move to parent, [] remove
13 in Grade I listed churches in Lincolnshire [] move to parent, [] remove
14 in Churches in Boston, Lincolnshire [] move to parent, [] remove
I could then click the boxes as follows and save an awful lot of work, but without losing the work that others have done, including identifying that one of those images has a really nice photo of a bat and another of a stained glass window.
4 in Gothic churches in Lincolnshire [x] move to parent, [] remove
6 in Boston, Lincolnshire [] move to parent, [x] remove
1 Pipistrelle bats in England [] move to parent, [] remove
2 in Anglican churches in Lincolnshire [x] move to parent, [] remove
1 in stained glass windows in Lincolnshire [] move to parent, [] remove
1 in brick churches in Lincolnshire [x] move to parent, [] remove
13 in Grade I listed churches in Lincolnshire [x] move to parent, [] remove
14 in Churches in Boston, Lincolnshire [x] move to parent, [] remove
Currently to do the above example in hotcat you need to look at twenty images and a category, hit remove 40 times, and type out large parts of five categories to add them to the parent category. WereSpielChequers (talk) 08:33, 24 October 2013 (UTC)Reply
Latest comment: 1 year ago8 comments5 people in discussion
Since the code is currently getting reworked, I wanted to get some feedback on some thoughts I'd been having. One of the biggest user-level time-wasting maintenance problems on Commons is that there's no simple way to move images that are in Category A and Category B into Category C. Right now, in order to do this, you have to move the files twice from each of the two parent categories. That's annoying, and leads to errors where an image is missed in one category.
The easy way to do it would be to have the ability to choose images in Category A with Cat-a-lot, and be able to either a) then move or copy from Category B into Category C
or b) (preferrably) move in one shot from A and B into C.
Keep in mind that currently FastCCI has no interface to limit the intersection to a depth of zero (which is what you seem to want), instead it scans deep into subcategories and may return a lot more results than you want. --Dschwen (talk) 07:33, 8 August 2014 (UTC)Reply
The problem, I think, is that cat-a-lot can only add categories when working with search results, when often the objective is to move them out of one or more of the other categories. (Apologies to Pi.1415926535 if this isn't what you were trying to get at.) --jnkyrdsprkl (talk) 20:34, 9 August 2014 (UTC)Reply
Latest comment: 8 years ago11 comments3 people in discussion
I am trying to add the category Category:Taken with Sony DSC-WX70 to some 10,000 files, but Cat-a-lot hangs after categorizing a few thousand files. I tried in Chrome first, it stopped at 1,900 count. Then I tried in Firefox and it stopped at 3,400. Then I tried in Chromium and it hanged at 8,600. Maybe this happens because of the browser limitations though? -- Fructibus (talk) 22:02, 20 November 2017 (UTC)Reply
@Fructibus: Hm, maybe, but there is also a speed cap for edits for normal users (which you should have exceeded by far). High probably your gallery exceeds the normal view limit too (it does not display for me). -- User: Perhelion23:36, 20 November 2017 (UTC)Reply
@Perhelion: Ohh, I didn't know about the speed cap. How much is it? Can you limit Cat-a-lot speed to stay below that? Well, I must admit it's quite easy for me to ask for all kind of new features.. :D -- Fructibus (talk) 23:51, 20 November 2017 (UTC)Reply
@Perhelion: I think such a speed limit might be already documented, shall I ask at the village pump about it?
Meanwhile I would like to ask for another feature, related to this: to add a button to select all the file links. When the user selects the files in a search result or in a category or in a gallery, they actually select file links. Therefore I think it's not a significant difference to select links too. For example I would like to select all the image links in this page: User:Fructibus/C. Then the users won't need to create a gallery - when a gallery contains thousands of images, the browser consumes a lot of memory and processor power. -- Fructibus (talk) 08:23, 21 November 2017 (UTC)Reply
@Perhelion: There's an OOM condition here. getContent() is called with an immediate for loop in getTargetCat(), and editCategories() is only an event handler of getContent(). This causes the doAPICall()s from getContent() be effectively executed before every single doAPICall()s from editCategories(). Since browser usually has a limit of per-domain concurrent requests, no edit can be made until all the wikitext of thousands of pages are loaded, effectively breaking garbage collection. I wonder if there is a workaround. --Zhuyifei1999 (talk) 08:39, 26 November 2017 (UTC)Reply
Latest comment: 6 years ago1 comment1 person in discussion
Currently, Cat-a-lot will preserve the previous sortkey if a page is copied from one category to another. Would it be possible to toggle this behaviour so you could use the copy function without adding the "old" sortkey? This would be useful whereever the "Defaultsort" entry is preferred over any local sortkeys. De728631 (talk) 20:48, 1 May 2019 (UTC)Reply
Ignore all the ones in Category:Wikidata infobox maintenance
Latest comment: 1 year ago2 comments2 people in discussion
I suggest to the developers that all subcats of Category:Wikidata infobox maintenance be ignored by cat-a-lot, because they are automatically added by {{Wikidata infobox}}. They are not meant to be added manually. They are also taking up too much space in the cat-a-lot menu because almost every cat using the infobox has three or more Uses of Wikidata Infobox blah blah blah.--Roy17 (talk) 17:34, 17 June 2019 (UTC)Reply
Hello 迴廊彼端, that would be far too much for CaL, because this requires an extra level of logic, what this picture is to be concrete. Simple removal does not seem to be an option. -- User: Perhelion07:29, 14 August 2019 (UTC)Reply
Latest comment: 1 year ago6 comments2 people in discussion
Is it possible to make Cat-a-lot visible only in category pages? It feels quite annoying and distracting to see them in mainspace articles. --Kailash29792(talk)05:31, 1 May 2020 (UTC)Reply
Kailash29792 this can be achieved with JavaScript. Here are instructions:
@Kailash29792, you got one too many 14s. In window.catALotPrefs = 14 , remove the 14. It should be just window.catALotPrefs = { editpages: true, subcatcount: 100 };. Hope this helps. —andrybak (talk) 18:22, 22 June 2024 (UTC)Reply
@Kailash29792, you're missing a closing curly brace }. Open the editor on page User:Kailash29792/common.js. You should see a code editor (as on the screenshot in mw:Extension:CodeEditor). There you can hover the mouse over the error marker (a red square with a white cross inside) on line 4. It will tell Unmatched '{'. To fix the error, add the matching closing curly brace } to the if, at the bottom, as line 11.
Latest comment: 5 years ago1 comment1 person in discussion
When trying to print ANY content or category page in Commons where this gadget may be used and is visible, if we try to print, the "Cat-a-lot" box appears on EVERY printed page, over the actual content we want to print (it appears partly at top of the printed page with the shadow and bottom border of the box, and the rest at bottom, within the printable margins of the page; there's no way to hide this unwanted box).
Please add the class "noprint" to the main container of the Cat-a-loc" box, that should never be printed, even if it's visible during navigation. Or use CSS "@media print{ /*selector of the box*/ {display:none}}".
Latest comment: 5 months ago4 comments3 people in discussion
The tool shows a yellow box at the bottom of the page with the label "Cat-a-lot" in it. This label should become translatable. This is particularly useful for languages that do not use Latin alphabet (e.g. Persian, Cantonese, Hindi, etc.) Huji (talk) 18:49, 11 May 2020 (UTC)Reply
Edit request: Make Cat-a-lot's name translatable in MediaWiki:Gadget-Cat-a-lot.js
I propose the following changes to MediaWiki:Gadget-Cat-a-lot.js to make the label "Cat-a-lot" translatable. This will improve accessibility, especially for non-Latin script users:
Latest comment: 5 years ago2 comments2 people in discussion
I wonder if it possible to install cat-a-lot to other non-Wikimedia wikis. The instructions only said If Cat-a-lot is not present as gadget in your local Wikimedia project (like Wikipedia). pandakekok913:06, 24 May 2020 (UTC)Reply
Latest comment: 1 year ago2 comments2 people in discussion
so we have tools to add categories to pages (e.g. hotcat), and cat-a-lot, which manipulate pages via the category page. so i can select an article or file from the category page, and without leaving the category, remove this article. what i'm missing is the reverse action: add page to the category, regardless of how (or even if) this file or article is categorized now. should be pretty simple - pop a new input line with autocompletion, similar to the "category" input line, except it should be for any page, not just categories, and click.
bonus points for textarea, where i could paste a multi-line list of pages, but for me, at least, this is secondary. the ability to "pull" a page into a category from the category page itself would be very useful in many cases. peace - קיפודנחש (talk) 19:45, 3 July 2020 (UTC)Reply
Oppose 1. This would be a separate tool and not cat-a-lot so I think this discussion should be closed here and such a tool be requested elsewhere 2. I think one should only be able to add a file or gallery or category to a category from the respective page or the search results because there one sees some info on the page and otherwise people would often add unfitting pages, e.g. because they confused them or because the only have the filetitle info etc. Prototyperspective (talk) 09:04, 8 October 2024 (UTC)Reply
Latest comment: 5 years ago1 comment1 person in discussion
On mobile devices the screens are often curved, causing part of the Cat-a-lot link to be invisible, so it only reads "Cat-a" and is difficult to click on since the very corner of the screen is not as responsive or easy to touch. The font size and size for the floating text to start the tool are also too small.
Suggestions:
Please add it to Page tools menu, rather than having to scroll to the bottom turn back up to run it
Move floating text slightly higher up, and add a border at least 2em in size
Increase the text size for both the floating text and the X to close the tool
Change the close X to be "X (close)" or add an icon so it's much larger to select
Improve the instructions by including a screenshot showing where to find the tool
Latest comment: 5 years ago1 comment1 person in discussion
I've noticed that if some of white characters is present in the code of the changed category (caused mostly by copying, e.g. left-to-right mark (): [[Category:ABC]] – see the code with CodeMirror), Cat-a-lot won't move the file to other category as the category cannot be found. The copying is not affected, though. — Draceanetalkcontrib.20:42, 19 October 2020 (UTC)Reply
Latest comment: 1 year ago2 comments2 people in discussion
so i tried to decipher from documentation and from code, and couldn't figure it out.
it seems that cat-a-lot edits are tagged on commons, but not when loading the gadget from other projects (using mw.loader.load() ), which we do on hewiki.
is there a way to tell cat-a-lot to add an edit tag on other wikis? for reference, here is the hewiki cat-a-lot gadget source:
if(mw.config.get('wgNamespaceNumber')==14){window.catALotPrefs={editpages:true,subcatcount:500};mw.loader.using(['jquery.ui','mediawiki.util']).done(function(){mw.util.addCSS("#cat_a_lot { left: inherit !important; }");// for some reason, cat-a-lot from commons has a quirk with RLT, and this fixes itmw.util.addCSS("#cat_a_lot_settings { display:none !important;}");// preferences depend on some other gadgets,not available on hewiki, so hide linkettemw.loader.load('//commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-Cat-a-lot.js&action=raw&ctype=text/javascript');mw.loader.load('//commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-Cat-a-lot.css&action=raw&ctype=text/css','text/css');});}
In code, the tag is disabled for anything other than Commons:
// TODO: better extern project support for possible change-tag? (needs currently change after init)if(project==='commonswiki'){mw.messages.set({'cat-a-lot-using-summary':''});}else{// Resetthis.changeTag='';this.settings.redir_category='';}
So code changes would be needed, if other projects are to have their own version of the edit tag.
Also wondered why it doesn't work on the modern search and just the old special search with small thumbnails and a vertical display. Could somebody add MediaSearch support? Prototyperspective (talk) 10:28, 27 May 2024 (UTC)Reply
Latest comment: 4 years ago5 comments2 people in discussion
This doesn't quite behave properly when categorising redirects (it edit a the redirect target). Also, I'm not sure how the preferences work (nothing happens when clicking on the button), but it says in #cat-a-lot edit tagspreferences depend on some other gadgets,not available on hewiki, so hide linkette. Presumably this is the same, though still not sure how to change it? (Please ping me, or I won't see any replies.) Qwerfjkl (talk) 21:16, 30 August 2021 (UTC)Reply
I noticed this function that returns selected files:
mw.libs.catALot.getMarkedLabels()
But it has a strange return type! Try it in your console. An user expects an iterable array but it's not. An user also expects each element as a clean self-describing object but they are not.
How to fix that? Let's create another function for backward-compatibility. For example:
mw.libs.catALot.getMarkedLabelsArray()
This new proposal should return a clean array, with simple objects. So it's more stable and can be used from other gadgets as well!
Here the example return type:
[
{
fullPageName: "Complete title of the page with namespace",
selectedEl: "jQuery selector of the selected box",
},
...
]
Instead of a permalink, you can also prepare a link to Special:ComparePages, which would highlight the proposed changes, making it easier to apply them, regardless of intervening changes to the live version of the gadget. —andrybak (talk) 00:03, 15 June 2024 (UTC)Reply
I’m not convinced this addition is worth it, to be honest. To convert the array-like object into an array you could just use Array.from( mw.libs.catALot.getMarkedLabels() ) (or even [ ...mw.libs.catALot.getMarkedLabels() ]? not sure about the browser compatibility of that); and I’m not sure how helpful the object names are – in particular, given that the selected element is a jQuery object, not a native DOM element, I’d really expect it to have a $ in the name. Lucas Werkmeister (talk) 20:14, 19 June 2024 (UTC)Reply
I've disabled the edit request for now, because the proposed code isn't actual anymore + there isn't a consensus for this change. —andrybak (talk) 23:58, 24 June 2024 (UTC)Reply
Latest comment: 3 years ago1 comment1 person in discussion
On enwiki (at least), I think the gadget doesn't recognise pages not in the mainspace e.g. User: - it just says "No files selected" when you try to perform an action. Qwerfjkl (talk) 18:40, 19 December 2021 (UTC)Reply
Latest comment: 3 years ago10 comments4 people in discussion
Since a few days (since Monday?) Cat-a-lot isn't working on smartphones with Chrome browser. The reason is the user comment field displayed. Searching for another category the virtual keyboard does not display the return key. Instead of the return key tab or next key is displayed - and the search for the category name in the search field doesn't work. The cursor switches to the user comment (pressing "next" on the virtual keyboard). Here the return key is displayed on the virtual keyboard, but it has no function. As workaround I've added mw.util.addCSS("#cat_a_lot_comment { display:none !important;}"); to my common.js. I've the difficult to explain problem only on smartphone browsers. --XRay💬04:37, 17 May 2022 (UTC)Reply
If you are not able to reproduce it, I can make Screenshots and send it. But I won't upload Screenshots (seen by public) here. --XRay💬08:00, 17 May 2022 (UTC)Reply
I too can't use it any more on Android. Can't select a category that I've typed in. Android WebView 101 on Android 11 to be precise.--Vera(talk)18:43, 25 May 2022 (UTC)Reply
I'm now getting this error:
Uncaught TypeError: $searchInput.autocomplete is not a function from https://commons.wikimedia.org/w/load.php?lang=en&modules=jquery%2Coojs-ui-core%2Coojs-ui-widgets%7Coojs-ui.styles.icons-editing-advanced&skin=vector&version=ve7ok at line 52:838 TypeError: $searchInput.autocomplete is not a function at initAutocomplete (https://commons.wikimedia.beta.wmflabs.org/w/index.php?title=MediaWiki:Gadget-Cat-a-lot.js&action=raw&ctype=text/javascript:254:17) at fire (https://commons.wikimedia.org/w/load.php?lang=en&modules=jquery%2Coojs-ui-core%2Coojs-ui-widgets%7Coojs-ui.styles.icons-editing-advanced&skin=vector&version=ve7ok:46:934) at Object.fireWith [as resolveWith] (https://commons.wikimedia.org/w/load.php?lang=en&modules=jquery%2Coojs-ui-core%2Coojs-ui-widgets%7Coojs-ui.styles.icons-editing-advanced&skin=vector&version=ve7ok:48:135) at deferred.<computed> [as resolve] (https://commons.wikimedia.org/w/load.php?lang=en&modules=jquery%2Coojs-ui-core%2Coojs-ui-widgets%7Coojs-ui.styles.icons-editing-advanced&skin=vector&version=ve7ok:51:632) at <anonymous>:769:951 at Object.enqueue (https://commons.wikimedia.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector:10:831) at mw.loader.using (<anonymous>:769:910) at HTMLAnchorElement.<anonymous> (https://commons.wikimedia.beta.wmflabs.org/w/index.php?title=MediaWiki:Gadget-Cat-a-lot.js&action=raw&ctype=text/javascript:328:15) at HTMLAnchorElement.dispatch (https://commons.wikimedia.org/w/load.php?lang=en&modules=jquery%2Coojs-ui-core%2Coojs-ui-widgets%7Coojs-ui.styles.icons-editing-advanced&skin=vector&version=ve7ok:70:260) at elemData.handle (https://commons.wikimedia.org/w/load.php?lang=en&modules=jquery%2Coojs-ui-core%2Coojs-ui-widgets%7Coojs-ui.styles.icons-editing-advanced&skin=vector&versionVera(talk)19:46, 11 September 2022 (UTC)Reply
Latest comment: 3 years ago3 comments2 people in discussion
Hello, I'm from ckbwiki. It's a RTL language. I just wanted to say that the Cat-a-lot gadget covers "Add links" link for non-linked pages. I think it should be fixed to the left. Thanks! Aram (talk) 15:46, 30 July 2022 (UTC)Reply
MediaWiki “flips” the CSS rules automatically when it detects that the user interface language is different from the site language. This works well on Commons; on ckbwiki, however, MediaWiki expects the CSS rules to be aligned for right-to-left languages. This also means that left-to-right languages like English get rules that are aligned for right-to-left languages, so you can just take the CSS for English (which is flipped) and copy it to the local stylesheet. —Tacsipacsi (talk) 13:09, 31 July 2022 (UTC)Reply
Latest comment: 1 year ago3 comments2 people in discussion
With cat-a-lot, if I have an on-screen keyboard on android I can't OK my input when I hit enter. Instead the cursor switches to the "custom edit comment" field. This makes this gadget unusuable. Vera(talk)19:31, 23 December 2022 (UTC)Reply
I looked into this further. It seems that my on-screen keyboard tries to be helpful and replace the "enter" key with a "next field" key if the form has multiple input fields. I've for now added the code of cat-a-lot to a user page and made the comment field hidden. This fixes it for me for now. I found this StackOverflow comment that says the "next input field" key produces key event nr. 229. It wasn't as simple as adding that as an OR to the Enter key's 13. The StackOverflow comment also says it produces an "Unidentified" key event. Adding another event listener that has "Unidentified" as its event and key 229 didn't work for me. This is probably too obscure a bug to fix. Another fix would be to have an actual button that triggers the same event as hitting enter now does.
Hi, could you give me ELI5, step-by-step instructions on how to implement your work around for this issue? I also struggle with it, but I think it used to work properly until 1-2 months or so ago, so that's a rather new bug to me. Nakonana (talk) 15:33, 2 March 2024 (UTC)Reply
Latest comment: 1 year ago2 comments2 people in discussion
Hi,
If it is the bottom category being changed, any lines of spacing below the category will be removed which causes an issue when it comes to stub tags. The MOS requires two lines of spacing between the categories and stub tag. Example. Not sure if anything can be done about this? Thanks! Jevansen (talk) Jevansen (talk) 02:58, 6 June 2023 (UTC)Reply
i dont know. it's weird. here're the lists of cats on each file right now.
Extended content
[[:File:An der Hohen Straße westlich von Kottenbrunn 4.jpg]]
CC-BY-SA-4.0
Files with coordinates missing SDC location of creation (50° N, 10°E)
Images from Wiki Loves Earth 2023
Images from Wiki Loves Earth 2023 in Germany
Images from Wiki Loves Earth 2023, DE landscape
Images from Wiki Loves Earth missing SDC depicts
Images from Wiki Loves Earth missing SDC location of creation
Images from Wiki Loves Earth missing SDC participant in
Landschaftsschutzgebiet innerhalb des Naturparks Hassberge (ehemals Schutzzone)
Pages with maps
Photos of protected areas by Stephan van Helden
Self-published work
Uploaded via Campaign:wle-de
[[:File:Aufgang zum Streifberg bei Ostheim.jpg]]
CC-BY-SA-4.0
Files with coordinates missing SDC location of creation (50° N, 10°E)
Germany photographs taken on 2017-03-26
Images from Wiki Loves Earth 2021
Images from Wiki Loves Earth 2021 in Germany
Images from Wiki Loves Earth 2021, DE landscape
Images from Wiki Loves Earth 2021, DE-BY
Images from Wiki Loves Earth missing SDC depicts
Images from Wiki Loves Earth missing SDC location of creation
Landschaftsschutzgebiet innerhalb des Naturparks Hassberge (ehemals Schutzzone)
Pages with maps
Photos of protected areas by Stephan van Helden
Self-published work
Uploaded via Campaign:wle-de-by
@RZuo I really can't get any meaningful results from this function. When I open Category 'Ermershausen', select all files and run "Check over-categorization", it highlights three files:
Latest comment: 2 years ago1 comment1 person in discussion
A proposed logo for the cat-a-lot gadget.
This is somewhat frivolous, but, after using this script for the first time (which took ten seconds), I proceeded to design a logo for it in Inkscape (which took half an hour). What do you think (you can see my weak explanation at the file description)? Edward-Woodrow (talk) 22:29, 19 August 2023 (UTC)Reply
theoretically, to accomplish what you describe, you can do a search of deepcat:"A" deepcat:"B", then use catalot to move all search results from A to the target new cat C, then use catalot again to remove all from B.
(ec)@LaundryPizza03: When I selected all in the latter cat and clicked "Check over-categorization", the gadget found (and highlighted with a dotted border) seven overcategorized pages (but not en:Goop (company)). I see now that the two cats are connected by en:Category:Alternative medicine. Perhaps the overcategorization check only works on pages that are in two cats that are directly in a parent-child relationship, rather than grandparent-grandchild. — 🇺🇦Jeff G. ツ please ping or talk to me🇺🇦 02:11, 18 December 2023 (UTC)Reply
Latest comment: 1 year ago6 comments2 people in discussion
When searching for categories via cat-a-lot that are not already in immediate parent-child "vicinity" (like in cases of uncategorized media), one needs to "confirm" one's search result either via kicking "enter" on mobile keyboard or by tapping on the search result to "add" the found category to the cat-a-lot list of categories to choose from. However, neither of the two ways of "confirming" the search result is currently working in (my chromium-based) mobile browser, which means that I need to open every single file individually and add the categories manually. Example: there's media on Skopje in "All media needing categories as of 2019" (let's shorten that here to "All2019"). When opening cat-a-lot on "All2019", cat-a-lot only offers options like "Uncategorized files", "Hidden categories", and "Files needing categories by year". If I enter "Skopje" in the "Enter category name" search box, there's no way for me to actually select or add "Skopje" to the list of categories to choose from. That's the bug. I'm stuck with the options "Uncategorized files", "Hidden categories", and "Files needing categories by year". The only way to get to the Category:Skopje is to manually click through the whole category tree, first moving to some parent of All2019, and from there to a child category that hopefully has Skopje somewhere down the line of the category tree. This is obviously not very feasible, so every file needs to be categorized manually in the end. Nakonana (talk) 15:25, 2 March 2024 (UTC)Reply
Actually, it's sounds like the same issue as described in "Cat-a-lot not working for on-screen keyboards", except, it used to work for up until 1-2 months or so ago. Nakonana (talk) 15:29, 2 March 2024 (UTC)Reply
I just had the same problem. Somehow I miraculously could select my target destination once, but when I tried to do it again I couldn't get it. How do I do the equivalent of "pressing enter key on PC" on mobile web browser? (Using brave browser.) RZuo (talk) 16:52, 13 August 2024 (UTC)Reply
click the first clickable category underneath the search bar
now go back to search bar. When you press the -> button on your onscreen keyboard, it probably behaves like the enter key.
If it doesn't, then keep clicking any clickable item, then first clickable item, then try enter key in search bar, until you get the target category selected.--RZuo (talk) 17:32, 13 August 2024 (UTC)Reply
It seems it works more likely if you click something that needs to "load", that is, a category that has lots of subcategories. Then after "loading" you will be able to press the enter key. RZuo (talk) 17:40, 13 August 2024 (UTC)Reply
Latest comment: 1 year ago3 comments3 people in discussion
Can we fix cat-a-lot to NOT take up the bottom corner all the time ? It's annoying and gets in the way with the fullscreen view of videos (esp on mobile this is very annoying), sometimes the wide layout button of vector-2022, several of the fullscreen gallery options etc. I understand that if you use this tool every day it's handy, but everytime i try it, i have to disable it again because of this. Almost every other tools is launched from the Tools section, why can't this one be ? —TheDJ (talk • contribs) 17:42, 26 April 2024 (UTC)Reply
@TheDJ: For the why: probably because there was no other option at the time. This script was written in May 2007; according to mw:RL/MGU#MediaWiki 1.16 and before, addPortletLink() appeared in 2008.
For the why not: muscle memory. Maybe there could be a preference for that (Cat-a-lot already has preferences), defaulting to the legacy placement.
(By the way, I also use it very rarely, but it doesn’t annoy me. I use Vector 2010, though, maybe it’s more annoying on Vector 2022.) —Tacsipacsi (talk) 07:55, 27 April 2024 (UTC)Reply
Categorizing user pages using Cat-a-lot is possible – just turn on categorization of pages in "Preferences" (checkbox "Allow categorising pages (including categories) that are not files" – it's disabled on Commons by default). I don't think Commons has specific guidelines for editing of other editors' user pages. Check out enwiki's guideline, which doesn't apply to Commons (it's for a different project), but it may give you an idea of what kind of editing is acceptable.
Hello @Andrybak, I'm really interested in categorizing categories with Cat-a-lot on Commons, but I cannot find "Allow categorizing pages etc." in Preferences, in which tab is it exactly? Una tantum (talk) 08:24, 12 August 2024 (UTC)Reply
Latest comment: 1 year ago3 comments2 people in discussion
I just made a mess because the "+" button in the interface does say "Copy" in the tooltip. Like it would copy the category to the clipboard. But I don't want to create a copy of anything. Not a copy of a file. Not a copy of a category. All I want to do is to add the files I selected to the category. The only other button I could find was the "→" arrow that says "Move", but that actually deleted something completely unrelated without giving me a chance to review or even understand how it's going to decide what will be deleted and what not. For a start, can you please fix the tooltip to say "Add this category to the selected files"? Thank you. --Thiemo Kreuz (WMDE) (talk) 07:59, 27 June 2024 (UTC)Reply
@Thiemo Kreuz (WMDE): The "+" button copies the selected items into the category next to that button. The "→" arrow copies the selected items into the category next to that button and removes them from the currently viewed category (that is, moves them to the new category from the currently viewed category). — 🇺🇦Jeff G. ツ please ping or talk to me🇺🇦 15:17, 19 July 2024 (UTC)Reply
Files aren't "copied". There aren't two files after any of these actions. That terminology is incredibly confusing and doesn't align with user's expectations. What happens is that the category is added to the files, and as a consequence of that the files are also added to the category (in other words: they are now linked). I made a suggestion how this can be significantly improved without any actual change to the UI. It's just a tooltip. Expert users that know what the "+" button does can easily ignore the tooltip. Thiemo Kreuz (WMDE) (talk) 16:18, 19 July 2024 (UTC)Reply
Latest comment: 1 year ago1 comment1 person in discussion
When selecting files to be add to a category, these are highlighted in yellow.
They get grayed out once the addition takes place, except if the file is already in the category.
In this case, the file just gets white again. I think it would be better to give them a different color, e.g. a lighter gray. This should make it easier to work on longer list that are to be added to different categories. Possibly #Select all on Special:Search needs to be fixed first. Enhancing999 (talk) 10:28, 1 July 2024 (UTC)Reply
Latest comment: 1 year ago1 comment1 person in discussion
In depopulating a large category, I noticed that Cat-a-lot ignores edit rate limits, leading to annoyingly waiting one minute after every 45 pages. I think this should be changed so that it waits 60 seconds every time the rate limit is hit, and tries again once the limit is up. Proof of concept is the rate-limiting code in en:User:Qwerfjkl/scripts/massXFD. –LaundryPizza03 (dc̄) 23:21, 7 July 2024 (UTC)Reply
Latest comment: 1 year ago2 comments2 people in discussion
Maybe other users of this tool have found a way for that. Sometimes I forgot to first uncheck the watchlisting of files I move with cat-a-lot but didn't intend to watch or I only did so for the first page of files.
Latest comment: 1 year ago79 comments25 people in discussion
When I perform an action with Cat-a-lot in the Special:Search mode, the performance is very slow: copying and removing 500 files takes each more than 5 minutes, while earlier it was only some seconds. What happened? Can it be fixed? JopkeB (talk) 09:21, 19 August 2024 (UTC)Reply
The code was changed to make actions sequentially and with a small pause in between (in order to comply with the API usage requirements). Hopefully that pause can be refined at a later time, but due to problems this gadget was causing, this restriction had to be put in place for now. —TheDJ (talk • contribs) 11:13, 19 August 2024 (UTC)Reply
"It's too slow now." I'd say it was too fast before, as it wasn't complying with the API requirements for tools. Its one of those 'with great power comes great responsibility' things... —TheDJ (talk • contribs) 14:11, 19 August 2024 (UTC)Reply
Thanks TheDJ, for looking after it. So it might get a little bit faster, but it will "never" get as fast as before. That is something we have to learn to live with. JopkeB (talk) 15:19, 19 August 2024 (UTC)Reply
If I may suggest an alternative: QuickCategories also lets you edit categories in bulk, but should play more nicely with the server, and can also automatically retry edits that failed if the wiki was temporarily too busy. Maybe some Cat-a-lot power users will find it useful? (Disclaimer: I made the tool, so I’m naturally biased towards it ^^) Lucas Werkmeister (talk) 18:45, 19 August 2024 (UTC)Reply
@TheDJ, please provide the link where, "The code was changed to make actions sequentially and with a small pause in between (in order to comply with the API usage requirements)." Thank you, -- Ooligan (talk) 04:11, 20 August 2024 (UTC)Reply
What would really be "cool"- would be this now very slow tool be returned to its former fast speed that actually made this tool an award winner in 2024. -- Ooligan (talk) 04:03, 20 August 2024 (UTC)Reply
Agree – there shouldn't be a focus on finding alternatives for this extremely useful tool: instead, please actively try to have these rate-limits changed or make cat-a-lot become an exception in the API usage requirements (in general or when used by e.g. established users and/or specifically on Wikimedia Commons). And please link such efforts here such as a phab issue about it. Prototyperspective (talk) 18:16, 20 August 2024 (UTC)Reply
Hi, my name is Amir Sarabadani and I work at SRE team at the foundation. Our job is to make sure the site is available to everyone at all time. We had to introduce sleep between each edit because it was making edits at such rate that it brought down all Wikis more than ten times. This phabricator ticket has more technical details. The way it operated was a clear violation of our API policy and as such can't be changed back to the previous state. Similarly, no forking shall be done as it will endanger reliability of the site. I understand this is frustrating but the options here are between a slower gadget or sites being down. If a volunteer is willing to, they can refactor the gadget to make sure the edits are done in serial and then reduce the sleep time to 0.5s which would make it slightly faster but it won't be as fast as it used to be (and it shouldn't as I explained above why). I hope this makes it clearer why such change was done. Apologies for the inconvenience but we have no other choice. Thank you ASarabadani (WMF) (talk) 11:54, 23 August 2024 (UTC)Reply
because it was making edits at such rate that it brought down all Wikis more than ten times Wouldn't the next step after some adhoc temporary measure like limiting the tool edit rate be to change cat-a-lot so all users using it can't exceed some edit rate limit so it only becomes slow once its overall rate is too high? It also seems needed to also look into why it had the effect and which activities caused it. I think this is a rare case of a tool where it is very reasonable and somewhat needed to make it an exception allowed to make edits at rates above the API policy once the aforementioned solution is implemented albeit the sites shouldn't crash but e.g. automatically throttle all automated-tool-tagged edits like those being made with CAL. Prototyperspective (talk) 15:27, 26 August 2024 (UTC)Reply
I came here for the same issue. Made it very slow and difficult to move files into renamed categories, or other fixes I used to do after uploads (because adding categories through the Wizard is very slow, and need a lot of copy-paste for each single category of files). Please bring back to original speed. ASarabadani (WMF) Having the website down for a few seconds was not a big issue, as it happened really rarely and for very short time. --Sailko (talk) 14:06, 23 August 2024 (UTC)Reply
i'd say the question is, who was using it so massively that it brought down the site, and how.
the tool has been around for more than a decade? who was using it in the past few days with no regard for edit rate?
ofc, the tool should also be rate limited, but not as much as 1 or 0.5 sec between each edit? plenty more tools edit quite rapidly too. do they cause similar problems? RZuo (talk) 14:17, 23 August 2024 (UTC)Reply
Other tools limit the maximum number of requests they'll send at one time.
Before @ASarabadani (WMF)'s patch, Cat-A-Lot would send all of its edits simultaneously, without waiting for anything at all. Some of the time, this would result in immense load on the database server, bringing down all wikis for 10-30 minutes.
The tool could be both fast and safe if it was modified to issue requests serially, not in parallel.
But that change was not easy for us to do in unfamiliar code during an emergency situation, so we made the edit that would fix the site while unfortunately slowing down the tool.
With the current performance it is not possible to make bigger changes in the categories. And sorry, you didn't answer the question why it was OK all the years but now it that bad, that you practically shut it down.Avron (talk) 20:06, 27 August 2024 (UTC)Reply
Same for me. I used to mass-move hundreds of files under few seconds. It is taking minutes now and the tool is useless now. Quick Categories isn't a visual tool and VFC doesn't help with category tree. WMF is digging another trench between themselves and the community. --— Draceanetalkcontrib.07:18, 30 August 2024 (UTC)Reply
@ASarabadani (WMF)@CDanis (WMF): As you can see from the comments in this thread, this is a critical tool that needs to be usable for high-volume edits. It is clear that the community is unhappy about the way this has taken place. I believe it would be appreciated by many if you could answer the following:
This tool has been in use for 17 years. Are these issues new? If so, why; if not, why was nothing done before?
Why was there no notification to the Commons community that a widely-used tool was being limited? Is there any policy for your team about when to notify communities about changes like this?
What is the timeline/path forward to refactor the tool to restore its former level of functionality? Will WMF developer time be allocated to do so, or will it have to be a volunteer?
I would also ask about the guideline. I think the API guideline is for somehow external or additional tools and not for MediaWiki functionalities itself. Of course technically it is an external tool but practically it is like a core MediaWiki feature. And then a question to the rate limiting that already exists. Why does this not prevent the problems? Or are users with ratelimit exception the problem? Generally this needs a server side solution to not impact user experience. GPSLeo (talk) 05:59, 2 September 2024 (UTC)Reply
Regarding policy, the policy this gadget was violating is mw:API:Etiquette that is explicitly refereed to in our terms of use and must be respected. On why it hasn't caused issues before, it can be many reasons, more people are using the gadget, more people are editing Wikimedia Commons, edits are more expensive due to having more features, it can be that because of HTTP/2 more requests are being sent via browsers at the same time (I wrote in more details in phab:T370304#10072844). At the end day, it doesn't matter. The API policy is there to protect the infrastructure from harm. If it was violated and no issues were seen, it doesn't mean such violations are okay. With regards to responsibility, maintaining gadgets is the responsibility of volunteers. If you want engineering time to be allocated to this, I recommend using m:Community Wishlist. I say it again, it can be made much faster with proper rewrite of its internals but it can never be turned to its previous speed. Thank you ASarabadani (WMF) (talk) 16:07, 2 September 2024 (UTC)Reply
Wasn't the tool reviewed by WMF and given an award? Also, edit rates at Commons were increased specifically to make this tool possible? Wouldn't one expect WMF to fix the bug identified months ago rather than deactivating it. ∞∞ Enhancing999 (talk) 16:11, 2 September 2024 (UTC)Reply
Additionally, rules and terms of use are not an end in themselves...when a tool would greatly benefit to be exempt from these or when it would be good to change them, then I don't see why it wouldn't make sense to think about some changes that prevent issues from occurring without the speed limitation which probably needs to be done anyway sooner or later and would improve stability & performance: namely making the tool create one batch-command where the server then executes all tasks in the batch as fast as it can but not faster or slower than that (e.g. at max 5 users' queues in parallel with 0.05 sec per task at any point in time). Probably somebody else can explain it better and that wouldn't just be a very useful to get CAL up to speed again but also for various other purposes where I'm somewhat surprised that's not how such API requests are handled. Asking about this in the context of CAL me be inappropriate so one would need to look also into other advantages and needs and prior issues/discussions about something like that if that's indeed missing. Prototyperspective (talk) 16:26, 2 September 2024 (UTC)Reply
"Wasn't the tool reviewed by WMF and given an award" No it was not. Coolest tool is an event that is facilitated by the foundation, and the committee are volunteers both from within and outside of the foundation, and often winners from previous years. They do not do code review, they just evaluate the 'coolness' of a project. —TheDJ (talk • contribs) 21:29, 3 September 2024 (UTC)Reply
What trip ? The committee uses online communication, and the awards are handed out at events that are already being organized (either the hackathon or wikimania), by people already attending that event for other reasons. I'm not even sure if there is budget for this entire thing. I really don't appreciate this disingenuous take. Talk is easy, but you could use that same energy to do something useful or fun for other people. Like the Coolest Tool Award committee. —TheDJ (talk • contribs) 21:47, 3 September 2024 (UTC)Reply
You know.. it is comments like these, that make it REALLY freaking difficult for me as a volunteer, to fight for attention for Commons among the foundation. Maybe it is time this community forks off. let them solve their own problems. —TheDJ (talk • contribs) 21:50, 3 September 2024 (UTC)Reply
@ASarabadani (WMF): Please don't take this as a personal insult - this is a cultural problem with the WMF as a whole and not you/your team - but this is a perfect example of why users distrust the WMF. This is a tool that has been in use for 90% of Commons' lifespan (5 years longer than the API policy has even existed) and probably represents >10% of total edits on one of the busiest wikis. (That's likely 100M+ total edits with the tool - more total edits than all but a handful of wikis.) By any definition, that should be considered a core piece of MediaWiki functionality. Yet now it is near-useless with no guarantee it will ever be fixed.
There were multiple chances to avoid this problem. The volunteer developer (who is no longer active) should have been notified as soon as the issue was identified - which should have been 6 years ago when the code was refactored. The Commons community should have been notified when the problem was first identified to maximize the chance that another developer would step in. And the community should have been notified when the tool was limited, rather than having to ask for answers.
Given that failure by the WMF to communicate, it is insulting to the Commons community to say that the WMF can break this essential tool without any warning, yet will not but any effort into fixing it. It is equally insulting to say we should go through the Community Wishlist process, which is excruciatingly slow and has no guarantee that a request will be chosen, just to get back to the level of functionality that we had. Widely-used tools like Cat-a-lot are just as essential infrastructure to editors as the servers are. It doesn't matter to us if the servers are working perfectly if we can't properly categorize files. This problem was created by the WMF, and your team needs to be working with the Commons community to fix this gadget as quickly as possible. Pi.1415926535 (talk) 03:00, 3 September 2024 (UTC)Reply
From the comments of @ASarabadani (WMF) we learn that there was no real problem with the tool. But then someone from WMF came and and felt a personal mission to enforce a API policy immediatly. This is not what WMF should akt like, but unfortunately it does.Avron (talk) 11:29, 6 September 2024 (UTC)Reply
@Avron I'm not sure how you came to that conclusion, It's documented that the gadget took down commons multiple times until users from SRE brought the site back on-line. P858snake (talk) 11:58, 6 September 2024 (UTC)Reply
OK, sorry I overreacted. You are right, there was an incident. But the gadget was used for years without known problems. If only the gadget was the cause, the problem should have happen much earlier.Avron (talk) 12:55, 6 September 2024 (UTC)Reply
I told people it was flagrantly violating the api policy years ago. Nobody cared. Commons has nobody to blame but themselves for this situation. Bawolff (talk) 06:06, 2 October 2024 (UTC)Reply
This drastic drop of performance did not go unnoticed from day 1. The waiting time (locking the page) feels unbearable. Pleading for reconsideration/reparation ASAP since there is lots of work to do and it should not take 30 years when it could be done in 3. Peli (talk) 10:51, 17 September 2024 (UTC)Reply
@ASarabadani (WMF): «it can never be turned to its previous speed». Thanks for your candour. I never doubted the unfixable rottenness behind all most of the WMF actions in the past decade, but this kind of encasulated statements are more clear and simple than screenfuls of deep analysis. I hope to see really soon you and your ilk out of this job, and the WMF in the hands of people who really care for the curation of free knowledge, not for hype and buzz. -- Tuválkin✉✇01:22, 2 October 2024 (UTC)Reply
This is unacceptable ad hominem. And you're shooting the messenger. They're not in charge of the amount of resources allocated to the infrastructure that failed because of the previous version of Cat-a-lot. Nardog (talk) 04:46, 2 October 2024 (UTC)Reply
Been experiencing this on multiple occasions. It's not surprising that JopkeB and others are also experiencing the snail-like performance of a tool that is supposed to execute recategorizations within seconds. To illustrate, as can be seen in my contributions, I transferred 162 more or less image files of w:en:Asin Road from Judgefloro-created "Category:Anduyan-Rizal-San Pascual-Nangalisan-Asin Road (Tubao, La Union section)" (very loong category name as expected from Judgefloro's creations) to Category:Asin Road (Tubao segment). It took me around 8 minutes, between 5:57 and 6:06 pm (Philippine Standard Time/UTC+8). Before, it was possible to recategorize all in less than a minute. While the API limit concern does seem valid, I agree with users like Pi.1415926535 and Avron that the API issue should have been investigated more thoroughly and not pinpoint all blame to this useful tool that has been in use for many years – even before this API policy. Valid recategorizations, such as fixing messy categories left behind by Judgefloro or his socks (like Ramon FVelasquez and JFVelasquez Floro), are supposed to be done within seconds, not minutes. Slow recategorizations waste valuable time for many editors (including off-wiki/real world errands and works). This should be addressed. In short, very disappointing snail-like performance. JWilz12345(Talk|Contrib's.)10:21, 21 September 2024 (UTC)Reply
Agree. Now that we're more than a month in, I have to say that this issue hasn't been handled very well so far. There are probably many organizational and resource-related constraints that I'm unaware of, but still:
Changing the tool was a highly disruptive edit, so it follows that WMF should have at least notified Commons users immediately and publicly, while also putting in some effort towards finding an actual solution, knowing that they only solved one problem by causing another. Instead, this discussion had to be started after the fact for most people to have any idea what had happened, and so far we've only been referred to the wishlist.
It was a good thing that the downtime issues were fixed, of course, but the fix had consequences that WMF should take responsibility for. There is still a problem, albeit a different and smaller one, and it was caused by WMF directly. Simply handing a problem you yourself caused to the people affected by it, along with some barely useful advice that they don't even need, is a counterproductive attitude to have in any situation, but perhaps especially towards a volunteer community.
One would at least expect some act of solidarity towards the people who build and improve WMF's projects on their own time and dime. If there is indeed tension between WMF and the community, as previous posts suggest, I now understand why, and this certainly won't do anything alleviate it.
From a technical perspective, the root of the problem lies in the gadget code. It should not have been sending all edit requests simultaneously, as this was the core issue, and the subsequent responses were merely addressing the symptoms. When we consider the role of WMF site reliability engineers, which is to ensure the site remains operational, it's easier to understand why their focus is on resolving issues that directly impact site stability and then moving on to the next task. If they were responsible for fixing all external tools, they wouldn't have the time to maintain the platform itself.
This doesn't imply that they are dismissive of or unaware of Cat-a-lot's importance—it's simply that it falls outside the scope of their primary responsibilities. Additionally, software needs to be updated over time as the environment around it evolves. Even if something worked well in the past, changes in web browsers, Wikimedia APIs, the system environment, and usage patterns all necessitate updates. It's unrealistic to expect that software will continue functioning without any ongoing maintenance.
Personally, I believe that Wikimedia communities should prioritize building capacity to maintain the tools they develop. While Cat-a-lot may be somewhat unique due to its widespread use—being utilized by 5-10% of daily Commons editors—it should ideally receive some support from the WMF, though this likely falls under a different team's responsibilities rather than the SREs. -- Zache (talk) 15:01, 23 September 2024 (UTC)Reply
I have no objections to what you're saying, of course, but a rehashing of the general situation really doesn't address what I said. If anything, you're basically just describing the problem, as I see it. With some good suggestions added.
I believe everyone already understands that Wikimedia as a whole is incredibly complex and that responsibilities have to be structured in a reasonable way. But that shouldn't also mean that someone can expect not to be held accountable at all, simply because what they did was necessary, when their actions directly interfered with someone else's area of responsibility and caused problems for them. That way of thinking doesn't make any sense to me. Of course you help someone when you mess up their stuff, even if all you can do at first is make sure that they know what just happened and why.
I feel the need to stress that I did not say that the WMF should be "responsible for fixing all external tools," just that they should take some responsibility for this one problem, which they caused. In this case, the widespread use of the tool means that not only is this important in principle, but also very much so in practice.
@Zache is it possible to separate APIs used in Cat-a-lot instead? So that the concerns on breaking Wikimedia servers are alleviated if Cat-a-lot uses own APIs that are distinct to those used in other tools or functions. JWilz12345(Talk|Contrib's.)02:25, 2 October 2024 (UTC)Reply
The problem, as far as I know, was that changing categories triggers an update to the category, which in turn updates that row in the database table. The row will be locked until the update is complete. This lock prevents new writes to that exact row until the previous update is finished. If there are multiple edits coming in very quickly and there is load on the database, the writes will start to pile up, eventually causing a noticeable problem. The proposed fix for this in Phabricator was that these writes wouldn't need to be performed for every edit; instead, the system could flag the value as 'dirty' and update it when there is time. However, they were not able to make these changes on the fly, so the ad-hoc limited the cat-a-lot as quickfix, and even they are fixing the server side it doesn't change that cat-a-lot should work inside the rules. --Zache (talk) 06:15, 2 October 2024 (UTC)Reply
@Zache: I can tolerate the speed of COM:VisualFileChange though. It temporarily stops edits after the 900th edit, and need to wait for a minute or two before resuming the execution of the tool (in my case of custom replacing {{Licensed-FOP}} with {{Licensed-PD}} for files of PD-Philippine buildings). Nonetheless, the speed is acceptable for me (ensuring smooth and fast performance but not risking breaking some WMF servers). Will that speed be the same speed to be implemented in the updated/revamped Cat-a-lot? JWilz12345(Talk|Contrib's.)09:30, 12 October 2024 (UTC)Reply
VisualFileChange uses 5 parallel edits for regular users (and 10 for sysops/bots) by default. My personal guess is that 5 could also be achieved with Cat-a-lot. However, we are starting with 2 to see if there are any problems, and will gradually increase it from there. --Zache (talk) 07:46, 13 October 2024 (UTC)Reply
Unfortunately, after @SDeckelmann-WMF took over as Chief Product and Technology Officer, Commons seems to have become WMFs' uglyduck. Quite clearly, we are not a priority, and this is yet another blatant evidence of this.
"With regards to responsibility, maintaining gadgets is the responsibility of volunteers" - and the responsibility of WMF is to support volunteers. Looking at all funds that were wasted in the failed processes of branding and strategy, and bizarre initiatives like fostering diversity outside wikimedia (that Knowledge Equity stuff or whatever it is), I'm pretty sure it shouldn't be difficult to find some cents to put in fixing cat-a-lot and, for a change, funds would be applied in something they are meant to, instead of those reckless experiments. If they are not doing it, it's because we are not a priority. DarwinAhoy!01:09, 22 September 2024 (UTC)Reply
@ASarabadani (WMF): Would you like to check if my version of cat-a-lot.js (diff) would be working nicely enough in terms of parallel editing so it could be used? I changed the code so that it will limit the number of concurrent edits to 5 when maxlag is under 1.5s and if it higher it drops it to 1. Currently it checks maxlag only when user starts the batch, but it can be changed so that it would check it every 50 edits or so also. 1.5s is selected as lag seems to be changing between 0.3 - 1.1s so I just selected a value which is little-bit higher than normally. --Zache (talk) 04:59, 23 September 2024 (UTC)Reply
This solves the abort by patching the $.Ajax() function and aborting it there. This is bad practice. So, libAPI code needs to be updated so that libAPI supports the aborting the requests and use that instead. (done, but waiting that libAPI gadget will be updated)
Current version uses two parallel requests. It's idea is not to be faster but, that human can abort it if it doesn't work correctly.
There should be more testing on if it works correctly (ie. aborting, undoing, text/colors become visible in right order etc). The spinner doesn't go away after abort, but that was broken already. Spinner is fixed.
Special:Search selection should be working. (TODO: check that nothing else broke because fix)
selected number should be working after clicking "Invert". (when it broken number were inverted. (ie. 1 selected, number was 199 etc, 199 selected number was 1). --Zache (talk) 12:13, 5 October 2024 (UTC)Reply
Hi Zache, thanks for this effort. In my test it works smooth and acceptable for a few times and than randomly fails to load the requested category branch. After a page refresh (abandoning the selection of already picked pages) it starts up with requested cat in textfield. Peli (talk) 20:34, 2 October 2024 (UTC)Reply
@Peli Thanks for testing. Can you describe step-by-step tutorial how I can try to replicate that? (I am not regular user of cat-a-lot so I don't know how how it actually works or how people are using it so it) --Zache (talk) 21:16, 2 October 2024 (UTC)Reply
Yes. Have the tool enabled. Go to cat:Collections of the National Museum of Finland. Bring up the tool. Select a file to test the process by clicking emty space under it. File will be highlighted. Move this file for example a medal to one of the available cats seen at the top, by pasting the cat name in the formfield of cat-a-lot or selecting a target cat in the list of CaL. Press enter twice to really set it active ready to go, double check to see if the desired action is programmed and see if the desired target is selected. Press the arrow to move or the Plus sign to add and this does the action. Press esc to clear the results panel. Now I pick another kind of object and try to move it to a different cat like Miscellany. Do this by pasting or typing another cat name in the formfield. Soon enough the tool will throw the endless-loading-error if you try to move some files back and forth between some various or unexpected cats. Peli (talk) 22:19, 2 October 2024 (UTC)Reply
Great fix. I like that result panel seems to get ready much faster without obligatory waits when no action is needed. "The following () pages were skipped, because the old category could not be found:" - Such as removing a redundant cat from a large batch when no file uses it.Peli (talk) 01:50, 4 October 2024 (UTC)Reply
The main function of the update is to enable submitting parallel edits without overwhelming the server. Idea is to start with 2 parallel edits and then to gradually increase it. (phab:T375355)
Changelog
Update Cat-a-lot to use libAPI for editing to manage number of parallel edits. (diff)
I assume the console.log() before the abortPendingRequests() was left over accidentally?
Has the behavior implemented in updateMaxLag() / maxSimultaneousReq been discussed here, especially with WMF people? I haven’t read through the whole discussion that took place here over the past weeks, but as far as I remember, the previously communicated acceptable edit rate is “one request after the other”, i.e. fully sequential. (In fact, what Amir wrote on 23 August was serial edits plus a shorter but still nonzero sleep after each edit.)
Okay, I chatted a bit with Amir and it sounds like this is okay, but let’s hold off on this until Monday when ops availability will be better in case the site goes down again after all. Lucas Werkmeister (talk) 18:23, 9 October 2024 (UTC)Reply
Answers
it was there just to see when the abort was executed. In the version where $.ajax() was overwritten there was race condition on abort where last edited file was not reverted when user clicked undo. However, I haven't seen that on libAPI version. In any case I removed console.log() from the code as it was not useful without other information too.
I also tried sequential editing first. The problem with sequential edits was that each edit regularly took longer than 1 second, so making it sequential slowed it down even more compared to Amir's parallel but with a 1-second sleep between starting new edits. For this reason interactive use cases—i.e., when a user selects a limited number of images and then adds/removes from them—parallel editing will be required to have a usable user experience. (in this context I don't think true mass editing, thousands edits or ten thousands edits in a batch, is not interactive editing and would require some other approach if it is still a problem)
I looked it. It should be possible, but it is little bit more trickier than other pages as special:mediasearch list is dynamically generated using en:Vue.js so it require disabling Vue.js click handling when the Cat-a-lot is active. I will look this more after the current changes are successfully live first. --Zache (talk) 18:32, 10 October 2024 (UTC)Reply
It looks like the performance has been improved considerably. It is a lot faster now than one item per second. So thanks for whoever is responsible for this improvement! --JopkeB (talk) 14:26, 1 November 2024 (UTC)Reply
Bug: Cat-a-lot does not work (again) for categories and gallery pages in Special:Search mode
Latest comment: 1 year ago7 comments3 people in discussion
It is not possible again to use Cat-a-lot in the Special:Search mode for categories and gallery pages (after clicking on "Preferences", and "Allow categorising pages (including categories) that are not files"). Can this please be solved soon? JopkeB (talk) 10:33, 26 August 2024 (UTC)Reply
If I understood the bug report about the outage a while ago, it was cat-a-lot issue mentioned at #Select_all_on_Special:Search that lead to the issue when a user tried to add "photographs by .." to thousands of files, each being hammered twice. It would be good if the bug were fixed so this can get back to normal. ∞∞ Enhancing999 (talk) 10:10, 31 August 2024 (UTC)Reply
That is certainly not what I did. I just selected less than a dozen photos from perhaps 40 hits and tried to copy them to another category. One time 8 out of 10 were copied, another times none out of four. JopkeB (talk) 15:50, 31 August 2024 (UTC)Reply
I think that I was able to fix the Special:Search to Modified version of Cat-a-lot (see above), please test if it works and nothing else is broken. --Zache (talk) 11:35, 3 October 2024 (UTC)Reply
There indeed is a big improvement. Most of the times I use it all the yellow files are now copied, only now and then the very last one gives a bug, but this a big improvement to how it was two months ago (I just look which one has not been copied and change that file manually). JopkeB (talk) 14:31, 1 November 2024 (UTC)Reply
Latest comment: 1 year ago3 comments3 people in discussion
For a while now, if I select, say, 20 files and add them to a category, Cat-a-lot will tell me it is updating 40 files. Its progress counter will count past 20, all the way up to 40. If it reports that some files were skipped, they are each listed twice.
I could not duplicate this, but I tried to duplicate the "Unselecting files on SpecialSearch broken" I noticed that invert selection shows reversed numbers (1 image selected it shows 19, 19 images selected it shows 1) --Zache (talk) 11:51, 2 October 2024 (UTC)Reply
Latest comment: 5 months ago8 comments7 people in discussion
I’m considering the idea of adding support of moving very large editing batches to background jobs. For example, modifying the Cat-a-lot UI so that it suggests submitting the batch to QuickCategories and running the edit batch there. However, to implement this, I need to better understand how people are using Cat-a-lot for editing large batches.
I have a couple of questions for this:
What are you trying to achieve when editing over 200 files in a single batch? (ie. is there some specific task what you are doing)
On which page are you selecting the files? (ie. category, special:search, Special:ListFiles ...)
Are you selecting all the files from the list, or are you making custom selections?
I most often use it on two kinds of pages, categories and special:search.
on cat pages, the max you can select, i think, is 200 for each kind (subcats, files, pages). usually, no one does such things unless the cat is moved and contents are being moved from the old name to the new name. i think i mostly move < 100 things at once.
on special:search, the limit is of course how many results there are on a single page, which can go up to 5000 if you like. but i usually also move < 100 things at once.
only in the aforementioned case of moving everything from old name to new name might i select everything blindly. but, i dont normally do that but leave it to the bot in charge of clearing redirected cats. for other cases, i always inspect the files to see if i can better diffuse them into more suitable subcats. RoyZuo (talk) 16:10, 13 October 2024 (UTC)Reply
The tasks where I use cat-a-lot the most:
- Move files from "review" categories to correct categories, or remove the review category, for files uploaded by my bot, on a daily basis
- Split large categories (> 1k pictures) into more precise categories (by topic, by year, etc.). This task has become a nightmare
- Create a new category for a new topic, and look for existing pictures on Commons, add all found pictures into the new category from the search result page vip (talk) 19:40, 14 October 2024 (UTC)Reply
I usually use Cat-a-lot in recategorizations while in category pages, including:
recategorizations of multiple files by Judgefloro (talk·contribs), like dozens of images of a small segment of a Philippine road that is best recategorized to the parent category of the said Philippine road segment (as many of subcategories of road segments he created have been unnecessary forks encouraging redundancy);
after moving a category name to its more desired category name (usually those created by Judgefloro), and this involves massive transfers of his files to the desired category name, which may take several minutes due to Judgefloro's numerous files; and
I also use Cat-a-lot in recategorizing non-files like subcategories and deletion request pages under multiple FoP cases/pending categories (to FoP cases/deleted categories). JWilz12345(Talk|Contrib's.)07:21, 15 October 2024 (UTC)Reply
1. I use Cat-a-lot in quickly recategorizing images and the categories themselves (thanks to JWilz12345, who taught me that categories can be recategorized in batch using Cat-a-lot). Currently, I am focusing on improving categories of Roman Catholic churches images in the Philippines.
2. I use Cat-a-lot in Category pages only (at least for now).
Just wanted to share a quick update following this discussion. A new feature is being developed for Cat-a-lot that helps with large-scale batch editing by integrating QuickCategories via PetScan and PagePile. When enabled, Cat-a-lot can now submit large edits to QuickCategories for background processing, making it more stable and efficient for large tasks
@Don-vip has already tried it and mentioned that it’s been very useful in his workflow. If you often work with large batches, you might find it helpful too!
Example. Presented with 117k uncategorized files with mixed object types, I would like to move a batch of over 5k photo files by the museum itself to a prepared subcategory. I used to do this in batches of 500-1000 and the tool was fast enough to wait for it and repeat the action 5 to 10 times. Being done within an hour. In this use case I would work from special search by a quoted chain of keywords. Nowadays the tool is too slow to sit and wait for it to finish the job, so normally I will start a larger job in one tab and while it is running do small tasks in other tabs. I like the idea of giving this kind of large tasks too a bot request, beacuse there is no real hurry and in fact I will avoid these kinds of large tasks nowadays and focus more on small tasks of reviewing and moving 30-300 files to categories of artworks by creator. Most of the times from special search, sometimes by inspecting and reorganising category content. I like that the experimental version of the tool is fast enough for small tasks (~20-40 files) to finish soon enough to keep going on the same project. It would come in handy coming from special search if the tool could be able to remove the old category in the same edit, but it would require a second formfield i guess. The way it is today we have to run the same batch twice, once to add a new and once to remove the old cat. I think a button for "reselect last batch" would come in handy, especially if they are hand picked files scattered in a long list. Peli (talk) 10:02, 25 October 2024 (UTC)Reply
There is a potential race condition where selecting stops working in newly loaded results when the user scrolls down and Special:MediaSearch page dynamically loads additional results, or when the user performs a search with a different keyword, returning new results. I would be interested to know if this issue still occurs.
Thanks, it's promising to see the cat-a-lot-box on that page.
Somehow I can't seem to select a file on [3]. to add categories: it keeps opening the preview on the right side. For me it would be sufficient to use a different tab or windows to view the file. ∞∞ Enhancing999 (talk) 21:20, 15 October 2024 (UTC)Reply
If it opens the preview then code was not able to capture the events from Vue.js. Probably because it tries to do it before Vue is ready. Just to confirm, if I understood correctly it didn't work on any other search either and this was systematic error? Second confirmation, which browser you are using? --Zache (talk) 04:42, 16 October 2024 (UTC)Reply
It already fails on the first tab. I still keep getting the preview. I guess I should look into updating the browser unless there is a hack that allows me to deactivate the preview completely. ∞∞ Enhancing999 (talk) 21:27, 16 October 2024 (UTC)Reply
Example video of Cat-a-lot mediasearch. I added a video about how it is expected to work when it works:
When Cat-a-lot is active it captures click events from Vue.js and selects files. It should not show preview in this mode.
If cat-a-lot is disabled (the 'x' -button in bottom bar) Cat-a-lot will disable its own handlers and mediasearch should work normally. There should be mediasearch previews.
If cat-a-lot is activated again from bottom bar (the 'cat-a-lot' link text) then it will again capture the click events. It should not show preview in this mode. Existing preview window needs to be closed manually.
Most likely not as if with three tester, it is broken with one (you) it is likely broken with a lot of more users too. I could try to replicate the problem if you tell what browser you are using? --Zache (talk) 14:49, 18 October 2024 (UTC)Reply
Maybe we can get more testers in the forum. My outdated browser shouldn't be an obstacle.
The change is that now Cat-a-lot should be working on Special:MediaSearch too. In phab:T386778 is described how it should be working. Note, even though we have tested the gadged it is tested mainly as uses script. There is possibility that there is bugs which will show up when it is running as gadged. (ie. race condition bugs) If this happens the effect is that click events just doesn't work any more in MediaSearch page when Cat-a-lot is enabled. --Zache (talk) 12:52, 4 March 2025 (UTC)Reply
Latest comment: 1 year ago5 comments4 people in discussion
This tool is also used in different Wikipedias, mine is Romanian Wikipedia. Is it possible to add a tag for Recent changes to also filter them there like it is in Commons? Thank you. Gdaniel111 (talk) 11:53, 29 October 2024 (UTC)Reply
Latest comment: 5 months ago9 comments3 people in discussion
If one of the selected images includes a protected page that the user can't edit, the API returns an error and the in-progress dialog stays open forever.
I noticed this on File:P Israel Flag2.png where the error returned by the API is "cascadeprotected".
- Nikki (talk) 13:55, 5 December 2024 (UTC)Reply
{{Edit request}}
I would have following changes to Mediawiki:Gadget-Cat-a-lot.js and Mediawiki:Gadget-Cat-a-lot.css. The changes will add error handler to edits done via libAPI so it will show a visible error dialog where user either ignore error or stop editing.
@Lucas Werkmeister, I think that this would be ready for merging (diff: js, css). It is usefull for debugging as it will give visible error messages and it will solve cases where currently cat-a-lot just get stuck. --Zache (talk) 20:37, 26 March 2025 (UTC)Reply
Just a status update. There is a feature in Gadget-libAPI.js which is related to how edits could be paused or could not be paused, and we are discussing how it should be communicated to the user. It will affect the dialog output here, so there is no need to merge this just yet.. --18:38, 27 March 2025 (UTC) Zache (talk) 18:38, 27 March 2025 (UTC)Reply
The bug has being updated to allow user ignore and continue edit request, While the ability to pause gadget-libAPI.js edits is being worked on separately.The error dialog functionality now has only ignore and continue button.
Details:
Users can now acknowledge errors by clicking the Ignore and Continue button.
The Stop Editing button and its associated styles have been removed.
Next steps include working on Gadget-libAPI.js as outlined in T390242.
Observations: Based on a code review, the current official behavior seems to result in the UI getting stuck while editing continues in the background. Adding an error message does not alter this behavior. However, this observation is based solely on reading the code and has not yet been confirmed through testing.
Or more specifically, mediawiki:Gadget-libAPI.js behavior has been that it doesn't support stopping. For example, jQuery UI dialogs (or any other modern JavaScript UI elements) aren't blocking, so the edits are executed in the background when dialog is open. Also, there was no aborting function before it was added in 2024. From libAPI's point of view, before that change, the only way to stop queued edits had been to use alert() and confirm() functions in callbacks, which will stop the main thread until the dialog has been dismissed, and then reload the page when dialog is open or something similar. -- Zache (talk) 17:58, 29 March 2025 (UTC)Reply
Latest comment: 1 month ago11 comments4 people in discussion
Gonna make a request I'm surprised hasn't been actioned yet. Currently, Cat-a-lot only allows one category to be changed at once, and editors wanting to replace multiple categories with a subcategory would have to either make one batch each per category each if relying on Cat-a-lot or do the whole thing by hand (as in open multiple tabs at once). VisualFileChange technically allows multiple categories to be replaced at once, but it requires complex RegExp knowledge and it's not frequently used outside of Commons. Since Cat-a-lot is used not just for commons but also enwiki (and I'm not into RegExp), it would be very convenient (not to mention take far less edits) to add this capability to Cat-a-lot. ミラP@Miraclepine22:59, 7 December 2024 (UTC)Reply
@Jeff G.: Just to be clear: if we just use it on that one category page, the change will still make use of Cat-a-lot's "select all" and "search" features. Also, this will apply to the use of these features of Cat-a-lot within Special:Search, thus making incategory searches a more effective way for categorization. ミラP@Miraclepine16:11, 8 December 2024 (UTC)Reply
I propose the following changes to MediaWiki:Gadget-Cat-a-lot.js to prevent self-categorization (adding a category to itself) while maintaining existing functionality:
Enable from preferences: "Allow categorising pages (including categories) that are not files"
Select following categories: Cat-a-lot screenshots, Cat-a-lot test images, Protected Cat-a-lot test images
Attempt to copy/move to any of the selected category
Self-categorization attempts are detected and skipped
User receives clear confirmation dialog
Valid operations proceed normally
Progress tracking remains accurate
The changes follow the existing code style and have been tested across multiple scenarios. The implementation preserves all current functionality while adding the new validation layer.
Because it is the best I could come up with at the time I finally was successful in transcoding and uploading the video files. Both took more time than planned and I wanted to get these online while the event was still running. The name contains the four relevant proper names "CTeen" - the name of the organization organizing the congress, "Chabad Berlin" - the name of the local representative of the organization, "Brandenburger Tor" - the location this part of the congress took place, "Europäischer Jugendkongress" - the name of the congress in german, as that year's congress took place in Berlin and the name was localized for the location.
I honor that you respect the name I gave the category, other people here do forcibly rename categories that have been in use for many years without even leaving a redirect even though a category name may be used in a link at some external wiki because of instant commons. I also appreciate the Ukrainian flags in your signature. Ukraine is a traditional home region of jiddisch jews, many of which moved to Germany because of their german descent before the russian war and even more since and because of the war. C.Suthorn (@Life_is@no-pony.farm - p7.ee/p) (talk) 15:34, 1 January 2025 (UTC)Reply
Is the very long category names a problem if the minimize/maximize Cat-a-lot window bug is fixed? Ie. if user can just close the cat-a-lot window for selecting files. Second question is that if the long category names are problem, how it should be fixed? --Zache (talk) 12:29, 5 March 2025 (UTC)Reply
technically it's a rather minor problem, because it could be mitigated by simply manually changing the height of the box. still, it's a few more clicks.
it'd be nice if it can intelligently restrict itself to take up no more than 50% of visible area. that means if the box width is < 50% screen width, box height can be maximal. but once box width is too long, box height should be automatically restricted to ensure there's space to see the page.
another option would be restricting max box width? by making all cat titles auto wrap, or cutting off the long titles with ...?
actually, box height should always be restricted to no more than roughly two thirds of screen height.
see Category:Arabian Nights books by title. for me the box covers up the entire right hand side, which makes it impossible to see thumbnails or subcats in this part of the page. i would have to minimise the box or adjust its height.
I saw bug in Category:Arabian Nights books by title where the Cat-a-lot window category content wasn't in scrollable box but link list overflowed below the box. When I now tried to replicate it I noticed that I could not so my question is that is this common bug and do anybody knows how to replicate it? --Zache (talk) 12:51, 6 March 2025 (UTC)Reply
Not done – I don’t think this works very well. I tried it out in my common.css and the bottom part of Cat-a-lot became inaccessible on the categories mentioned above – it looks like Cat-a-lot has some custom code to calculate its size, and when this is modified by CSS, a part of the interface ends up off-screen as a result. --Lucas Werkmeister (talk) 19:32, 19 March 2025 (UTC)Reply
Thank you for the feedback. I made some changes to the CSS code that solves both the issue of the height overflow and the inaccessibility of the bottom part of the gadget. Here is my current implementation for your review:
Latest comment: 11 months ago2 comments2 people in discussion
Is this feasible, instead of changing categories it adds structured data based on the category name.
So take Category:Eyre Highway you select and then run it to add depicts Eyre Highway as structured data
Ideally when the category already has a wikidata item associated with it through the wikidatainfobox the tool just picks up that Q-id. As files arent always in the right category, using cat-a-lot process to deselect files so they dont get the depicts tag would be good. The end benefit is we can do structured data quickly and help to make it more useful with other queries. Gnangarra10:48, 17 January 2025 (UTC)Reply
I submitted Cat-a-lot as a project proposal to mw:Google Summer of Code/2025. The background for this is that I would like to collaborate with Wiki Mentor Africa, and GSoC seemed like a good way to do so. The GSoC proposal requires at least a second mentor to be valid proposal. While I could find coders for this role, the second mentor could also be someone from the Wikimedia Commons community (@Prototyperspective: would you be interested?). Another requirement is pre-selection microtasks. If you have good ideas for potential tasks, please feel free to suggest them.--Zache (talk) 14:41, 18 February 2025 (UTC)Reply
Thank you, @Zache: ! I gathered some repeating ideas from the discussion above + Gadget Help talk. I'd rather know your opinion before inserting them as a tasks to Phab.
Cat-a-lot frame sometimes shrinks/extends in a strange way; buttons preferences / help (x) (_) are displayed outside of the box (even of the browser window / screen).
Execute whole task at once (in the case e.g. of moving to an intersection category, which are two steps → merge these steps into one edit). It could help diminish RC clutter and lower API demand.
I'm adding my idea for ability of running in the background – in the current state, the browser is „blocked“ by Cat-a-lot running and it can take some time. If it ran in background, users could meanwhile prepare another batch.
Check over-categorization should be faster IMO and it should pre-select files, not just mark them.
Thanks, ç and files with = in the filename seems to be working. I made tickets for the Preferences appear outside the yellow box after performing a move and for moving categories doesn't work. (phab:T387968, T387979). The combining edits is somewhat more complex and would require more complex changes to logic. --Zache (talk) 12:33, 5 March 2025 (UTC)Reply
Thanks for taking the initiative. I don't think I will be able to help and luckily now cat-a-lot is working again fairly well but fixing the biggest remaining issues would probably be very constructive given how useful and much-used this tool is. I don't know what you mean with pre-selection microtasks, maybe this page on categorization requests is relevant to it. In any case, it would be good to migrate all the issues reported on the talk page and the bugs subpage into a proper issue tracker – in this case phabricator – if in doubt, the issue can then be closed there if it is actually already solved or invalid/undesired/etc. Btw, there's lots category-related features that would be very useful like this and maybe something could be built based on or extending CAL enabling these. Prototyperspective (talk) 20:31, 21 February 2025 (UTC)Reply
Thanks for the idea, I will add it to the Outreachy pre-tasks list. 13:36, 6 March 2025 (UTC) — Preceding unsigned comment added by Zache (talk • contribs)
Hey, I was trying to categorize images from galleries like this. However, the tool keeps loading and doesn't categorize the selected files. Is there a problem with the gallery page itself or is there any way to fix it? thanks — Kaim Amin (talk) 19:56, 17 March 2025 (UTC)Reply
It worked when i tested, so i need some followup questions for debugging:
Would it be possible to you to create test account for testing if it would work using default settings to rule out that error is because conflicting gadgets?
If that doesn't solve it then
Are you using old or new vector as skin? (or if the skin is something else then tell that also)
Is there any errors in javascript console?
What browser you are using?
If the first step solve it (ie. testing with accounts using default settingss) and it is potentially because conflicting gadgets I need to think little bit what i want to ask for debugging the problem.
@Zache, I tried with a different account with the default settings which also didn't work.
I initially used the old vector but the new one doesn't work too
I am not sure where to look for that. The tool itself doesn't show any error.
I was using Firefox desktop. Then tried on my mobile with Chrome, but still no luck.
I asked a friend, he is also facing the same issue. I can select the files fine but it keeps on buffering. Note that, the problem is only with my galleries in particular, worked fine here. -- Kaim Amin (talk) 18:50, 18 March 2025 (UTC)Reply
@Kaim Amin and Zache: I tried to categorize them into Category:Jefftemp as a test using the latest Chrome on the latest Windows 10 on my laptop over a very limited Wifi hotspot connection at 570 Kbps per fast.com (speedtest.net shows 0.56 Mbps down & up with ping times of 22 ms unladen, 31 while downloading, and 35 while uploading). The test is stuck categorizing the first of 163 pages ("Editing page 1 of 163" and a spinner). I am writing this to you over the same connection. — 🇺🇦Jeff G. ツ please ping or talk to me🇺🇦 19:36, 18 March 2025 (UTC)Reply
@Jeff G. Thanks, I was able to reproduce it. Technically it is because it will send lot of API read queries in parallel which then will fail. --Zache (talk) 20:19, 18 March 2025 (UTC)Reply
It fails still. I think that there were slight change though, before the dialog was empty with cancel button and now it had text "Editing page 1 of 1" and it is stuck. --Zache (talk) 10:42, 19 March 2025 (UTC)Reply
Okay, I think it must be a different issue – it’s trying to access the revisions of the page Pikku-Musta+(page+does+not+exist). I guess it gets confused by the redlink in the gallery text… Lucas Werkmeister (talk) 12:29, 19 March 2025 (UTC)Reply
Edit request: Add export functionality to Cat-a-lot gadget
Hello,
I am proposing an update to the Cat-a-lot gadget to include an export functionality as described in the related Phabricator task: phab:T388123: Add export selected files feature to Cat-a-lot
This new feature allows users to export selected files or pages in various formats, including:
Plaintext, URLs, Wikitext list, Page IDs, Wikitext gallery, Media items list
Changes and Testing
I have implemented and tested this feature, and it’s working as expected. Here are the relevant links for review:
I would appreciate it if the community could review the changes. Once approved, I request that the live version of Cat-a-lot be updated with this new functionality.
Thank you!
–- JoyArukuJoyAruku (talk) 09:40, 25 March 2025 (UTC)Reply
I have updated the export selected files feature in User:JoyAruku/common.js. The changes ensure the popup displays properly with dedicated buttons for each export format, and all exported items now follow the required naming conventions (underscores for plaintext, complete URLs, proper wikitext formatting, and correct gallery syntax). I've restructured the code to be more maintainable while preserving all functionality. JoyAruku (talk) 13:23, 27 March 2025 (UTC)Reply
Hello, I am proposing an update to the Cat-a-lot gadget to fix printing issues as described in the related Phabricator task:
T389718 Ticket link: https://phabricator.wikimedia.org/T389718
This feature helps when user tries to print any content or category page in Commons where this gadget may be used, the "Cat-a-lot" box will not appears anymore on any printed page.
I tried different approaches to fix the issue where the Cat-a-lot box appears while printing:
JavaScript Events: Tried using onbeforeprint and onafterprint, but it was unreliable, especially in Firefox.
Direct CSS Selector: Targeting #cat-a-lot directly felt too rigid and hard to maintain.
Without !important: Inline styles were overriding the CSS, so the box was still visible.
In the end, adding the noprint class and targeting it via a media query in @media print felt like the best decision. It’s easy to extend if we need to hide other UI elements in the future (like if we add another popup, etc.). This approach is more flexible and works consistently.
I would appreciate it if you could review the changes. Once approved, I request that the live version of Cat-a-lot be updated with this new functionality. Thank you! Shellygarg10 (talk) 14:05, 25 March 2025 (UTC)Reply
Afaik, the change to mediawiki:Gadget-Cat-a-lot.js is good. However, it is little bit mystery why CSS is needed as adding class noprint should be enough. In ticket there were multiple persons who added corner case handling to CSS rule in different ways so maybe there unreliability in global noprint CSS rule. --Zache (talk) 04:48, 27 March 2025 (UTC)Reply
Adding noprint via JavaScript works perfectly when Cat-a-lot is in its original position at the right-end corner.
However, when I move Cat-a-lot around the page and then select the search option (or even without selecting it occasionally), it still ends up being printed. That’s why I added the additional CSS in this diff.
The CSS ensures that noprint works consistently, even after the gadget is moved or dynamically adjusted. Without it, the print behavior becomes inconsistent.
To make sure that we do not override the noprint class I have updated the css hence the revised version is :
I have updated the export selected files feature in User:JoyAruku/common.js. The changes ensure the popup displays properly with dedicated buttons for each export format, and all exported items now follow the required naming conventions (underscores for plaintext, complete URLs, proper wikitext formatting, and correct gallery syntax). I've restructured the code to be more maintainable while preserving all functionality. JoyAruku (talk) 13:20, 27 March 2025 (UTC)Reply
Latest comment: 8 months ago1 comment1 person in discussion
Hi, would somebody write a short summary on how sortkeys should be copied (or not copied) when pages are moved or copied between categories? --Zache (talk) 20:02, 30 March 2025 (UTC)Reply
Added explicit error handling in Gadget-IibAPI.js to detect ratelimited API responses. It retries failed edits after the specified cooldown period (e.g., 60 seconds).
Displays a modal dialog notifying users when rate limits are hit. Pauses edits automatically during cooldowns to prevent data loss.
Uses exponential backoff for retries to avoid overwhelming the server. Tracks pending actions to resume edits post-cooldown. Added noprint CSS classes to hide Cat-a-lot UI elements during printing.
Latest comment: 7 months ago1 comment1 person in discussion
Hello everyone,
I'm Adiba Anjum, the Outreachy intern selected to work on the Cat-a-lot gadget during the May-August 2025 round. My mentor for this project is Zache.
Over the next few months, I’ll be focusing on improving Cat-a-lot by fixing bugs, enhancing its features, and incorporating user feedback. If you’ve used Cat-a-lot and have ideas, feature requests, or bug reports, I’d love to hear them! In particular, I’d appreciate insights from experienced users like Prototyperspective, but all feedback is welcome.
Your input will help guide the work I do during this internship. Feel free to leave your thoughts here or on the village pump discussion. Looking forward to learning from the community and making the tool more useful for everyone!
Hi everyone! Here's a consolidated version of Cat-a-lot that includes all bugfixes contributed during contribution period of Outreachy Round 30 for testing and review. These changes cover things like:
Data namespace support
Fixed gallery selection bugs
Error handling for edits using Gadget-libAPI.js
Internationalization (e.g. translatable label)
Self-categorization prevention
You can also find full list of fixes and breakdown of each task’s description, testing procedure, and discussion on the related Phabricator task: T395770
@Don-vip and Pelikana: Question: You were testing versions that contained the phab:T395770 fixes. The Quickcategories version phab:T397849 also includes these fixes. I'd like to ask whether you've encountered any bugs, problems, or regressions during your testing? I would like to know if there were something which would require fixing before merging phab:T395770 fixes. --Zache (talk) 10:49, 17 July 2025 (UTC)Reply
I had a weird problem yesterday where the processing of ~170 files from a search result page hung after only 5/10 files processed so I had to relaunch the task several times to go there. But it was only one time, I use this version all day long from several weeks without any problem so it was maybe an infrastructure or network issue. Otherwise no problem :) vip (talk) 11:07, 17 July 2025 (UTC)Reply
@Don-vip: If it happens again it would be useful to check if there is errors in javascript console. It would be interesting to know why it didn't give any visible error messages. --Zache (talk) 11:23, 17 July 2025 (UTC)Reply
Have tested the new version in several ways. I have a request for an improvement. Problem : Despite remembering last form field entry across sessions, when coming from a Special Search it always forgets the task it was on a second ago. We have to press the button 'search' again (and again and again) to make it offer the correct parts of the cat list we was working with. Usecase is categorizing files by century, searching for files by year one year after another. Why can it remember last formfield entry across sessions, but not offer the appropiate part of the cat list upon turning a results page to the next page of the same job? This is related to the panel constantly minimizing to the right bottom corner and resetting to category trees utmost top after each 'new' search, after each page turn. IMHO It should neither minimize nor assume a completely new categorizing task within this same session. Just assune we was still on the same job and present same list as last used list. It should be smart enough to 'do nothing'. The creeping into the corner is especially annoying because the panel keeps resizing smaller and smaller untill finally after a few times the desired cat we want to add is hidden and can only be reached by either manually resizing or using the suddenly appaering scrollbar of the panel. The work around has been: Always press 'search' button first, before pressing 'select all', This way the used part of the category list becomes available and in focus again, else we end up endlessly struggling with an auto-resizing floater ... Comments on performance: It used like 8 hours to remove one category from c. 2000 files. (this task was done in the background, in 4 jobs of 500) at first it was not clear to me that we could close the popup windows. The duration was disappointing. Other comment: the new version did not allow for recategorizing the same file to the same cat with a new sort key after the pipe, the old version does that well. The extremely slow speed and this last mentioned bug made me switch back to the old version, because I got used to using it for smaller tasks only. (I than missed the search button in the old version) Ofcourse it is very usefull for a really large task, but I would take an extended vacation while it works on that, and not think of it as part of my usual workflow. I like that the formfield remembers some entries to undo and redo while staying on the same page, and it would be neat if it also remembered these two main alternate cats (the one to add and the one to remove) when flipping to the next page of a just slightly altered special search. Also a button for "reselect last batch" would come in handy in cases where that list was manually picked from files scattered through a long list. Today we can only unselect the whole list of files that are done to manually reselect them again one by one to remove the unneeded cat. Peli (talk) 12:19, 17 July 2025 (UTC)Reply
If I understand correctly, the performance comment is related to Quickcategories performance on editing and not Cat-a-lot itself? The idea of Quickcategories is that it would follow the editing speed that the server says is suitable. Cat-a-lot is a little bit faster as it edits at a fixed speed as long as the server load is not very high. Our idea was that if editing of large batches could be offloaded to Quickcategories as they are most problematic ones, then the editing speed of small batches could be increased. In any case, there are no good solutions for category editing speed before the server-side bottleneck is fixed.
Question:Was this Cat-a-lot or Quickstatements integration : the new version did not allow for recategorizing the same file to the same cat with a new sort key after the pipe, the old version does that well.
Just to confirm: About other usability issues, was there something that is working better in the old version than the new one? (I think that there are user interface changes that are done differently which could impact to issues reported, but I have difficulty separating them from issues that were not working well in either version.)
Ok I see and will have patience when a large task is requested
The test version of CaL refuses to move for example file Aap from cat:Monkey Bands to cat:Monkey Bands|~. The move can be prepared but the button 'move' does nothing. In the old version it would.
the old version would completely prohibit turning the page when files are selected, the test version gives no warning and turns the page. But nowadays we can go back and the earlier selection is still valid. So this is fine with me either way.Peli (talk) 14:37, 17 July 2025 (UTC)Reply
@Pelikana, Thank you for your answers. I have yet another follow-up question. Could you write a step-by-step guide on how to reproduce these?
This is related to the panel constantly minimizing to the right bottom corner and resetting to category trees utmost top after each 'new' search, after each page turn.
is especially annoying because the panel keeps resizing smaller and smaller untill finally after a few times the desired cat we want to add is hidden and can only be reached by either manually resizing or using the suddenly appaering scrollbar of the panel.
For #1, I think that I know what happens at the code level when Cat-a-lot minimizes in page turns and I have one way to replicate it, but I would like to understand what you are doing to confirm it. #2, however, sounds like a new bug and something that the UI should not work like this. --Zache (talk) 02:49, 18 July 2025 (UTC)Reply
I tried but could not replicate the unwanted resizing to tray at will, it actiúally stays open (pops up again) with the formfield prefilled and the default categorylist that I never ever use. Closest approximation to demonstrate the panel resizing to almost zero is making it search for an empty quote and seeing how it minimizes. Next add the quote to search for and we see a scrollbar appearing. Sometimes yes, sometimes no. I think if it would remember last used searchkey plus the related part of the categories list this issue can be considered to be solved, because pressing search (with an existing query) reliably straightens out the panel. But there is a major (but still insignificant) bug not yet mentioned in the results panel after the actions are done. This is that its font is very oversized and the panel is unmovable. To replicate this: Go to a category page of 200 items, remove a non-existent category and watch the results panel. It will cover and overflow the whole browser window with useless huge text in a floater that can't be read or moved or interacted with. Even the header can't be read. Just pressing 'esc' makes it disappear. Example: Go to Cat:Unidentified locations in Chicago - select 200 items of first page - make it remove Cat:Unidentified locations in Madrid - Watch the results page. We can only press back to Cat:Unidentified locations in Chicago at the bottom, but sometimes even that button is hidden. Peli (talk) 09:41, 18 July 2025 (UTC)Reply
Yeah, the filelist is indeed rather long and font could be smaller (ie. normal sized) and long list of files could be positioned inside scrollable textbox. -- Zache (talk) 10:39, 18 July 2025 (UTC)Reply
Ok nice that you noticed it too. I just wanted to add that my general pc settings use extra large fonts on interactive do-you-agree panels. Which might have exaggerated the giantism effect in these results panels.
Another difference between regualar and testversion: testversion moves CaL panel if clicked and held and moved from the center, the testversion resizes at click hold and move from the center, I'm ok with that either way. The resizing from center feels more flexible but makes one search for a real move handler, which does not really exist because it always docks at the right edge of the browser window. No issues here, just a side note. Actually the easy resizing of testversion seems an improvement, since horizontal resizing was lacking in the old version. In general I limit the allowed cat list to 10 at max because the old and repaired bug made it hide to much of my screen including the topbars, and anyway I never need the default list, it just confuses with TMI. Peli (talk) 11:21, 18 July 2025 (UTC)Reply
Hi Zache, I'm not sure if I always use the latest dev version. Is it still User:Zache/Gadget-Cat-a-lot-20250602.js? Some improvements seemed reverted. Today, in the old version I sorted a cat of an album by page number and it was easy to 'move' them to their own parent cat with a sort key after the pipe. The dev version would state a warning quote like "old cat not found", and silently refuse to perform the desired action when the arrow is clicked. But strangely adding another non existing cat without pipe will be performed, this time with a the usual popup warning dialog (cat does not exist). So I think the scripts misunderstands the pipe that is in the search box. The current dev version does not connect to Quickcategories if it has over 200 files to do. Peli (talk) 11:16, 23 July 2025 (UTC)Reply
I would propose to use preferences and add the option there "pin location and size", and option to save it to user preferences. - The history of my research includes finding out that a perceived bug is a documented feature: "resizing panel from top edge undocks the panel to a floating box with different handler rules" this state change has been confusing and hard to pinpoint. Because at page turn or minimizing the panel and reopen it resets to docked state again. If the top edge is used to make it vertically too small, a scrollbar appears... which again changes the place of the buttons.
For remembering a personal temporary "project category" : maybe this could be saved in user preferences too. Like for sorting items by century we could be wanting to activate this same cat 100 times, coming from special searches by year. So it would be nice to be able to 'pin' a certain category in focus and ready to go. This would also eliminate hitting the servers again and again with manual searches for the proper category group. Thanks. Peli (talk) 11:40, 25 July 2025 (UTC)Reply
@Pelikana, @Don-vip I updated the testing version (User:Zache/Gadget-Cat-a-lot-20250602.js (diff). It now has an option (in the cat-a-lot dialog) to remember the position and size of the Cat-a-lot window over page loads. If user unchecks the "remember position" checkbox then it will use automatic resizing. The position is stored in sessionStorage so it is persistent across different tabs and sessions in same browser.
Another change related to this is that now it uses "drag from top and left edge for resizing". It doesn't support "undocking" as it is currently locked to right-bottom corner.
Third change is that the sortkey functionality in wikitext is restored to be similar to what it was before and we added sortkey support to data namespace files.
Hi Zache, thanks for the updates. The resizing and sticking to the task works smoother. The results panel still seems to need an update. Issue: The results list can be huge for example when on 500 files from a special search an action is performed but real no action was needed. The header at the top left is pushed upward out of screen, the list is too long too overlook, the interaction button is out of page screen at the bottom richt. So: since the only option here is pressing escape, the whole list seems useles. I suggest a shorter resume without the list, like: "499 files skipped" - "1 file done" so we can visually inspect which files hav been done by scrolling the listpage to find the highlighted files, before or right after escaping/deselecting the task. Peli (talk) 12:26, 13 August 2025 (UTC)Reply
Ok, vertically restricted size is nice. My use case is very long filenames. In this case the panel is still too wide; the header overflows to the left outside screen witdh and the button to the bottom right out of reach. I tried some experiments width scrolling mouse to reduce or enlarge fontsizes of web page. The panel seems docked a bit too far to the left. I'm not sure how to trunkate the extremely long filenames keep them within the results box, probably by dynamic linebreaks, I mean 'Automatic return', adopting a max screen width %. The results box is docked centered and scales from the middle. A partial work around would be having the button at least to the left, inline with the header. Use case list select all and remove from "19th-century engravings in the Rijksmuseum Amsterdam", this will horizontally overflow available sreenwidth. Peli (talk) 13:50, 13 August 2025 (UTC)Reply
I saw the added checkbox: Remember position. Here is a slight confusion waht does it do: Is it actually referring to the panel size and position or to the position in the category tree for the offerd trunk to work with, so maybe the button name can be Remember size (of interface)? Peli (talk) 15:40, 13 August 2025 (UTC)Reply
note to self: when fulfilling the edit request, make sure to still load CSS and libAPI from the MediaWiki namespace and not from Zache’s user page :)
The comment in getValidatedTitle() is incorrect: title_obj.exists() doesn’t make an API call (it can’t, as it’s not an async method), it just returns null to signify “unknown” (which will cause the method to return null as the validated title). I’m not sure if it’s necessary to update the method to actually do the check (and be async), or if it’s enough to just update the comment – the method is apparently used in a “try to get the filename” context.
The code in createListContainer() looks like it won’t work well in dark mode, as it sets background-color: #f9f9f9; (almost pure white) but doesn’t set the color (which will then also be white), resulting in unreadable text. If the container in question isn’t too big (I don’t know), it might be enough to also set the foreground color – then it’ll be the “wrong” color in dark mode (dark-on-white instead of vice versa), but at least still readable.
js diff -- The idea for the code is that inside the gallery tag, users can define the title attribute value, so it needs to be somehow checked if it is a page title and fall back to parsing the filename from the URI if it is not. In any case, I refactored the code so now it uses the information about whether the title is from a gallery tag.
createListContainer changes
js diff, css diff. -- The jquery dialog's ui-widget-content CSS rule set the text color to black. Result from this was that text in createListContainer() was visible but some other text was not in the dark mode. In anycase these are now fixed.
Hi, what happened to the button "undo last actions". It came in handy when we had misclicked or mistargetted, especially with scattered files. Bug report: In very rare occasions when performing a batch moves the process takes endless for no obvious reason, seeming to get stuck on some files. Once this happens, upon escaping and restarting the task the same 'getting stuck' may happen again a few times more. The task can than still be finished by doing one by one moves of fewer, say single files. Peli (talk) 11:51, 20 August 2025 (UTC)Reply
@PelikanaHi, what happened to the button "undo last actions". -- Nothing on purpose compared to last version. Also there should not be any difference to version which was in testing. (So if there is something it is unexpected bug) -- About second part, it sound similar what @Don-vip reported earlier. In any case thanks for reporting. --Zache (talk) 11:58, 20 August 2025 (UTC)Reply
Hi Zache. OK i switched to the default version now. Confirming that the stop button and the undo button are not in this version. I think esc can be used for abort and undo's can be done by reversed actions from contribution history, OK. But i found a bug in Moving file to it's own parent for sorting order with use of just an empty key. This does not work as expected. The task was move file 3 to "Uncategorized images of the Rijksmuseum (Crappy crops)| " but the result was: moved to "Uncategorized images of the Rijksmuseum (Crappy crops)|Uncategorized images of the Rijksmuseum". example Test was done by move image from category overview to sort a order in same cat, trying to move it to place 1. result: error in using empty sortkey. The workaround here is to always use a key after the empty space "Uncategorized images of the Rijksmuseum (Crappy crops| 0". But it would be nicer if it got fixed. ty. Peli (talk) 23:06, 20 August 2025 (UTC)Reply
@Pelikana About cat-a-lot getting stuck: when this happens next time, would it be possible for you to check the browser's JavaScript error console to see if there are any errors? Zache (talk) 06:04, 21 August 2025 (UTC)Reply
Hi Zache, thanks for this fix of the described bug in single space as sortkey. The remembering of cats is going very smooth generally, provided we stay working on pages in the same tab. I did some more testing and found a few points of attention.
Category list: I would like it to 'never' clear a manually typed (or pasted) formfield entry, (old behavior) this was always good start for working in new tabs, or on reopening the ap after a break. It was also a quickfix to set the panel width to fit to line lengths, like not having linebreaks in the list of cats.
Stuckbug: not found anymore. - In a test it was possible to request parallel excecution of 4 jobs of 500 items (from special searches). It did work well, not getting stuck and as expected taking it's time to do it. but I had to type the same cat 4 times in the empty input box in every of the 4 new tabs. (refers to point above).
Resizing bug: pulling left edge (or dragging the arrow) now undocks panel in an ineffective way. After doing this the panel is not resizable nor movable and docks to a fixed point on the bottom edge of the window. Test this for example by closing a browser sidebar, and notice that changing browser widths in udocked state is to be avoided. Resseting this needs restart of the ap. The functionality of the arrow is incomprehensive. Maybe possible to turn it to a real undock button, to have a really free floating resizable panel, like the other user was used to work with? Anyway a workaround to reach the file in bottom right corner is that it can be accessed by moving just this left panel-edge completely to the right. The functioning and proper use of the arrow stays unclear to me, it even shows total weirdnes in undocked state. I generally avoid to touch it, to not get into this resize bug.
Performance: Has every effort been made to bring this app up to speed again? The old awarded version used to be very fast. Even small batches of 30-50 now do result in noticable waiting times. (which has pros and cons: pro - user can take more breaks while taking hands off the keyboard, cons - large jobs are avoided (unless carefully estimated and planned).
Results on page. I think the result notes on page under the moved images have changed: If it was already it the target cat it would tell: 'File removed from current cat'. Now it tells 'File moved to target cat'. To me the old behavior was a useful reflexion of the fact that the file was already a member of the target cat and just needed a remove of old cat.
Resultsbox: width in small resultslist can still be too wide. The results box can still be too wide (exceeding browser window) for containing very long filenames when the box does not have the scrollbar. This is minor bug just in the appearance because the 'return' button always seems to stay in reach (since it seemed to get wider too). (Test: remove a very long filename from a cat that it is not in using a narrow browser window.) Peli (talk) 10:36, 1 September 2025 (UTC)Reply
@Pelikana:Has every effort been made to bring this app up to speed again? -- The fix for phab:T365303 was committed to production at this week and it should solve some of the performance bottlenecks. We are currently waiting to see that if there is any regressions which would require reverting the patch. After it is confirmed to be ok it should be OK to gradually increase the Cat-a-lot speed. However we do not know yet how much Cat-a-lot speed can be increased as there is other bottlenecks as well, but fixing this one was important as it should prevent that Wikimedia Commons would stuck because there is too many concurrent edits to same category. --Zache (talk) 18:06, 1 September 2025 (UTC)Reply
@Pelikana I updated the User:Zache/Gadget-Cat-a-lot-20250602.js . Now there is setting in preferences on how long it remembers the state in minutes. Default is 60 minutes, but you can increased it to months. Another fix is that now wrong message when moving the category should be fixed (ie this: I think the result notes on page under the moved images have changed: If it was already it the target cat it would tell: 'File removed from current cat'. Now it tells 'File moved to target cat'.). It was not changed on purpose and noticing that it was not working anymore was good catch from you. Thank you. --Zache (talk) 03:40, 3 September 2025 (UTC)Reply
@Lucas Werkmeister, cause for the random rare cases where cat-a-lot gets stuck. One reason could be that when Gadget-libapi gets a successful HTTP response but it contains an error value, it sets a pause. MediaWiki:Gadget-libAPI.js Line 548 However, if smartRetry() calls are successful, then it never calls the error callback, and there's nothing that would unpause it, since currently it is only unpaused when the user confirms to continue using the error dialog. One way to solve this is to move the pause setting to doErrCb, which is called on error. Side-effect for moving pausing after always() is that the pausing is not instant and there will be edits before pause is effective. In any case, here is the fix: diff --Zache (talk) 17:30, 21 August 2025 (UTC)Reply
sortkey handling bugfix (this was old bug) reported by @Pelikana
fixed regression incorrect result message when moving the page to target category which already existed in page. This was caused by moving code to editJsonCategories and editWikitextCategories in line 1073 so changed mode and targetpage variables werent passed to doAPICall() called in line line 1102. This was also reported by Pelikana
Latest comment: 3 months ago14 comments3 people in discussion
Cat-a-lot keeps on closing randomly, pretty much every time I visit a new category. This has been happening for a couple of days now and seems to be getting worse. In the past, it always stayed open unless I actively closed it by clicking on the blue X at the bottom left. Anyone know what's gone wrong? - MPF (talk) 21:17, 21 August 2025 (UTC)Reply
@MPF, this is due to the last update. The old behavior was that Cat-a-lot would remember being open as long as the user stayed in the same namespace. That is, if a user opened only files OR categories, it stayed open. However, if a user opened a file from a category, it would forget about being open. For example, opening a file in another tab would close it.
As this resulted a unpredictable behaviour, we changed this so that it now remembers being open across namespace changes, but to keep it contextual, it only remembers for being open within the same browser tab. (If a user opens a page in a new tab or closes the browser, then it starts as closed.)
An alternative would be storing the information persistently so that it keeps the Cat-a-lot dialog open across new tabs andbrowser sessions. This is a design choice and can be changed, but we would need to understand how people are using Cat-a-lot to change it. Would you like to specify how you think it should work? --Zache (talk) 03:09, 22 August 2025 (UTC)Reply
@Zache thanks, but that's not how it used to be - it always stayed open in the past (including after I'd opened files and returned to the category, and including in new tabs, and new browser sessions), unless I activated closing it. I'd like it to return to that state, please: invariably open in categories, unless I actively close it. The only other change I'd like to see, is to simplify enabling use on pages and categories, a one-click toggle tickbox, instead of the current 5-stage tedium, 'Preferences' → ✓ in 'Allow categorising pages (including categories) that are not files' box, → ✓ in 'OK' box → click 'Temporarily on this page only'. Thanks! - MPF (talk) 09:06, 22 August 2025 (UTC)Reply
@Zache another problem that's come up - cat-a-lot is now auto-enabled when I move from a category to a user:contributions page; it definitely isn't useful there, as it prevents links from working. Could it please just be restored to how it all was a few days ago! - MPF (talk) 10:26, 23 August 2025 (UTC)Reply
@MPF We made the change to solve a problem described by @Pelikana: -- Why can it remember last formfield entry across sessions, but not offer the appropiate part of the cat list upon turning a results page to the next page of the same job? This is related to the panel constantly minimizing to the right bottom corner and resetting to category trees utmost top after each 'new' search, after each page turn. IMHO It should neither minimize nor assume a completely new categorizing task within this same session. -- this was related to how it remembered being open when the user was moving between namespaces (i.e., for example when the user was moving from category to search and back to category). So we cannot go back to make it work identically as before, as the end result should be something that would solve both your and Pelikana's problems. --Zache (talk) 14:25, 23 August 2025 (UTC)Reply
@Zache thanks! Very strange, though - it never did that for me in the past (e.g. if I moved from categorising in Category:X to categorising in its subcategory Category:Xy, the cat-a-lot always re-set itself to suit Category:Xy), but since the change, I have been getting @Pelikana's problem at times — on moving to Category:Xy, it now retains Category:X as the base, even if I press ctrl+alt+R to reload the page: last time I did this, I had to shut cat-a-lot and reopen it to reset it to the new subcat.... MPF (talk) 15:38, 23 August 2025 (UTC)Reply
To me the options in the offered list always include emtying search key and pressing enter to refresh to current category. Plus clicking any desired cat in the offered list to set it as the central focus. This way it seems to me we can always browse up and down by clickiing any item in the visible branch. Plus we can always type or paste the disired cat in searchbox. I am happy that coming from special searches it remembers last input a bit longer and offers the right part of the cat list and does not reset to some default 'out of the box' state. I have found it useful to inspect my user contibutions page to do correction and edits with help of cat a lot. I do not see how links are 'prevented' there.
Regarding the point below this entry: Yes, selecting files in bottom right corner can be done by minimizing the panel, selecting files still works than. Peli (talk) 20:07, 23 August 2025 (UTC)Reply
@MPF, @Pelikana I made a new version with following changes:
Cat-a-lot reopens if any of the following rules is true
Cat-a-lot was left open AND the user opens any page in the same namespace as the last page (i.e., this restores the main part of the original behaviour)
The user opens the same page again (reloading etc.)
Remembering the selected category
I also made a change to how it remembers the selected category. Now there is a toggle in the UI for remembering, and if it is unchecked, then it doesn't remember. If it is checked, then it persistently remembers the category. It remembers it even if Cat-a-lot is closed using the X button.
Session time limit
Another change is that I defined a time limit for how long it remembers whether Cat-a-lot was open and what the selected category was, which is currently 60 minutes. It could be longer, or it could be set in user settings, but I think it's a good idea to have some limit so it is not forever.
Howto to test
@MPF, If you want to test it then happens like this
@Zache - I'm still having trouble with this; two problems; can they be sorted, please? I can't work out how to do that "mw.loader (etc.)" stuff, either.
Pressing F5 or reload doesn't return cat-a-lot to the category list for the category you're currently in (it always used to!)
Going to a user:contributions, cat-a-lot is staying open, when it shouldn't
No; as mentioned, I can't work out how to do it. I don't like to tamper with things that I don't understand what to do! - MPF (talk) 12:56, 31 August 2025 (UTC)Reply
Latest comment: 3 months ago6 comments3 people in discussion
I can no longer drag the Cat-a-lot box away from right lower screen corner in order to tag stuff beneath it. Any tip or fix in sight? / MTIA, PeterWD (talk) 21:24, 21 August 2025 (UTC)Reply
@PeterWD - hover over the top edge of the cat-a-lot box until an arrow appears; then drag that down to make the box small enough to reach the files behind it. Scrolling to reach the right categories will be trickier, but it is doable - MPF (talk) 23:53, 21 August 2025 (UTC)Reply
Also, the left edge also works now for resizing. -- Originally it was chosed to lock the window to the right bottom corner as there were bugs in how the dialog was rendered, and it was easier to focus on fixing the resizing only. Later the persistent size over page loads was also easier to implement when it was locked to the bottom-right corner. That said, the dialog is currently somewhat more stable after the code cleanup, so dragging the Cat-a-lot window could be also be working as abyproduct, but we haven't tested it and it would require updating some code related to minimizing/maximizing/opening the window, and it would require thinking about how it should technically work if we would like to enable persistence for position too. --Zache (talk) 03:43, 22 August 2025 (UTC)Reply
Thanks for the tips and explanation. Unfortunately, moving the top edge doesn't permit access to the lowest rightmost file description sufficiently for tagging, and moving the left edge works but in a very awkward-looking manner with almost nothing readable remaining in the box. PeterWD (talk) 07:11, 22 August 2025 (UTC)Reply
Another tip could be that you can use minimize buttom (the _ in the bottom bar) to get the
Cat-a-lot dialog out of the way when it's blocking the selection and after selection you can maximize it again. However, for me there is enough vertical space for resizing the dialog so it is possible to select bottom-leftmost file in category view in vector 2022, legacy vector, monobook and mobile skins so there is something what i am missing. Would it be possible for you to take screenshot about browser window including a problem and save it to the ticket phab:T399919 ? --Zache (talk) 08:18, 22 August 2025 (UTC)Reply
Thanks, I hadn't noticed the minimize button (almost invisible), although the old drag method was engrained in my methodology. My preference defaulted to vector legacy (2010) for now forgotten reasons, and moving top edge does not clear enough space for tagging there. Right now, temporarily switching to vector 2022, it does work there as you describe. I regret that the final suggestion goes over my head. PeterWD (talk) 08:53, 22 August 2025 (UTC)Reply
Can you confirm if problem still exists. If it does please tell what browser you are using and which ware exact category where you were moving the files? (ie. i will try to reproduce the error). Also if you know how to do it you could check if there is error messages in browsers javascript error console. --Zache (talk) 07:45, 31 October 2025 (UTC)Reply
So far, the problem seems to have resolved itself. I'm using Microsoft Edge, and I still can't figure out what went wrong. --DanTD (talk) 02:50, 1 November 2025 (UTC)Reply
Maybe need removing , after string 'cat-a-lot-no-valid-cats-after-filter': 'No valid categories to copy or move after filtering self-categorization.' (final message string in section)? --Kaganer (talk) 16:54, 4 November 2025 (UTC)Reply