Commons:Village pump/Technical

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Shortcuts: COM:VP/T • COM:VPT

Welcome to the Village pump technical section
Technical discussion
Village pump/Technical
 Bug reports
 Code review
Tools
 Tools/Directory
 Idea Lab



This page is used for technical questions relating to the tools, gadgets, or other technical issues about Commons; it is distinguished from the main Village pump, which handles community-wide discussion of all kinds. The page may also be used to advertise significant discussions taking place elsewhere, such as on the talk page of a Commons policy. Recent sections with no replies for 30 days and sections tagged with {{Section resolved|1=--~~~~}} may be archived; for old discussions, see the archives; recent archives: /Archive/2023/12 /Archive/2024/01.

Please note
 
SpBot archives all sections tagged with {{Section resolved|1=~~~~}} after 1 day and sections whose most recent comment is older than 30 days.

I'm trying to add formatting parameters to Template:Userpage (e.g. for changing the background color), but having some issues. I introduced them to Template:Userpage/layout, but I gather that I need to pass them through language variants like Template:Userpage/en to get them to be usable. But when I try to add something like

|border={{{border|}}}
|background={{{background|}}}
|extra-style={{{extra-style|}}}
|file={{{file|}}}

to the English translation, it shows in previews that undefined values are interpreted as blanks rather than just ignored. How do I get around this? Best, {{u|Sdkb}}talk 19:48, 5 December 2023 (UTC)Reply[reply]

{{subst:bump}} {{u|Sdkb}}talk 23:26, 3 January 2024 (UTC)Reply[reply]

Path between categories[edit]

Do we have a tool, to show path between two categories? Juandev (talk) 16:57, 13 December 2023 (UTC)Reply[reply]

As far as I know such a tool doesn't exist, but it wouldn't be hard to make a python script to find a path between two given categories. Pere prlpz (talk) 22:11, 2 January 2024 (UTC)Reply[reply]

Upload wizard change[edit]

The upload wizard design seems to have been changed in the last day or two. Is there any possibility that whoever changed it could provide more space for answers to 2. Where did you find this work? Enter the website, the book, or another source. and 3. Enter the name of the original author of this work., both of which questions often require more than a single short sentence. By way of example, for an image I've just uploaded I'd like to give the following information for q.2 - which used to fit in the edit box before this change; now there's a single line edit box which requires both horizontal and vertical scrolling to try to make any sense of the input text:

Upper Wharfedale : being a complete account of the history, antiquities and scenery of the picturesque valley of the Wharfe, from Otley to Langstrothdale via Internet Archive - https://archive.org/details/upperwharfedaleb00speiuoft/page/n177/mode/2up

Image cropped from https://ia800905.us.archive.org/view_archive.php?archive=/9/items/upperwharfedaleb00speiuoft/upperwharfedaleb00speiuoft_jp2.zip&file=upperwharfedaleb00speiuoft_jp2%2Fupperwharfedaleb00speiuoft_0195.jp2&ext=jpg

--Tagishsimon (talk) 05:46, 14 December 2023 (UTC)Reply[reply]

@Tagishsimon: You may wish to ask this at (or see) Commons talk:WMF support for Commons/Upload Wizard Improvements. Andy Mabbett (Pigsonthewing); Talk to Andy; Andy's edits 15:22, 14 December 2023 (UTC)Reply[reply]
@Udehb-WMF. RZuo (talk) 15:32, 15 December 2023 (UTC)Reply[reply]
@Tagishsimon Do you mind translating your request into a Phabricator ticket? I'll raise the problem at the next round of talks with the designer when they get back from the holidays. Sannita (WMF) (talk) 17:23, 19 December 2023 (UTC)Reply[reply]
  • Just chiming in to add my voice that the new Upload Wizard really sucks. Too many buttons to click, too little space to put nicely formatted source info, and an apparent obsession with AI (is AI really such an issue that it needs explicit noting several times in the upload process?) --Animalparty (talk) 17:13, 14 January 2024 (UTC)Reply[reply]

When should an image where uploader stated "own work" get a "no source" speedy deletion nomination?[edit]

When should an image where the uploader stated the image was their "own work" trigger a {{No source since}} speedy deletion nomination?

I upload some images I took as {{Own}}. I don't ever remember my {{Own}} images getting challenged. Should an assertion of "own work" be challenged just because the uploader is a relative newbie?

Yes, if the challenger thinks they have reason to believe the uploader is a sockpuppet, or otherwise not credible, there should be a way to challenge the image's provenance. But is a bald {{No source since}} tag the right kind of challenge?

User:Kacamata has recently applied many {{No source since}} tags, including [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32].

Near as I can tell Kacamata didn't really offer an explanation as to why he or she doubts whether these own work assertions are credible. Should he or she have offered an explanation? Geo Swan (talk) 05:39, 15 December 2023 (UTC)Reply[reply]

Hi, IMO "no source" shouldn't be used if a source like {{Own}} is stated, even if this source is suspected to be wrong. "No permission" is better, or speedy deletion if there is evidence of copyright violation, or a regular DR. Only for an old document probably in the public domain claimed as own work, a "no source" might be useful: we don't need a permission in this case. Yann (talk) 14:12, 15 December 2023 (UTC)Reply[reply]
Normally, I tag as no source all the files that are clearly not own work and have no proper source. Most of the time these are copyvio. Files that are clearly taken from elsewhere. When I can locate the image source on the internet, I tag them as copyvio indicating the source. Almost every time I tagged a file as no source, it was deleted by a sysop. Normally, the files I tag were uploaded by accounts from pt.WP. It's very common for socks, vandals and spammers to create articles in the pt.WP, and then upload problematic images here on Commons. Again, these uploaders are not reliable and almost always their claims of "own work" are not credible. By the way, all this conflict started because Geo Swan is trying to keep out of scope unused images uploaded by a LTA and spammer who created dozens of socks and have being trying to spam pt.WP for a long time. To me, it's shocking that a user goes to this distance to try to keep images uploaded by unreliable accounts (socks, trolls, spammer, etc.) with clearly not credible assertion of "own work". Kacamata! Dimmi!!! 15:51, 15 December 2023 (UTC)Reply[reply]
Sure, I support deletion of such files, but "no source" is the wrong template. Yann (talk) 16:15, 15 December 2023 (UTC)Reply[reply]
  • User:Kacamata, you wrote "I tag as no source all the files that are clearly not own work and have no proper source. Most of the time these are copyvio..." I linked to close to three dozen images you recently tagged this way.
Frankly, A LOT OF THEM seemed to have very credible claims that they were the own work of uploaders.
  • Could you please explain, more fully, how you reached your bogus conclusion on these "own work" claims?
File:Estátua_de_José_Lopes.jpg looks old, but it bears the date 1958, so the sculptors copyright matters, and it merits a challenge. However, the related File:Igreja paroquial de Lamelas.jpg mainly shows the old church, and I suggest the sculptor's copyright claim on the 1958 monument, should be dismissed as "de minimis". I don't believe either of these images merits tagging for speedy deletion due to "no source".
  • Some of the other images you tagged as "no source", like File:Mariuva 2.png, could be deleted, but for other reasons than "no source". In other recent discussions you have argued for deleting selfies, as "self-promotion", even when the uploader is someone with a credible claim of notability. User:Mariuvavalentin, who recently uploaded three images that look like selfies, doesn't seem to have a credible claim of notability. So, I agree, her selfies merit a challenge over whether they are in scope. I think it was a mistake for you to nominate any of those three images as "no source", when they are almost certainly selfies.
  • There are some other images among those three dozen that do merit a challenge, but I strongly agree with Yann's suggestion that when your real concern is that the image looks like a copyright violation, you really should offer that as your deletion justification. WMF projects require experienced good faith contributors to do their best to educate inexperienced good faith contributors. In your case, if you are going to continue to nominate images for speedy deletion, I suggest it is essential you apply the best speedy deletion tag, so those good faith new contributor can learn from their mistakes.
  • Frankly, your revision history shows you have a long history of leaving heads-up on newbie's user talk pages, informing them their images were tagged for speedy deletion due to lacking a valid source. A good faith newbie won't know, can't know, when they are authorized to upload images they took themselves, accompanied with a tag that the image was their own work.
Frankly, if I am correct that you routinely tagged images with credible claims of "own work" as "no source", then I am concerned that your record suggests you triggered the deletion of a very large number of perfectly valid in scope images. Geo Swan (talk) 14:42, 16 December 2023 (UTC)Reply[reply]
I deleted Mariuvavalentin's files, as pt:Mariuva valentin was deleted, this person doesn't seem notable, and this user has no contribution outside self-promotion. Yann (talk) 14:53, 16 December 2023 (UTC)Reply[reply]
Update
Just to be clear, User:Yann recently wrote "Where this is the slightest possibility that the file is OK for Commons (for whatever reason), a proper DR should be created." I totally agree. And I think that this means that, so long as a contributor is in good standing, their "own work" images should not be tagged for any kind of speedy deletion, including both {{No source}} and {{No permission since}}.
If a newbie has made a couple of mistakes, and DRs show they have a history of applying "own work" to images innappropriately, would speedy deletion requests then be appropriate - if they linked to the DRs that establish earlier errors? Geo Swan (talk) 17:03, 18 December 2023 (UTC)Reply[reply]
In the 3 cases mentioned above, "no permission" is appropriate. EXIF data shows a different name than the uploader, although the images are in high resolution with full EXIF data, so we can assume the images were not copied from the Internet. Yann (talk) 17:17, 18 December 2023 (UTC)Reply[reply]
Thanks for the prompt reply. Geo Swan (talk) 18:26, 18 December 2023 (UTC)Reply[reply]
@Yann I believe this went too far. Geo Swan is known for being stalking, harassing and wikihunting people. They were banned from en.Wp for this same reason. They are now pinging in several places in a clear attempt to harass me. I believe this kind of behavior should not be tolerated here or in any other WMF project. Kacamata! Dimmi!!! 21:39, 18 December 2023 (UTC)Reply[reply]
Funny thing is that @Yann said that the tagging was "is appropriate". And yet, Geo Swan reverted my tagging in File:AmandaLeadroDuo.jpg and File:Amanda Maria Fest Sorocaba 2023 2.jpg and started a DR. This is a clear example that they are not acting in good faith. They are just trying to harass me. Kacamata! Dimmi!!! 21:59, 18 December 2023 (UTC)Reply[reply]

Tech News: 2023-51[edit]

MediaWiki message delivery 16:15, 18 December 2023 (UTC)Reply[reply]

Improving MP4 error message[edit]

Related to Commons:Requests_for_comment/Technical_needs_survey#Video_conversion_support, can we at least make the error message when someone tries to upload an MP4 file point to Help:Converting video? I believe the message is hosted at MediaWiki:Mwe-upwiz-upload-error-bad-filename-extension, but not sure whether it can accept links or not. {{u|Sdkb}}talk 08:12, 19 December 2023 (UTC)Reply[reply]

Does anyone familiar with the interface area know this? {{u|Sdkb}}talk 07:00, 13 January 2024 (UTC)Reply[reply]
As far as I see, it uses mw.jqueryMsg, so it can use wikitext to the extent documented at mw:Manual:Messages API#Feature support in JavaScript – a simple internal or external link should work. (However, be aware that overriding the message here on Commons has i18n implications, so maybe you should convince developers to make the change in the code / on Translatewiki.) —Tacsipacsi (talk) 10:13, 13 January 2024 (UTC)Reply[reply]
Thanks, @Tacsipacsi! Given that Help:Converting video is a local page and other wikis might decide to accept MP4s, a local message seems necessary.
The next challenge is that I'm noticing that the error message comes up for all non-accepted filenames, not just MP4s. I imagine that most users encountering the message will be trying to upload MP4s (the WMF could maybe provide data on that), but still, this makes it impossible to provide help tailored to the specific unallowed file type a user is trying to upload. And it seems there's no way to resolve that, since we can't use parser functions to check the variable? I'll make an edit request to link to both Help:Converting video and Commons:File types, but ideally the tool will be smarter in the future. {{u|Sdkb}}talk 16:05, 13 January 2024 (UTC)Reply[reply]
Edit request made here. Cheers, {{u|Sdkb}}talk 16:17, 13 January 2024 (UTC)Reply[reply]

number sorting[edit]

Category:55.5 (number) is sorted in Category:Rational numbers under sortkey '=', but should be under sortkey '5'. Sorting is done automatically and I did not find the right template to fix it. help & fix appreciated. best --Herzi Pinki (talk) 20:00, 19 December 2023 (UTC)Reply[reply]

Looks like sorting happens in {{Number cat/layout}}. Bit late for me to work on this now, but I'll take a look in the morning. —CalendulaAsteraceae (talkcontribs) 08:54, 20 December 2023 (UTC)Reply[reply]
Updated. It's now sorted under 0 because of zero-padding. Also that code is ridiculously complicated; I'll work on simplifying it when I have more time. —CalendulaAsteraceae (talkcontribs) 22:26, 20 December 2023 (UTC)Reply[reply]

boilerplate in category names[edit]

see for example Category:Sanborn maps of Utah

what should be visible: just the name of the town. how to fix? Nowakki (talk) 21:09, 19 December 2023 (UTC)Reply[reply]

Add or change a video thumbnail[edit]

Hi, how do I change the thumbnail of a video already uploaded on Commons? Is there any gadget? Pạtạfisik 13:09, 20 December 2023 (UTC)Reply[reply]

Hi! I think this is possible in Wikipedia, but I don't know of a possibility in Commons --PantheraLeo1359531 😺 (talk) 17:46, 20 December 2023 (UTC)Reply[reply]
@PantheraLeo1359531 Thank you. CC @Galessandroni: . Pạtạfisik 17:53, 20 December 2023 (UTC)Reply[reply]
The best answer, I suppose, is here. It is possible to change the thumbnail of a video link with this code: [[File:video.ogv|thumb|thumbtime=1|description]], where thumbtime=1 is the second, but not in the original file. Giacomo Alessandroni What's up! 17:59, 20 December 2023 (UTC)Reply[reply]

Rotate?[edit]

Please rotate me

I put this picture in for rotation a day ago but it didn't happen. Will it happen? ̴̴Jim.henderson (talk) 01:14, 21 December 2023 (UTC)Reply[reply]

If I'm reading User:SteinsplitterBot/Rotatebot correctly, the bot appears to have been down since the 16th. I'll do it manually. The Squirrel Conspiracy (talk) 02:00, 21 December 2023 (UTC)Reply[reply]
✓ Done The Squirrel Conspiracy (talk) 02:03, 21 December 2023 (UTC)Reply[reply]
Thanks. Jim.henderson (talk) 00:06, 22 December 2023 (UTC)Reply[reply]

How to edit the location of creation in the structured data of an image[edit]

No, this photo is not taken from Reading Abbey

I'm used to being able to edit the 'location of creation' in an image's structured data by using the edit button, but that button seems to have disappeared for a number of properties, including 'location of creation'. Not sure why this is, but it is quite important to be able to do it in order to modify or remove locations set by the GeographBot, which in my experience quite often either gets it completely wrong, or uses a location that is too general to ever be of any use.

As an example of what I'm talking about, the picture here of Reading station has a location of creation of Reading Abbey!. The ruins of Reading Abbey are actually about 500m in front of the camera, and a little bit to the left, beyond the big pink office block. And I seem to have no way of correcting this.

I originally asked this question at Commons:Help_desk#How_to_edit_the_location_of_creation_in_the_structured_data_of_an_image, and despite a few suggestions there, the problem persists. I suspect that it is also related to the issues raised by another editor at Commons:Help_desk#Can't_add_structured_data_statement. One suggestion was that I raise it here, so here goes. -- Chris j wood (talk) 11:12, 22 December 2023 (UTC)Reply[reply]

Well that is well weird. I went for lunch. Before lunch there was no edit button, after lunch the edit button was back. I made no changes to me environment, didn't even restart the browser. Somebody fiddling?. -- Chris j wood (talk) 14:30, 22 December 2023 (UTC)Reply[reply]

Not public log regarding user[edit]

There are any non-public logs regarding users? If I read in special All public logs, I would expect there are also non-public logs. Juandev (talk) 15:26, 22 December 2023 (UTC)Reply[reply]

@Juandev: Yes. There are two levels above public. There is revision deletion which means only administrators can see the content, and there is oversight which means not even most administrators can see the content. GMGtalk 15:47, 22 December 2023 (UTC)Reply[reply]
And if someone account is in a blocked range of open proxy, why it is not in the log attached to a specific user? Juandev (talk) 15:51, 22 December 2023 (UTC)Reply[reply]
@Juandev: Disclaimer: I'm old. But IP range blocks don't generate any content in the user log at all AFAIK. We're generally fairly cautious with connecting IP addresses with registered accounts for privacy reasons. If a user is say...in a place like Turkey or China where they may need to use a proxy to contribute, they would need to request a special permission in order to avoid the IP block. GMGtalk 15:57, 22 December 2023 (UTC)Reply[reply]
Just an addition the non public IP logs are visible to checkusers. And there are also some more technical logs they are only available to the MediaWiki and server infrastructure maintainers. GPSLeo (talk) 16:48, 22 December 2023 (UTC)Reply[reply]

Colors not showing up correctly on SVGs?[edit]

File in question

Hello!

I recently fulfilled a request at the Illustration Graphics Lab for a logo, but I noticed something weird when I uploaded it...

The colors are wrong! Especially the blue! It was supposed to be #0000FF, but my eyedropper tool says that the PNG rendering has #5401FF as its color, which is closer to purple! Why is that? QuickQuokka [⁠talkcontribs] 20:39, 24 December 2023 (UTC)Reply[reply]

So, I just checked it out on my phone, and it looks like it's alright at the expected color, so I think this problem may be on my end, but why though? QuickQuokka [⁠talkcontribs] 20:58, 24 December 2023 (UTC)Reply[reply]
I do not know, but here are some issues.
The SVG colorspace is sRGB.
When WMF's rasterizer converts the SVG to PNG, it does not specify the sRGB colorspace.
When the PNG is painted to the screen, there may be a colorspace conversion.
When the color picker selects a pixel, it may read the device colorspace.
Glrx (talk) 21:13, 24 December 2023 (UTC)Reply[reply]

Template for adding up the amount of files of all subcats inside a cat[edit]

Hi folks!

Is there a template that adds up the number of all files of all subcategories in one category?

Thank you! --PantheraLeo1359531 😺 (talk) 10:18, 25 December 2023 (UTC)Reply[reply]

I think I figured it out! (for all those who are interested in: https://petscan.wmflabs.org/) --PantheraLeo1359531 😺 (talk) 10:27, 25 December 2023 (UTC)Reply[reply]

SHA1 hashes[edit]

There are SHA1 hashes available in PetScan for each file from Wikimedia Commons. I suspect this is information received via API from Commons. Does MediaWiki creates hash for an upload version of the file or are these hashes for the last version of a file? Juandev (talk) 06:22, 26 December 2023 (UTC)Reply[reply]

@Juandev: MediaWiki provides a sha1 hash for each revision of a file, not just the latest revision. Xover (talk) 07:20, 26 December 2023 (UTC)Reply[reply]

Need help of someone that knows C#[edit]

I administer monthly Commons:Photo challenge for Last 8 years. The process we use is described at Commons:Photo challenge/Maintainers Manual , but to keep it short we mostly rely on 2 C# codes written a decade ago by User:Colin for automatically processing of Photo Challenge pages. The codes:

went almost unchanged since they were written and they are meant to be run on your PC in Visual Studio. This month, the codes stopped compiling for me and so far I was not able to create voting pages or score last month results. I am very familiar with dozen programing languages but I do not know C# and its external libraries management. I suspect the issue is with changing C# language standards and lack of backwards compatibility. Can someone familiar with C# can help me getting those 2 codes to run? Jarekt (talk) 04:12, 7 January 2024 (UTC)Reply[reply]

being a noobish coder, i'd throw the code into chatgpt and ask it to rewrite a python version? or a language that you use. :p RZuo (talk) 10:26, 7 January 2024 (UTC)Reply[reply]
I've responded to Jarekt on another page. I'll have a look see what the problem is. -- Colin (talk) 19:01, 7 January 2024 (UTC)Reply[reply]

Which file has the largest number of associated timedtext pages[edit]

i'm wondering how mediaplayer's selection menu for cc looks like if there're a hundred languages to choose from. RZuo (talk) 10:47, 7 January 2024 (UTC)Reply[reply]

@RZuo: The clear winners are File:Sit-in Against Racial Injustice, Downtown Indianapolis (2020-06-06).webm with impressive 201 languages (and only seven seconds) and File:Silence.ogg with 186 languages (and 18 seconds). —Tacsipacsi (talk) 00:52, 10 January 2024 (UTC)Reply[reply]

Searching on "Highgate tube station" - pics of Archway tube station also appear![edit]

Searching on "Highgate tube station" (a station on the London Underground system) also brings up pictures of the nearby "Archway tube station". A glitch in the system? Best, Sunil060902 (talk) 13:41, 8 January 2024 (UTC).Reply[reply]

@Sunil060902: Assuming you're using Special:MediaSearch and typing without quotation marks, I see similar results: after about 50 pictures of Highgate station I start getting photos of Archway as well. I think this is because those photos have structured data indicating that they depict Archway tube station (Q636351), and that Wikidata item has aliases that include "Highgate tube station" (because that's what Archway used to be called). So I think this is intended behaviour: Special:MediaSearch thinks that by "Highgate tube station" you might mean that one that used to be called "Highgate" and returns files for that as well as for the current Highgate. If you want a search that doesn't use Wikidata (and generally tries less hard to be helpful) you can use Special:Search instead. And for cases like this, just using the category Category:Highgate tube station is likely to give even fewer bad results. --bjh21 (talk) 14:13, 8 January 2024 (UTC)Reply[reply]
Hi bjh21, thanks for that. Seems to work, and I do remember the history re. naming. But just to let you know I actually was using quotes in the MediaSearch! I noticed it also when searching specifically for my own pictures of Highgate - namely Sunil060902 "Highgate tube station".
https://commons.wikimedia.org/w/index.php?search=Sunil060902+%22Highgate+tube+station%22&title=Special:MediaSearch&go=Go&type=image
Twelve results, five of which are pictures of Archway. At least those are my own! Best, Sunil060902 (talk) 14:27, 8 January 2024 (UTC).Reply[reply]
@Sunil060902: Yes, since the alias in Wikidata is precisely "Highgate tube station" the quotation marks aren't enough to exclude it. I mentioned not using them because when I started that reply I thought the cause would be stray uses of "Highgate" in descriptions like on File:Archway station (3749849371).jpg, but that turned out not to be relevant. --bjh21 (talk) 14:56, 8 January 2024 (UTC)Reply[reply]

Tech News: 2024-02[edit]

MediaWiki message delivery 01:17, 9 January 2024 (UTC)Reply[reply]

Structure of the upload path of files[edit]

Hi. I was checking the strcture of the url to files here on Commons. Someone pointed out to me that to create a thumbnail in an excel data sheet you need that, not the page url (I trusted that assetion, I haven't checked), so they asked me how to extract it.

That's how (after so many years) I have noticed that the url to the file is not "direct", and there is also a short string between the first part ''https://upload.wikimedia.org/wikipedia/commons/'' and the actual file name:

  • ''https://upload.wikimedia.org/wikipedia/commons/'' f/f2 /Ricci_di_castagno.jpg / [43]
  • ''https://upload.wikimedia.org/wikipedia/commons/'' 2/22 /"Pizza"_ai_funghi.jpg / [44]
  • ''https://upload.wikimedia.org/wikipedia/commons/'' 0/05 /-_Garzetta_-_Valli_di_Comacchio.jpg [45]

Can someone tell me something about that?

  • First question: what is it about? Soemone told me that maybe it's related to the distrtibuted server where the file is actually stored.
  • Second question: so far I only find it in the format X/XY, where the first number or letter seems to be always identical to the second number or letter (also a/ac, c/c7, 6/65...). Is this correct? What's the "physical" meaning of that, if so?
  • Third question: can it be predicted from the file name or there is no way to do? I suppose it can't.

Thanks in advance. Alexmar983 (talk) 20:57, 9 January 2024 (UTC)Reply[reply]

1. Probably. Hashing evenly distributes files to servers. First number is prefix of the second.
2. The file URL numbers are generated from an MD5 hash of the filename. That algorithm should be viewed as opaque: WMF should be able to change it later, and if it does, then the concrete links will no longer work.
3. Yes, it can be predicted, but it is better to use other methods. Special:Filepath will find the image through a redirect. The MediaWiki API will give the filename.
Glrx (talk) 22:00, 9 January 2024 (UTC)Reply[reply]

How to resolve the "illegal namespace" error?[edit]

I'm trying to upload an SVG I created using diagrams.net, but MediaWiki gives me a This SVG file contains an illegal namespace "http://www.w3.org/1999/xhtml" error. I tried to remove the xmlns="http://www.w3.org/1999/xhtml" attributes from the file, but this causes the text to not display at all. How do I resolve this issue? Ixfd64 (talk) 23:00, 10 January 2024 (UTC)Reply[reply]

@Ixfd64: Is the SVG simple enough that you can post its contents (before you removed the xmlns attributes) as a code block
like this?
CalendulaAsteraceae (talkcontribs) 23:23, 10 January 2024 (UTC)Reply[reply]
Here's the code:
Extended content
<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file with editors other than draw.io -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
	xmlns="http://www.w3.org/2000/svg"
	xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="641px" height="341px" viewBox="-0.5 -0.5 641 341" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2024-01-10T23:26:48.432Z&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0&quot; etag=&quot;5eROD36ty86c8WJt2PFq&quot; version=&quot;22.1.18&quot; type=&quot;device&quot;&gt;&lt;diagram name=&quot;Page-1&quot; id=&quot;pDQlNdjf5s7TNPz2gkAM&quot;&gt;7ZpRk6I4EMc/jY8zBSQgPjo6613V3dVuTV3d7r0xEjG1kXghjrqffhMJShJGWYXBG+dJ0glt/PfPTifQA6PFZsKi5fxPGiPS85x40wPjnue5wAXiQ1q2uSUYhLkhYThWgw6GJ/wDKaOjrCsco0wbyCklHC9145SmKZpyzRYxRtf6sBkl+rcuowRZhqdpRGzrPzjm89wa+s7B/hvCybz4ZtdRPYuoGKwM2TyK6bpkAo89MGKU8vxqsRkhIsUrdMnv+/RK735iDKW8zg1f2OZbsuCjvyds+de/E+L9/n1wp7y8RGSlfrCaLN8WCggvQmzReFjPMUdPy2gqe9Yi3sI25wsiWq64tCdUeEeMo03JpCY4QXSBONuKIUVvoZ6iBRTirQ/au4GyzUu6h8oWqXAne9cHRcSFEuUXBPIsgYacM/y84mg3LTErMRMxEZRx6SudUSZCj2kq4Y1waukppOC6cBln9DsaUUKZsKQ0lWLPMCGGKSI4SUVzKgRGwv4ghcWC1aHqWOA4Jq9FitFVGiP5W52GguWawfLtYMGKYPXbCha4LppBoAvkdU4zvJxmJ8EvSH4O3y/ZoG8Grmuy+9dNNuyc7LBBske3QzbsnOzBabJ1Fd6ebgAr6PYqRIJtiVSstCWVxmiKsxxf9x3zGpqhsHkNKyIBWouEXRB2zmtgVM3Q6ZxXuxK7DV4DzwxF17zaJd/V8ep1z6v/wasKRce8gipeAyLVntGUa2EI/lvRouMu2x0dDWW4/OVmp07RL64S+TkqPImZ5c5yuxVelMZDeXYk40SiLMNTPdh6GNAG86+qR15/k/Z7X7XGm9Kw8bZopEKsr+VG6S7ZPNy2a21PhTyjKzZFxxDPx/GIJYgfGad2GijWzsVeBci5dzWA7ooJMUREef2iH6NV4aJcf6Z4F17l1zN3GP3Bva87yX+yus8rHXwZrqzNirkJyTU54qgYSGezDGljdozvVbkA++B0mr5lKgc1qbyQOtcoN2HgnMecd8rRK8yJAEfb0rClHJC1QRysKmQbSrQPtROtiOcf0TMiOsn1F0mGxHSi550/SaLSSzj3H3r+uJLN439Ac+ncP1pQ39Irn95XZ0THB6GRFBvJiX3dqdvXHbSXnaC9/WyMlWFLi/KZqeyctNl++gOXLcpNrcnmZvzc7Gjt6hvLjm+5ZsP/w9Yq7HprBY9urWzF3u/WKux4awVr1Jhd8wq759V+1HKbvMLOea16NNBQ1TG+5aMAULPqKM4O65cdnkaQGzZSdvhGjnDNZ1F1yw4z2ViOruAgwK96I6ch6B8/oD8NPbwQ+rumqAdG+XBusR2Yb6FcI/VVb+40RP2nW6a+XzfVe9eR6g3o908yfxl68920mjvMN4W+xUcdkw/oa6T64DpTfWPUQ3OX1Cr1onl4mzkffngnHDz+BA==&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);">
	<defs/>
	<g>
		<ellipse cx="90" cy="170" rx="80" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
		<rect x="20" y="135" width="140" height="70" fill="none" stroke="none" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 170px; margin-left: 21px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Attribute with highest information gain</div>
						</div>
					</div>
				</foreignObject>
				<text x="90" y="174" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Attribute with highest...</text>
			</switch>
		</g>
		<ellipse cx="350" cy="70" rx="80" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
		<rect x="280" y="35" width="140" height="70" fill="none" stroke="none" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 70px; margin-left: 281px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Attribute with highest information gain given A</div>
						</div>
					</div>
				</foreignObject>
				<text x="350" y="74" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Attribute with highest...</text>
			</switch>
		</g>
		<ellipse cx="350" cy="270" rx="80" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
		<rect x="280" y="235" width="140" height="70" fill="none" stroke="none" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 270px; margin-left: 281px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Attribute with highest information gain given C</div>
						</div>
					</div>
				</foreignObject>
				<text x="350" y="274" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Attribute with highest...</text>
			</switch>
		</g>
		<rect x="270" y="150" width="120" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
		<rect x="290" y="155" width="80" height="30" fill="none" stroke="none" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 170px; margin-left: 291px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Decision 1</div>
						</div>
					</div>
				</foreignObject>
				<text x="330" y="174" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Decision 1</text>
			</switch>
		</g>
		<rect x="510" y="210" width="120" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
		<rect x="530" y="215" width="80" height="30" fill="none" stroke="none" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 230px; margin-left: 531px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Decision 1</div>
						</div>
					</div>
				</foreignObject>
				<text x="570" y="234" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Decision 1</text>
			</switch>
		</g>
		<rect x="510" y="10" width="120" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
		<rect x="530" y="15" width="80" height="30" fill="none" stroke="none" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 30px; margin-left: 531px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Decision 1</div>
						</div>
					</div>
				</foreignObject>
				<text x="570" y="34" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Decision 1</text>
			</switch>
		</g>
		<path d="M 170 170 L 265.5 265.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
		<path d="M 269.21 269.21 L 261.78 266.73 L 265.5 265.5 L 266.73 261.78 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 240px; margin-left: 210px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">
								<font style="font-size: 15px;">C</font>
							</div>
						</div>
					</div>
				</foreignObject>
				<text x="210" y="243" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">C</text>
			</switch>
		</g>
		<path d="M 170 170 L 263.63 170" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
		<path d="M 268.88 170 L 261.88 173.5 L 263.63 170 L 261.88 166.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 156px; margin-left: 231px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">
								<font style="font-size: 15px;">B</font>
							</div>
						</div>
					</div>
				</foreignObject>
				<text x="231" y="159" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">B</text>
			</switch>
		</g>
		<path d="M 170 170 L 265.5 74.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
		<path d="M 269.21 70.79 L 266.73 78.22 L 265.5 74.5 L 261.78 73.27 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 100px; margin-left: 210px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">
								<font style="font-size: 15px;">A</font>
							</div>
						</div>
					</div>
				</foreignObject>
				<text x="210" y="103" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">A</text>
			</switch>
		</g>
		<rect x="510" y="90" width="120" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
		<rect x="530" y="95" width="80" height="30" fill="none" stroke="none" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 110px; margin-left: 531px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Decision 2</div>
						</div>
					</div>
				</foreignObject>
				<text x="570" y="114" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Decision 2</text>
			</switch>
		</g>
		<rect x="510" y="290" width="120" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/>
		<rect x="530" y="295" width="80" height="30" fill="none" stroke="none" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 310px; margin-left: 531px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Decision 2</div>
						</div>
					</div>
				</foreignObject>
				<text x="570" y="314" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Decision 2</text>
			</switch>
		</g>
		<path d="M 430 70 L 504.3 32.85" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
		<path d="M 509 30.5 L 504.3 36.76 L 504.3 32.85 L 501.17 30.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 30px; margin-left: 470px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">
								<font style="font-size: 15px;">D</font>
							</div>
						</div>
					</div>
				</foreignObject>
				<text x="470" y="33" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">D</text>
			</switch>
		</g>
		<path d="M 430 70 L 504.3 107.15" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
		<path d="M 509 109.5 L 501.17 109.5 L 504.3 107.15 L 504.3 103.24 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 110px; margin-left: 470px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">
								<font style="font-size: 15px;">E</font>
							</div>
						</div>
					</div>
				</foreignObject>
				<text x="470" y="114" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">E</text>
			</switch>
		</g>
		<path d="M 430 270 L 504.3 232.85" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
		<path d="M 509 230.5 L 504.3 236.76 L 504.3 232.85 L 501.17 230.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 230px; margin-left: 470px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">
								<font style="font-size: 15px;">F</font>
							</div>
						</div>
					</div>
				</foreignObject>
				<text x="470" y="233" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">F</text>
			</switch>
		</g>
		<path d="M 430 270 L 504.3 307.15" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
		<path d="M 509 309.5 L 501.17 309.5 L 504.3 307.15 L 504.3 303.24 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
		<g transform="translate(-0.5 -0.5)">
			<switch>
				<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
					<div
						xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 310px; margin-left: 470px;">
						<div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
							<div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">
								<font style="font-size: 15px;">G</font>
							</div>
						</div>
					</div>
				</foreignObject>
				<text x="470" y="314" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">G</text>
			</switch>
		</g>
	</g>
	<switch>
		<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
		<a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank">
			<text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text>
		</a>
	</switch>
</svg>
I ran it through a pretty print formatter. Ixfd64 (talk) 23:35, 10 January 2024 (UTC)Reply[reply]
http://www.w3.org/1999/xhtml is an HTML namespace, not an SVG one. You probably try to upload an HTML file with .svg extension; this will of course not work. —Tacsipacsi (talk) 23:28, 10 January 2024 (UTC)Reply[reply]
That is an SVG file, but it is a mess. It can display text two ways: first with XHTML code and second with conventional SVG text elements. See if the tool can emit plain SVG (no foreignObjects). Alternatively, delete every foreignObject element and the final switch element.
Glrx (talk) 02:42, 11 January 2024 (UTC)Reply[reply]
@Ixfd64: see https://www.drawio.com/doc/faq/svg-export-text-problems for suppressing foreign objects. Glrx (talk) 06:04, 11 January 2024 (UTC)Reply[reply]
I'll play around with the settings and see if there's an option that disables foreign objects. Thanks. Ixfd64 (talk) 07:29, 11 January 2024 (UTC)Reply[reply]
The error went away after I selected the "Convert labels to SVG" option. Thanks again! Ixfd64 (talk) 22:16, 14 January 2024 (UTC)Reply[reply]
Checkmark This section is resolved and can be archived. If you disagree, replace this template with your comment. Ixfd64 (talk) 22:16, 14 January 2024 (UTC)

video2commons cannot be accessed normally[edit]

This is an auxiliary tool that can parse videos. Recently, it was found that it could not be opened normally, and it was suspected that the website was out of service. Fumikas Sagisavas (talk) 08:36, 11 January 2024 (UTC)Reply[reply]

@Fumikas Sagisavas i just used it to upload a vimeo video.
but if you're uploading youtube, then it doesnt work at the moment. other than that it should be working. RZuo (talk) 09:14, 11 January 2024 (UTC)Reply[reply]

rename without redirect[edit]

Template:Rename does not say how this is done (from a script).

I have a few thousand files to rename, recently uploaded, with an errorneous filename.

Thx Nowakki (talk) 15:37, 12 January 2024 (UTC)Reply[reply]

@Nowakki: Hi. There is no special parameter in the template to specify such requests, you can ask for it in the request reason (|reason=), the filemover won't refuse if the uploads are recent and unused. Thanks! -- CptViraj (talk) 18:15, 12 January 2024 (UTC)Reply[reply]
50,000+ files. At some point the approval will become an automatic operation. I just leave it to them to auto-approve with no redirect? Nowakki (talk) 18:26, 12 January 2024 (UTC)Reply[reply]
If you want to have 50,000+ files renamed, you should probably write at Commons:Bots/Work requests instead of flooding the backlog category. There you can explain what exactly you want, including that you don’t want redirects. —Tacsipacsi (talk) 09:25, 13 January 2024 (UTC)Reply[reply]
I already have the bot. Nowakki (talk) 10:23, 13 January 2024 (UTC)Reply[reply]

Image preview is not displayed[edit]

I have observed repeatedly that no preview image of an SVG file is shown although the SVG file seems to be valid. What is the reason for this? Some examples: File:Asiatischer Monat 2023 Goldmedaille.svg, File:Asiatischer Monat 2023 Silbermedaille.svg, File:Asiatischer Monat 2023 Bronzemedaille.svg.

Thanks for any suggestions. --Furfur Diskussion 18:01, 12 January 2024 (UTC)Reply[reply]

tiff files wasting space[edit]

There are 98,000 tiff files of Sanborn Fire Insurance Maps on commons, each 140-150MB in size.

With LZW compression such a file typically shrinks by 100MB with a runtime of the tiffcp command on a 3.5ghz cpu at 2 seconds.

in total 10TB of wasted space. Nowakki (talk) 15:34, 13 January 2024 (UTC)Reply[reply]

The files could be renewed with compressed file versions, but I do not know how the uncompressed files could be deleted to make the disk space free --PantheraLeo1359531 😺 (talk) 12:28, 15 January 2024 (UTC)Reply[reply]
The files can be compressed on the server. No need to upload them again. That would be stupid. Nowakki (talk) 12:48, 15 January 2024 (UTC)Reply[reply]
That can only be done by system administrators, so the right place to discuss this is https://phabricator.wikimedia.org/. Yann (talk) 13:01, 15 January 2024 (UTC)Reply[reply]
Actually I think system administrators read the technical forum. Or they have lieutenants who do.
In a properly run organization this would be a minor problem and would have been solved years ago. It is my current understanding that commons celebrates a kind of post office mediocrity. Nobody volunteers to be staff. They volunteer to be volunteers. Nowakki (talk) 13:07, 15 January 2024 (UTC)Reply[reply]
Anyway, this isn't even the worst. I have been here for 2 weeks or so and already had the pleasure of going against a crust of bureaucracy on a proposal to rename Sanborn map files.
I have learned that it is policy to enshrine whatever bad name choice was made by the original uploader. Although, given that names of mass uploads do not have to be approved, i am fairly sure that there also exists a policy that bad names can always be changed at a later time.
Spent 1.5 weeks building an sqlite database and a bunch of scripts to try and rectify the mess. Spent another week trying to convince what are probably mid level staffers of the benefits. I did everything right, what i got was negative help. The whole thing could have been over with last week. Now it will probably be done a few years down the road. Nowakki (talk) 14:14, 15 January 2024 (UTC)Reply[reply]
  • 10TB of 'wasted space' is just how much, in terms of the project's resources? Andy Dingley (talk) 14:54, 15 January 2024 (UTC)Reply[reply]
    Don't know. Probably more than 1%, less than 3%. Depends on a lot of factors in the end. Commons doesn't rent Icelandic deep cave long term storage for premium dollar amounts? This is only files from one uploader, not all tiffs on the server. Waste in one place encourages waste in other places, if 10TB is not much then 50TB would only be a small problem. How often is the data replicated and backed up. And so on...
    Seems like an interesting article could be written on the subject. I would read. Nowakki (talk) 15:14, 15 January 2024 (UTC)Reply[reply]
    @Andy Dingley I did some math.
    Assume 20 Watt to run 1 CPU core and the hard disk on the conversion job. The process generates 50MB of free space per second.
    That is 1TB in 20,000 seconds at 400 kilowattseconds. Assuming 10 cents per kilowatthour that would mean a 1TB hard disk can be generated effortlessly out of thin air for the price of 1.1 cents. Nowakki (talk) 17:44, 15 January 2024 (UTC)Reply[reply]